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

📄 gui.h

📁 ucgui在ARM44B0目标板上的移植代码支持16级灰度
💻 H
📖 第 1 页 / 共 3 页
字号:
#endifstruct GUI_Context_struct {/* Variables in LCD module */  LCD_COLORINDEX_UNION LCD;  LCD_RECT       ClipRect;  const tLCD_HL_APIList* pLCD_HL;  U8             DrawMode;/* Variables in GL module */  GUI_RECT* pClipRect_HL;  U8        PenSize;  U8        PenShape;  U8        LineStyle;  U8        FillStyle;/* Variables in GUICHAR module */  const GUI_FONT* pAFont;  I16P LBorder;  I16P DispPosX, DispPosY;  I16P DrawPosX, DrawPosY;  I16P TextMode;  I16P TextAlign;/* Variables in WM module */  #if GUI_WINSUPPORT    const GUI_RECT* WM__pUserClipRect;    GUI_HWIN hAWin;  #endif/* Variables in MEMDEV module (with memory devices only) */  #if GUI_SUPPORT_MEMDEV    const tLCDDEV_APIList* pDeviceAPI;  /* function pointers only */    GUI_HMEM    hDevData;    GUI_RECT    ClipRectPrev;  #endif/* Variables Anitaliasing module */  U8 AA_Factor;  U8 AA_HiResEnable;};/***********************************************************************             General routines************************************************************************/int  GUI_Init(void);void GUI_SetDefault(void);GUI_DRAWMODE GUI_SetDrawMode(GUI_DRAWMODE dm);const char * GUI_GetVersionString(void);void GUI_SaveContext   (      GUI_CONTEXT* pContext);void GUI_RestoreContext(const GUI_CONTEXT* pContext);/***********************************************************************           Rectangle helper functions*************************************************************************/int  GUI_RectsIntersect(const GUI_RECT* pr0, const GUI_RECT* pr1);void GUI_MoveRect       (GUI_RECT *pRect, int x, int y);void GUI_MergeRect      (GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1);int  GUI__IntersectRects(GUI_RECT* pDest, const GUI_RECT* pr0, const GUI_RECT* pr1);void GUI__IntersectRect (GUI_RECT* pDest, const GUI_RECT* pr0);void GUI__ReduceRect    (GUI_RECT* pDest, const GUI_RECT *pRect, int Dist);/***********************************************************************       Misc helper functions*************************************************************************/int  GUI__DivideRound   (int a, int b);/***********************************************************************      Get / Set Attributes************************************************************************/ GUI_COLOR GUI_GetBkColor     (void);GUI_COLOR GUI_GetColor       (void);int       GUI_GetBkColorIndex(void);int       GUI_GetColorIndex  (void);U8        GUI_GetPenSize     (void);U8        GUI_GetLineStyle   (void);U8        GUI_GetFillStyle   (void);void      GUI_SetBkColor   (GUI_COLOR);void      GUI_SetColor     (GUI_COLOR);void      GUI_SetBkColorIndex(int Index);void      GUI_SetColorIndex(int Index);U8        GUI_SetPenSize   (U8 Size);U8        GUI_SetPenShape  (U8 Shape);U8        GUI_SetLineStyle (U8 Style);U8        GUI_SetFillStyle (U8 Style);/* Get/Set Character used as decimal point (usually '.' or ',') */char      GUI_GetDecChar(void);char      GUI_SetDecChar(char c);/***********************************************************************             Color / Index related functions************************************************************************/int       GUI_Color2Index(GUI_COLOR color);GUI_COLOR GUI_Color2VisColor(GUI_COLOR color);char      GUI_ColorIsAvailable(GUI_COLOR color);GUI_COLOR GUI_Index2Color(int Index);void      GUI_InitLUT(void);void      GUI_SetLUTEntry (U8 Pos, GUI_COLOR Color);void      GUI_SetLUTColor (U8 Pos, GUI_COLOR Color);void      GUI_SetPhysColor(U8 Pos, GUI_COLOR Color);/***********************************************************************       Logging************************************************************************/void GUI_Log      (const char *s);void GUI_Log1     (const char *s, int p0);void GUI_Log2     (const char *s, int p0, int p1);void GUI_Log3     (const char *s, int p0, int p1, int p2);void GUI_Log4     (const char *s, int p0, int p1, int p2,int p3);void GUI_Warn     (const char *s);void GUI_Warn1    (const char *s, int p0);void GUI_Warn2    (const char *s, int p0, int p1);void GUI_Warn3    (const char *s, int p0, int p1, int p2);void GUI_Warn4    (const char *s, int p0, int p1, int p2, int p3);void GUI_ErrorOut (const char *s);void GUI_ErrorOut1(const char *s, int p0);void GUI_ErrorOut2(const char *s, int p0, int p1);void GUI_ErrorOut3(const char *s, int p0, int p1, int p2);void GUI_ErrorOut4(const char *s, int p0, int p1, int p2, int p3);/***********************************************************************             2d - GUI************************************************************************/void GUI_Clear            (void);void GUI_ClearRect        (int x0, int y0, int x1, int y1);void GUI_DrawArc          (int x0, int y0, int rx, int ry, int a0, int a1);void GUI_DrawBitmap       (const GUI_BITMAP* pBM, int x0, int y0);void GUI_DrawBitmapMag    (const GUI_BITMAP* pBM, int x0, int y0, int XMul, int YMul);void GUI_DrawBitmapExp    (int x0, int y0, int XSize, int YSize, int XMul,  int YMul,                            int BitsPerPixel, int BytesPerLine,                            const U8* pData, const GUI_LOGPALETTE* pPal);void GUI_DrawCircle       (int x0, int y0, int r);void GUI_DrawEllipse      (int x0, int y0, int rx, int ry);void GUI_DrawGraph        (I16 *pay, int NumPoints, int x0, int y0);void GUI_DrawHLine        (int y0, int x0, int x1);void GUI_DrawLine         (int x0, int y0, int x1, int y1);void GUI_DrawLineRel      (int dx, int dy);void GUI_DrawLineTo       (int x, int y);void GUI_DrawPie          (int x0, int y0, int r, int a0, int a1, int Type);void GUI_DrawPixel        (int x, int y);void GUI_DrawPoint        (int x, int y);void GUI_DrawPolygon      (const GUI_POINT*, int NumPoints, int x0, int y0);void GUI_DrawPolyLine     (const GUI_POINT*, int NumPoints, int x0, int y0);void GUI_DrawFocusRect    (const GUI_RECT *pRect, int Dist);void GUI_DrawRect         (int x0, int y0, int x1, int y1);void GUI_DrawRectEx       (const GUI_RECT *pRect);void GUI_DrawVLine        (int x0, int y0, int y1);void GUI_FillCircle       (int x0, int y0, int r);void GUI_FillEllipse      (int x0, int y0, int rx, int ry);void GUI_FillPolygon      (const GUI_POINT*, int NumPoints, int x0, int y0);void GUI_FillRect         (int x0, int y0, int x1, int y1);void GUI_FillRectEx       (const GUI_RECT* pRect);void GUI_GetClientRect    (GUI_RECT* pRect);void GUI_InvertRect       (int x0, int y0, int x1, int y1);void GUI_MoveRel          (int dx, int dy);void GUI_MoveTo           (int x, int y);/***********************************************************************              Cursor routines************************************************************************/#if GUI_SUPPORT_CURSOR  void GUI_CURSOR_Activate(void);  void GUI_CURSOR_Deactivate(void);  void GUI_CURSOR_Clear(void);  void GUI_CURSOR_SetXor(const GUI_BITMAP* pBM, int x, int y);  void GUI_CURSOR_SetPosition(int x, int y);  void GUI_CURSOR_TempHide  (const GUI_RECT* pRect);  void GUI_CURSOR_TempUnhide(const GUI_RECT* pRect);  void GUI_CURSOR_Show(void);#else  #define GUI_CURSOR_Show()#endifextern const GUI_BITMAP GUI_MouseArrow;/***********************************************************************              Text related routines************************************************************************/void  GUI_DispChar  (U16 c);void  GUI_DispChars (U16 c, int Cnt);void  GUI_DispCharAt(U16 c, I16P x, I16P y);void  GUI_DispString(const char GUI_FAR *s);void  GUI_DispStringAt(const char GUI_FAR *s, int x, int y);void  GUI_DispStringAtCEOL(const char GUI_FAR *s, int x, int y);void  GUI_DispStringInRect(const char GUI_FAR *s, GUI_RECT* pRect, int Flags);void  GUI_DispStringLen(const char GUI_FAR *s, int Len);void  GUI_GetTextExtend(GUI_RECT* pRect, const char* s, int Len);int   GUI_GetYAdjust(void);int   GUI_GetDispPosX(void);int   GUI_GetDispPosY(void);const GUI_FONT* GUI_GetFont(void);int   GUI_GetCharDistX(U16 c);int   GUI_GetStringDistX(const char GUI_FAR *s);int   GUI_GetFontDistY(void);int   GUI_GetFontSizeY(void);int   GUI_GetFontSizeYOf(const GUI_FONT* pFont);void  GUI_GetFontInfo(const GUI_FONT*pFont, GUI_FONTINFO* pfi);int   GUI_GetYSizeOfFont(const GUI_FONT* pFont);int   GUI_GetYDistOfFont(const GUI_FONT* pFont);int   GUI_GetTextAlign(void);int   GUI_GetTextMode(void);char  GUI_IsInFont(const GUI_FONT*pFont, U16 c);void  GUI_ScrollWin(int Win, int xDiff, int yDiff);int   GUI_SetTextAlign(int Align);int   GUI_SetTextMode(int Mode);int   GUI_SetLBorder(int x);void  GUI_SetOrg(int x, int y);void  GUI_SetCursor(int x, int y, int xlen);void  GUI_DispFatal(char*s);const GUI_FONT* GUI_SetFont(const GUI_FONT* pNewFont);char  GUI_GotoXY(int x, int y);char  GUI_GotoX(int x);char  GUI_GotoY(int y);void  GUI_Scroll(int x, int y);void  GUI_DispNextLine(void);#if GUI_SUPPORT_UNICODE  void GUI_DispString_UC(const U16 GUI_FAR *s);  void GUI_UC2DB (U16 Code, U8* pOut);  U16  GUI_DB2UC (U8 Byte0, U8 Byte1);#endif/*    *********************************      *                               *      *         GUISTR.C              *      *                               *      *********************************String functions.*/void GUI_DispStringHCenterAt(const char GUI_FAR *s, int x, int y);/*    *********************************      *                               *      *         GUIVAL.C              *      *                               *      **********************************/void GUI_AddHex(U32 v, U8 Len, char**ps);void GUI_AddDec(I32 v, U8 Len, char**ps);void GUI_AddDecMin(I32 v, char**ps);void GUI_AddDecShift(I32 v, U8 Len, U8 Shift, char**ps);void GUI_DispBin  (U32  v, U8 Len);void GUI_DispBinAt(U32  v, I16P x, I16P y, U8 Len);void GUI_DispCEOL (void);void GUI_DispDec  (I32 v, U8 Len);void GUI_DispDecMin(I32 v);void GUI_DispDecAt (I32 v, I16P x, I16P y, U8 Len);void GUI_DispDecShift(I32 v, U8 Len, U8 Shift);void GUI_DispDecSpace(I32 v, U8 MaxDigits);void GUI_DispHex  (U32 v, U8 Len);void GUI_DispHexAt(U32 v, I16P x, I16P y, U8 Len);void GUI_DispSDec(I32 v, U8 Len);void GUI_DispSDecShift(I32 v, U8 Len, U8 Shift);int  GUI_Long2Len(I32 v);/*    *********************************      *                               *      *         GUIVALF.C             *      *                               *      *********************************Routines to display floating point values. These routines use the routinesdefined in the module GUIVAL.C as base routines.*/void GUI_DispFloat    (float v, char Len);void GUI_DispFloatFix (float v, char Len, char Fract);void GUI_DispFloatMin (float v, char Fract);void GUI_DispSFloatFix(float v, char Len, char Fract);void GUI_DispSFloatMin(float v, char Fract);/***********************************************************************         Dynamic memory management************************************************************************/#if !defined(GUI_ALLOC_ALLOC)  void        GUI_ALLOC_Init(void);  void*       GUI_ALLOC_h2p     (GUI_HMEM  hMem);  void        GUI_ALLOC_Free    (GUI_HMEM  hMem);  void        GUI_ALLOC_FreePtr (GUI_HMEM *phMem);  GUI_HMEM    GUI_ALLOC_Alloc(int size);  /* diagnostics */  int         GUI_ALLOC_GetUsed(void);  int         GUI_ALLOC_GetNumFreeBytes(void);  int         GUI_ALLOC_GetMaxSize(void);  /* macros */  #define GUI_ALLOC_ALLOC(size)     GUI_ALLOC_Alloc(size)  #define GUI_ALLOC_H2P(h)          GUI_ALLOC_h2p(h)  #define GUI_ALLOC_FREE(handle)    GUI_ALLOC_Free(handle)  #define GUI_ALLOC_LOCK(handle)    GUI_ALLOC_h2p(handle)  #define GUI_ALLOC_UNLOCK(handle)#endif/***********************************************************************      Memory device: GUI_MEMDEV************************************************************************/#define GUI_MEMDEV_HASTRANS       0#define GUI_MEMDEV_NOTRANS    (1<<0)#if GUI_SUPPORT_MEMDEV  typedef GUI_HMEM GUI_MEMDEV_Handle;  typedef void GUI_CALLBACK_VOID_P(void* p);  typedef struct {    GUI_RECT rView, rPrev;    char FirstCall;  } GUI_AUTODEV;  typedef struct {    char DrawFixed;  } GUI_AUTODEV_INFO;  int  GUI_MEMDEV_CreateAuto(GUI_AUTODEV * pAutoDev);  void GUI_MEMDEV_DeleteAuto(GUI_AUTODEV * pAutoDev);  int  GUI_MEMDEV_DrawAuto  (GUI_AUTODEV * pAutoDev, GUI_AUTODEV_INFO * pAutoDevInfo, GUI_CALLBACK_VOID_P * pfDraw, void * pData);  /* Create a memory device which is compatible to the selected LCD */  GUI_MEMDEV_Handle GUI_MEMDEV_Create  ( int x0, int y0, int XSize, int YSize);  GUI_MEMDEV_Handle GUI_MEMDEV_CreateEx( int x0, int y0, int XSize, int YSize, int Flags);  void GUI_MEMDEV_Clear         (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_CopyFromLCD   (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_CopyFromLCDAA (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_CopyToLCD     (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_CopyToLCDAA   (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_CopyToLCDAt   (GUI_MEMDEV_Handle hMem, int x, int y);  int  GUI_MEMDEV_CompareWithLCD(GUI_MEMDEV_Handle hMem, int*px, int*py, int *pExp, int*pAct);  void GUI_MEMDEV_Delete        (GUI_MEMDEV_Handle MemDev);  int  GUI_MEMDEV_GetYSize      (GUI_MEMDEV_Handle hMem);  void GUI_MEMDEV_ReduceYSize   (GUI_MEMDEV_Handle hMem, int YSize);  void GUI_MEMDEV_Select        (GUI_MEMDEV_Handle hMem);  /* Select (activate) a particular memory device. */  void GUI_MEMDEV_SetOrg        (GUI_MEMDEV_Handle hMem, int x0, int y0);  void GUI_SelectLCD(void);  unsigned int GUI_SelLCD(unsigned int Index);  int  GUI_MEMDEV_Draw(GUI_RECT* pRect, GUI_CALLBACK_VOID_P* pfDraw, void* pData, int MemSize, int Flags);#else  #define GUI_SelectLCD()#endif/****************************************************************      Measure device: GUI_MEASDEV*****************************************************************/typedef GUI_HMEM GUI_MEASDEV_Handle;GUI_MEASDEV_Handle GUI_MEASDEV_Create (void);void               GUI_MEASDEV_Delete (GUI_MEASDEV_Handle hMemDev);void               GUI_MEASDEV_Select (GUI_MEASDEV_Handle hMem);void               GUI_MEASDEV_GetRect(GUI_MEASDEV_Handle hMem, GUI_RECT *pRect);void               GUI_MEASDEV_ClearRect(GUI_MEASDEV_Handle hMem);/**************************************************************                 Polygon helpers***************************************************************/void GUI_RotatePolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, float Angle);void GUI_MagnifyPolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, int Mag);void GUI_EnlargePolygon(GUI_POINT* pDest, const GUI_POINT* pSrc, int NumPoints, int Len);/**************************************************************                 Streamed bitmap***************************************************************/typedef void GUI_CALLBACK_VOID_U8_P(U8 Data, void* p);void GUI_DrawStreamedBitmap(const GUI_BITMAP_STREAM *pBitmapStream, int x, int y);void GUI_StreamBMP (GUI_RECT* pRect, GUI_CALLBACK_VOID_U8_P* pfStream, void*p);/***********************************************************************      Time / execution related routines************************************************************************/void GUI_Delay  (int Period);int  GUI_GetTime(void);int  GUI_Exec(void);         /* Execute all jobs ... Return 0 if nothing was done. */int  GUI_Exec1(void);        /* Execute one job  ... Return 0 if nothing was done. *//***********************************************************************                 MessageBox************************************************************************/int GUI_MessageBox(const char* sMessage, const char*sCaption, int Flags);#define GUI_MESSAGEBOX_CF_MOVEABLE (1<<4)#define GUI_MB_OK                20#define GUI_MB_WARNING           21/***********************************************************************                 GUI_TIMER module************************************************************************/typedef struct GUI_TIMER_Message GUI_TIMER_MESSAGE;struct GUI_TIMER_Message {  GUI_TIMER_TIME Time;	U32        Context;};

⌨️ 快捷键说明

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