|
MiniGUI API Reference (MiniGUI-Processes)
v4.0.0
A mature and proven cross-platform GUI system for embedded and smart IoT devices
|
This file includes macro definitions and typedefs that commonly used by MiniGUI. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <stdint.h>#include <stdarg.h>#include <errno.h>#include <assert.h>#include <limits.h>Go to the source code of this file.
Data Structures | |
| struct | _RECT |
| struct | _POINT |
| struct | _SIZE |
| struct | _RGB |
| struct | _GAL_Color |
| struct | _GAL_Palette |
| struct | _GAL_Rect |
Macros | |
| #define | _VERSION_CODE(major, minor, micro) (((major)<<16) | ((minor)<<8) | (micro)) |
| A macro that returns the version code from major, minor and micro version number. More... | |
| #define | _MINIGUI_VERSION_CODE ((MINIGUI_MAJOR_VERSION << 16) | (MINIGUI_MINOR_VERSION << 8) | MINIGUI_MICRO_VERSION) |
| Version code of MiniGUI. More... | |
| #define | MGUI_LIL_ENDIAN 1234 |
| Little endianness. More... | |
| #define | MGUI_BIG_ENDIAN 4321 |
| Big endianness. More... | |
| #define | MGUI_BYTEORDER MGUI_LIL_ENDIAN |
| The byte order (endianness) of the target system. More... | |
| #define | FALSE 0 |
| FALSE value, defined as 0 by MiniGUI. More... | |
| #define | TRUE 1 |
| TRUE value, defined as 1 by MiniGUI. More... | |
| #define | NULL ((void *)0) |
| A value indicates null pointer. More... | |
| #define | INV_PTR ((void *)-1) |
| A value indicates an invalid non-null pointer. More... | |
| #define | SIZEOF_PTR 4 |
| The size of a pointer. 4 for 32-bit and 8 for 64-bit. More... | |
| #define | SIZEOF_HPTR 2 |
| The size of a half or pointer. 2 for 32-bit and 4 for 64-bit. More... | |
| #define | LOBYTE(w) ((BYTE)(w)) |
| Returns the low byte of the word w. More... | |
| #define | HIBYTE(w) ((BYTE)(((WORD)(w) >> NR_BITS_BYTE) & BITMASK_BYTE)) |
| Returns the high byte of the word w. More... | |
| #define | MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << NR_BITS_BYTE))) |
| Makes a word from low byte and high byte. More... | |
| #define | MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8))) |
| Makes a 16-bit word from low byte and high byte. More... | |
| #define | MAKEDWORD32(first, second, third, fourth) |
| Makes a WORD32 value with four bytes. More... | |
| #define | MAKEWPARAM(first, second, third, fourth) |
| Makes a WPARAM value with four bytes. More... | |
| #define | FIRSTBYTE(w) ((BYTE)(w)) |
| Returns the first byte of the WPARAM w. More... | |
| #define | SECONDBYTE(w) ((BYTE)(((DWORD32)(w)) >> 8)) |
| Returns the second byte of the WPARAM w. More... | |
| #define | THIRDBYTE(w) ((BYTE)(((DWORD32)(w)) >> 16)) |
| Returns the third byte of the WPARAM w. More... | |
| #define | FOURTHBYTE(w) ((BYTE)(((DWORD32)(w)) >> 24)) |
| Returns the fourth byte of the WPARAM w. More... | |
| #define | LOWORD(l) ((WORD)(DWORD)(l)) |
| Returns the low word of the double word l. More... | |
| #define | HIWORD(l) ((WORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD)) |
| Returns the high word of the double word l. More... | |
| #define | LOSWORD(l) ((SWORD)(DWORD)(l)) |
| Returns the low signed word of the double word l. More... | |
| #define | HISWORD(l) ((SWORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD)) |
| Returns the high signed word of the double word l. More... | |
| #define | MAKELONG32(low, high) ((DWORD32)(((WORD16)(low)) | (((DWORD32)((WORD16)(high))) << 16))) |
| Makes a 32-bit double word from low word and high word which are both in 16-bit. More... | |
| #define | MAKELONG(low, high) ((DWORD)(((WORD)(low)) | (((DWORD)((WORD)(high))) << NR_BITS_WORD))) |
| Makes a double word with pointer precision from low word and high word. More... | |
| #define | GetRValue(rgba) ((BYTE)(rgba)) |
| Gets the red component from a RGBA triple value rgba. More... | |
| #define | GetGValue(rgba) ((BYTE)(((DWORD32)(rgba)) >> 8)) |
| Gets the green component from a RGBA triple value rgba. More... | |
| #define | GetBValue(rgba) ((BYTE)((DWORD32)(rgba) >> 16)) |
| Gets the blue component from a RGBA triple value rgba. More... | |
| #define | GetAValue(rgba) ((BYTE)((DWORD32)(rgba) >> 24)) |
| Gets the alpha component from a RGBA triple value rgba. More... | |
| #define | MakeRGBA(r, g, b, a) |
| Makes a RGBA triple value from red r, green g, blue b and alpha components. More... | |
| #define | MakeRGB(r, g, b) MakeRGBA((r), (g), (b), 255) |
| Makes a RGB triple value from red r, green g, and blue b components. More... | |
| #define | MGUI_NR_KEYS 255 |
| Number of MiniGUI keys. More... | |
| #define | NR_KEYS 250 |
| The number of keys defined by Linux operating system. More... | |
| #define | SCANCODE_USER (NR_KEYS + 1) |
| The first key scan code different from OS defined ones. More... | |
| #define | KS_LEFTMETA 0x00002000 |
| This status indicate that left-Meta key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_RIGHTMETA 0x00001000 |
| This status indicate that right-Meta key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_META 0x00003000 |
| This status indicate that either the left-Meta key or the right-Meta key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_REPEATED 0x00000800 |
| This status indicate that the key down message is an auto-repeated one. More... | |
| #define | KS_CAPTURED 0x00000400 |
| This status indicate that the mouse is captured by a window when the mouse message posted. More... | |
| #define | KS_IMEPOST 0x00000200 |
| This status indicate that the key message is posted by the IME window. More... | |
| #define | KS_CAPSLOCK 0x00000100 |
| This status indicate that the CapsLock key was locked when the key or mouse message posted to the window. More... | |
| #define | KS_NUMLOCK 0x00000080 |
| This status indicate that the NumLock key was locked when the key or mouse message posted to the window. More... | |
| #define | KS_SCROLLLOCK 0x00000040 |
| This status indicate that the ScrollLock key was locked when the key or mouse message posted to the window. More... | |
| #define | KS_LEFTCTRL 0x00000020 |
| This status indicate that the left-Ctrl key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_RIGHTCTRL 0x00000010 |
| This status indicate that the right-Ctrl key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_CTRL 0x00000030 |
| This status indicate that either the left-Ctrl key or the right-Ctrl key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_LEFTALT 0x00000008 |
| This status indicate that left-Alt key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_RIGHTALT 0x00000004 |
| This status indicate that right-Alt key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_ALT 0x0000000C |
| This status indicate that either the left-Alt key or the right-Alt key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_LEFTSHIFT 0x00000002 |
| This status indicate that left-Shift key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_RIGHTSHIFT 0x00000001 |
| This status indicate that right-Shift key was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_SHIFT 0x00000003 |
| This status indicate that either the left-Shift key or the right-Shift key was pressed when the key or mouse message posted to the window. More... | |
| #define | MASK_KS_SHIFTKEYS 0x0000FFFF |
| The mask of key status. More... | |
| #define | KS_LEFTBUTTON 0x00010000 |
| This status indicate that left button was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_RIGHTBUTTON 0x00020000 |
| This status indicate that right button was pressed when the key or mouse message posted to the window. More... | |
| #define | KS_MIDDLEBUTTON 0x00040000 |
| This status indicate that middle button was pressed when the key or mouse message posted to the window. More... | |
| #define | MASK_KS_BUTTONS 0x000F0000 |
| The mask of mouse button status. More... | |
| #define | ERR_OK 0 |
| Return value error ok. More... | |
| #define | ERR_INV_HWND -1 |
| Return value invalid window handle error. More... | |
| #define | ERR_QUEUE_FULL -2 |
| Return value queue is full error. More... | |
| #define | ERR_INVALID_HANDLE -3 |
| Return value invalid handle error. More... | |
| #define | ERR_INVALID_HMENU -4 |
| Return value invalid menu handle error. More... | |
| #define | ERR_INVALID_POS -5 |
| Return value invalid postion error. More... | |
| #define | ERR_INVALID_ID -6 |
| Return value invalid id error. More... | |
| #define | ERR_RES_ALLOCATION -7 |
| Return value allocation resource error . More... | |
| #define | ERR_CTRLCLASS_INVNAME -8 |
| Return value invalid name of control class error. More... | |
| #define | ERR_CTRLCLASS_INVLEN -9 |
| Return value control class invalid length. More... | |
| #define | ERR_CTRLCLASS_MEM -10 |
| Return value control class memory error. More... | |
| #define | ERR_CTRLCLASS_INUSE -11 |
| Return value inuse control class error. More... | |
| #define | ERR_ALREADY_EXIST -12 |
| Return value already exit error. More... | |
| #define | ERR_NO_MATCH -13 |
| Return no match error. More... | |
| #define | ERR_BAD_OWNER -14 |
| Return bad owner error. More... | |
| #define | ERR_IME_TOOMUCHIMEWND -15 |
| Return value too much IME window error. More... | |
| #define | ERR_IME_NOSUCHIMEWND -16 |
| Return value no such IME wondow error. More... | |
| #define | ERR_IME_NOIMEWND -17 |
| Return value no IME wondow error. More... | |
| #define | ERR_CONFIG_FILE -18 |
| Return value configure file error. More... | |
| #define | ERR_FILE_IO -19 |
| Return value file I/O error. More... | |
| #define | ERR_GFX_ENGINE -20 |
| Return value GFX engine error. More... | |
| #define | ERR_INPUT_ENGINE -21 |
| Return value input engine error. More... | |
| #define | ERR_NO_ENGINE -22 |
| Return value no engine error. More... | |
| #define | ERR_INVALID_ARGS -23 |
| Return value invalid arguments. More... | |
| #define | TABLESIZE(table) (sizeof(table)/sizeof(table[0])) |
| A macro returns the number of elements in a table. More... | |
| #define | MAX(x, y) (((x) > (y))?(x):(y)) |
| A macro returns the maximum of x and y. More... | |
| #define | MIN(x, y) (((x) < (y))?(x):(y)) |
| A macro returns the minimum of x and y. More... | |
| #define | ABS(x) (((x)<0) ? -(x) : (x)) |
| A macro returns the absolute value of x. More... | |
| #define | MAX_PATH PATH_MAX |
| The possible maximal length of a path name. More... | |
| #define | MAX_NAME NAME_MAX |
| The possible maximal length of a file name. More... | |
Typedefs | |
| typedef unsigned char | Uint8 |
| A type definition for an 8-bit unsigned character. More... | |
| typedef signed char | Sint8 |
| A type definition for an 8-bit signed character. More... | |
| typedef unsigned short | Uint16 |
| A type definition for a 16-bit unsigned integer. More... | |
| typedef signed short | Sint16 |
| A type definition for a 16-bit signed integer. More... | |
| typedef unsigned int | Uint32 |
| A type definition for a 32-bit unsigned integer. More... | |
| typedef signed int | Sint32 |
| A type definition for a 32-bit signed integer. More... | |
| typedef unsigned long long | Uint64 |
| A type definition for a 64-bit unsigned integer. More... | |
| typedef signed long long | Sint64 |
| A type definition for a 64-bit signed integer. More... | |
| typedef void * | PVOID |
| A type definition for a pointer to any type. More... | |
| typedef int | BOOL |
| A type definition for boolean value. More... | |
| typedef PVOID | GHANDLE |
| General handle. More... | |
| typedef GHANDLE | HWND |
| Handle to main window or control. More... | |
| typedef GHANDLE | HDC |
| Handle to device context. More... | |
| typedef GHANDLE | HPALETTE |
| Handle to a logical palette. More... | |
| typedef GHANDLE | HCURSOR |
| Handle to cursor. More... | |
| typedef GHANDLE | HICON |
| Handle to icon. More... | |
| typedef GHANDLE | HMENU |
| Handle to menu. More... | |
| typedef GHANDLE | HACCEL |
| Handle to accelarator. More... | |
| typedef GHANDLE | HDLG |
| Handle to dialog box, same as HWND. More... | |
| typedef GHANDLE | HHOOK |
| Handle to keyboard or mouse event hook. More... | |
| typedef unsigned char | BYTE |
| A type definition for an 8-bit unsigned character (byte). More... | |
| typedef signed char | SBYTE |
| A type definition for an 8-bit signed character. More... | |
| typedef unsigned short | WORD_HPTR |
| An unsigned int (word) type in half pointer precision. More... | |
| typedef signed short | SWORD_HPTR |
| An signed int type in half pointer precision. More... | |
| typedef WORD_HPTR | WORD |
| A type definition for an unsigned integer (word). More... | |
| typedef SWORD_HPTR | SWORD |
| A type definition for a signed integer. More... | |
| typedef unsigned short | WORD16 |
| A type definition for a 16-bit unsigned integer (word). More... | |
| typedef signed short | SWORD16 |
| A type definition for a 16-bit signed integer. More... | |
| typedef long | LONG_PTR |
| A signed long type for pointer precision. More... | |
| typedef LONG_PTR | LINT |
| Signed integer which has pointer precision. More... | |
| typedef LONG_PTR | LRESULT |
| Signed result of message processing. More... | |
| typedef unsigned long | DWORD_PTR |
| An unsigned long type for pointer precision. More... | |
| typedef DWORD_PTR | DWORD |
| A unsigned long type definition for pointer precision. More... | |
| typedef unsigned int | DWORD32 |
| A type definition for a 32-bit unsigned integer. More... | |
| typedef signed long | SDWORD_PTR |
| A signed long type for pointer precision. More... | |
| typedef SDWORD_PTR | SDWORD |
| A signed long type definition for pointer precision. More... | |
| typedef signed int | SDWORD32 |
| A type definition for a 32-bit signed integer. More... | |
| typedef unsigned int | UINT |
| A type definition for unsigned integer. More... | |
| typedef int | INT_PTR |
| A signed integer type for pointer precision. More... | |
| typedef unsigned long | UINT_PTR |
| A unsigned integer type for pointer precision. More... | |
| typedef long | LONG |
| A type definition for long integer. More... | |
| typedef unsigned long | ULONG |
| A type definition for unsigned long integer. More... | |
| typedef UINT_PTR | WPARAM |
| A type definition for the first message paramter. More... | |
| typedef UINT_PTR | LPARAM |
| A type definition for the second message paramter. More... | |
| typedef DWORD32 | RGBCOLOR |
| A type definition for a RGB color. More... | |
| typedef struct _RECT | RECT |
| typedef RECT * | PRECT |
| Data type of the pointer to a RECT. More... | |
| typedef struct _POINT | POINT |
| typedef POINT * | PPOINT |
| Data type of the pointer to a POINT. More... | |
| typedef struct _SIZE | SIZE |
| typedef SIZE * | PSIZE |
| Data type of the pointer to a SIZE. More... | |
| typedef struct _RGB | RGB |
| typedef RGB * | PRGB |
| Data type of the pointer to a RGB. More... | |
| typedef Sint8 | gal_sint8 |
| Data type of 8-bit signed integer. More... | |
| typedef Uint8 | gal_uint8 |
| Data type of 8-bit unsigned integer. More... | |
| typedef Sint16 | gal_sint16 |
| Data type of 16-bit signed integer. More... | |
| typedef Uint16 | gal_uint16 |
| Data type of 16-bit unsigned integer. More... | |
| typedef Sint32 | gal_sint32 |
| Data type of 32-bit signed integer. More... | |
| typedef Uint32 | gal_uint32 |
| Data type of 32-bit unsigned integer. More... | |
| typedef signed int | gal_sint |
| Data type of signed integer. More... | |
| typedef unsigned int | gal_uint |
| Data type of unsigned integer. More... | |
| typedef Uint32 | gal_pixel |
| Data type of pixel value. More... | |
| typedef Uint32 | gal_attr |
| Data type of attribute value. More... | |
| typedef long | fixed |
| Data type of fixed point. More... | |
| typedef struct _GAL_Color | GAL_Color |
| typedef struct _GAL_Palette | GAL_Palette |
| typedef struct _GAL_Rect | GAL_Rect |
This file includes macro definitions and typedefs that commonly used by MiniGUI.
This file is part of MiniGUI, a mature cross-platform windowing and Graphics User Interface (GUI) support system for embedded systems and smart IoT devices. Copyright (C) 2002~2018, Beijing FMSoft Technologies Co., Ltd. Copyright (C) 1998~2002, WEI Yongming This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program 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 General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Or, As this program is a library, any link to this program must follow GNU General Public License version 3 (GPLv3). If you cannot accept GPLv3, you need to be licensed from FMSoft. If you have got a commercial license of this program, please use it under the terms and conditions of the commercial license. For more information about the commercial license, please refer to <http://www.minigui.com/en/about/licensing-policy/>.
Definition in file common.h.
1.8.13