亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lcd.h

?? 一個在430單片機上移植UCGUI的例子
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                                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.h
Purpose     : Declares LCD interface functions
----------------------------------------------------------------------
*/

#ifndef LCD_H
#define LCD_H

#include "GUI_ConfDefaults.h" /* Used for GUI_UNI_PTR */

#if defined(__cplusplus)
extern "C" {     /* Make sure we have C-declarations in C++ programs */
#endif

/*
  ********************************************************************
  *                                                                  *
  *                   Basic type defines                             *
  *                                                                  *
  ********************************************************************

The follwing are defines for types used in the LCD-driver and the
GUI layers on top of that. Since "C" does not provide data types of
fixed length which are identical on all platforms, this is done here.
For most 16/32 controllers, the settings will work fine. However, if
you have similar defines in other sections of your program, you might
want to change or relocate these defines, e.g. in a TYPE.h file.
*/
 
#define I8    signed char
#define U8  unsigned char     /* unsigned 8  bits. */
#define I16   signed short    /*   signed 16 bits. */
#define U16 unsigned short    /* unsigned 16 bits. */
#define I32   signed long   /*   signed 32 bits. */
#define U32 unsigned long   /* unsigned 32 bits. */
#define I16P I16              /*   signed 16 bits OR MORE ! */
#define U16P U16              /* unsigned 16 bits OR MORE ! */

/*
  ********************************************************************
  *                                                                  *
  *               Settings for windows simulation                    *
  *                                                                  *
  ********************************************************************

Some settings in the configuration may conflict with the values required
in the Simulation. This is why we ignore the target settings for data
types and use the correct settings for the simulation.
(U32 could be defined as long, which would yield a 64 bit type on
the PC)
*/

#ifdef WIN32
  #pragma warning( disable : 4244 )  // Disable warning messages in simulation
  #pragma warning( disable : 4761 )  // Disable warning "integral size mismatch in argument; conversion supplied"
#endif                                      


/*      *************************************************************
        *                                                           *
        *                Constants                                  *
        *                                                           *
        *************************************************************
*/
#define LCD_ERR0 (0x10)
#define LCD_ERR_CONTROLLER_NOT_FOUND (LCD_ERR0+1)
#define LCD_ERR_MEMORY               (LCD_ERR0+2)

/*
      *********************************
      *                               *
      *      Drawing modes            *
      *                               *
      *********************************
*/

#define LCD_DRAWMODE_NORMAL (0)
#define LCD_DRAWMODE_XOR    (1<<0)
#define LCD_DRAWMODE_TRANS  (1<<1)
#define LCD_DRAWMODE_REV    (1<<2)


 
/*      *************************************************************
        *                                                           *
        *                Typedefs                                   *
        *                                                           *
        *************************************************************
*/

typedef int LCD_DRAWMODE;
typedef U32 LCD_COLOR;

 
/********************************************************
*
*     Data structures
*
*********************************************************
*/

typedef struct { I16P x,y; } GUI_POINT;
typedef struct { I16 x0,y0,x1,y1; } LCD_RECT;
/*typedef struct { GUI_POINT P0, P1; } LCD_RECT; */

typedef struct {
  int              NumEntries; 
  char             HasTrans;         
  const LCD_COLOR GUI_UNI_PTR * pPalEntries; 
} LCD_LOGPALETTE; 

/* This is used for the simulation only ! */
typedef struct {
  int x,y;
  unsigned char KeyStat;
} LCD_tMouseState;

/*********************************************************************
*
*     Index2Color

  This function needs to be int the public part of the software
  since it is needed by the simulation. Most other driver
  functions are hidden in the private header file.
*/

typedef LCD_COLOR      tLCDDEV_Index2Color  (int Index);
typedef unsigned int   tLCDDEV_Color2Index  (LCD_COLOR Color);
typedef unsigned int   tLCDDEV_GetIndexMask (void);
LCD_COLOR      LCD_L0_Index2Color  (int Index);
LCD_COLOR      LCD_L0_1_Index2Color(int Index);
LCD_COLOR      LCD_L0_2_Index2Color(int Index);
LCD_COLOR      LCD_L0_3_Index2Color(int Index);
LCD_COLOR      LCD_L0_4_Index2Color(int Index);
unsigned int   LCD_L0_Color2Index  (LCD_COLOR Color);
unsigned int   LCD_L0_1_Color2Index(LCD_COLOR Color);
unsigned int   LCD_L0_2_Color2Index(LCD_COLOR Color);
unsigned int   LCD_L0_3_Color2Index(LCD_COLOR Color);
unsigned int   LCD_L0_4_Color2Index(LCD_COLOR Color);
unsigned int   LCD_L0_GetIndexMask  (void);
unsigned int   LCD_L0_1_GetIndexMask(void);
unsigned int   LCD_L0_2_GetIndexMask(void);
unsigned int   LCD_L0_3_GetIndexMask(void);
unsigned int   LCD_L0_4_GetIndexMask(void);


/*********************************************************************
*
*     Color conversion API tables
*/

typedef struct {
  tLCDDEV_Color2Index*  pfColor2Index;
  tLCDDEV_Index2Color*  pfIndex2Color;
  tLCDDEV_GetIndexMask* pfGetIndexMask;
} LCD_API_COLOR_CONV;

extern const LCD_API_COLOR_CONV LCD_API_ColorConv_1;
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_2;
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_4;
extern const LCD_API_COLOR_CONV LCD_API_ColorConv_8666;

#define GUI_COLOR_CONV_1    &LCD_API_ColorConv_1
#define GUI_COLOR_CONV_2    &LCD_API_ColorConv_2
#define GUI_COLOR_CONV_4    &LCD_API_ColorConv_4
#define GUI_COLOR_CONV_8666 &LCD_API_ColorConv_8666

/*********************************************************************
*
*      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);
typedef void         tLCDDEV_SetLUTEntry  (U8 Pos, LCD_COLOR color);

/*********************************************************************
*
*     Memory device API tables
*/
#if GUI_COMPILER_SUPPORTS_FP
  typedef struct tLCDDEV_APIList_struct tLCDDEV_APIList;
#endif

typedef void tLCDDEV_DrawBitmap   (int x0, int y0, int xsize, int ysize,
                       int BitsPerPixel, int BytesPerLine,
                       const U8 GUI_UNI_PTR * pData, int Diff,
                       const void* pTrans);   /* Really LCD_PIXELINDEX, but is void to avoid compiler warnings*/

struct tLCDDEV_APIList_struct {
  tLCDDEV_Color2Index*        pfColor2Index;
  tLCDDEV_Index2Color*        pfIndex2Color;
  tLCDDEV_GetIndexMask*       pfGetIndexMask;
  tLCDDEV_DrawBitmap*         pfDrawBitmap;
  tLCDDEV_DrawHLine*          pfDrawHLine;
  tLCDDEV_DrawVLine*          pfDrawVLine;
  tLCDDEV_FillRect*           pfFillRect;
  tLCDDEV_GetPixelIndex*      pfGetPixelIndex;
  tLCDDEV_GetRect*            pfGetRect;
  tLCDDEV_SetPixelIndex*      pfSetPixelIndex;
  tLCDDEV_XorPixel*           pfXorPixel;
  tLCDDEV_SetLUTEntry*        pfSetLUTEntry;
  #if GUI_SUPPORT_MEMDEV
    tLCDDEV_FillPolygon*      pfFillPolygon;
    tLCDDEV_FillPolygonAA*    pfFillPolygonAA;
    const tLCDDEV_APIList*    pMemDevAPI;
    unsigned                  BitsPerPixel;
  #endif
};
#if GUI_COMPILER_SUPPORTS_FP
  extern const struct tLCDDEV_APIList_struct GUI_MEMDEV__APIList8;
  extern const struct tLCDDEV_APIList_struct GUI_MEMDEV__APIList16;

  #define GUI_MEMDEV_APILIST_8  &GUI_MEMDEV__APIList8
  #define GUI_MEMDEV_APILIST_16 &GUI_MEMDEV__APIList16
#endif

/*      *************************************************************
        *                                                           *
        *                   Defines                                 *
        *                                                           *
        *    for device capabilities                                *
        *                                                           *
        *************************************************************

The following is the list of device capabilities which can, but do
not have to be implemented in the driver. This way the driver can be
enhanced in the future without affecting the driver interface,
keeping older drivers compatible.
More DevCaps can always be added in the future, as older drivers
are guaranteed to return 0 for all unimplemented features or queries.

The values below define the legal parameters to the LCD_GetDeviceCaps

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合久久综合亚洲| 成人欧美一区二区三区白人| 久久丝袜美腿综合| 一区二区三区91| 国产专区综合网| 在线看国产一区| 国产亚洲一区二区三区在线观看| 亚洲一区在线观看免费| 国产成人精品免费视频网站| 欧美日韩国产bt| 自拍av一区二区三区| 久久福利视频一区二区| 在线观看日韩精品| 国产精品毛片无遮挡高清| 久久99精品网久久| 欧美日韩高清一区二区不卡| ㊣最新国产の精品bt伙计久久| 久久99这里只有精品| 欧美放荡的少妇| 一区二区三区四区亚洲| 成人免费的视频| 国产欧美va欧美不卡在线| 美女视频黄a大片欧美| 欧美少妇xxx| 亚洲午夜精品在线| 色婷婷亚洲综合| 夜夜爽夜夜爽精品视频| 一本色道久久加勒比精品| 中文字幕免费一区| 成人av影视在线观看| 欧美激情一区二区| 不卡欧美aaaaa| 亚洲欧洲成人av每日更新| 国产成人免费av在线| 国产三级精品在线| 粉嫩一区二区三区性色av| 国产欧美视频一区二区三区| 国产精品一区二区久激情瑜伽| 26uuu久久综合| 韩国精品主播一区二区在线观看 | 日韩一卡二卡三卡国产欧美| 亚洲最色的网站| 欧美日韩一区二区三区视频| 亚洲国产成人porn| 欧美一区二区视频网站| 美女任你摸久久| 久久亚洲捆绑美女| 成人激情图片网| 一区二区三区在线视频观看58| 日本道免费精品一区二区三区| 亚洲蜜臀av乱码久久精品 | 色综合久久综合网97色综合| 亚洲日本在线a| 欧美电影一区二区三区| 免费在线观看一区| 欧美激情在线一区二区| 91一区一区三区| 天堂精品中文字幕在线| 精品国产乱码久久久久久蜜臀| 国产美女主播视频一区| 亚洲欧美综合另类在线卡通| 欧美性淫爽ww久久久久无| 免费av网站大全久久| 欧美国产日韩一二三区| 欧美日免费三级在线| 韩国精品久久久| 亚洲激情综合网| 精品日韩av一区二区| 91在线视频18| 免费看欧美女人艹b| 国产精品女同互慰在线看| 欧美三级资源在线| 国产aⅴ综合色| 日韩专区一卡二卡| 国产精品国产三级国产普通话蜜臀| 在线欧美日韩国产| 国产黑丝在线一区二区三区| 一区二区三区四区乱视频| 精品精品欲导航| 91丨九色丨蝌蚪富婆spa| 久久电影网电视剧免费观看| 亚洲欧美视频一区| 久久久亚洲精华液精华液精华液| 91国产成人在线| 国产成人精品影视| 蜜桃免费网站一区二区三区| 亚洲欧美日韩国产成人精品影院| 精品日韩欧美在线| 欧美精品自拍偷拍动漫精品| 不卡视频一二三四| 国产精品一二三四五| 日日摸夜夜添夜夜添国产精品 | 一区二区三区欧美日韩| www国产成人| 91精品黄色片免费大全| 欧美中文字幕一二三区视频| 国产在线国偷精品产拍免费yy| 亚洲国产精品久久久久婷婷884| 国产精品天干天干在观线| 欧美成人精品3d动漫h| 欧美精品一二三| 欧美中文一区二区三区| 99re6这里只有精品视频在线观看| 久久爱www久久做| 免费成人在线播放| 日韩国产精品大片| 婷婷一区二区三区| 亚洲国产毛片aaaaa无费看| 国产精品福利一区| 中文字幕综合网| 亚洲欧美自拍偷拍| 日韩毛片精品高清免费| 国产精品无码永久免费888| 欧美精品一区二区三区四区| 精品少妇一区二区三区视频免付费| 欧美日韩精品一二三区| 欧美日韩一级片网站| 欧美日韩一区二区在线观看视频| 色悠久久久久综合欧美99| 91免费视频网| 色就色 综合激情| 欧美伊人精品成人久久综合97| 91久久精品一区二区三| 欧洲激情一区二区| 欧美日韩一级片网站| 欧美一区二区成人6969| 欧美电视剧免费观看| 久久夜色精品国产欧美乱极品| 久久综合色之久久综合| 国产三级精品三级在线专区| 国产精品青草久久| 亚洲区小说区图片区qvod| 亚洲一区免费在线观看| 水蜜桃久久夜色精品一区的特点| 五月天激情小说综合| 免费观看一级欧美片| 国产在线国偷精品产拍免费yy | 久久奇米777| 亚洲国产精品二十页| 日本人妖一区二区| 美女脱光内衣内裤视频久久影院| 精品亚洲免费视频| 99久久免费视频.com| 欧美伊人精品成人久久综合97 | 亚洲人午夜精品天堂一二香蕉| 亚洲男人的天堂在线观看| 亚洲图片有声小说| 黄页网站大全一区二区| 91麻豆精品一区二区三区| 777奇米四色成人影色区| 国产日韩欧美一区二区三区乱码 | 极品少妇一区二区| 国产成人欧美日韩在线电影| 色婷婷av一区二区三区gif| 欧美一级xxx| 成人免费一区二区三区在线观看| 天天综合日日夜夜精品| 国产凹凸在线观看一区二区| 欧美天堂亚洲电影院在线播放| 精品成人a区在线观看| 亚洲美女视频在线观看| 激情六月婷婷久久| 欧美日韩一区高清| 国产精品久久久久久久裸模| 日韩国产欧美在线视频| 97精品久久久午夜一区二区三区 | 亚洲男人的天堂网| 韩国一区二区视频| 欧美午夜不卡视频| 国产精品视频你懂的| 精品一区二区在线观看| 欧美性色黄大片手机版| 国产精品三级av在线播放| 免费av网站大全久久| 精品视频免费看| 中文字幕一区二区5566日韩| 国内精品久久久久影院色 | 制服丝袜成人动漫| 亚洲视频免费看| 成人性生交大片| 欧美大片一区二区三区| 天天综合天天综合色| 欧美在线影院一区二区| 日韩理论片一区二区| 国产毛片精品国产一区二区三区| 51精品秘密在线观看| 亚洲一区二区在线播放相泽| 99精品欧美一区二区蜜桃免费| 久久久五月婷婷| 久久99国产精品久久99| 91精品国产色综合久久 | 国产精品色一区二区三区| 久久爱www久久做| 欧美精品第一页| 午夜精品久久久久久久| 欧美日韩你懂得| 亚洲国产乱码最新视频 | 亚洲一卡二卡三卡四卡五卡| 91香蕉视频污| 一区二区三区精品视频在线|