?? common.h
字號:
* A rectangle defined by coordinates of corners. * * \note The lower-right corner does not belong to the rectangle, * i.e. the bottom horizontal line and the right vertical line are excluded * from the retangle. * * \sa PRECT, GAL_Rect */typedef struct _RECT{ /** * the x coordinate of the upper-left corner of the rectangle. */ int left; /** * the y coordinate of the upper-left corner of the rectangle. */ int top; /** * the x coordinate of the lower-right corner of the rectangle. */ int right; /** * the y coordinate of the lower-right corner of the rectangle. */ int bottom;} RECT;/** * \var typedef RECT* PRECT * \brief Data type of the pointer to a RECT. * * \sa RECT */typedef RECT* PRECT;/** * Point structure. * \sa PPOINT */typedef struct _POINT{ /** * the x coordinate of the point. */ int x; /** * the y coordinate of the point. */ int y;} POINT;/** * \var typedef POINT* PPOINT * \brief Data type of the pointer to a POINT. * * \sa POINT */typedef POINT* PPOINT;/** * Size structure of a 2-dimension object. * \sa PSIZE */typedef struct _SIZE{ /** * the extent in x coordinate of a 2D object. */ int cx; /** * the extent in y coordinate of a 2D object. */ int cy;} SIZE;/** * \var typedef SIZE* PSIZE * \brief Data type of the pointer to a SIZE. * * \sa SIZE */typedef SIZE* PSIZE;/** * RGB triple structure. * \sa PRGB, GAL_Color */typedef struct _RGB{ /** * the red component of a RGB triple. */ BYTE r; /** * the green component of a RGB triple. */ BYTE g; /** * the blue component of a RGB triple. */ BYTE b; /** * Reserved for alignment, maybe used for the alpha component of a RGB triple. */ BYTE a;} RGB;typedef RGB* PRGB; /** @} end of win32_types */ /** * \defgroup gdi_types Data types for GDI * @{ *//** * \var typedef Sint8 gal_sint8 * \brief Data type of 8-bit signed integer. * * \sa Sint8 */typedef Sint8 gal_sint8;/** * \var typedef Uint8 gal_uint8 * \brief Data type of 8-bit unsigned integer. * * \sa Uint8 */typedef Uint8 gal_uint8;/** * \var typedef Sint16 gal_sint16 * \brief Data type of 16-bit signed integer. * * \sa Sint16 */typedef Sint16 gal_sint16;/** * \var typedef Uint16 gal_uint16 * \brief Data type of 16-bit unsigned integer. * * \sa Uint16 */typedef Uint16 gal_uint16;/** * \var typedef Sint32 gal_sint16 * \brief Data type of 32-bit signed integer. * * \sa Sint32 */typedef Sint32 gal_sint32;/** * \var typedef Uint32 gal_uint16 * \brief Data type of 32-bit unsigned integer. * * \sa Uint32 */typedef Uint32 gal_uint32;/** * \var typedef signed int gal_sint * \brief Data type of signed integer. */typedef signed int gal_sint;/** * \var typedef unsigned int gal_uint * \brief Data type of unsigned integer. */typedef unsigned int gal_uint;/** * \var typedef Uint32 gal_pixel * \brief Data type of pixel value */typedef Uint32 gal_pixel;/** * \var typedef Uint32 gal_attr * \brief Data type of attribute value */typedef Uint32 gal_attr;/** * \var typedef long fixed. * \brief Data type of fixed point. */typedef long fixed;/** * RGBA quarter structure. * \sa RGB */typedef struct GAL_Color{ /** * the red component of a RGBA quarter. */ gal_uint8 r; /** * the green component of a RGBA quarter. */ gal_uint8 g; /** * the blue component of a RGBA quarter. */ gal_uint8 b; /** * the alpha component of a RGBA quarter. */ gal_uint8 a;} GAL_Color;/** * Palette structure. * \sa GAL_Color */typedef struct GAL_Palette{ /** * the number of palette items. */ int ncolors; /** * the pointer to the array of palette items. */ GAL_Color* colors;} GAL_Palette;/** * A rectangle defined by upper-left coordinates and width/height. * \sa RECT */typedef struct GAL_Rect { /** * the coordinates of the upper-left corner of the rectangle. */ Sint32 x, y; /** * the width and height of the rectangle. */ Sint32 w, h;} GAL_Rect; /** @} end of gdi_types */ /** * \defgroup key_defs Macros for key codes and shift status * @{ *//** * \def MGUI_NR_KEYS * \brief Number of MiniGUI keys. * * The number of MiniGUI keys is defined to 255 by default. This means that * MiniGUI can destinguish 255 different keys with each has an unique scan code. * The scan codes below 129 are defined for PC keyboard by default. * If your system has a large amount of keys, you can define the scan code of keys * ranged from 1 to 255 in your IAL engine. And your application will receive * a MSG_KEYDOWN and MSG_KEYUP messages when a key pressed and released, and the * wParam of the messages will be defined to be equal to the scan code * of the key. * * \sa NR_KEYS, SCANCODE_USER */#define MGUI_NR_KEYS 255/** * \def NR_KEYS * \brief The number of keys defined by Linux operating system. * * For a PC box, NR_KEYS is defined to 128 by default. You can define * some input events from an input device other than keyboard, e.g. * your remote controller, as key events with different scan codes from * those of PC's. MiniGUI can support 255 keys, and the constant * is defined by MGUI_NR_KEYS. * * \sa MGUI_NR_KEYS */#ifndef NR_KEYS#define NR_KEYS 128#endif/** * \def SCANCODE_USER * \brief The first key scan code different from OS defined ones. * * You can define your special key scan codes like below * * \code * #define SCANCODE_PLAY (SCANCODE_USER) * #define SCANCODE_STOP (SCANCODE_USER + 1) * #define SCANCODE_PAUSE (SCANCODE_USER + 2) * \endcode * * to distinguish the keys on your remote controller. * * \sa MGUI_NR_KEYS, NR_KEYS */#define SCANCODE_USER (NR_KEYS + 1)#define SCANCODE_ESCAPE 1#define SCANCODE_1 2#define SCANCODE_2 3#define SCANCODE_3 4#define SCANCODE_4 5#define SCANCODE_5 6#define SCANCODE_6 7#define SCANCODE_7 8#define SCANCODE_8 9#define SCANCODE_9 10#define SCANCODE_0 11#define SCANCODE_MINUS 12#define SCANCODE_EQUAL 13#define SCANCODE_BACKSPACE 14#define SCANCODE_TAB 15#define SCANCODE_Q 16#define SCANCODE_W 17#define SCANCODE_E 18#define SCANCODE_R 19#define SCANCODE_T 20#define SCANCODE_Y 21#define SCANCODE_U 22#define SCANCODE_I 23#define SCANCODE_O 24#define SCANCODE_P 25#define SCANCODE_BRACKET_LEFT 26#define SCANCODE_BRACKET_RIGHT 27#define SCANCODE_ENTER 28#define SCANCODE_LEFTCONTROL 29#define SCANCODE_A 30#define SCANCODE_S 31#define SCANCODE_D 32#define SCANCODE_F 33#define SCANCODE_G 34#define SCANCODE_H 35#define SCANCODE_J 36#define SCANCODE_K 37#define SCANCODE_L 38#define SCANCODE_SEMICOLON 39#define SCANCODE_APOSTROPHE 40#define SCANCODE_GRAVE 41#define SCANCODE_LEFTSHIFT 42#define SCANCODE_BACKSLASH 43#define SCANCODE_Z 44#define SCANCODE_X 45#define SCANCODE_C 46#define SCANCODE_V 47#define SCANCODE_B 48#define SCANCODE_N 49#define SCANCODE_M 50#define SCANCODE_COMMA 51#define SCANCODE_PERIOD 52#define SCANCODE_SLASH 53#define SCANCODE_RIGHTSHIFT 54#define SCANCODE_KEYPADMULTIPLY 55#define SCANCODE_LEFTALT 56#define SCANCODE_SPACE 57#define SCANCODE_CAPSLOCK 58#define SCANCODE_F1 59#define SCANCODE_F2 60#define SCANCODE_F3 61#define SCANCODE_F4 62#define SCANCODE_F5 63#define SCANCODE_F6 64#define SCANCODE_F7 65#define SCANCODE_F8 66#define SCANCODE_F9 67#define SCANCODE_F10 68#define SCANCODE_NUMLOCK 69#define SCANCODE_SCROLLLOCK 70#define SCANCODE_KEYPAD7 71#define SCANCODE_CURSORUPLEFT 71#define SCANCODE_KEYPAD8 72#define SCANCODE_CURSORUP 72#define SCANCODE_KEYPAD9 73#define SCANCODE_CURSORUPRIGHT 73#define SCANCODE_KEYPADMINUS 74#define SCANCODE_KEYPAD4 75#define SCANCODE_CURSORLEFT 75#define SCANCODE_KEYPAD5 76#define SCANCODE_KEYPAD6 77#define SCANCODE_CURSORRIGHT 77#define SCANCODE_KEYPADPLUS 78#define SCANCODE_KEYPAD1 79#define SCANCODE_CURSORDOWNLEFT 79#define SCANCODE_KEYPAD2 80#define SCANCODE_CURSORDOWN 80#define SCANCODE_KEYPAD3 81#define SCANCODE_CURSORDOWNRIGHT 81#define SCANCODE_KEYPAD0 82#define SCANCODE_KEYPADPERIOD 83#define SCANCODE_LESS 86#define SCANCODE_F11 87#define SCANCODE_F12 88#define SCANCODE_KEYPADENTER 96#define SCANCODE_RIGHTCONTROL 97#define SCANCODE_CONTROL 97#define SCANCODE_KEYPADDIVIDE 98#define SCANCODE_PRINTSCREEN 99#define SCANCODE_RIGHTALT 100#define SCANCODE_BREAK 101 /* Beware: is 119 */#define SCANCODE_BREAK_ALTERNATIVE 119 /* on some keyboards! */#define SCANCODE_HOME 102#define SCANCODE_CURSORBLOCKUP 103 /* Cursor key block */#define SCANCODE_PAGEUP 104#define SCANCODE_CURSORBLOCKLEFT 105 /* Cursor key block */#define SCANCODE_CURSORBLOCKRIGHT 106 /* Cursor key block */#define SCANCODE_END 107#define SCANCODE_CURSORBLOCKDOWN 108 /* Cursor key block */#define SCANCODE_PAGEDOWN 109#define SCANCODE_INSERT 110#define SCANCODE_REMOVE 111#define SCANCODE_PAUSE 119#define SCANCODE_POWER 120#define SCANCODE_SLEEP 121#define SCANCODE_WAKEUP 122#define SCANCODE_LEFTWIN 125#define SCANCODE_RIGHTWIN 126#define SCANCODE_MENU 127#define SCANCODE_LEFTBUTTON 0x1000#define SCANCODE_RIGHTBUTTON 0x2000#define SCANCODE_MIDDLBUTTON 0x4000/** * \def KS_CAPTURED * \brief This status indicate that the mouse is captured by a window when * the mouse message posted. * * You can test the status by AND'ed with lParam of the message, like below: * * \code * switch (message) { * case MSG_MOUSEMOVE: * if (lParam & KS_CAPTURED) { * // the mouse is captured by this window. * ... * } * break; * ... * \endcode * * \sa mouse_msgs */#define KS_CAPTURED 0x00000400/** * \def KS_IMEPOST * \brief This status indicate that the key message is posted by the IME window. * * \sa key_msgs */#define KS_IMEPOST 0x00000200/** * \def KS_CAPSLOCK * \brief This status indicate that the CapsLock key was locked when * the key or mouse message posted to the window. * * You can test the status by AND'ed with lParam of the message, like below * * \code * switch (message) { * case MSG_KEYDOWN: * if (lParam & KS_CAPSLOCK) { * // the CapsLock key is locked. * ... * } * break; * ... * \endcode * * \sa key_msgs */#define KS_CAPSLOCK 0x00000100/** * \def KS_NUMLOCK * \brief This status indicate that the NumLock key was locked when * the key or mouse message posted to the window. * * \sa key_msgs */#define KS_NUMLOCK 0x00000080/** * \def KS_SCROLLLOCK * \brief This status indicate that the ScrollLock key was locked when * the key or mouse message posted to the window. * * \sa key_msgs */#define KS_SCROLLLOCK 0x00000040/** * \def KS_LEFTCTRL * \brief This status indicate that the left-Ctrl key was pressed when * the key or mouse message posted to the window. * * \sa key_msgs */
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -