]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/CORTEX_A5_SAMA5D4x_EK_IAR/AtmelFiles/libboard_sama5d4x-ek/include/lcd_draw.h
Core kernel files:
[freertos] / FreeRTOS / Demo / CORTEX_A5_SAMA5D4x_EK_IAR / AtmelFiles / libboard_sama5d4x-ek / include / lcd_draw.h
1 /* ----------------------------------------------------------------------------\r
2  *         SAM Software Package License \r
3  * ----------------------------------------------------------------------------\r
4  * Copyright (c) 2011, Atmel Corporation\r
5  *\r
6  * All rights reserved.\r
7  *\r
8  * Redistribution and use in source and binary forms, with or without\r
9  * modification, are permitted provided that the following conditions are met:\r
10  *\r
11  * - Redistributions of source code must retain the above copyright notice,\r
12  * this list of conditions and the disclaimer below.\r
13  *\r
14  * Atmel's name may not be used to endorse or promote products derived from\r
15  * this software without specific prior written permission.\r
16  *\r
17  * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR\r
18  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\r
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE\r
20  * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,\r
21  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\r
22  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,\r
23  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
24  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\r
25  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\r
26  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
27  * ----------------------------------------------------------------------------\r
28  */\r
29 \r
30 /** \file */\r
31 \r
32 /** \addtogroup lcdd_draw Drawing On LCD\r
33  *\r
34  * Interface for drawing function on LCD.\r
35  *\r
36  * \note Before drawing, <b>canvas</b> should be selected via\r
37  *       LCDD_SelectCanvas(), or created by LCDD_CreateCanvas().\r
38  *\r
39  * Following functions can use:\r
40  * - Simple drawing:\r
41  *   - LCDD_Fill()\r
42  *   - LCDD_DrawPixel()\r
43  *   - LCDD_ReadPixel()\r
44  *   - LCDD_DrawLine()\r
45  *   - LCDD_DrawRectangle(), LCDD_DrawFilledRectangle()\r
46  *   - LCDD_DrawCircle(), LCDD_DrawFilledCircle()\r
47  *   - LCDD_DrawImage()\r
48  * - String related:\r
49  *   - LCDD_DrawString()\r
50  *   - LCDD_GetStringSize()\r
51  *\r
52  * \sa \ref lcdd_module, \ref lcdd_font\r
53  */\r
54 \r
55 #ifndef DRAW_H\r
56 #define DRAW_H\r
57 /** \addtogroup lcdd_draw\r
58  *@{\r
59  */\r
60 \r
61 /*----------------------------------------------------------------------------\r
62  *        Headers\r
63  *----------------------------------------------------------------------------*/\r
64 \r
65 #include <stdint.h>\r
66 #include "lcd_gimp_image.h"\r
67 \r
68 /*----------------------------------------------------------------------------\r
69  *        Definitions\r
70  *----------------------------------------------------------------------------*/\r
71 \r
72 /*----------------------------------------------------------------------------\r
73  *        Exported functions\r
74  *----------------------------------------------------------------------------*/\r
75 /** \addtogroup lcdd_draw_func LCD Drawing Functions */\r
76 /** @{*/\r
77 extern void LCDD_Fill0( void ) ;\r
78 \r
79 extern void LCDD_Fill( uint32_t color ) ;\r
80 \r
81 extern void LCDD_DrawPixel( uint32_t x, uint32_t y, uint32_t c ) ;\r
82 \r
83 extern uint32_t LCDD_ReadPixel( uint32_t x, uint32_t y ) ;\r
84 \r
85 extern void LCDD_DrawLine( uint32_t x1, uint32_t y1, uint32_t x2, uint32_t y2, uint32_t color ) ;\r
86 \r
87 extern void LCDD_DrawRectangle( uint32_t dwX, uint32_t dwY, uint32_t dwWidth, uint32_t dwHeight, uint32_t dwColor ) ;\r
88 \r
89 extern void LCDD_DrawFilledRectangle( uint32_t dwX1, uint32_t dwY1, uint32_t dwX2, uint32_t dwY2, uint32_t dwColor ) ;\r
90 \r
91 extern void LCDD_DrawCircle( uint32_t x, uint32_t y, uint32_t r, uint32_t color ) ;\r
92 extern void LCDD_DrawFilledCircle(uint32_t dwX,uint32_t dwY,uint32_t dwR,uint32_t dwColor);\r
93 \r
94 extern void LCDD_DrawString( uint32_t x, uint32_t y, const char *pString, uint32_t color ) ;\r
95 \r
96 extern void LCDD_DrawStringWithBGColor( uint32_t x, uint32_t y, const char *pString, uint32_t fontColor, uint32_t bgColor ) ;\r
97 \r
98 extern void LCDD_GetStringSize( const char *pString, uint32_t *pWidth, uint32_t *pHeight ) ;\r
99 \r
100 extern void LCDD_DrawImage( uint32_t x, uint32_t y, const uint8_t *pImage, uint32_t width, uint32_t height ) ;\r
101 \r
102 void LCDD_DrawGIMPImage( uint32_t dwX, uint32_t dwY, const SGIMPImage* pGIMPImage, uint32_t dwWidth, uint32_t dwHeight ) ;\r
103 \r
104 extern void LCDD_ClearWindow( uint32_t dwX, uint32_t dwY, uint32_t dwWidth, uint32_t dwHeight, uint32_t dwColor ) ;\r
105 /** @}*/\r
106 /**@}*/\r
107 #endif /* #ifndef DRAW_H */\r
108 \r