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

📄 common.h

📁 ucos-II+移植到arm+s3c2410的全套代码
💻 H
📖 第 1 页 / 共 3 页
字号:
 * \def MAKELONG(low, high) * \brief Makes a double word from \a low word and \a high word. */#define MAKELONG(low, high) ((DWORD)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)))/** * \def GetRValue(rgb) * \brief Gets the red component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetRValue(rgb)      ((BYTE)(rgb))/** * \def GetGValue(rgb) * \brief Gets the green component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))/** * \def GetBValue(rgb) * \brief Gets the blue component from a RGB triple value \a rgb. * * You can make a RGB triple by using MakeRGB. * * \sa MakeRGB */#define GetBValue(rgb)      ((BYTE)((rgb) >> 16))/** * \def MakeRGB(r, g, b) * \brief Makes a RGB triple value from red \a r, green \a g, and blue \a b components. * * \note The red, green, and blue components are all ranged from 0 to 255, * and the returned value will be a double word. * * \sa GetRValue, GetGValue, GetBValue */#define MakeRGB(r, g, b)    (((DWORD)((BYTE)(r))) | ((DWORD)((BYTE)(g)) << 8) \                | ((DWORD)((BYTE)(b)) << 16))/** * 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 * define 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

⌨️ 快捷键说明

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