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

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

?? gui_protected.h

?? uCGUI
?? H
字號:
/*************************************************************************************************************
                                                   uC/GUI
                                               嵌入式通用圖形軟件
文    件: GUI_Protected.h
描    述: GUI internal declarations
************************************************************************************************************/
#ifndef  GUI_PROTECTED_H
	#define  GUI_PROTECTED_H
	
	#include "GUI.h"
	#include "LCD_Protected.h"
	#include "GUIDebug.h"
	
	/*************************************************************************************************************
	                        Defaults for config switches
	  The config switches below do not affect the interface in GUI.h and
	  are therefor not required to be in GUI.h.
	*************************************************************************************************************/
	#ifndef GUI_ALLOC_SIZE
	  #define GUI_ALLOC_SIZE      1000
	#endif
	
	/*************************************************************************************************************
	Short address area.
	   For  most compilers, this is "near" or "__near"
	   We do not use this except for some CPUs which we know to always have some
	   near memory, because the GUI_Context ans some other data will be declared
	   to be in this short address (near) memory area as it has a major effect
	   on performance.
	   Please define in GUIConf.h (if you want to use it)
	*************************************************************************************************************/
	#ifndef GUI_SADDR
	  #define GUI_SADDR
	#endif
	
	
	/*************************************************************************************************************
	        *      Angles                   *
	*************************************************************************************************************/
	#define GUI_45DEG  512
	#define GUI_90DEG  (2*GUI_45DEG)
	#define GUI_180DEG (4*GUI_45DEG)
	#define GUI_360DEG (8*GUI_45DEG)
	
	/*************************************************************************************************************
	             Support for multitasking systems
	*************************************************************************************************************/
	void GUI_Lock(void);
	void GUI_Unlock(void);
	void GUITASK_Init(void);
	
	#if !GUI_OS
	  #define GUI_LOCK()
	  #define GUI_UNLOCK()
	  #define GUITASK_INIT()
	#else
	  #define GUI_LOCK() GUI_Lock()
	  #define GUI_UNLOCK() GUI_Unlock()
	  #define GUITASK_INIT() GUITASK_Init()
	#endif
	
	/*************************************************************************************************************
	        ALLOC internals  (memory allocation)
	*************************************************************************************************************/
	
	
	/*************************************************************************************************************
	        Usage internals
	*************************************************************************************************************/
		typedef GUI_HMEM GUI_USAGE_Handle;
	typedef struct tsUSAGE_APIList tUSAGE_APIList;
	typedef struct GUI_Usage GUI_USAGE;
	#define GUI_USAGE_h GUI_USAGE_Handle
	
	typedef GUI_USAGE_h tUSAGE_CreateCompatible(GUI_USAGE* p);
	typedef void        tUSAGE_AddPixel        (GUI_USAGE* p, int x, int y);
	typedef void        tUSAGE_AddHLine        (GUI_USAGE* p, int x0, int y0, int len);
	typedef void        tUSAGE_Clear           (GUI_USAGE* p);
	typedef void        tUSAGE_Delete          (GUI_USAGE_h h);
	typedef int         tUSAGE_GetNextDirty    (GUI_USAGE* p, int *pxOff, int yOff);
	#define GUI_USAGE_h2p(h) ((GUI_USAGE*)GUI_ALLOC_h2p(h))
	
	
	void GUI_USAGE_DecUseCnt(GUI_USAGE_Handle  hUsage);
	
	GUI_USAGE_Handle GUI_USAGE_BM_Create(int x0, int y0, int xsize, int ysize, int Flags);
	void GUI_USAGE_Select(GUI_USAGE_Handle hUsage);
	#define GUI_USAGE_AddPixel(p, x,y)            p->pAPI->pfAddPixel(p,x,y)
	#define GUI_USAGE_AddHLine(p,x,y,len)         p->pAPI->pfAddHLine(p,x,y,len)
	#define GUI_USAGE_Clear(p)                    p->pAPI->pfClear(p)
	#define GUI_USAGE_Delete(p)                   p->pAPI->pfDelete(p)
	#define GUI_USAGE_GetNextDirty(p,pxOff, yOff) p->pAPI->pfGetNextDirty(p,pxOff, yOff)
	
	struct tsUSAGE_APIList 
	{
	  tUSAGE_AddPixel*                pfAddPixel;
	  tUSAGE_AddHLine*                pfAddHLine;
	  tUSAGE_Clear*                   pfClear;
	  tUSAGE_CreateCompatible*        pfCreateCompatible;
	  tUSAGE_Delete*                  pfDelete;
	  tUSAGE_GetNextDirty*            pfGetNextDirty;
	} ;
	
	struct GUI_Usage {
	  I16P x0, y0, XSize, YSize;
	  const tUSAGE_APIList *pAPI;
	  I16 UseCnt;
	};
	
	/*************************************************************************************************************
	        GUI_MEMDEV
	*************************************************************************************************************/
	#if GUI_SUPPORT_MEMDEV
	  typedef struct GUI_MemDev GUI_MEMDEV;
	
	  struct GUI_MemDev 
	  {
	    I16P                  x0, y0, XSize, YSize;
	    int                   NumColors;
	    int                   BytesPerLine;
	    GUI_HMEM              hUsage;
	    tLCDDEV_Color2Index*  pfColor2Index;
	    tLCDDEV_Index2Color*  pfIndex2Color;
	  };
	
	  #define GUI_MEMDEV_h2p(h) ((GUI_MEMDEV*)GUI_ALLOC_h2p(h))
	  void GUI_MEMDEV__CopyFromLCD(GUI_MEMDEV_Handle hMem);
	#endif
	
	/*************************************************************************************************************
	                   LCD_HL_ level defines
	*************************************************************************************************************/
	#if GUI_SUPPORT_MEMDEV
	  #define LCD_HL_DrawHLine             GUI_Context.pLCD_HL->pfDrawHLine
	  #define LCD_HL_DrawPixel             GUI_Context.pLCD_HL->pfDrawPixel
	#else
	  #define LCD_HL_DrawHLine             LCD_DrawHLine
	  #define LCD_HL_DrawPixel             LCD_DrawPixel
	#endif
	
	/*************************************************************************************************************
	                     Helper functions
	*************************************************************************************************************/
	#define GUI_ZEROINIT(Obj) memset(Obj, 0, sizeof(Obj))
	int  GUI_cos(int angle);
	int  GUI_sin(int angle);
	void GL_DrawLine1(int x0, int y0, int x1, int y1);
	extern const U32 GUI_Pow10[10];
	
	/* GUIAALib.c --- direct anti-aliased drawing */
	int  GUI_AA_Init(int x0, int x1);
	int  GUI_AA_Init_HiRes(int x0, int x1);
	void GUI_AA_Exit(void);
	I16 GUI_AA_HiRes2Pixel(int HiRes);
	
	void GL_FillCircleAA_HiRes(int x0, int y0, int r);
	
	/* Conversion routines */
	void GUI_AddHex(U32 v, U8 Len, char**ps);
	void GUI_AddBin(U32 v, U8 Len, char**ps);
	void GUI_AddDecShift(I32 v, U8 Len, U8 Shift, char**ps);
	long GUI_AddSign(long v, char**ps);
	
	int GUI__GetLineLen(const char GUI_FAR *s, int MaxLen);
	int GUI_GetLineDistX(const char GUI_FAR *s, int Len);
	int GUI__GetFontSizeY(void);
	int GUI__HandleEOLine(const char* *ps);
	void GUI__DispLine(const char GUI_FAR *s, int Len, const GUI_RECT* pr);
	void GUI__AddSpaceHex(U32 v, U8 Len, char**ps);
	
	/*************************************************************************************************************
	             2d - GL
	*************************************************************************************************************/
	void GL_DispChar         (U16 c);
	void GL_DrawArc          (int x0, int y0, int rx, int ry, int a0, int a1);
	void GL_DrawBitmap       (const GUI_BITMAP* pBM, int x0, int y0);
	void GL_DrawCircle       (int x0, int y0, int r);
	void GL_DrawEllipse      (int x0, int y0, int rx, int ry);
	void GL_DrawHLine        (int y0, int x0, int x1);
	void GL_DrawPolygon      (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
	void GL_DrawPoint        (int x, int y);
	void GL_DrawLineRel      (int dx, int dy);
	void GL_DrawLineTo       (int x, int y);
	void GL_DrawLine         (int x0, int y0, int x1, int y1);
	void GL_MoveTo           (int x, int y);
	void GL_FillCircle       (int x0, int y0, int r);
	void GL_FillCircleAA     (int x0, int y0, int r);
	void GL_FillEllipse      (int x0, int y0, int rx, int ry);
	void GL_FillPolygon      (const GUI_POINT* pPoints, int NumPoints, int x0, int y0);
	void GL_SetDefault       (void);
	
	/*************************************************************************************************************
	                 Callback pointers for dynamic linkage
	Dynamic linkage pointers reduces configuration hassles.
	*************************************************************************************************************/
	typedef int  GUI_tfTimer(void);
	typedef void GUI_CURSOR_tfTempHide  (const GUI_RECT* pRect);
	typedef void GUI_CURSOR_tfTempUnhide(const GUI_RECT* pRect);
	typedef int  WM_tfHandleHID(void);
	
	/*************************************************************************************************************
	         EXTERN decalartions/definitions
	Dynamic linkage pointers reduces configuration hassles.
	*************************************************************************************************************/
	#ifdef  GL_CORE_C
	  #define EXTERN
	#else
	  #define EXTERN extern
	#endif
	
	EXTERN GUI_SADDR GUI_CONTEXT GUI_Context; /* Thread wide globals */
	EXTERN GUI_SADDR char GUI_DecChar;        /* System wide globals */
	
	EXTERN GUI_tfTimer*       GUI_pfTimerExec;
	
	EXTERN WM_tfHandleHID*  WM_pfHandleHID;
	
	#if GUI_SUPPORT_CURSOR
	  EXTERN GUI_CURSOR_tfTempHide*   GUI_CURSOR_pfTempHide;
	  EXTERN GUI_CURSOR_tfTempUnhide* GUI_CURSOR_pfTempUnhide;
	#endif
	
	#undef EXTERN
	
#endif   /* ifdef GUI_H */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲超丰满肉感bbw| 香港成人在线视频| 7777精品伊人久久久大香线蕉经典版下载| 国内成人免费视频| 亚洲图片欧美视频| 亚洲欧美在线视频| 精品久久人人做人人爽| 在线亚洲欧美专区二区| 丰满亚洲少妇av| 蜜桃在线一区二区三区| 亚洲一区二区三区中文字幕在线| 中文字幕av一区二区三区高| 日韩美女一区二区三区| 色综合久久综合网| 成人午夜视频在线| 精品无人区卡一卡二卡三乱码免费卡| 亚洲国产一区二区三区青草影视| 国产精品卡一卡二| 久久久久国产免费免费| 欧美一级精品大片| 5月丁香婷婷综合| 欧美亚洲愉拍一区二区| 99精品国产视频| 成人一区二区在线观看| 国产精品一二三四| 精品夜夜嗨av一区二区三区| 日本va欧美va欧美va精品| 亚洲午夜私人影院| 亚洲丝袜精品丝袜在线| 中文字幕一区二区三区视频| 国产精品素人一区二区| 亚洲国产精品激情在线观看| 国产亚洲欧洲997久久综合| 久久久一区二区三区| 精品福利在线导航| 久久综合九色综合欧美亚洲| 精品美女一区二区| 久久久99精品免费观看不卡| 久久青草欧美一区二区三区| 2014亚洲片线观看视频免费| 久久综合色天天久久综合图片| 久久午夜国产精品| 国产丝袜美腿一区二区三区| 国产欧美精品国产国产专区| 中文字幕av一区二区三区高| 国产在线精品国自产拍免费| 老司机精品视频导航| 狠狠久久亚洲欧美| 粉嫩av亚洲一区二区图片| 成人免费视频app| a美女胸又www黄视频久久| 91在线播放网址| 色噜噜久久综合| 欧美日韩在线三级| 日韩欧美在线综合网| 欧美精品一区二区久久婷婷| 久久精品视频一区二区| 1000部国产精品成人观看| 亚洲综合色网站| 伦理电影国产精品| 高清av一区二区| 色综合久久中文综合久久牛| 欧美视频一区二区| 日韩欧美黄色影院| 国产精品美女久久久久高潮| 亚洲黄色尤物视频| 精品一区二区精品| 99久久99久久久精品齐齐| 欧美三级中文字幕| 精品国产91洋老外米糕| 国产精品久久久久桃色tv| 一区二区三区在线免费| 蜜臀av亚洲一区中文字幕| 国产91丝袜在线播放九色| 色94色欧美sute亚洲线路一ni | 欧美这里有精品| 日韩欧美成人一区二区| 亚洲欧洲av色图| 日本免费新一区视频| 国产成人8x视频一区二区| 日本韩国精品在线| 久久一二三国产| 亚洲成av人片观看| 国产成人av自拍| 欧美男男青年gay1069videost| 亚洲精品一区二区三区蜜桃下载 | 欧美色精品在线视频| 精品国产91乱码一区二区三区| 亚洲欧美另类小说| 韩国女主播成人在线观看| 日本精品一区二区三区高清| 久久久久国产一区二区三区四区 | 久久精品国产77777蜜臀| 91在线小视频| 精品电影一区二区| 天天色综合天天| 99r精品视频| 精品久久久久av影院| 亚洲国产日韩a在线播放性色| 日韩视频一区在线观看| 中文字幕亚洲综合久久菠萝蜜| 奇米一区二区三区| 欧美三日本三级三级在线播放| 国产亚洲一区二区在线观看| 日本vs亚洲vs韩国一区三区二区| aaa欧美色吧激情视频| 久久综合国产精品| 日本成人在线网站| 欧美美女视频在线观看| 亚洲视频资源在线| 国产v日产∨综合v精品视频| 欧美成人精品3d动漫h| 亚洲成人一区在线| 在线观看欧美日本| 亚洲人一二三区| 成人午夜又粗又硬又大| 久久精品人人做人人综合| 久久精品噜噜噜成人av农村| 欧美精品第1页| 日精品一区二区| 欧美日韩国产一二三| 亚洲一区二区视频在线| 一本大道久久a久久综合婷婷 | 久久久九九九九| 久久99久久精品| 日韩一区二区在线观看视频 | 午夜欧美2019年伦理| 欧美在线观看你懂的| 亚洲欧美电影一区二区| 99精品视频在线观看免费| 欧美国产亚洲另类动漫| 成人激情午夜影院| 国产精品色哟哟网站| 高清在线不卡av| 国产精品毛片大码女人| 国产69精品久久久久777| 国产午夜亚洲精品理论片色戒 | 成人综合婷婷国产精品久久蜜臀 | 麻豆精品国产传媒mv男同| 欧美视频在线一区二区三区| 亚洲一区二区av在线| 欧美色视频在线| 日韩和欧美一区二区| 69久久99精品久久久久婷婷 | 一区二区成人在线视频| 欧美性大战xxxxx久久久| 亚洲资源在线观看| 91精品国产入口| 国产做a爰片久久毛片| 国产欧美精品区一区二区三区| 99视频一区二区| 色88888久久久久久影院野外| 亚洲精品自拍动漫在线| 久久福利资源站| av电影天堂一区二区在线| 国产综合色在线视频区| 97国产一区二区| 亚洲成人www| 欧美精品一级二级三级| 一区二区三区高清| 777久久久精品| 狠狠色狠狠色综合日日91app| 久久九九全国免费| 91免费在线播放| 欧美少妇性性性| 亚洲欧洲一区二区在线播放| av电影天堂一区二区在线| 又紧又大又爽精品一区二区| 欧美日韩日日夜夜| 国产精品一区一区| 夜夜夜精品看看| 欧美大片拔萝卜| 色素色在线综合| 九色|91porny| 一区二区免费看| 精品少妇一区二区三区在线播放| 风流少妇一区二区| 丝袜美腿高跟呻吟高潮一区| 久久久五月婷婷| 欧美在线制服丝袜| 国产成a人无v码亚洲福利| 亚洲国产欧美日韩另类综合| 亚洲精品一线二线三线无人区| 91小视频在线免费看| 另类综合日韩欧美亚洲| 中文字幕在线观看不卡| 91精品国产乱| 色菇凉天天综合网| 激情综合色综合久久| 亚洲最色的网站| 久久久久国产一区二区三区四区| 欧美色欧美亚洲另类二区| 国产91精品免费| 麻豆精品久久精品色综合| 一区二区三区四区乱视频| 久久精品夜夜夜夜久久| 91精品国产色综合久久久蜜香臀| 一本一道综合狠狠老| 国产白丝网站精品污在线入口| 日韩av电影免费观看高清完整版在线观看 |