?? common.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 + -