GUI.h 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /****************************************Copyright (c)**************************************************
  2. * File Name: GDI.h
  3. * Function Describe: Header file for GDI.c
  4. * Explain:
  5. * Writer: ShiLiangWen
  6. * Date: 2016-1-8
  7. ********************************************************************************************************/
  8. #ifndef __GDI_H
  9. #define __GDI_H
  10. //-------------------------------------------------------------------------------------------------------
  11. #include "stm32f10x.h"
  12. //设置字库文件名,GUI会从sFlash中找到该文件作为字库文件
  13. #define HZK16_FILE_NAME "HZK16"
  14. //以下定义各种颜色,原色按0xRRGGBB格式
  15. #define COLOR_BLACK 0x000000
  16. #define COLOR_WHITE 0xFFFFFF
  17. #define COLOR_RED 0xFF0000
  18. #define COLOR_GREEN 0x00FF00
  19. #define COLOR_BLUE 0x0000FF
  20. #define COLOR_YELLOW 0xFFFF00
  21. #define COLOR_PURPLE 0x800080
  22. #define COLOR_DARKBLUE 0x00008B //RGB(0,0,139) ■★●◆darkblue(深蓝)
  23. #define USING_DRAW_WITH_COLOR_OPTION
  24. #define COLOR_DEFAULT_BLUE 1
  25. #define COLOR_WARN_RED 2
  26. //#define LCD_TYPE 0 //旧屏
  27. #define LCD_TYPE 1 //新屏
  28. //汉字库
  29. typedef struct SUT_HZK
  30. {
  31. unsigned char width;//字库点阵宽度
  32. unsigned char heigh;//字库点阵高度
  33. unsigned char len; //字库点阵数据长度,一般等于width*heigh/8
  34. int FileIndex; //字库文件在sFlash中索引
  35. int FileLen; //字库文件大小
  36. }SUT_HZK;
  37. void GuiInit(void); //GUI初始化
  38. void GuiSetColor(unsigned long ForeColor,unsigned long BackColor,unsigned long WarnColor);//设置前景色和背景色
  39. void GuiSetForeColor(unsigned long ForeColor);//设置前景色
  40. void GuiSetBackColor(unsigned long BackColor);//设置背景色
  41. void GuiShowStr(u16 x, u16 y,const char *string,u8 mode);//显示字符串 font=mode&0xf0 cover=mode&0x0f
  42. void GuiShowBmp(u16 x,u16 y,const char * filename);//显示BMP图片 filename为在sFlash中存储的BMP文件名
  43. void GuiDrawHLine(u16 x1, u16 x2, u16 y, u8 width);//画水平线
  44. #ifdef USING_DRAW_WITH_COLOR_OPTION
  45. void GuiDrawVLine(u16 y1, u16 y2, u16 x, u8 width, u8 colorIndex);//画垂直线
  46. void GuiFillRect(u16 x1, u16 y1, u16 x2, u16 y2,u8 colorIndex);//画矩形框并填充为前景色
  47. #else
  48. void GuiDrawVLine(u16 y1, u16 y2, u16 x, u8 width);
  49. void GuiFillRect(u16 x1, u16 y1, u16 x2, u16 y2);//画矩形框并填充为前景色
  50. #endif
  51. void GuiDrawRect(u16 x1, u16 y1, u16 x2, u16 y2,u8 width);//画矩形框,只画边框,内部不填充
  52. void GuiClearRect(u16 x1, u16 y1, u16 x2, u16 y2);//清空矩形区域,填充背景色
  53. void GuiClearArea(u16 x, u16 y, u16 width, u16 heigh);//清空一个区域,填充背景色,和GuiClearRect等效,只是入口参数有区别
  54. void GuiMoveRect(u16 xstart,u16 ystart,u16 width,u16 height,u16 xend,u16 yend);//移动矩形区域
  55. void GuiDrawBmpMoving(u16 xstart,u16 ystart,u16 xend,u16 yend,const char *filename,int t);//显示一张BMP图片,并使之移动
  56. void GuiReverseRect(u16 x1,u16 y1,u16 x2,u16 y2);//将一个矩形区域反色显示,即背景色变前景色,非背景色变前景色
  57. void GuiPaste(u16 x1,u16 y1,u16 x2,u16 y2);
  58. void GuiCopy(u16 x1,u16 y1,u16 x2,u16 y2);
  59. void GuiClearAll(void);
  60. void GuiReverseArea(u16 x1,u16 y1,u16 x2,u16 y2);
  61. void GuiShowArrow(u16 x,u16 y,u16 len,u8 mode);
  62. void GuiShowSingle(int CSQ);//显示信号
  63. void GuiShowBat(int bat);//显示电量
  64. u16 RGB888toRGB565(unsigned char R,unsigned char G, unsigned char B);//将RGB888格式转RGB565格式
  65. extern u8 g_ucWarnColorId;
  66. void SysIniRead(void);
  67. //-------------------------------------------------------------------------------------------------------
  68. #endif
  69. /*********************************************************************************************************
  70. END FILE
  71. *********************************************************************************************************/