/** ****************************************************************************** * @file lcd.h * @author MCD Application Team * @brief This file contains all the functions prototypes for the LCD driver. ****************************************************************************** * @attention * *

© Copyright (c) 2018 STMicroelectronics. * All rights reserved.

* * This software component is licensed by ST under BSD 3-Clause license, * the "License"; You may not use this file except in compliance with the * License. You may obtain a copy of the License at: * opensource.org/licenses/BSD-3-Clause * ****************************************************************************** */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef LCD_H #define LCD_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include /** @addtogroup BSP * @{ */ /** @addtogroup Components * @{ */ /** @addtogroup LCD * @{ */ /** @defgroup LCD_Exported_Constants LCD Exported Constants * @{ */ #define LCD_PIXEL_FORMAT_ARGB8888 0x00000000U /*!< ARGB8888 LTDC pixel format */ #define LCD_PIXEL_FORMAT_RGB888 0x00000001U /*!< RGB888 LTDC pixel format */ #define LCD_PIXEL_FORMAT_RGB565 0x00000002U /*!< RGB565 LTDC pixel format */ #define LCD_PIXEL_FORMAT_ARGB1555 0x00000003U /*!< ARGB1555 LTDC pixel format */ #define LCD_PIXEL_FORMAT_ARGB4444 0x00000004U /*!< ARGB4444 LTDC pixel format */ #define LCD_PIXEL_FORMAT_L8 0x00000005U /*!< L8 LTDC pixel format */ #define LCD_PIXEL_FORMAT_AL44 0x00000006U /*!< AL44 LTDC pixel format */ #define LCD_PIXEL_FORMAT_AL88 0x00000007U /*!< AL88 LTDC pixel format */ /** * @} */ /** @defgroup LCD_Exported_Types * @{ */ /** @defgroup LCD_Driver_structure LCD Driver structure * @{ */ typedef struct { int32_t ( *DrawBitmap ) (uint32_t, uint32_t, uint32_t, uint8_t *); int32_t ( *FillRGBRect ) (uint32_t, uint32_t, uint32_t, uint8_t*, uint32_t, uint32_t); int32_t ( *DrawHLine ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *DrawVLine ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *FillRect ) (uint32_t, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *GetPixel ) (uint32_t, uint32_t, uint32_t, uint32_t*); int32_t ( *SetPixel ) (uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *GetXSize ) (uint32_t, uint32_t *); int32_t ( *GetYSize ) (uint32_t, uint32_t *); int32_t ( *SetLayer ) (uint32_t, uint32_t); int32_t ( *GetFormat ) (uint32_t, uint32_t *); } LCD_UTILS_Drv_t; typedef struct { /* Control functions */ int32_t (*Init )(void*, uint32_t, uint32_t); int32_t (*DeInit )(void*); int32_t (*ReadID )(void*, uint32_t*); int32_t (*DisplayOn )(void*); int32_t (*DisplayOff )(void*); int32_t (*SetBrightness )(void*, uint32_t); int32_t (*GetBrightness )(void*, uint32_t*); int32_t (*SetOrientation )(void*, uint32_t); int32_t (*GetOrientation )(void*, uint32_t*); /* Drawing functions*/ int32_t ( *SetCursor ) (void*, uint32_t, uint32_t); int32_t ( *DrawBitmap ) (void*, uint32_t, uint32_t, uint8_t *); int32_t ( *FillRGBRect ) (void*, uint32_t, uint32_t, uint8_t*, uint32_t, uint32_t); int32_t ( *DrawHLine ) (void*, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *DrawVLine ) (void*, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *FillRect ) (void*, uint32_t, uint32_t, uint32_t, uint32_t, uint32_t); int32_t ( *GetPixel ) (void*, uint32_t, uint32_t, uint32_t*); int32_t ( *SetPixel ) (void*, uint32_t, uint32_t, uint32_t); int32_t ( *GetXSize ) (void*, uint32_t *); int32_t ( *GetYSize ) (void*, uint32_t *); }LCD_Drv_t; /** * @} */ /** * @} */ /** * @} */ /** * @} */ /** * @} */ #ifdef __cplusplus } #endif #endif /* LCD_H */ /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/