Improve generic & stm32f4 demos
[lwext4.git] / demos / stm32f429_disco / stm / stm32f429 / lcd.h
1 /**\r
2   ******************************************************************************\r
3   * @file    lcd.h\r
4   * @author  MCD Application Team\r
5   * @version V1.0.0\r
6   * @date    18-February-2014\r
7   * @brief   This file contains all the functions prototypes for the LCD driver.   \r
8   ******************************************************************************\r
9   * @attention\r
10   *\r
11   * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>\r
12   *\r
13   * Redistribution and use in source and binary forms, with or without modification,\r
14   * are permitted provided that the following conditions are met:\r
15   *   1. Redistributions of source code must retain the above copyright notice,\r
16   *      this list of conditions and the following disclaimer.\r
17   *   2. Redistributions in binary form must reproduce the above copyright notice,\r
18   *      this list of conditions and the following disclaimer in the documentation\r
19   *      and/or other materials provided with the distribution.\r
20   *   3. Neither the name of STMicroelectronics nor the names of its contributors\r
21   *      may be used to endorse or promote products derived from this software\r
22   *      without specific prior written permission.\r
23   *\r
24   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"\r
25   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\r
27   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\r
28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
30   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r
31   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\r
32   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\r
33   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
34   *\r
35   ******************************************************************************\r
36   */ \r
37 \r
38 /* Define to prevent recursive inclusion -------------------------------------*/\r
39 #ifndef __LCD_H\r
40 #define __LCD_H\r
41 \r
42 #ifdef __cplusplus\r
43  extern "C" {\r
44 #endif \r
45 \r
46 /* Includes ------------------------------------------------------------------*/\r
47 #include <stdint.h>\r
48    \r
49 /** @addtogroup BSP\r
50   * @{\r
51   */\r
52 \r
53 /** @addtogroup Components\r
54   * @{\r
55   */ \r
56 \r
57 /** @addtogroup LCD\r
58   * @{\r
59   */\r
60     \r
61  \r
62 /** @defgroup LCD_Exported_Types\r
63   * @{\r
64   */\r
65 /** \r
66   * @brief  LCD driver structure definition  \r
67   */       \r
68 typedef struct\r
69 {\r
70   void     (*Init)(void);   \r
71   uint16_t (*ReadID)(void); \r
72   void     (*DisplayOn)(void);\r
73   void     (*DisplayOff)(void);  \r
74   void     (*SetCursor)(uint16_t, uint16_t);  \r
75   void     (*WritePixel)(uint16_t, uint16_t, uint16_t);  \r
76   uint16_t (*ReadPixel)(uint16_t, uint16_t); \r
77   \r
78    /* Optimized operation */\r
79   void     (*SetDisplayWindow)(uint16_t, uint16_t, uint16_t, uint16_t);\r
80   void     (*DrawHLine)(uint16_t, uint16_t, uint16_t, uint16_t);\r
81   void     (*DrawVLine)(uint16_t, uint16_t, uint16_t, uint16_t);\r
82   \r
83   uint16_t (*GetLcdPixelWidth)(void);\r
84   uint16_t (*GetLcdPixelHeight)(void);   \r
85   void     (*DrawBitmap)(uint16_t, uint16_t, uint8_t*);\r
86   void     (*DrawRGBImage)(uint16_t, uint16_t, uint16_t, uint16_t, uint8_t*);\r
87 }\r
88 LCD_DrvTypeDef;    \r
89       \r
90 /**\r
91   * @}\r
92   */ \r
93 \r
94 /** @defgroup LCD_Exported_Constants\r
95   * @{\r
96   */\r
97 \r
98 /**\r
99   * @}\r
100   */\r
101   \r
102 /** @defgroup LCD_Exported_Functions\r
103   * @{\r
104   */ \r
105 \r
106 /**\r
107   * @}\r
108   */ \r
109 \r
110    \r
111 #ifdef __cplusplus\r
112 }\r
113 #endif\r
114 \r
115 #endif /* LCD_H */\r
116 \r
117 /**\r
118   * @}\r
119   */ \r
120 \r
121 /**\r
122   * @}\r
123   */ \r
124 \r
125 /**\r
126   * @}\r
127   */ \r
128 \r
129 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/\r