⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_protected.h

📁 基于嵌入式实时多任务操作系统ucos-ii的GUI的源码
💻 H
字号:
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : LCD_Protected.h
Purpose     : Internals of the LCD level
----------------------------------------------------------------------
*/

#ifndef LCD_INTERN_H
#define LCD_INTERN_H

#include "LCD.h"

/*********************************************************************
*
*      Data types
*
**********************************************************************
*/

typedef struct {
  int              NumEntries; 
  const LCD_COLOR* pPalEntries; 
} LCD_PHYSPALETTE; 



/********************************************************
*
*     Color conversion routines (used internally only !
*
*********************************************************
*/
int LCD_Color2Index_0      (LCD_COLOR Color, const LCD_PHYSPALETTE* pPhysPal);
int LCD_Color2Index_1      (LCD_COLOR Color);
int LCD_Color2Index_M1     (LCD_COLOR Color);
int LCD_Color2Index_2      (LCD_COLOR Color);
int LCD_Color2Index_M2     (LCD_COLOR Color);
int LCD_Color2Index_4      (LCD_COLOR Color);
int LCD_Color2Index_M4     (LCD_COLOR Color);
int LCD_Color2Index_111    (LCD_COLOR Color);
int LCD_Color2Index_222    (LCD_COLOR Color);
int LCD_Color2Index_233    (LCD_COLOR Color);
int LCD_Color2Index_323    (LCD_COLOR Color);
int LCD_Color2Index_332    (LCD_COLOR Color);
int LCD_Color2Index_444_12 (LCD_COLOR Color);
int LCD_Color2Index_444_16 (LCD_COLOR Color);
int LCD_Color2Index_555    (LCD_COLOR Color);
int LCD_Color2Index_565    (LCD_COLOR Color);
int LCD_Color2Index_8666   (LCD_COLOR Color);
int LCD_Color2Index_M111   (LCD_COLOR Color);
int LCD_Color2Index_M222   (LCD_COLOR Color);
int LCD_Color2Index_M233   (LCD_COLOR Color);
int LCD_Color2Index_M323   (LCD_COLOR Color);
int LCD_Color2Index_M332   (LCD_COLOR Color);
int LCD_Color2Index_M444_12(LCD_COLOR Color);
int LCD_Color2Index_M444_16(LCD_COLOR Color);
int LCD_Color2Index_M555   (LCD_COLOR Color);
int LCD_Color2Index_M565   (LCD_COLOR Color);

LCD_COLOR LCD_Index2Color_0       (int Index, const LCD_PHYSPALETTE* pPhysPal);
LCD_COLOR LCD_Index2Color_1       (int Index);
LCD_COLOR LCD_Index2Color_2       (int Index);
LCD_COLOR LCD_Index2Color_4       (int Index);
LCD_COLOR LCD_Index2Color_111     (int Index);
LCD_COLOR LCD_Index2Color_222     (int Index);
LCD_COLOR LCD_Index2Color_233     (int Index);
LCD_COLOR LCD_Index2Color_323     (int Index);
LCD_COLOR LCD_Index2Color_332     (int Index);
LCD_COLOR LCD_Index2Color_444_12  (int Index);
LCD_COLOR LCD_Index2Color_444_16  (int Index);
LCD_COLOR LCD_Index2Color_555     (int Index);
LCD_COLOR LCD_Index2Color_565     (int Index);
LCD_COLOR LCD_Index2Color_8666    (int Index);
LCD_COLOR LCD_Index2Color_M111    (int Index);
LCD_COLOR LCD_Index2Color_M222    (int Index);
LCD_COLOR LCD_Index2Color_M233    (int Index);
LCD_COLOR LCD_Index2Color_M323    (int Index);
LCD_COLOR LCD_Index2Color_M332    (int Index);
LCD_COLOR LCD_Index2Color_M444_12 (int Index);
LCD_COLOR LCD_Index2Color_M444_16 (int Index);
LCD_COLOR LCD_Index2Color_M555    (int Index);
LCD_COLOR LCD_Index2Color_M565    (int Index);


/*********************************************************************
*
*      LCDDEV function table
*
**********************************************************************

  Below the routines which need to in an LCDDEV routine table are
  defined. All of these routines have to be in the low-level driver
  (LCD_L0) or in the memory device which can be used to replace the
  driver.
  The one exception to this is the SetClipRect routine, which would
  be identical for all drivers and is therefor contained in the
  level above (LCD).
*/
typedef void         tLCDDEV_DrawHLine    (int x0, int y0,  int x1);
typedef void         tLCDDEV_DrawVLine    (int x , int y0,  int y1);
typedef void         tLCDDEV_FillRect     (int x0, int y0, int x1, int y1);
typedef unsigned int tLCDDEV_GetPixelIndex(int x, int y);
typedef void         tLCDDEV_SetPixelIndex(int x, int y, int ColorIndex);
typedef void         tLCDDEV_XorPixel     (int x, int y);
typedef void         tLCDDEV_FillPolygon  (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
typedef void         tLCDDEV_FillPolygonAA(const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
typedef void         tLCDDEV_GetRect      (LCD_RECT*pRect);
typedef int          tLCDDEV_Init         (void);
typedef void         tLCDDEV_On           (void);
typedef void         tLCDDEV_Off          (void);


/*********************************************************************
*
*              Declarations for LCD_L0_
*
**********************************************************************

  Prefixes are as follows:
  LCD_L0_xxx       ... Driver for first  LCD
  LCD_L0_1_xxx     ... Driver for second LCD/layer
  LCD_L0_2_xxx     ... Driver for third  LCD/layer
  LCD_L0_MAG_xxx   ... Driver for first  LCD, magnification level (calling LCD_L0_xxx after magnification)

*/

#if !defined (__C51__) /* To bypass Keil-compiler bug */
  tLCDDEV_Color2Index          LCD_L0_Color2Index,   LCD_L0_1_Color2Index,   LCD_L0_2_Color2Index,   LCD_L0_3_Color2Index,   LCD_L0_4_Color2Index;
  tLCDDEV_DrawHLine            LCD_L0_DrawHLine,     LCD_L0_1_DrawHLine,     LCD_L0_2_DrawHLine,     LCD_L0_3_DrawHLine,     LCD_L0_4_DrawHLine,     LCD_L0_MAG_DrawHLine;
  tLCDDEV_DrawVLine            LCD_L0_DrawVLine,     LCD_L0_1_DrawVLine,     LCD_L0_2_DrawVLine,     LCD_L0_3_DrawVLine,     LCD_L0_4_DrawVLine,     LCD_L0_MAG_DrawVLine;
  tLCDDEV_FillRect             LCD_L0_FillRect,      LCD_L0_1_FillRect,      LCD_L0_2_FillRect,      LCD_L0_3_FillRect,      LCD_L0_4_FillRect,      LCD_L0_MAG_FillRect;
  tLCDDEV_GetPixelIndex        LCD_L0_GetPixelIndex, LCD_L0_1_GetPixelIndex, LCD_L0_2_GetPixelIndex, LCD_L0_3_GetPixelIndex, LCD_L0_4_GetPixelIndex, LCD_L0_MAG_GetPixelIndex;
  tLCDDEV_GetRect              LCD_L0_GetRect,       LCD_L0_1_GetRect,       LCD_L0_2_GetRect,       LCD_L0_3_GetRect,       LCD_L0_4_GetRect;
  tLCDDEV_SetPixelIndex        LCD_L0_SetPixelIndex, LCD_L0_1_SetPixelIndex, LCD_L0_2_SetPixelIndex, LCD_L0_3_SetPixelIndex, LCD_L0_4_SetPixelIndex, LCD_L0_MAG_SetPixelIndex;
  tLCDDEV_XorPixel             LCD_L0_XorPixel,      LCD_L0_1_XorPixel,      LCD_L0_2_XorPixel,      LCD_L0_3_XorPixel,      LCD_L0_4_XorPixel,      LCD_L0_MAG_XorPixel;
  tLCDDEV_Init                 LCD_L0_Init,          LCD_L0_1_Init,          LCD_L0_2_Init,          LCD_L0_3_Init,          LCD_L0_4_Init,          LCD_L0_MAG_Init;
  tLCDDEV_On                   LCD_L0_On,            LCD_L0_1_On,            LCD_L0_2_On,            LCD_L0_3_On,            LCD_L0_4_On;
  tLCDDEV_Off                  LCD_L0_Off,           LCD_L0_1_Off,           LCD_L0_2_Off,           LCD_L0_3_Off,           LCD_L0_4_Off;
#else
  /* tLCDDEV_Color2Index */
  unsigned int LCD_L0_Color2Index  (LCD_COLOR Color);
  unsigned int LCD_L0_1_Color2Index(LCD_COLOR Color);
  /* tLCDDEV_DrawHLine */
  void         LCD_L0_DrawHLine        (int x0, int y0,  int x1);
  void         LCD_L0_1_DrawHLine      (int x0, int y0,  int x1);
  void         LCD_L0_1_DrawHLine      (int x0, int y0,  int x1);
  void         LCD_L0_1_DrawHLine      (int x0, int y0,  int x1);
  void         LCD_L0_1_DrawHLine      (int x0, int y0,  int x1);
  void         LCD_L0_MAG_DrawHLine    (int x0, int y0,  int x1);
  /* tLCDDEV_DrawVLine */
  void         LCD_L0_DrawVLine        (int x , int y0,  int y1);
  void         LCD_L0_1_DrawVLine      (int x , int y0,  int y1);
  void         LCD_L0_1_DrawVLine      (int x , int y0,  int y1);
  void         LCD_L0_1_DrawVLine      (int x , int y0,  int y1);
  void         LCD_L0_1_DrawVLine      (int x , int y0,  int y1);
  void         LCD_L0_MAG_DrawVLine    (int x , int y0,  int y1);
  /* tLCDDEV_FillRect */
  void         LCD_L0_FillRect         (int x0, int y0, int x1, int y1);
  void         LCD_L0_1_FillRect       (int x0, int y0, int x1, int y1);
  void         LCD_L0_1_FillRect       (int x0, int y0, int x1, int y1);
  void         LCD_L0_1_FillRect       (int x0, int y0, int x1, int y1);
  void         LCD_L0_1_FillRect       (int x0, int y0, int x1, int y1);
  void         LCD_L0_MAG_FillRect     (int x0, int y0, int x1, int y1);
  /* tLCDDEV_GetPixelIndex */
  unsigned int LCD_L0_GetPixelIndex    (int x, int y);
  unsigned int LCD_L0_1_GetPixelIndex  (int x, int y);
  unsigned int LCD_L0_2_GetPixelIndex  (int x, int y);
  unsigned int LCD_L0_3_GetPixelIndex  (int x, int y);
  unsigned int LCD_L0_4_GetPixelIndex  (int x, int y);
  unsigned int LCD_L0_MAG_GetPixelIndex(int x, int y);
  /* tLCDDEV_GetRect */
  void         LCD_L0_GetRect          (LCD_RECT*pRect);
  void         LCD_L0_1_GetRect        (LCD_RECT*pRect);
  void         LCD_L0_2_GetRect        (LCD_RECT*pRect);
  void         LCD_L0_3_GetRect        (LCD_RECT*pRect);
  void         LCD_L0_4_GetRect        (LCD_RECT*pRect);
  /* tLCDDEV_SetPixelIndex */
  void         LCD_L0_SetPixelIndex    (int x, int y, int ColorIndex);
  void         LCD_L0_1_SetPixelIndex  (int x, int y, int ColorIndex);
  void         LCD_L0_2_SetPixelIndex  (int x, int y, int ColorIndex);
  void         LCD_L0_3_SetPixelIndex  (int x, int y, int ColorIndex);
  void         LCD_L0_4_SetPixelIndex  (int x, int y, int ColorIndex);
  void         LCD_L0_MAG_SetPixelIndex(int x, int y, int ColorIndex);
  /* tLCDDEV_XorPixel */
  void         LCD_L0_XorPixel         (int x, int y);
  void         LCD_L0_1_XorPixel       (int x, int y);
  void         LCD_L0_2_XorPixel       (int x, int y);
  void         LCD_L0_3_XorPixel       (int x, int y);
  void         LCD_L0_4_XorPixel       (int x, int y);
  void         LCD_L0_MAG_XorPixel     (int x, int y);
  /* tLCDDEV_Init */
  int          LCD_L0_Init             (void);
  int          LCD_L0_1_Init           (void);
  int          LCD_L0_2_Init           (void);
  int          LCD_L0_3_Init           (void);
  int          LCD_L0_4_Init           (void);
  int          LCD_L0_MAG_Init         (void);
  /* tLCDDEV_On */
  void         LCD_L0_On               (void);
  void         LCD_L0_1_On             (void);
  void         LCD_L0_2_On             (void);
  void         LCD_L0_3_On             (void);
  void         LCD_L0_4_On             (void);
  /*  tLCDDEV_Off */
  void         LCD_L0_Off              (void);
  void         LCD_L0_1_Off            (void);
  void         LCD_L0_2_Off            (void);
  void         LCD_L0_3_Off            (void);
  void         LCD_L0_4_Off            (void);
#endif

void LCD_L0_ReInit       (void); /* Reinitialize LCD using config-paramters */
void LCD_L0_Refresh      (void); /* Refresh entire LCD */
                                 /* Refresh LCD partially. Could be one line, depends on what
                                    the LCD controller can handle efficiently */
void LCD_L0_SetLUTEntry  (U8 Pos, LCD_COLOR color);
void LCD_L0_1_SetLUTEntry(U8 Pos, LCD_COLOR color);
void LCD_L0_2_SetLUTEntry(U8 Pos, LCD_COLOR color);
void LCD_L0_3_SetLUTEntry(U8 Pos, LCD_COLOR color);
void LCD_L0_4_SetLUTEntry(U8 Pos, LCD_COLOR color);
void LCD_L0_SetOrg       (int x, int y);

#endif /* LCD_INTERN_H */




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -