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

📄 common.h

📁 在ecos 下mingui 的移植开发
💻 H
字号:
/* common.h * * This file include macro definitions and typedefs  * that used by MiniGUI library. * *             MiniGUI for Linux Version 0.9.xx *             Copyright (c) 1994 ~ 2000 Wei Yongming. *             Last modified date: 2000.11.17 *//***  This library is free software; you can redistribute it and/or**  modify it under the terms of the GNU Library General Public**  License as published by the Free Software Foundation; either**  version 2 of the License, or (at your option) any later version.****  This library is distributed in the hope that it will be useful,**  but WITHOUT ANY WARRANTY; without even the implied warranty of**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU**  Library General Public License for more details.****  You should have received a copy of the GNU Library General Public**  License along with this library; if not, write to the Free**  Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,**  MA 02111-1307, USA*/#ifndef GUI_COMMON_H  #define GUI_COMMON_H #ifdef __MINIGUI_LIB__    #include "../config.h"#else    #include "config.h"#endif/******* Common definitions and typedefs ***********************************/#define VOID        void#define GUIAPI/****** Simple types & common helper macros *********************************/typedef int         BOOL;#define FALSE       0#define TRUE        1#define FAILURE     (-1)#define SUCCESS     0/******************************** Handle definitions *************************/typedef int         HWND;typedef int         HDC;typedef int         HCURSOR;typedef int         HICON;typedef int         HMENU;typedef int         HACCEL;typedef HWND        HDLG;typedef int         HHOOK;// handle type and child type.#define TYPE_HWND           0x01    #define TYPE_MAINWIN    0x11    #define TYPE_CONTROL    0x12#define TYPE_HMENU          0x02    #define TYPE_MENUBAR    0x21    #define TYPE_PPPMENU    0x22    #define TYPE_NMLMENU    0x23#define TYPE_HACCEL         0x03#define TYPE_HCURSOR        0x05#define TYPE_HICON          0x07#define TYPE_HDC            0x08    #define TYPE_SCRDC      0x81    #define TYPE_GENDC      0x82    #define TYPE_MEMDC      0x83typedef unsigned char       BYTE;typedef unsigned short      WORD;typedef unsigned long       DWORD;typedef unsigned int        UINT;#define LONG long#define LOBYTE(w)           ((BYTE)(w))#define HIBYTE(w)           ((BYTE)(((WORD)(w) >> 8) & 0xFF))#define MAKEWORD(low, high) ( (WORD)( ((BYTE)(low)) | (((WORD)((BYTE)(high))) << 8)) )#define LOWORD(l)           ((WORD)(DWORD)(l))#define HIWORD(l)           ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))#define MAKELONG(low, high) ( (LONG)(((WORD)(low)) | (((DWORD)((WORD)(high))) << 16)) )#define max(x, y)           ((x > y)?x:y)#define min(x, y)           ((x < y)?x:y)typedef signed char         gal_sint8;typedef unsigned char       gal_uint8;typedef signed short        gal_sint16;typedef unsigned short      gal_uint16;typedef signed int          gal_sint32;typedef unsigned int        gal_uint32;typedef signed int          gal_sint;typedef unsigned int        gal_uint;typedef struct {    gal_sint16   x, y;} gal_coord;typedef gal_uint32              gal_pixel;typedef gal_uint32              gal_attr;typedef struct {    gal_uint8 r,g,b,a;} gal_color;#define GetRValue(rgb)      ((BYTE)(rgb))#define GetGValue(rgb)      ((BYTE)(((WORD)(rgb)) >> 8))#define GetBValue(rgb)      ((BYTE)((rgb)>>16))#ifndef NULL#define NULL                ((void *)0)#endiftypedef UINT  WPARAM;typedef DWORD LPARAM;/****** Common struct **************************************************/typedef struct tagRECT{    int left;    int top;    int right;    int bottom;} RECT;typedef RECT* PRECT;typedef RECT* LPRECT;typedef struct tagPOINT{    int x;    int y;} POINT;typedef POINT* PPOINT;typedef struct tagSIZE{    int cx;    int cy;} SIZE;typedef SIZE* PSIZE;/* RGB struct */typedef struct{   BYTE r;   BYTE g;   BYTE b;}RGB;typedef RGB* PRGB;/************************** Key Scan code ***********************************/#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_LEFTBUTTON             0x0400#define SCANCODE_MIDDLBUTTON            0x0200#define SCANCODE_RIGHTBUTTON            0x0100#define KS_CAPTURED                     0x00000400#define KS_IMEPOST                      0x00000200#define KS_CAPSLOCK                     0x00000100#define KS_NUMLOCK                      0x00000080#define KS_SCROLLLOCK                   0x00000040#define KS_LEFTCTRL                     0x00000020#define KS_RIGHTCTRL                    0x00000010#define KS_CTRL                         0x00000030#define KS_LEFTALT                      0x00000008#define KS_RIGHTALT                     0x00000004#define KS_ALT                          0x0000000C#define KS_LEFTSHIFT                    0x00000002#define KS_RIGHTSHIFT                   0x00000001#define KS_SHIFT                        0x00000003/************************** Error code **************************************/#define ERR_OK                   0#define ERR_INV_HWND            -1#define ERR_QUEUE_FULL          -2#define ERR_INVALID_HANDLE      -3#define ERR_INVALID_HMENU       -4#define ERR_INVALID_POS         -5#define ERR_INVALID_ID          -6#define ERR_RES_ALLOCATION      -7#define ERR_CTRLCLASS_INVNAME   -8#define ERR_CTRLCLASS_INVLEN    -9#define ERR_CTRLCLASS_MEM       -10#define ERR_CTRLCLASS_INUSE     -11#define ERR_ALREADY_EXIST       -12#define ERR_NO_MATCH            -13#define ERR_BAD_OWNER           -14#define ERR_IME_TOOMUCHIMEWND   -15#define ERR_IME_NOSUCHIMEWND    -16#define ERR_IME_NOIMEWND        -17#define ERR_CONFIG_FILE         -18#define ERR_FILE_IO             -19#define ERR_GFX_ENGINE          -20#define ERR_INPUT_ENGINE        -21#define ERR_NO_ENGINE           -22/********************** Misc ************************************************/#ifndef PATH_MAX    #include <dirent.h>#endif#define MAX_PATH            PATH_MAX#define MAX_FILENAME        NAME_MAX#endif // GUI_COMMON_H

⌨️ 快捷键说明

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