84 lines
3.6 KiB
C
84 lines
3.6 KiB
C
/*******************************************************************
|
|
File: display.h
|
|
Date: 30-September-2020
|
|
Author: Peter Spindler
|
|
********************************************************************/
|
|
|
|
#ifndef _DISPLAY_H_
|
|
#define _DISPLAY_H_
|
|
|
|
#include "fonts.h"
|
|
|
|
typedef struct {
|
|
int16_t x;
|
|
int16_t y;
|
|
} DISPLAY_POINT_TypeDef;
|
|
|
|
typedef enum {
|
|
ALIGN_LEFT,
|
|
ALIGN_CENTER,
|
|
ALIGN_RIGHT
|
|
} DISPLAY_ALIGN_TypeDef;
|
|
|
|
#define LCD_ORIENTATION_PORTRAIT ((uint8_t)0x00)
|
|
#define LCD_ORIENTATION_LANDSCAPE ((uint8_t)0x01)
|
|
#define LCD_ORIENTATION_LANDSCAPE_ROT180 ((uint32_t)0x02)
|
|
|
|
#define LCD_COLOR_BLUE ((uint16_t)0x001F)
|
|
#define LCD_COLOR_GREEN ((uint16_t)0x07E0)
|
|
#define LCD_COLOR_RED ((uint16_t)0xF800)
|
|
#define LCD_COLOR_CYAN ((uint16_t)0x07FF)
|
|
#define LCD_COLOR_MAGENTA ((uint16_t)0xF81F)
|
|
#define LCD_COLOR_YELLOW ((uint16_t)0xFFE0)
|
|
#define LCD_COLOR_LIGHTBLUE ((uint16_t)0x841F)
|
|
#define LCD_COLOR_LIGHTGREEN ((uint16_t)0x87F0)
|
|
#define LCD_COLOR_LIGHTRED ((uint16_t)0xFC10)
|
|
#define LCD_COLOR_LIGHTMAGENTA ((uint16_t)0xFC1F)
|
|
#define LCD_COLOR_LIGHTYELLOW ((uint16_t)0xFFF0)
|
|
#define LCD_COLOR_DARKBLUE ((uint16_t)0x0010)
|
|
#define LCD_COLOR_DARKGREEN ((uint16_t)0x0400)
|
|
#define LCD_COLOR_DARKRED ((uint16_t)0x8000)
|
|
#define LCD_COLOR_DARKCYAN ((uint16_t)0x0410)
|
|
#define LCD_COLOR_DARKMAGENTA ((uint16_t)0x8010)
|
|
#define LCD_COLOR_DARKYELLOW ((uint16_t)0x8400)
|
|
#define LCD_COLOR_WHITE ((uint16_t)0xFFFF)
|
|
#define LCD_COLOR_LIGHTGRAY ((uint16_t)0xD69A)
|
|
#define LCD_COLOR_GRAY ((uint16_t)0x8410)
|
|
#define LCD_COLOR_DARKGRAY ((uint16_t)0x4208)
|
|
#define LCD_COLOR_BLACK ((uint16_t)0x0000)
|
|
#define LCD_COLOR_BROWN ((uint16_t)0xA145)
|
|
#define LCD_COLOR_ORANGE ((uint16_t)0xFD20)
|
|
|
|
void Display_WriteCommand( uint8_t Reg );
|
|
void Display_WriteData( uint16_t Value );
|
|
|
|
void Display_Init( void );
|
|
void Display_On( void );
|
|
void Display_Off( void );
|
|
|
|
uint16_t Display_GetHeight( void );
|
|
uint16_t Display_GetWidth( void );
|
|
void Display_Clear( uint16_t Color );
|
|
void Display_PrintString( uint16_t x, uint16_t y, uint16_t ColorFront, uint16_t ColorBack, FONT_TypeDef *Font, char *String );
|
|
void Display_Printf( uint16_t x, uint16_t y, uint16_t ColorFront, uint16_t ColorBack, FONT_TypeDef *Font, char *Format, ... );
|
|
uint16_t Display_GetStringWidth( FONT_TypeDef *Font, char *String );
|
|
uint16_t Display_GetFontCharHeight( FONT_TypeDef *Font );
|
|
|
|
void Display_DrawPixel( uint16_t x, uint16_t y, uint16_t Color );
|
|
void Display_DrawLine( uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t Color );
|
|
void Display_DrawRect( uint16_t x, uint16_t y, uint16_t Width, uint16_t Height, uint16_t Color );
|
|
void Display_FillRect( uint16_t x, uint16_t y, uint16_t Width, uint16_t Height, uint16_t Color );
|
|
void Display_DrawCircle( uint16_t x, uint16_t y, uint16_t Radius, uint16_t Color );
|
|
void Display_FillCircle( uint16_t x, uint16_t Ypos, uint16_t Radius, uint16_t Color );
|
|
|
|
void Display_DrawEllipse( uint16_t x, uint16_t y, uint16_t xRadius, uint16_t yRadius, uint16_t Color );
|
|
void Display_FillEllipse( uint16_t x, uint16_t y, uint16_t xRadius, uint16_t yRadius, uint16_t Color );
|
|
|
|
void Display_DrawPolygon( DISPLAY_POINT_TypeDef *Points, uint16_t PointCount, uint16_t Color );
|
|
void Display_FillTriangle( uint16_t x1, uint16_t x2, uint16_t x3, uint16_t y1, uint16_t y2, uint16_t y3, uint16_t Color );
|
|
void Display_FillPolygon( DISPLAY_POINT_TypeDef *Points, uint16_t PointCount, uint16_t Color );
|
|
|
|
void Display_Test( void );
|
|
|
|
#endif
|