LCD_Protected.h
上传用户:zbk8730
上传日期:2017-08-10
资源大小:12168k
文件大小:8k
源码类别:

uCOS

开发平台:

C/C++

  1. /*
  2. *********************************************************************************************************
  3. *                                                uC/GUI
  4. *                        Universal graphic software for embedded applications
  5. *
  6. *                       (c) Copyright 2002, Micrium Inc., Weston, FL
  7. *                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
  8. *
  9. *              礐/GUI is protected by international copyright laws. Knowledge of the
  10. *              source code may not be used to write a similar product. This file may
  11. *              only be used in accordance with a license and should not be redistributed
  12. *              in any way. We appreciate your understanding and fairness.
  13. *
  14. ----------------------------------------------------------------------
  15. File        : LCD_Protected.H
  16. Purpose     : Internals of the LCD level
  17. ----------------------------------------------------------------------
  18. */
  19. #ifndef LCD_INTERN_H
  20. #define LCD_INTERN_H
  21. #include "LCD.h"
  22. /*********************************************************************
  23. *
  24. *      Data types
  25. *
  26. **********************************************************************
  27. */
  28. typedef struct {
  29.   int              NumEntries; 
  30.   const LCD_COLOR* pPalEntries; 
  31. } LCD_PHYSPALETTE; 
  32. /********************************************************
  33. *
  34. *     Color conversion routines (used internally only !
  35. *
  36. *********************************************************
  37. */
  38. int LCD_Color2Index_0   (LCD_COLOR Color, const LCD_PHYSPALETTE* pPhysPal);
  39. int LCD_Color2Index_1   (LCD_COLOR Color);
  40. int LCD_Color2Index_2   (LCD_COLOR Color);
  41. int LCD_Color2Index_4   (LCD_COLOR Color);
  42. int LCD_Color2Index_111 (LCD_COLOR Color);
  43. int LCD_Color2Index_222 (LCD_COLOR Color);
  44. int LCD_Color2Index_233 (LCD_COLOR Color);
  45. int LCD_Color2Index_323 (LCD_COLOR Color);
  46. int LCD_Color2Index_332 (LCD_COLOR Color);
  47. int LCD_Color2Index_444 (LCD_COLOR Color);
  48. int LCD_Color2Index_555 (LCD_COLOR Color);
  49. int LCD_Color2Index_565 (LCD_COLOR Color);
  50. int LCD_Color2Index_8666(LCD_COLOR Color);
  51. int LCD_Color2Index_M111 (LCD_COLOR Color);
  52. int LCD_Color2Index_M222 (LCD_COLOR Color);
  53. int LCD_Color2Index_M233 (LCD_COLOR Color);
  54. int LCD_Color2Index_M323 (LCD_COLOR Color);
  55. int LCD_Color2Index_M332 (LCD_COLOR Color);
  56. int LCD_Color2Index_M444 (LCD_COLOR Color);
  57. int LCD_Color2Index_M555(LCD_COLOR Color);
  58. int LCD_Color2Index_M565 (LCD_COLOR Color);
  59. LCD_COLOR LCD_Index2Color_0    (int Index, const LCD_PHYSPALETTE* pPhysPal);
  60. LCD_COLOR LCD_Index2Color_1    (int Index);
  61. LCD_COLOR LCD_Index2Color_2    (int Index);
  62. LCD_COLOR LCD_Index2Color_4    (int Index);
  63. LCD_COLOR LCD_Index2Color_111  (int Index);
  64. LCD_COLOR LCD_Index2Color_222  (int Index);
  65. LCD_COLOR LCD_Index2Color_233  (int Index);
  66. LCD_COLOR LCD_Index2Color_323  (int Index);
  67. LCD_COLOR LCD_Index2Color_332  (int Index);
  68. LCD_COLOR LCD_Index2Color_444  (int Index);
  69. LCD_COLOR LCD_Index2Color_555  (int Index);
  70. LCD_COLOR LCD_Index2Color_565  (int Index);
  71. LCD_COLOR LCD_Index2Color_8666 (int Index);
  72. LCD_COLOR LCD_Index2Color_M111  (int Index);
  73. LCD_COLOR LCD_Index2Color_M222  (int Index);
  74. LCD_COLOR LCD_Index2Color_M233  (int Index);
  75. LCD_COLOR LCD_Index2Color_M323  (int Index);
  76. LCD_COLOR LCD_Index2Color_M332  (int Index);
  77. LCD_COLOR LCD_Index2Color_M444  (int Index);
  78. LCD_COLOR LCD_Index2Color_M555  (int Index);
  79. LCD_COLOR LCD_Index2Color_M565  (int Index);
  80. /*********************************************************************
  81. *
  82. *      LCDDEV function table
  83. *
  84. **********************************************************************
  85.   Below the routines which need to in an LCDDEV routine table are
  86.   defined. All of these routines have to be in the low-level driver
  87.   (LCD_L0) or in the memory device which can be used to replace the
  88.   driver.
  89.   The one exception to this is the SetClipRect routine, which would
  90.   be identical for all drivers and is therefor contained in the
  91.   level above (LCD).
  92. */
  93. typedef void         tLCDDEV_DrawHLine    (int x0, int y0,  int x1);
  94. typedef void         tLCDDEV_DrawVLine    (int x , int y0,  int y1);
  95. typedef void         tLCDDEV_FillRect     (int x0, int y0, int x1, int y1);
  96. typedef unsigned int tLCDDEV_GetPixelIndex(int x, int y);
  97. typedef void         tLCDDEV_SetPixelIndex(int x, int y, int ColorIndex);
  98. typedef void         tLCDDEV_XorPixel     (int x, int y);
  99. typedef void         tLCDDEV_FillPolygon  (const GUI_POINT*, int NumPoints, int x0, int y0);
  100. typedef void         tLCDDEV_FillPolygonAA(const GUI_POINT*, int NumPoints, int x0, int y0);
  101. typedef void         tLCDDEV_GetRect      (LCD_RECT*pRect);
  102. typedef int          tLCDDEV_Init(void);
  103. typedef unsigned int tLCDDEV_Color2Index  (LCD_COLOR Color);
  104. /*********************************************************************
  105. *
  106. *              Declarations for LCD_L0_
  107. *
  108. **********************************************************************
  109.   Prefixes are as follows:
  110.   LCD_L0_xxx       ... Driver for first LCD
  111.   LCD_L0_1_xxx     ... Driver for second LCD
  112.   LCD_L0_MAG_xxx   ... Driver for first LCD, magnification level (calling LCD_L0_xxx after magnification)
  113. */
  114. #if !defined (__C51__) /* To bypass Keil-compiler bug */
  115.   tLCDDEV_Color2Index          LCD_L0_Color2Index,   LCD_L0_1_Color2Index;
  116.   tLCDDEV_DrawHLine            LCD_L0_DrawHLine,     LCD_L0_1_DrawHLine,     LCD_L0_MAG_DrawHLine;
  117.   tLCDDEV_DrawVLine            LCD_L0_DrawVLine,     LCD_L0_1_DrawVLine,     LCD_L0_MAG_DrawVLine;
  118.   tLCDDEV_FillRect             LCD_L0_FillRect,      LCD_L0_1_FillRect,      LCD_L0_MAG_FillRect;
  119.   tLCDDEV_GetPixelIndex        LCD_L0_GetPixelIndex, LCD_L0_1_GetPixelIndex, LCD_L0_MAG_GetPixelIndex;
  120.   tLCDDEV_GetRect              LCD_L0_GetRect,       LCD_L0_1_GetRect;
  121.   tLCDDEV_SetPixelIndex        LCD_L0_SetPixelIndex, LCD_L0_1_SetPixelIndex, LCD_L0_MAG_SetPixelIndex;
  122.   tLCDDEV_XorPixel             LCD_L0_XorPixel,      LCD_L0_1_XorPixel,      LCD_L0_MAG_XorPixel;
  123.   tLCDDEV_Init                 LCD_L0_Init,          LCD_L0_1_Init,          LCD_L0_MAG_Init;
  124. #else
  125.   /* tLCDDEV_Color2Index */
  126.   unsigned int LCD_L0_Color2Index  (LCD_COLOR Color);
  127.   unsigned int LCD_L0_1_Color2Index(LCD_COLOR Color);
  128.   /* tLCDDEV_DrawHLine */
  129.   void         LCD_L0_DrawHLine        (int x0, int y0,  int x1);
  130.   void         LCD_L0_1_DrawHLine      (int x0, int y0,  int x1);
  131.   void         LCD_L0_MAG_DrawHLine    (int x0, int y0,  int x1);
  132.   /* tLCDDEV_DrawVLine */
  133.   void         LCD_L0_DrawVLine        (int x , int y0,  int y1);
  134.   void         LCD_L0_1_DrawVLine      (int x , int y0,  int y1);
  135.   void         LCD_L0_MAG_DrawVLine    (int x , int y0,  int y1);
  136.   /* tLCDDEV_FillRect */
  137.   void         LCD_L0_FillRect         (int x0, int y0, int x1, int y1);
  138.   void         LCD_L0_1_FillRect       (int x0, int y0, int x1, int y1);
  139.   void         LCD_L0_MAG_FillRect     (int x0, int y0, int x1, int y1);
  140.   /* tLCDDEV_GetPixelIndex */
  141.   unsigned int LCD_L0_GetPixelIndex    (int x, int y);
  142.   unsigned int LCD_L0_1_GetPixelIndex  (int x, int y);
  143.   unsigned int LCD_L0_MAG_GetPixelIndex(int x, int y);
  144.   /* tLCDDEV_GetRect */
  145.   void         LCD_L0_GetRect          (LCD_RECT*pRect);
  146.   void         LCD_L0_1_GetRect        (LCD_RECT*pRect);
  147.   /* tLCDDEV_SetPixelIndex */
  148.   void         LCD_L0_SetPixelIndex    (int x, int y, int ColorIndex);
  149.   void         LCD_L0_1_SetPixelIndex  (int x, int y, int ColorIndex);
  150.   void         LCD_L0_MAG_SetPixelIndex(int x, int y, int ColorIndex);
  151.   /* tLCDDEV_XorPixel */
  152.   void         LCD_L0_XorPixel         (int x, int y);
  153.   void         LCD_L0_1_XorPixel       (int x, int y);
  154.   void         LCD_L0_MAG_XorPixel     (int x, int y);
  155.   /* tLCDDEV_Init */
  156.   int          LCD_L0_Init             (void);
  157.   int          LCD_L0_1_Init           (void);
  158.   int          LCD_L0_MAG_Init         (void);
  159. #endif
  160. void LCD_L0_Off          (void); /* switch LCD off, hiding contents of VRAM */
  161. void LCD_L0_On           (void); /* switch LCD off, Showing contents of VRAM */
  162. void LCD_L0_ReInit       (void); /* Reinitialize LCD using config-paramters */
  163. void LCD_L0_Refresh      (void); /* Refresh entire LCD */
  164.                                  /* Refresh LCD partially. Could be one line, depends on what
  165.                                     the LCD controller can handle efficiently */
  166. void LCD_L0_SetLUTEntry  (U8 Pos, LCD_COLOR color);
  167. void LCD_L0_1_SetLUTEntry(U8 Pos, LCD_COLOR color);
  168. void LCD_L0_SetOrg       (int x, int y);
  169. #endif /* LCD_INTERN_H */