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

📄 gui.h

📁 Actions ucOS-II mp3方案源码,可以做参考
💻 H
📖 第 1 页 / 共 3 页
字号:
  GUI_TIMER_TIME Time;
    U32        Context;
};

typedef GUI_HMEM GUI_TIMER_Handle;
typedef void GUI_TIMER_CALLBACK(/*const*/ GUI_TIMER_MESSAGE* pTM);

GUI_TIMER_Handle GUI_TIMER_Create      (    GUI_TIMER_CALLBACK* cb, int Time,  U32 Context, int Flags);
void         GUI_TIMER_Delete      (GUI_TIMER_Handle pObj);

/* Methods changing properties */
void GUI_TIMER_SetPeriod (GUI_TIMER_Handle hObj, GUI_TIMER_TIME Period);
void GUI_TIMER_SetTime   (GUI_TIMER_Handle hObj, GUI_TIMER_TIME Period);
void GUI_TIMER_SetDelay  (GUI_TIMER_Handle hObj, GUI_TIMER_TIME Delay);
void GUI_TIMER_Restart   (GUI_TIMER_Handle hObj);
int  GUI_TIMER_Exec(void);


/******************************************************************
*
*                 Anti Aliasing
*
*******************************************************************
*/

void GUI_AA_DisableHiRes   (void);
void GUI_AA_EnableHiRes    (void);
int  GUI_AA_GetFactor      (void);
void GUI_AA_SetFactor      (int Factor);
void GUI_AA_DrawArc        (int x0, int y0, int rx, int ry, int a0, int a1);
void GUI_AA_DrawLine       (int x0, int y0, int x1, int y1);
void GUI_AA_DrawPolyOutline(const GUI_POINT* pSrc, int NumPoints, int Thickness, int x, int y);
void GUI_AA_FillCircle     (int x0, int y0, int r);
void GUI_AA_FillPolygon    (GUI_POINT* pPoints, int NumPoints, int x0, int y0);

/* Defines for compatibility with older versins*/
#if GUI_COMPATIBLE_MODE
  #define GUI_DrawArcAA             GUI_AA_DrawArc
  #define GUI_DrawPolyOutlineAA     GUI_AA_DrawPolyOutline
  #define GUI_FillCircleAA          GUI_AA_FillCircle
  #define GUI_FillPolygonAA         GUI_AA_FillPolygon
  #define GUI_MEMDEV_Load()
#endif

/******************************************************************
*
*                 Keyboard
*
*******************************************************************
*/
int  GUI_GetKey(void);
int  GUI_WaitKey(void);
void GUI_StoreKey(int c);
void GUI_ClearKeyBuffer(void);
void GUI_StoreKeyMsg(int Key, int Pressed);
void GUI_SendKeyMsg (int Key, int Pressed);
int  GUI_PollKeyMsg(void);

/*********************************************************************
*
*          HID 
*
**********************************************************************
*/
typedef struct {
  int x,y;
  unsigned char Pressed;
} GUI_HID_STATE;

void GUI_HID_StoreState(const GUI_HID_STATE *pState);
int  GUI_HID_GetState   (      GUI_HID_STATE *pState);

/*********************************************************************
*
*        Mouse, generic
*/
void GUI_MOUSE_StoreState(const GUI_HID_STATE *pState);


/*********************************************************************
*
*        Mouse, PS2 driver
*/
void GUI_MOUSE_DRIVER_PS2_Init(void);               /* optional */
void GUI_MOUSE_DRIVER_PS2_OnRx(unsigned char Data);

/*********************************************************************
*
*          TOUCH screen, generic (any kind of hardware)
*/

int  GUI_TOUCH_GetState(GUI_HID_STATE *pState);
void GUI_TOUCH_StoreState(int x, int y);


/*********************************************************************
*
*          TOUCH screen, analog driver
*/
void GUI_TOUCH_Exec(void);
int  GUI_TOUCH_Calibrate(int Coord, int Log0, int Log1, int Phys0, int Phys1);
void GUI_TOUCH_SetDefaultCalibration(void);
int  GUI_TOUCH_GetxPhys(void);    /* for diagnostics only */
int  GUI_TOUCH_GetyPhys(void);    /* for diagnostics only */


/*********************************************************************
*
*          TOUCH
*
*          imports
*
**********************************************************************

Please note: The following functions are required by the module.
They need to be part of your application software (or rather, part
of the hardware-layer of your software). If you do not like the names
of these routines, you may rename them easily by defining them in
the Configuration file GUITouch.conf.h
Example:
#define TOUCH_X_MeasureY HARDWARE_ReadY

This will rename the routine TOUCH_X_MeasureY into HARDWARE_ReadY.
*/

void TOUCH_X_ActivateX(void);
void TOUCH_X_ActivateY(void);
void TOUCH_X_Disable(void);
int  TOUCH_X_MeasureX(void);
int  TOUCH_X_MeasureY(void);


/**************************************************************
*
*   Constants for fonts and bitmaps
*
***************************************************************
*/

#define GUI_COMPRESS_RLE4 0
#define GUI_COMPRESS_RLE8 0
#define GUI_DRAW_RLE4 LCD_DrawBitmap_RLE4  /* Function pointer ! */
#define GUI_DRAW_RLE8 LCD_DrawBitmap_RLE8  /* Function pointer ! */

/**************************************************************
*
*   Heap public
*
***************************************************************
  The main reason why the heap is declared public here is that
  an application can perform additional error checking on
  pointers. The variable itself is defined in the allocation
  module and will only be linke if required.
*/

typedef union {
  int aintHeap[GUI_ALLOC_SIZE/4];     /* required for proper alignement */
  U8  abHeap[GUI_ALLOC_SIZE];
} GUI_HEAP;


#ifdef __IAR_SYSTEMS_ICC //Z80
#pragma memory=dataseg(HEAPDATA)
extern  GUI_HEAP GUI_Heap;       /* Public for debugging only */
#pragma memory=default
#else  
extern  GUI_HEAP GUI_Heap;       /* Public for debugging only */
#endif



/**************************************************************
*
*      Defines for constants
*
***************************************************************
*/

#define    ________    0x0
#define    _______X    0x1
#define    ______X_    0x2
#define    ______XX    0x3
#define    _____X__    0x4
#define    _____X_X    0x5
#define    _____XX_    0x6
#define    _____XXX    0x7
#define    ____X___    0x8
#define    ____X__X    0x9
#define    ____X_X_    0xa
#define    ____X_XX    0xb
#define    ____XX__    0xc
#define    ____XX_X    0xd
#define    ____XXX_    0xe
#define    ____XXXX    0xf
#define    ___X____    0x10
#define    ___X___X    0x11
#define    ___X__X_    0x12
#define    ___X__XX    0x13
#define    ___X_X__    0x14
#define    ___X_X_X    0x15
#define    ___X_XX_    0x16
#define    ___X_XXX    0x17
#define    ___XX___    0x18
#define    ___XX__X    0x19
#define    ___XX_X_    0x1a
#define    ___XX_XX    0x1b
#define    ___XXX__    0x1c
#define    ___XXX_X    0x1d
#define    ___XXXX_    0x1e
#define    ___XXXXX    0x1f
#define    __X_____    0x20
#define    __X____X    0x21
#define    __X___X_    0x22
#define    __X___XX    0x23
#define    __X__X__    0x24
#define    __X__X_X    0x25
#define    __X__XX_    0x26
#define    __X__XXX    0x27
#define    __X_X___    0x28
#define    __X_X__X    0x29
#define    __X_X_X_    0x2a
#define    __X_X_XX    0x2b
#define    __X_XX__    0x2c
#define    __X_XX_X    0x2d
#define    __X_XXX_    0x2e
#define    __X_XXXX    0x2f
#define    __XX____    0x30
#define    __XX___X    0x31
#define    __XX__X_    0x32
#define    __XX__XX    0x33
#define    __XX_X__    0x34
#define    __XX_X_X    0x35
#define    __XX_XX_    0x36
#define    __XX_XXX    0x37
#define    __XXX___    0x38
#define    __XXX__X    0x39
#define    __XXX_X_    0x3a
#define    __XXX_XX    0x3b
#define    __XXXX__    0x3c
#define    __XXXX_X    0x3d
#define    __XXXXX_    0x3e
#define    __XXXXXX    0x3f
#define    _X______    0x40
#define    _X_____X    0x41
#define    _X____X_    0x42
#define    _X____XX    0x43
#define    _X___X__    0x44
#define    _X___X_X    0x45
#define    _X___XX_    0x46
#define    _X___XXX    0x47
#define    _X__X___    0x48
#define    _X__X__X    0x49
#define    _X__X_X_    0x4a
#define    _X__X_XX    0x4b
#define    _X__XX__    0x4c
#define    _X__XX_X    0x4d
#define    _X__XXX_    0x4e
#define    _X__XXXX    0x4f
#define    _X_X____    0x50
#define    _X_X___X    0x51
#define    _X_X__X_    0x52
#define    _X_X__XX    0x53
#define    _X_X_X__    0x54
#define    _X_X_X_X    0x55
#define    _X_X_XX_    0x56
#define    _X_X_XXX    0x57
#define    _X_XX___    0x58
#define    _X_XX__X    0x59
#define    _X_XX_X_    0x5a
#define    _X_XX_XX    0x5b
#define    _X_XXX__    0x5c
#define    _X_XXX_X    0x5d
#define    _X_XXXX_    0x5e
#define    _X_XXXXX    0x5f
#define    _XX_____    0x60
#define    _XX____X    0x61
#define    _XX___X_    0x62
#define    _XX___XX    0x63
#define    _XX__X__    0x64
#define    _XX__X_X    0x65
#define    _XX__XX_    0x66
#define    _XX__XXX    0x67
#define    _XX_X___    0x68
#define    _XX_X__X    0x69
#define    _XX_X_X_    0x6a
#define    _XX_X_XX    0x6b
#define    _XX_XX__    0x6c
#define    _XX_XX_X    0x6d
#define    _XX_XXX_    0x6e
#define    _XX_XXXX    0x6f
#define    _XXX____    0x70
#define    _XXX___X    0x71
#define    _XXX__X_    0x72
#define    _XXX__XX    0x73
#define    _XXX_X__    0x74
#define    _XXX_X_X    0x75
#define    _XXX_XX_    0x76
#define    _XXX_XXX    0x77
#define    _XXXX___    0x78
#define    _XXXX__X    0x79
#define    _XXXX_X_    0x7a
#define    _XXXX_XX    0x7b
#define    _XXXXX__    0x7c
#define    _XXXXX_X    0x7d
#define    _XXXXXX_    0x7e
#define    _XXXXXXX    0x7f
#define    X_______    0x80
#define    X______X    0x81
#define    X_____X_    0x82
#define    X_____XX    0x83
#define    X____X__    0x84
#define    X____X_X    0x85
#define    X____XX_    0x86
#define    X____XXX    0x87
#define    X___X___    0x88
#define    X___X__X    0x89
#define    X___X_X_    0x8a
#define    X___X_XX    0x8b
#define    X___XX__    0x8c
#define    X___XX_X    0x8d
#define    X___XXX_    0x8e
#define    X___XXXX    0x8f
#define    X__X____    0x90
#define    X__X___X    0x91
#define    X__X__X_    0x92
#define    X__X__XX    0x93
#define    X__X_X__    0x94
#define    X__X_X_X    0x95
#define    X__X_XX_    0x96
#define    X__X_XXX    0x97
#define    X__XX___    0x98
#define    X__XX__X    0x99
#define    X__XX_X_    0x9a
#define X__XX_XX    0x9b
#define X__XXX__    0x9c
#define X__XXX_X    0x9d
#define    X__XXXX_    0x9e
#define    X__XXXXX    0x9f
#define    X_X_____    0xa0
#define    X_X____X    0xa1
#define    X_X___X_    0xa2
#define    X_X___XX    0xa3
#define    X_X__X__    0xa4
#define    X_X__X_X    0xa5
#define    X_X__XX_    0xa6
#define    X_X__XXX    0xa7
#define    X_X_X___    0xa8
#define    X_X_X__X    0xa9
#define    X_X_X_X_    0xaa
#define    X_X_X_XX    0xab
#define    X_X_XX__    0xac
#define    X_X_XX_X    0xad
#define    X_X_XXX_    0xae
#define    X_X_XXXX    0xaf
#define    X_XX____    0xb0
#define X_XX___X    0xb1
#define    X_XX__X_    0xb2
#define    X_XX__XX    0xb3
#define    X_XX_X__    0xb4
#define    X_XX_X_X    0xb5
#define    X_XX_XX_    0xb6
#define    X_XX_XXX    0xb7
#define    X_XXX___    0xb8
#define    X_XXX__X    0xb9
#define    X_XXX_X_    0xba
#define    X_XXX_XX    0xbb
#define    X_XXXX__    0xbc
#define    X_XXXX_X    0xbd
#define    X_XXXXX_    0xbe
#define    X_XXXXXX    0xbf
#define    XX______    0xc0
#define    XX_____X    0xc1
#define    XX____X_    0xc2
#define    XX____XX    0xc3
#define    XX___X__    0xc4
#define    XX___X_X    0xc5
#define    XX___XX_    0xc6
#define    XX___XXX    0xc7
#define    XX__X___    0xc8
#define    XX__X__X    0xc9
#define    XX__X_X_    0xca
#define    XX__X_XX    0xcb
#define    XX__XX__    0xcc
#define    XX__XX_X    0xcd
#define    XX__XXX_    0xce
#define XX__XXXX    0xcf
#define    XX_X____    0xd0
#define    XX_X___X    0xd1
#define    XX_X__X_    0xd2
#define    XX_X__XX    0xd3
#define    XX_X_X__    0xd4
#define    XX_X_X_X    0xd5
#define    XX_X_XX_    0xd6
#define    XX_X_XXX    0xd7
#define    XX_XX___    0xd8
#define    XX_XX__X    0xd9
#define    XX_XX_X_    0xda
#define    XX_XX_XX    0xdb
#define    XX_XXX__    0xdc
#define    XX_XXX_X    0xdd
#define    XX_XXXX_    0xde
#define    XX_XXXXX    0xdf
#define    XXX_____    0xe0
#define    XXX____X    0xe1
#define    XXX___X_    0xe2
#define    XXX___XX    0xe3
#define    XXX__X__    0xe4
#define    XXX__X_X    0xe5
#define    XXX__XX_    0xe6
#define    XXX__XXX    0xe7
#define    XXX_X___    0xe8
#define    XXX_X__X    0xe9
#define    XXX_X_X_    0xea
#define    XXX_X_XX    0xeb
#define    XXX_XX__    0xec
#define    XXX_XX_X    0xed
#define    XXX_XXX_    0xee
#define    XXX_XXXX    0xef
#define    XXXX____    0xf0
#define    XXXX___X    0xf1
#define    XXXX__X_    0xf2
#define    XXXX__XX    0xf3
#define    XXXX_X__    0xf4
#define    XXXX_X_X    0xf5
#define    XXXX_XX_    0xf6
#define    XXXX_XXX    0xf7
#define    XXXXX___    0xf8
#define    XXXXX__X    0xf9
#define    XXXXX_X_    0xfa
#define    XXXXX_XX    0xfb
#define    XXXXXX__    0xfc
#define    XXXXXX_X    0xfd
#define    XXXXXXX_    0xfe
#define    XXXXXXXX    0xff

/**************************************************************
*
*      Compatibility with older version
*
***************************************************************
*/

#define GUI_DrawBitMap(x,y,pBM)   GUI_DrawBitmap(pBM,x,y)
#define GUI_TOUCH_tState          GUI_HID_STATE


#define GUI_ID_BACKSPACE         GUI_KEY_BACKSPACE
#define GUI_ID_TAB               GUI_KEY_TAB
#define GUI_ID_ENTER             GUI_KEY_ENTER
#define GUI_ID_LEFT              GUI_KEY_LEFT
#define GUI_ID_UP                GUI_KEY_UP
#define GUI_ID_RIGHT             GUI_KEY_RIGHT
#define GUI_ID_DOWN              GUI_KEY_DOWN
#define GUI_ID_HOME              GUI_KEY_HOME
#define GUI_ID_END               GUI_KEY_END
#define GUI_ID_SHIFT             GUI_KEY_SHIFT
#define GUI_ID_CONTROL           GUI_KEY_CONTROL
#define GUI_ID_ESCAPE            GUI_KEY_ESCAPE
#define GUI_ID_INSERT            GUI_KEY_INSERT
#define GUI_ID_DELETE            GUI_KEY_DELETE


#if defined(__cplusplus)
}
#endif 

#endif   /* ifdef GUI_H */

⌨️ 快捷键说明

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