| /***************************************************************************** | |
| * | File : LCD_Driver.h | |
| * | Author : Waveshare team | |
| * | Function : LCD driver | |
| * | Info : | |
| *---------------- | |
| * | This version: V1.0 | |
| * | Date : 2018-12-18 | |
| * | Info : | |
| # | |
| # Permission is hereby granted, free of charge, to any person obtaining a copy | |
| # of this software and associated documnetation files (the "Software"), to deal | |
| # in the Software without restriction, including without limitation the rights | |
| # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |
| # copies of the Software, and to permit persons to whom the Software is | |
| # furished to do so, subject to the following conditions: | |
| # | |
| # The above copyright notice and this permission notice shall be included in | |
| # all copies or substantial portions of the Software. | |
| # | |
| # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |
| # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| # FITNESS OR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |
| # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |
| # LIABILITY WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |
| # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |
| # THE SOFTWARE. | |
| # | |
| ******************************************************************************/ | |
| #ifndef __LCD_DRIVER_H | |
| #define __LCD_DRIVER_H | |
| #include "DEV_Config.h" | |
| #include "fonts.h" | |
| #define LCD_WIDTH 320 //LCD width | |
| #define LCD_HEIGHT 240 //LCD height | |
| #if defined(__cplusplus) | |
| extern "C" { | |
| #endif | |
| void LCD_WriteData_Word(void* ctx, UWORD da); | |
| void LCD_SetCursor(void* ctx, UWORD X, UWORD Y); | |
| void LCD_SetWindow(void* ctx, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend); | |
| void LCD_DrawPaint(void* ctx, UWORD x, UWORD y, UWORD Color); | |
| void LCD_Init(void* ctx); | |
| void LCD_Clear(void* ctx, UWORD Color); | |
| void LCD_ClearToBuffer(void* ctx, uint16_t* buffer); | |
| void LCD_ClearWindow(void* ctx, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend,UWORD color); | |
| void LCD_ClearToBufferWindow(void* ctx, uint16_t* buffer, UWORD Xstart, UWORD Ystart, UWORD Xend, UWORD Yend); | |
| typedef struct { | |
| UWORD Image[320 * 240]; | |
| UWORD Width; | |
| UWORD Height; | |
| UWORD WidthMemory; | |
| UWORD HeightMemory; | |
| UWORD Color; | |
| UWORD Rotate; | |
| UWORD Mirror; | |
| UWORD WidthByte; | |
| UWORD HeightByte; | |
| } PAINT; | |
| void Paint_NewImage(PAINT* Paint, UWORD Width, UWORD Height, UWORD Rotate, UWORD Color); | |
| void Paint_DrawString_EN(PAINT* Paint, UWORD Xstart, UWORD Ystart, const char * pString, | |
| sFONT* Font, UWORD Color_Background, UWORD Color_Foreground ); | |
| #if defined(__cplusplus) | |
| } | |
| #endif | |
| // Constants for Paint routines | |
| #define WHITE 0xFFFF | |
| #define BLACK 0x0000 | |
| #define BLUE 0x001F | |
| #define BRED 0XF81F | |
| #define GRED 0XFFE0 | |
| #define GBLUE 0X07FF | |
| #define RED 0xF800 | |
| #define MAGENTA 0xF81F | |
| #define GREEN 0x07E0 | |
| #define CYAN 0x7FFF | |
| #define YELLOW 0xFFE0 | |
| #define BROWN 0XBC40 | |
| #define BRRED 0XFC07 | |
| #define GRAY 0X8430 | |
| #define DARKBLUE 0X01CF | |
| #define LIGHTBLUE 0X7D7C | |
| #define GRAYBLUE 0X5458 | |
| #define LIGHTGREEN 0X841F | |
| #define LGRAY 0XC618 | |
| #define LGRAYBLUE 0XA651 | |
| #define LBBLUE 0X2B12 | |
| typedef enum { | |
| MIRROR_NONE = 0x00, | |
| MIRROR_HORIZONTAL = 0x01, | |
| MIRROR_VERTICAL = 0x02, | |
| MIRROR_ORIGIN = 0x03, | |
| } MIRROR_IMAGE; | |
| #define MIRROR_IMAGE_DFT MIRROR_NONE | |
| #define ROTATE_0 0 | |
| #define ROTATE_90 90 | |
| #define ROTATE_180 180 | |
| #define ROTATE_270 270 | |
| #endif |