71 #ifndef _MGUI_COMMON_H    73 #define _MGUI_COMMON_H    75 #ifndef MINIGUI_MAJOR_VERSION    78 #   undef PACKAGE_BUGREPORT    80 #   undef PACKAGE_STRING    81 #   undef PACKAGE_TARNAME    82 #   undef PACKAGE_VERSION    83 #   ifdef __MINIGUI_LIB__    86 #               include <config-win32/mgconfig.h>    87 #           elif defined (__THREADX__)    88 #               include "config-threadx/mgconfig.h"    89 #           elif defined (__NUCLEUS__)    90 #               include "config-nucleus/mgconfig.h"    93 #           if  defined(__CMAKE_PROJECT__) || defined(WIN32)    94 #               include "mgconfig.h"    96 #               include "../mgconfig.h"   100 #       include "mgconfig.h"   132 #define _VERSION_CODE(major, minor, micro)  (((major)<<16) | ((minor)<<8) | (micro))   140 #define _MINIGUI_VERSION_CODE \   141         ((MINIGUI_MAJOR_VERSION << 16) | (MINIGUI_MINOR_VERSION << 8) | MINIGUI_MICRO_VERSION)   182 #if !defined(__STRICT_ANSI__)   183 #   if defined(__GNUC__)   184 #       define MGUI_HAS_64BIT_TYPE    long long   186 #   if defined(__CC_ARM)   187 #       define MGUI_HAS_64BIT_TYPE    long long   189 #   if defined(_MSC_VER)   190 #       define MGUI_HAS_64BIT_TYPE __int64   195 #ifdef MGUI_HAS_64BIT_TYPE   203 typedef unsigned MGUI_HAS_64BIT_TYPE 
Uint64;
   210 typedef signed MGUI_HAS_64BIT_TYPE 
Sint64;
   220 #define MGUI_COMPILE_TIME_ASSERT(name, x)               \   221        typedef int MGUI_dummy_ ## name[(x) * 2 - 1]   223 MGUI_COMPILE_TIME_ASSERT(uint8, 
sizeof(
Uint8) == 1);
   224 MGUI_COMPILE_TIME_ASSERT(sint8, 
sizeof(
Sint8) == 1);
   225 MGUI_COMPILE_TIME_ASSERT(uint16, 
sizeof(
Uint16) == 2);
   226 MGUI_COMPILE_TIME_ASSERT(sint16, 
sizeof(
Sint16) == 2);
   227 MGUI_COMPILE_TIME_ASSERT(uint32, 
sizeof(
Uint32) == 4);
   228 MGUI_COMPILE_TIME_ASSERT(sint32, 
sizeof(
Sint32) == 4);
   229 MGUI_COMPILE_TIME_ASSERT(uint64, 
sizeof(
Uint64) == 8);
   230 MGUI_COMPILE_TIME_ASSERT(sint64, 
sizeof(
Sint64) == 8);
   232 #undef MGUI_COMPILE_TIME_ASSERT   240 #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8)   241 #define MG_GNUC_EXTENSION __extension__   243 #define MG_GNUC_EXTENSION   251 #if defined(__GNUC__) && (__GNUC__ > 2) && defined(__OPTIMIZE__)   252 #define _MG_BOOLEAN_EXPR(expr)                  \   253  MG_GNUC_EXTENSION ({                           \   254    int _g_boolean_var_;                         \   256       _g_boolean_var_ = 1;                      \   258       _g_boolean_var_ = 0;                      \   261 #define MG_LIKELY(expr) (__builtin_expect (_MG_BOOLEAN_EXPR(expr), 1))   262 #define MG_UNLIKELY(expr) (__builtin_expect (_MG_BOOLEAN_EXPR(expr), 0))   264 #define MG_LIKELY(expr) (expr)   265 #define MG_UNLIKELY(expr) (expr)   277 #define MGUI_LIL_ENDIAN  1234   282 #define MGUI_BIG_ENDIAN  4321   307 #if defined(__i386__) || defined(__ia64__) || defined(__x86_64__) || defined(__amd64) || \   308         (defined(__alpha__) || defined(__alpha)) || \   309         defined(__arm__) || \   310         (defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \   311         (defined(__mips__) && defined(__MIPSEL__)) || \   312         defined(__LITTLE_ENDIAN__) || \   314 #   define MGUI_BYTEORDER   MGUI_LIL_ENDIAN   316 #   define MGUI_BYTEORDER   MGUI_BIG_ENDIAN   364 #       define NULL            ((void *)0)   372 #define INV_PTR                ((void *)-1)   376 #if !defined(__NODLL__) && (defined (WIN32) || defined (__NUCLEUS_MNT__))   377 #   if defined(__MINIGUI_LIB__)   378 #       define MG_EXPORT       __declspec(dllexport)   380 #       define MG_EXPORT       __declspec(dllimport)   472 #   define SIZEOF_PTR   8   473 #   define SIZEOF_HPTR  4   474 #elif defined(__LP64__)   475 #   define SIZEOF_PTR   8   476 #   define SIZEOF_HPTR  4   478 #   define SIZEOF_PTR   4   479 #   define SIZEOF_HPTR  2   483 #   define NR_BITS_BYTE      (8)   484 #   define NR_BITS_WORD      (32)   485 #   define NR_BITS_DWORD     (64)   487 #   define BITMASK_BYTE      (0xFF)   488 #   define BITMASK_WORD      (0xFFFFFFFF)   489 #   define BITMASK_DWORD     (0xFFFFFFFFFFFFFFFF)   491 #   define INT_PTR_MIN       (-9223372036854775807L-1)   492 #   define INT_PTR_MAX       (9223372036854775807L)   493 #   define UINT_PTR_MAX      (18446744073709551615UL)   495 #   define NR_BITS_BYTE      (8)   496 #   define NR_BITS_WORD      (16)   497 #   define NR_BITS_DWORD     (32)   499 #   define BITMASK_BYTE      (0xFF)   500 #   define BITMASK_WORD      (0xFFFF)   501 #   define BITMASK_DWORD     (0xFFFFFFFF)   503 #   define INT_PTR_MIN       (-2147483647-1)   504 #   define INT_PTR_MAX       (2147483647)   505 #   define UINT_PTR_MAX      (4294967295U)   514 #elif defined(__LP64__)   526 #elif defined(__LP64__)   562 #elif defined(__LP64__)   589 #elif defined(__LP64__)   616 #elif defined(__LP64__)   635 typedef unsigned short  QDWORD;
   636 #define QDWORD_SHIFT    16   638 typedef unsigned char   QDWORD;
   639 #define QDWORD_SHIFT    8   642 #define MAKEDWORD(q1, q2, q3, q4) \   644         (((DWORD)(QDWORD)(q1))) | \   645         (((DWORD)((QDWORD)(q2))) << QDWORD_SHIFT) | \   646         (((DWORD)((QDWORD)(q3))) << (QDWORD_SHIFT*2)) | \   647         (((DWORD)((QDWORD)(q4))) << (QDWORD_SHIFT*3)) \   650 #define FIRST_QDWORD(dw)    ((QDWORD)(((DWORD)(dw))))   651 #define SECOND_QDWORD(dw)   ((QDWORD)((((DWORD)(dw)) >> QDWORD_SHIFT)))   652 #define THIRD_QDWORD(dw)    ((QDWORD)((((DWORD)(dw)) >> (QDWORD_SHIFT*2))))   653 #define FOURTH_QDWORD(dw)   ((QDWORD)((((DWORD)(dw)) >> (QDWORD_SHIFT*3))))   667 #elif defined(__LP64__)   679 #elif defined(__LP64__)   715 #define LOBYTE(w)           ((BYTE)(w))   723 #define HIBYTE(w)           ((BYTE)(((WORD)(w) >> NR_BITS_BYTE) & BITMASK_BYTE))   731 #define MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << NR_BITS_BYTE)))   739 #define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8)))   747 #define MAKEDWORD32(first, second, third, fourth) \   750         (((DWORD32)((BYTE)(second))) << 8) | \   751         (((DWORD32)((BYTE)(third))) << 16) | \   752         (((DWORD32)((BYTE)(fourth))) << 24) \   761 #define MAKEWPARAM(first, second, third, fourth) \   764         (((WPARAM)((BYTE)(second))) << 8) | \   765         (((WPARAM)((BYTE)(third))) << 16) | \   766         (((WPARAM)((BYTE)(fourth))) << 24) \   775 #define FIRSTBYTE(w)        ((BYTE)(w))   783 #define SECONDBYTE(w)        ((BYTE)(((DWORD32)(w)) >> 8))   791 #define THIRDBYTE(w)        ((BYTE)(((DWORD32)(w)) >> 16))   799 #define FOURTHBYTE(w)        ((BYTE)(((DWORD32)(w)) >> 24))   807 #define LOWORD(l)           ((WORD)(DWORD)(l))   814 #define HIWORD(l)           ((WORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD))   822 #define LOSWORD(l)          ((SWORD)(DWORD)(l))   829 #define HISWORD(l)          ((SWORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD))   836 #define MAKELONG32(low, high) ((DWORD32)(((WORD16)(low)) | (((DWORD32)((WORD16)(high))) << 16)))   843 #define MAKELONG(low, high) ((DWORD)(((WORD)(low)) | (((DWORD)((WORD)(high))) << NR_BITS_WORD)))   859 #define GetRValue(rgba)      ((BYTE)(rgba))   868 #define GetGValue(rgba)      ((BYTE)(((DWORD32)(rgba)) >> 8))   877 #define GetBValue(rgba)      ((BYTE)((DWORD32)(rgba) >> 16))   886 #define GetAValue(rgba)      ((BYTE)((DWORD32)(rgba) >> 24))   898 #define MakeRGBA(r, g, b, a)    \   899                 (((DWORD32)((BYTE)(r))) \   900                 | ((DWORD32)((BYTE)(g)) << 8) \   901                 | ((DWORD32)((BYTE)(b)) << 16) \   902                 | ((DWORD32)((BYTE)(a)) << 24))   914 #define MakeRGB(r, g, b) MakeRGBA((r), (g), (b), 255)  1185 #define MGUI_NR_KEYS                    255  1219 #define SCANCODE_USER                   (NR_KEYS + 1)  1221 #define SCANCODE_RESERVED               0  1222 #define SCANCODE_ESCAPE                 1  1223     #define SCANCODE_ESC                    SCANCODE_ESCAPE  1225 #define SCANCODE_1                      2  1226 #define SCANCODE_2                      3  1227 #define SCANCODE_3                      4  1228 #define SCANCODE_4                      5  1229 #define SCANCODE_5                      6  1230 #define SCANCODE_6                      7  1231 #define SCANCODE_7                      8  1232 #define SCANCODE_8                      9  1233 #define SCANCODE_9                      10  1234 #define SCANCODE_0                      11  1236 #define SCANCODE_MINUS                  12  1237 #define SCANCODE_EQUAL                  13  1239 #define SCANCODE_BACKSPACE              14  1240 #define SCANCODE_TAB                    15  1242 #define SCANCODE_Q                      16  1243 #define SCANCODE_W                      17  1244 #define SCANCODE_E                      18  1245 #define SCANCODE_R                      19  1246 #define SCANCODE_T                      20  1247 #define SCANCODE_Y                      21  1248 #define SCANCODE_U                      22  1249 #define SCANCODE_I                      23  1250 #define SCANCODE_O                      24  1251 #define SCANCODE_P                      25  1252 #define SCANCODE_BRACKET_LEFT           26  1253     #define SCANCODE_LEFTBRACE              SCANCODE_BRACKET_LEFT  1254 #define SCANCODE_BRACKET_RIGHT          27  1255     #define SCANCODE_RIGHTBRACE             SCANCODE_BRACKET_RIGHT  1257 #define SCANCODE_ENTER                  28  1259 #define SCANCODE_LEFTCONTROL            29  1260     #define SCANCODE_LEFTCTRL               SCANCODE_LEFTCONTROL  1262 #define SCANCODE_A                      30  1263 #define SCANCODE_S                      31  1264 #define SCANCODE_D                      32  1265 #define SCANCODE_F                      33  1266 #define SCANCODE_G                      34  1267 #define SCANCODE_H                      35  1268 #define SCANCODE_J                      36  1269 #define SCANCODE_K                      37  1270 #define SCANCODE_L                      38  1271 #define SCANCODE_SEMICOLON              39  1272 #define SCANCODE_APOSTROPHE             40  1273 #define SCANCODE_GRAVE                  41  1274 #define SCANCODE_LEFTSHIFT              42  1275 #define SCANCODE_BACKSLASH              43  1277 #define SCANCODE_Z                      44  1278 #define SCANCODE_X                      45  1279 #define SCANCODE_C                      46  1280 #define SCANCODE_V                      47  1281 #define SCANCODE_B                      48  1282 #define SCANCODE_N                      49  1283 #define SCANCODE_M                      50  1284 #define SCANCODE_COMMA                  51  1285 #define SCANCODE_PERIOD                 52  1286     #define SCANCODE_DOT                    SCANCODE_PERIOD  1287 #define SCANCODE_SLASH                  53  1288 #define SCANCODE_RIGHTSHIFT             54  1289 #define SCANCODE_KEYPADMULTIPLY         55  1290     #define SCANCODE_KPASTERISK             SCANCODE_KEYPADMULTIPLY  1291 #define SCANCODE_LEFTALT                56  1292 #define SCANCODE_SPACE                  57  1293 #define SCANCODE_CAPSLOCK               58  1295 #define SCANCODE_F1                     59  1296 #define SCANCODE_F2                     60  1297 #define SCANCODE_F3                     61  1298 #define SCANCODE_F4                     62  1299 #define SCANCODE_F5                     63  1300 #define SCANCODE_F6                     64  1301 #define SCANCODE_F7                     65  1302 #define SCANCODE_F8                     66  1303 #define SCANCODE_F9                     67  1304 #define SCANCODE_F10                    68  1306 #define SCANCODE_NUMLOCK                69  1307 #define SCANCODE_SCROLLLOCK             70  1309 #define SCANCODE_KEYPAD7                71  1310     #define SCANCODE_KP7                    SCANCODE_KEYPAD7  1311 #define SCANCODE_CURSORUPLEFT           71  1312 #define SCANCODE_KEYPAD8                72  1313     #define SCANCODE_KP8                    SCANCODE_KEYPAD8  1314 #define SCANCODE_CURSORUP               72  1315 #define SCANCODE_KEYPAD9                73  1316     #define SCANCODE_KP9                    SCANCODE_KEYPAD9  1317 #define SCANCODE_CURSORUPRIGHT          73  1318 #define SCANCODE_KEYPADMINUS            74  1319     #define SCANCODE_KPMINUS                SCANCODE_KEYPADMINUS  1320 #define SCANCODE_KEYPAD4                75  1321     #define SCANCODE_KP4                    SCANCODE_KEYPAD4  1322 #define SCANCODE_CURSORLEFT             75  1323 #define SCANCODE_KEYPAD5                76  1324     #define SCANCODE_KP5                    SCANCODE_KEYPAD5  1325 #define SCANCODE_KEYPAD6                77  1326     #define SCANCODE_KP6                    SCANCODE_KEYPAD6  1327 #define SCANCODE_CURSORRIGHT            77  1328 #define SCANCODE_KEYPADPLUS             78  1329     #define SCANCODE_KPPLUS                 SCANCODE_KEYPADPLUS  1330 #define SCANCODE_KEYPAD1                79  1331     #define SCANCODE_KP1                    SCANCODE_KEYPAD1  1332 #define SCANCODE_CURSORDOWNLEFT         79  1333 #define SCANCODE_KEYPAD2                80  1334     #define SCANCODE_KP2                    SCANCODE_KEYPAD2  1335 #define SCANCODE_CURSORDOWN             80  1336 #define SCANCODE_KEYPAD3                81  1337     #define SCANCODE_KP3                    SCANCODE_KEYPAD3  1338 #define SCANCODE_CURSORDOWNRIGHT        81  1339 #define SCANCODE_KEYPAD0                82  1340     #define SCANCODE_KP0                    SCANCODE_KEYPAD0  1341 #define SCANCODE_KEYPADPERIOD           83  1342     #define SCANCODE_KPDOT                  SCANCODE_KEYPADPERIOD  1344 #define SCANCODE_ZENKAKUHANKAKU         85  1346 #define SCANCODE_LESS                   86  1347 #define SCANCODE_102ND                      SCANCODE_LESS  1349 #define SCANCODE_F11                    87  1350 #define SCANCODE_F12                    88  1352 #define SCANCODE_RO                     89  1353 #define SCANCODE_KATAKANA               90  1354 #define SCANCODE_HIRAGANA               91  1355 #define SCANCODE_HENKAN                 92  1356 #define SCANCODE_KATAKANAHIRAGANA       93  1357 #define SCANCODE_MUHENKAN               94  1358 #define SCANCODE_KPJPCOMMA              95  1360 #define SCANCODE_KEYPADENTER            96  1361     #define SCANCODE_KPENTER                SCANCODE_KEYPADENTER  1362 #define SCANCODE_RIGHTCONTROL           97  1363     #define SCANCODE_RIGHTCTRL              SCANCODE_RIGHTCONTROL  1364 #define SCANCODE_CONTROL                97  1365 #define SCANCODE_KEYPADDIVIDE           98  1366     #define SCANCODE_KPSLASH                SCANCODE_KEYPADDIVIDE  1367 #define SCANCODE_PRINTSCREEN            99  1368     #define SCANCODE_SYSRQ                  SCANCODE_PRINTSCREEN  1369 #define SCANCODE_RIGHTALT               100  1370 #define SCANCODE_LINEFEED               101  1372 #define SCANCODE_HOME                   102  1373 #define SCANCODE_CURSORBLOCKUP          103      1374     #define SCANCODE_UP                     SCANCODE_CURSORBLOCKUP  1375 #define SCANCODE_PAGEUP                 104  1376 #define SCANCODE_CURSORBLOCKLEFT        105      1377     #define SCANCODE_LEFT                   SCANCODE_CURSORBLOCKLEFT  1378 #define SCANCODE_CURSORBLOCKRIGHT       106      1379     #define SCANCODE_RIGHT                  SCANCODE_CURSORBLOCKRIGHT  1380 #define SCANCODE_END                    107  1381 #define SCANCODE_CURSORBLOCKDOWN        108      1382     #define SCANCODE_DOWN                   SCANCODE_CURSORBLOCKDOWN  1383 #define SCANCODE_PAGEDOWN               109  1384 #define SCANCODE_INSERT                 110  1385 #define SCANCODE_REMOVE                 111  1386     #define SCANCODE_DELETE                 SCANCODE_REMOVE  1388 #define SCANCODE_MACRO                  112  1389 #define SCANCODE_MUTE                   113  1390 #define SCANCODE_VOLUMEDOWN             114  1391 #define SCANCODE_VOLUMEUP               115  1392 #define SCANCODE_POWER                  116       1393 #define SCANCODE_KPEQUAL                117  1394 #define SCANCODE_KPPLUSMINUS            118  1395 #define SCANCODE_BREAK                  119  1396     #define SCANCODE_BREAK_ALTERNATIVE      SCANCODE_BREAK  1397     #define SCANCODE_PAUSE                  SCANCODE_BREAK  1399 #define SCANCODE_SCALE                  120      1400 #define SCANCODE_KPCOMMA                121  1401 #define SCANCODE_HANGEUL                122  1402 #define SCANCODE_HANJA                  123  1403 #define SCANCODE_YEN                    124  1404 #define SCANCODE_LEFTWIN                125  1405     #define SCANCODE_LEFTMETA               SCANCODE_LEFTWIN  1406 #define SCANCODE_RIGHTWIN               126  1407     #define SCANCODE_RIGHTMETA              SCANCODE_RIGHTWIN  1408 #define SCANCODE_COMPOSE                127  1409 #define SCANCODE_STOP                   128      1410 #define SCANCODE_AGAIN                  129  1411 #define SCANCODE_PROPS                  130      1412 #define SCANCODE_UNDO                   131      1413 #define SCANCODE_FRONT                  132  1414 #define SCANCODE_COPY                   133      1415 #define SCANCODE_OPEN                   134      1416 #define SCANCODE_PASTE                  135      1417 #define SCANCODE_FIND                   136      1418 #define SCANCODE_CUT                    137      1419 #define SCANCODE_HELP                   138      1420 #define SCANCODE_MENU                   139      1421 #define SCANCODE_CALC                   140      1422 #define SCANCODE_SETUP                  141  1423 #define SCANCODE_SLEEP                  142      1424 #define SCANCODE_WAKEUP                 143      1425 #define SCANCODE_FILE                   144      1426 #define SCANCODE_SENDFILE               145  1427 #define SCANCODE_DELETEFILE             146  1428 #define SCANCODE_XFER                   147  1429 #define SCANCODE_PROG1                  148  1430 #define SCANCODE_PROG2                  149  1431 #define SCANCODE_WWW                    150      1432 #define SCANCODE_MSDOS                  151  1433 #define SCANCODE_COFFEE                 152      1434     #define SCANCODE_SCREENLOCK             SCANCODE_COFFEE  1435 #define SCANCODE_ROTATE_DISPLAY         153      1436     #define SCANCODE_DIRECTION              SCANCODE_ROTATE_DISPLAY  1437 #define SCANCODE_CYCLEWINDOWS           154  1438 #define SCANCODE_MAIL                   155  1439 #define SCANCODE_BOOKMARKS              156      1440 #define SCANCODE_COMPUTER               157  1441 #define SCANCODE_BACK                   158      1442 #define SCANCODE_FORWARD                159      1443 #define SCANCODE_CLOSECD                160  1444 #define SCANCODE_EJECTCD                161  1445 #define SCANCODE_EJECTCLOSECD           162  1446 #define SCANCODE_NEXTSONG               163  1447 #define SCANCODE_PLAYPAUSE              164  1448 #define SCANCODE_PREVIOUSSONG           165  1449 #define SCANCODE_STOPCD                 166  1450 #define SCANCODE_RECORD                 167  1451 #define SCANCODE_REWIND                 168  1452 #define SCANCODE_PHONE                  169      1453 #define SCANCODE_ISO                    170  1454 #define SCANCODE_CONFIG                 171      1455 #define SCANCODE_HOMEPAGE               172      1456 #define SCANCODE_REFRESH                173      1457 #define SCANCODE_EXIT                   174      1458 #define SCANCODE_MOVE                   175  1459 #define SCANCODE_EDIT                   176  1460 #define SCANCODE_SCROLLUP               177  1461 #define SCANCODE_SCROLLDOWN             178  1462 #define SCANCODE_KPLEFTPAREN            179  1463 #define SCANCODE_KPRIGHTPAREN           180  1464 #define SCANCODE_NEW                    181      1465 #define SCANCODE_REDO                   182      1466 #define SCANCODE_F13                    183  1467 #define SCANCODE_F14                    184  1468 #define SCANCODE_F15                    185  1469 #define SCANCODE_F16                    186  1470 #define SCANCODE_F17                    187  1471 #define SCANCODE_F18                    188  1472 #define SCANCODE_F19                    189  1473 #define SCANCODE_F20                    190  1474 #define SCANCODE_F21                    191  1475 #define SCANCODE_F22                    192  1476 #define SCANCODE_F23                    193  1477 #define SCANCODE_F24                    194  1479 #define SCANCODE_PLAYCD                 200  1480 #define SCANCODE_PAUSECD                201  1481 #define SCANCODE_PROG3                  202  1482 #define SCANCODE_PROG4                  203  1483 #define SCANCODE_DASHBOARD              204      1484 #define SCANCODE_SUSPEND                205  1485 #define SCANCODE_CLOSE                  206      1486 #define SCANCODE_PLAY                   207  1487 #define SCANCODE_FASTFORWARD            208  1488 #define SCANCODE_BASSBOOST              209  1489 #define SCANCODE_PRINT                  210      1490 #define SCANCODE_HP                     211  1491 #define SCANCODE_CAMERA                 212  1492 #define SCANCODE_SOUND                  213  1493 #define SCANCODE_QUESTION               214  1494 #define SCANCODE_EMAIL                  215  1495 #define SCANCODE_CHAT                   216  1496 #define SCANCODE_SEARCH                 217  1497 #define SCANCODE_CONNECT                218  1498 #define SCANCODE_FINANCE                219      1499 #define SCANCODE_SPORT                  220  1500 #define SCANCODE_SHOP                   221  1501 #define SCANCODE_ALTERASE               222  1502 #define SCANCODE_CANCEL                 223      1503 #define SCANCODE_BRIGHTNESSDOWN         224  1504 #define SCANCODE_BRIGHTNESSUP           225  1505 #define SCANCODE_MEDIA                  226  1506 #define SCANCODE_SWITCHVIDEOMODE        227      1507 #define SCANCODE_KBDILLUMTOGGLE         228  1508 #define SCANCODE_KBDILLUMDOWN           229  1509 #define SCANCODE_KBDILLUMUP             230  1510 #define SCANCODE_SEND                   231      1511 #define SCANCODE_REPLY                  232      1512 #define SCANCODE_FORWARDMAIL            233      1513 #define SCANCODE_SAVE                   234      1514 #define SCANCODE_DOCUMENTS              235  1515 #define SCANCODE_BATTERY                236  1516 #define SCANCODE_BLUETOOTH              237  1517 #define SCANCODE_WLAN                   238  1518 #define SCANCODE_UWB                    239  1519 #define SCANCODE_UNKNOWN                240  1520 #define SCANCODE_VIDEO_NEXT             241      1521 #define SCANCODE_VIDEO_PREV             242      1522 #define SCANCODE_BRIGHTNESS_CYCLE       243      1523 #define SCANCODE_BRIGHTNESS_AUTO        244      1524     #define SCANCODE_BRIGHTNESS_ZERO        SCANCODE_BRIGHTNESS_AUTO  1525 #define SCANCODE_DISPLAY_OFF            245      1526 #define SCANCODE_WWAN                   246      1527     #define SCANCODE_WIMAX                  SCANCODE_WWAN  1528 #define SCANCODE_RFKILL                 247      1529 #define SCANCODE_MICMUTE                248      1531 #define SCANCODE_LEFTBUTTON             0x1000  1532 #define SCANCODE_RIGHTBUTTON            0x2000  1533 #define SCANCODE_MIDDLBUTTON            0x4000  1544 #define KS_LEFTMETA                    0x00002000  1555 #define KS_RIGHTMETA                   0x00001000  1566 #define KS_META                        0x00003000  1588 #define KS_REPEATED                     0x00000800  1610 #define KS_CAPTURED                     0x00000400  1618 #define KS_IMEPOST                      0x00000200  1640 #define KS_CAPSLOCK                     0x00000100  1649 #define KS_NUMLOCK                      0x00000080  1658 #define KS_SCROLLLOCK                   0x00000040  1667 #define KS_LEFTCTRL                     0x00000020  1676 #define KS_RIGHTCTRL                    0x00000010  1685 #define KS_CTRL                         0x00000030  1694 #define KS_LEFTALT                      0x00000008  1703 #define KS_RIGHTALT                     0x00000004  1712 #define KS_ALT                          0x0000000C  1721 #define KS_LEFTSHIFT                    0x00000002  1730 #define KS_RIGHTSHIFT                   0x00000001  1739 #define KS_SHIFT                        0x00000003  1745 #define MASK_KS_SHIFTKEYS               0x0000FFFF  1754 #define KS_LEFTBUTTON                   0x00010000  1763 #define KS_RIGHTBUTTON                  0x00020000  1772 #define KS_MIDDLEBUTTON                 0x00040000  1778 #define MASK_KS_BUTTONS                 0x000F0000  1796 #define ERR_INV_HWND            -1  1802 #define ERR_QUEUE_FULL          -2  1808 #define ERR_INVALID_HANDLE      -3  1814 #define ERR_INVALID_HMENU       -4  1820 #define ERR_INVALID_POS         -5  1826 #define ERR_INVALID_ID          -6  1832 #define ERR_RES_ALLOCATION      -7  1838 #define ERR_CTRLCLASS_INVNAME   -8  1844 #define ERR_CTRLCLASS_INVLEN    -9  1850 #define ERR_CTRLCLASS_MEM       -10  1856 #define ERR_CTRLCLASS_INUSE     -11  1862 #define ERR_ALREADY_EXIST       -12  1868 #define ERR_NO_MATCH            -13  1874 #define ERR_BAD_OWNER           -14  1880 #define ERR_IME_TOOMUCHIMEWND   -15  1886 #define ERR_IME_NOSUCHIMEWND    -16  1892 #define ERR_IME_NOIMEWND        -17  1898 #define ERR_CONFIG_FILE         -18  1904 #define ERR_FILE_IO             -19  1910 #define ERR_GFX_ENGINE          -20  1916 #define ERR_INPUT_ENGINE        -21  1922 #define ERR_NO_ENGINE           -22  1928 #define ERR_INVALID_ARGS        -23  1940 #define TABLESIZE(table)    (sizeof(table)/sizeof(table[0]))  1948 #define MAX(x, y)           (((x) > (y))?(x):(y))  1955 #define MIN(x, y)           (((x) < (y))?(x):(y))  1962 #define ABS(x)              (((x)<0) ? -(x) : (x))  1966 #if !defined(__NOUNIX__) || defined (__ECOS__)  1971 #   define PATH_MAX    256  1975 #   define NAME_MAX    64  1985 #   define MAX_PATH        PATH_MAX  1994 #   define MAX_NAME        NAME_MAX  2004 typedef unsigned long time_t;
  2023 #if defined (__THREADX__) && defined (__TARGET_VFANVIL__)  2026 #include  "os_type.h"  2027 #include  "os_file_api.h"  2029 #define fopen     tp_fopen  2030 #define fclose     tp_fclose  2031 #define fwrite     tp_fwrite  2032 #define fread    tp_fread  2033 #define fseek    tp_fseek  2034 #define feof    tp_feof  2037 #define _HAVE_ASSERT 1  2039 #define assert(e) do {          \  2047 #define stdin ((FILE*)0)  2048 #define stdout ((FILE*)1)  2049 #define stderr ((FILE*)2)  2050 void Comm_Lock_Screen (
void);
  2051 void Comm_Unlock_Screen (
void);
  2060 #define strdup own_strdup  2065 MG_EXPORT 
char *strdup(
const char *s);
  2068 #ifndef HAVE_STRCASECMP  2069 MG_EXPORT 
int strcasecmp(
const char *s1, 
const char *s2);
  2072 #ifndef HAVE_STRNCASECMP  2073 MG_EXPORT 
int strncasecmp(
const char *s1, 
const char *s2, 
unsigned int n);
  2076 #ifdef _MGUSE_OWN_MALLOC  2097 int init_minigui_malloc (
unsigned char* heap, 
unsigned int heap_size,
  2098                 int (*lock_heap) (
void), 
int (*unlock_heap) (
void));
  2100 #define USE_DL_PREFIX  2102 #include "own_malloc.h"  2105 #define calloc      dlcalloc  2107 #define malloc      dlmalloc  2108 #define memalign    dlmemalign  2109 #define realloc     dlrealloc  2110 #define valloc      dlvalloc  2115 #if defined(__CC_ARM)  2117 #   undef HAVE_ALLOCA_H  2120 #ifdef HAVE_ALLOCA_H  2121 #   include <alloca.h>  2122 #   define ALLOCATE_LOCAL(size)    alloca((int)(size))  2123 #   define DEALLOCATE_LOCAL(ptr)     2125 #   define ALLOCATE_LOCAL(size)    malloc((int)(size))  2126 #   define DEALLOCATE_LOCAL(ptr)   free(ptr)  2129 #ifdef _MGUSE_OWN_STDIO  2143 int init_minigui_printf (
int (*output_char) (
int ch),
  2144                 int (*input_char) (
void));
  2146 #if defined (__UCOSII__) || defined (__VXWORKS__) || defined (__NUCLEUS__) || defined (__PSOS__)  2147 #   undef _PRINTF_FLOATING_POINT  2148 #   undef _SCANF_FLOATING_POINT  2151 #       define _PRINTF_FLOATING_POINT      1  2152 #       define _SCANF_FLOATING_POINT       1  2158 #   define isnan    _isnan  2159 #   define finite   _finite  2162 #undef _I18N_MB_REQUIRED  2164 #if defined(__VXWORKS__) || defined(WIN32) || defined (__NUCLEUS_MNT__) || defined (__PSOS__)  2165   #define _MGUSE_OWN_SNPRINTF  2166   #define _MGUSE_OWN_VSNPRINTF  2167   #define _MGUSE_OWN_VFNPRINTF  2169   #define _MGUSE_OWN_PRINTF  2170   #define _MGUSE_OWN_FPRINTF  2171   #define _MGUSE_OWN_SPRINTF  2172   #define _MGUSE_OWN_FNPRINTF  2173   #define _MGUSE_OWN_SNPRINTF  2174   #define _MGUSE_OWN_VPRINTF  2175   #define _MGUSE_OWN_VFPRINTF  2176   #define _MGUSE_OWN_VSPRINTF  2177   #define _MGUSE_OWN_VFNPRINTF  2178   #define _MGUSE_OWN_VSNPRINTF  2179   #define _MGUSE_OWN_SCANF  2180   #define _MGUSE_OWN_FSCANF  2181   #define _MGUSE_OWN_SSCANF  2182   #define _MGUSE_OWN_VSCANF  2183   #define _MGUSE_OWN_VFSCANF  2184   #define _MGUSE_OWN_VSSCANF  2187 #include "own_stdio.h"  2190 #ifdef _MGUSE_OWN_PRINTF  2191   #define printf      own_printf  2194 #ifdef _MGUSE_OWN_FPRINTF  2195   #define fprintf     own_fprintf  2198 #ifdef _MGUSE_OWN_SPRINTF  2199   #define sprintf     own_sprintf  2202 #ifdef _MGUSE_OWN_FNPRINTF  2203   #define fnprintf    own_fnprintf  2206 #ifdef _MGUSE_OWN_SNPRINTF  2207   #define snprintf    own_snprintf  2210 #ifdef _MGUSE_OWN_VPRINTF  2211   #define vprintf     own_vprintf  2214 #ifdef _MGUSE_OWN_VFPRINTF  2215   #define vfprintf    own_vfprintf  2218 #ifdef _MGUSE_OWN_VSPRINTF  2219   #define vsprintf    own_vsprintf  2222 #ifdef _MGUSE_OWN_VFNPRINTF  2223   #define vfnprintf   own_vfnprintf  2226 #ifdef _MGUSE_OWN_VSNPRINTF  2227   #define vsnprintf   own_vsnprintf  2230 #ifdef _MGUSE_OWN_SCANF  2231   #define scanf       own_scanf  2234 #ifdef _MGUSE_OWN_FSCANF  2235   #define fscanf      own_fscanf  2238 #ifdef _MGUSE_OWN_SSCANF  2239   #define sscanf      own_sscanf  2242 #ifdef _MGUSE_OWN_VSCANF  2243   #define vscanf      own_vscanf  2246 #ifdef _MGUSE_OWN_VFSCANF  2247   #define vfscanf     own_vfscanf  2250 #ifdef _MGUSE_OWN_VSSCANF  2251   #define vsscanf     own_vsscanf  2257     #define TCS_NONE(fp)            fprintf (fp, "\e[0m")  2258     #define TCS_BLACK(fp)           fprintf (fp, "\e[0;30m")  2259     #define TCS_BOLD_BLACK(fp)      fprintf (fp, "\e[1;30m")  2260     #define TCS_RED(fp)             fprintf (fp, "\e[0;31m")  2261     #define TCS_BOLD_RED(fp)        fprintf (fp, "\e[1;31m")  2262     #define TCS_GREEN(fp)           fprintf (fp, "\e[0;32m")  2263     #define TCS_BOLD_GREEN(fp)      fprintf (fp, "\e[1;32m")  2264     #define TCS_BROWN(fp)           fprintf (fp, "\e[0;33m")  2265     #define TCS_YELLOW(fp)          fprintf (fp, "\e[1;33m")  2266     #define TCS_BLUE(fp)            fprintf (fp, "\e[0;34m")  2267     #define TCS_BOLD_BLUE(fp)       fprintf (fp, "\e[1;34m")  2268     #define TCS_PURPLE(fp)          fprintf (fp, "\e[0;35m")  2269     #define TCS_BOLD_PURPLE(fp)     fprintf (fp, "\e[1;35m")  2270     #define TCS_CYAN(fp)            fprintf (fp, "\e[0;36m")  2271     #define TCS_BOLD_CYAN(fp)       fprintf (fp, "\e[1;36m")  2272     #define TCS_GRAY(fp)            fprintf (fp, "\e[0;37m")  2273     #define TCS_WHITE(fp)           fprintf (fp, "\e[1;37m")  2274     #define TCS_BOLD(fp)            fprintf (fp, "\e[1m")  2275     #define TCS_UNDERLINE(fp)       fprintf (fp, "\e[4m")  2276     #define TCS_BLINK(fp)           fprintf (fp, "\e[5m")  2277     #define TCS_REVERSE(fp)         fprintf (fp, "\e[7m")  2278     #define TCS_HIDE(fp)            fprintf (fp, "\e[8m")  2279     #define TCS_CLEAR(fp)           fprintf (fp, "\e[2J")  2280     #define TCS_CLRLINE(fp)         fprintf (fp, "\e[1K\r")  2282     #define TCS_NONE(fp)  2283     #define TCS_BLACK(fp)  2284     #define TCS_BOLD_BLACK(fp)  2286     #define TCS_BOLD_RED(fp)  2287     #define TCS_GREEN(fp)  2288     #define TCS_BOLD_GREEN(fp)  2289     #define TCS_BROWN(fp)  2290     #define TCS_YELLOW(fp)  2291     #define TCS_BLUE(fp)  2292     #define TCS_BOLD_BLUE(fp)  2293     #define TCS_PURPLE(fp)  2294     #define TCS_BOLD_PURPLE(fp)  2295     #define TCS_CYAN(fp)  2296     #define TCS_BOLD_CYAN(fp)  2297     #define TCS_GRAY(fp)  2298     #define TCS_WHITE(fp)  2299     #define TCS_BOLD(fp)  2300     #define TCS_UNDERLINE(fp)  2301     #define TCS_BLINK(fp)  2302     #define TCS_REVERSE(fp)  2303     #define TCS_HIDE(fp)  2304     #define TCS_CLEAR(fp)  2305     #define TCS_CLRLINE(fp)  2308 #define _MG_PRINTF(fmt, ...)                    \  2310         TCS_GREEN (stdout);                     \  2311         fprintf (stdout, fmt, ##__VA_ARGS__);   \  2312         TCS_NONE (stdout);                      \  2315 #define _WRN_PRINTF(fmt, ...)                   \  2317         TCS_BROWN (stderr);                    \  2318         fprintf (stderr, "%s: ", __FUNCTION__); \  2319         fprintf (stderr, fmt, ##__VA_ARGS__);   \  2320         fprintf (stderr, "\n");                 \  2321         TCS_NONE (stderr);                      \  2324 #define _ERR_PRINTF(fmt, ...)                   \  2327         fprintf (stderr, fmt, ##__VA_ARGS__);   \  2328         TCS_NONE (stderr);                      \  2332 #   define _DBG_PRINTF(fmt, ...)                \  2334         TCS_YELLOW (stderr);                    \  2335         fprintf (stderr, fmt, ##__VA_ARGS__);   \  2336         TCS_NONE (stderr);                      \  2339 #   define _DBG_PRINTF(fmt, ...)  2342 #ifdef _MGRM_THREADS  2344 #ifdef _MGUSE_OWN_PTHREAD  2346 #define MAIN_PTH_MIN_STACK_SIZE (1024)  2347 #define MAIN_PTH_DEF_STACK_SIZE (1024*4)  2372 int start_minigui_pthread (
int (* pth_entry) (
int argc, 
const char* argv []),
  2373                 int argc, 
const char* argv[],
  2374                 char* stack_base, 
unsigned int stack_size);
  2410 #define pthread_create vxworks_pthread_create  2411 #define pthread_self   vxworks_pthread_self  2412 #define pthread_equal  vxworks_pthread_equal  2413 #define pthread_exit   vxworks_pthread_exit  2414 #define pthread_join   vxworks_pthread_join  2415 #define pthread_detach vxworks_pthread_detach  2416 #define pthread_cancel vxworks_pthread_cancel  2417 #define pthread_once   vxworks_pthread_once  2418 #define pthread_key_create vxworks_pthread_key_create  2419 #define pthread_key_delete vxworks_pthread_key_delete  2420 #define pthread_setspecific vxworks_pthread_setspecific  2421 #define pthread_getspecific vxworks_pthread_getspecific  2422 #define pthread_setcancelstate vxworks_pthread_setcancelstate  2423 #define pthread_setcanceltype vxworks_pthread_setcanceltype  2424 #define pthread_testcancel vxworks_pthread_testcancel  2426 #define pthread_attr_init    vxworks_pthread_attr_init  2427 #define pthread_attr_destroy vxworks_pthread_attr_destroy  2428 #define pthread_attr_setdetachstate vxworks_pthread_attr_setdetachstate  2429 #define pthread_attr_getdetachstate vxworks_pthread_attr_getdetachstate  2430 #define pthread_attr_setscope vxworks_pthread_attr_setscope  2431 #define pthread_attr_getscope vxworks_pthread_attr_getscope  2432 #define pthread_attr_setinheritsched vxworks_pthread_attr_setinheritsched  2433 #define pthread_attr_getinheritsched vxworks_pthread_attr_getinheritsched  2434 #define pthread_attr_setschedpolicy vxworks_pthread_attr_setschedpolicy  2435 #define pthread_attr_getschedpolicy vxworks_pthread_attr_getschedpolicy  2436 #define pthread_attr_setschedparam vxworks_pthread_attr_setschedparam  2437 #define pthread_attr_getschedparam vxworks_pthread_attr_getschedparam  2438 #define pthread_attr_setstackaddr vxworks_pthread_attr_setstackaddr  2439 #define pthread_attr_getstackaddr vxworks_pthread_attr_getstackaddr  2440 #define pthread_attr_setstacksize vxworks_pthread_attr_setstacksize  2441 #define pthread_attr_getstacksize vxworks_pthread_attr_getstacksize  2442 #define pthread_setschedparam vxworks_pthread_setschedparam  2443 #define pthread_getschedparam vxworks_pthread_getschedparam  2445 #define pthread_mutex_init  vxworks_pthread_mutex_init  2446 #define pthread_mutex_destroy vxworks_pthread_mutex_destroy  2447 #define pthread_mutex_lock  vxworks_pthread_mutex_lock  2448 #define pthread_mutex_unlock vxworks_pthread_mutex_unlock  2449 #define pthread_mutex_trylock vxworks_pthread_mutex_trylock  2450 #define pthread_mutexattr_init vxworks_pthread_mutexattr_init  2451 #define pthread_mutexattr_destroy vxworks_pthread_mutexattr_destroy  2452 #define pthread_mutexattr_setpriorityinherit vxworks_pthread_mutexattr_setpriorityinherit  2453 #define pthread_mutexattr_getpriorityinherit vxworks_pthread_mutexattr_getpriorityinherit  2455 #ifdef _MGUSE_OWN_SEMAPHORE  2457 #define sem_t vxworks_sem_t  2459 #define sem_init vxworks_sem_init  2460 #define sem_destroy vxworks_sem_destroy  2461 #define sem_wait vxworks_sem_wait  2462 #define sem_trywait vxworks_sem_trywait  2463 #define sem_post vxworks_sem_post  2464 #define sem_getvalue vxworks_sem_getvalue  2470 #ifdef __MINIGUI_LIB__  2473 #   include "ucos2_pthread.h"  2474 #   include "ucos2_semaphore.h"  2475 #elif defined (__THREADX__)  2476 #   include "threadx_pthread.h"  2477 #   include "threadx_semaphore.h"  2478 #elif defined (__NUCLEUS__)  2479 #   include "nucleus_pthread.h"  2480 #   include "nucleus_semaphore.h"  2481 #elif defined (__VXWORKS__)  2482 #   include "vxworks_pthread.h"  2483 #   ifdef _MGUSE_OWN_SEMAPHORE  2484 #       include "vxworks_semaphore.h"  2486 #       include "semaphore.h"  2488 #elif defined (__OSE__)  2489 #   include "pthread.h"  2490 #   include "ose_semaphore.h"  2491 #elif defined (__PSOS__)  2492 #   include "psos_pthread.h"  2493 #   include "psos_semaphore.h"  2494 #elif defined (WIN32)  2495 #   include "win32_pthread.h"  2496 #   include "win32_semaphore.h"  2498 #   error No own pthread implementation for this OS!  2503 #   include <pthread.h>  2504 #   include <semaphore.h>  2510 #include <pthread.h>  2511 #include <semaphore.h>  2517 #define _USE_SEM_ON_SYSVIPC     1  2521 #if defined (_USE_MUTEX_ON_SYSVIPC) || defined (_USE_SEM_ON_SYSVIPC)  2523 int _sysvipc_mutex_sem_init (
void);
  2524 int _sysvipc_mutex_sem_term (
void);
  2528 #ifdef _USE_MUTEX_ON_SYSVIPC  2530 #define pthread_mutex_t _sysvipc_pthread_mutex_t  2531 #define pthread_mutexattr_t _sysvipc_pthread_mutexattr_t  2533 #define pthread_mutexattr_init _sysvipc_pthread_mutexattr_init  2534 #define pthread_mutexattr_destroy _sysvipc_pthread_mutexattr_destroy  2535 #define pthread_mutexattr_settype _sysvipc_pthread_mutexattr_settype  2536 #define pthread_mutexattr_gettype _sysvipc_pthread_mutexattr_gettype  2538 #define pthread_init _sysvipc_pthread_init  2539 #define pthread_mutex_init _sysvipc_pthread_mutex_init  2540 #define pthread_mutex_destroy _sysvipc_pthread_mutex_destroy  2541 #define pthread_mutex_lock _sysvipc_pthread_mutex_lock  2542 #define pthread_mutex_trylock _sysvipc_pthread_mutex_trylock  2543 #define pthread_mutex_unlock _sysvipc_pthread_mutex_unlock  2553 #define SYSVIPC_PTHREAD_MUTEX_FAST_NP         0  2554 #define SYSVIPC_PTHREAD_MUTEX_RECURSIVE_NP    1  2555 #define SYSVIPC_PTHREAD_MUTEX_ERRORCHECK_NP   2  2560 } pthread_mutexattr_t;
  2562 int pthread_mutexattr_init (pthread_mutexattr_t *attr);
  2563 int pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
  2564 int pthread_mutexattr_settype (pthread_mutexattr_t *attr, 
int type);
  2565 int pthread_mutexattr_gettype (
const pthread_mutexattr_t *attr, 
int* type);
  2567 int pthread_mutex_init (pthread_mutex_t *mutex,
  2568                                 const pthread_mutexattr_t *mutex_attr);
  2570 int pthread_mutex_destroy (pthread_mutex_t *mutex);
  2572 int pthread_mutex_lock (pthread_mutex_t *mutex);
  2573 int pthread_mutex_trylock (pthread_mutex_t *mutex);
  2574 int pthread_mutex_unlock (pthread_mutex_t *mutex);
  2578 #ifdef _USE_SEM_ON_SYSVIPC  2580 #define sem_t _sysvipc_sem_t  2582 #define sem_init _sysvipc_sem_init  2583 #define sem_destroy _sysvipc_sem_destroy  2584 #define sem_wait _sysvipc_sem_wait  2585 #define sem_trywait _sysvipc_sem_trywait  2586 #define sem_post _sysvipc_sem_post  2587 #define sem_getvalue _sysvipc_sem_getvalue  2589 #define SYSVIPC_SEM_VALUE_MAX   USHRT_MAX  2601 int sem_init (sem_t *sem, 
int pshared, 
unsigned int value);
  2602 int sem_destroy (sem_t *sem);
  2603 int sem_wait (sem_t *sem);
  2604 int sem_trywait (sem_t *sem);
  2605 int sem_post (sem_t *sem);
  2606 int sem_getvalue (sem_t *sem, 
int *sval);
 struct _GAL_Rect GAL_Rect
 
GHANDLE HACCEL
Handle to accelarator. 
 
int BOOL
A type definition for boolean value. 
 
long LONG
A type definition for long integer. 
 
unsigned char BYTE
A type definition for an 8-bit unsigned character (byte). 
 
SIZE * PSIZE
Data type of the pointer to a SIZE. 
 
signed short SWORD16
A type definition for a 16-bit signed integer. 
 
POINT * PPOINT
Data type of the pointer to a POINT. 
 
Uint32 gal_uint32
Data type of 32-bit unsigned integer. 
 
unsigned long DWORD_PTR
An unsigned long type for pointer precision. 
 
Uint32 gal_attr
Data type of attribute value. 
 
Uint32 gal_pixel
Data type of pixel value. 
 
unsigned long long Uint64
A type definition for a 64-bit unsigned integer. 
 
signed short Sint16
A type definition for a 16-bit signed integer. 
 
unsigned short Uint16
A type definition for a 16-bit unsigned integer. 
 
DWORD32 RGBCOLOR
A type definition for a RGB color. 
 
struct _GAL_Palette GAL_Palette
 
signed char Sint8
A type definition for an 8-bit signed character. 
 
GHANDLE HDC
Handle to device context. 
 
long LONG_PTR
A signed long type for pointer precision. 
 
GHANDLE HHOOK
Handle to keyboard or mouse event hook. 
 
unsigned int gal_uint
Data type of unsigned integer. 
 
unsigned short WORD16
A type definition for a 16-bit unsigned integer (word). 
 
signed long long Sint64
A type definition for a 64-bit signed integer. 
 
Uint8 gal_uint8
Data type of 8-bit unsigned integer. 
 
signed int Sint32
A type definition for a 32-bit signed integer. 
 
GHANDLE HWND
Handle to main window or control. 
 
GHANDLE HDLG
Handle to dialog box, same as HWND. 
 
unsigned short WORD_HPTR
An unsigned int (word) type in half pointer precision. 
 
int INT_PTR
A signed integer type for pointer precision. 
 
RGB * PRGB
Data type of the pointer to a RGB. 
 
LONG_PTR LINT
Signed integer which has pointer precision. 
 
GHANDLE HCURSOR
Handle to cursor. 
 
PVOID GHANDLE
General handle. 
 
RECT * PRECT
Data type of the pointer to a RECT. 
 
unsigned char Uint8
A type definition for an 8-bit unsigned character. 
 
UINT_PTR LPARAM
A type definition for the second message paramter. 
 
GHANDLE HPALETTE
Handle to a logical palette. 
 
Sint16 gal_sint16
Data type of 16-bit signed integer. 
 
Sint8 gal_sint8
Data type of 8-bit signed integer. 
 
signed short SWORD_HPTR
An signed int type in half pointer precision. 
 
unsigned long ULONG
A type definition for unsigned long integer. 
 
struct _GAL_Color GAL_Color
 
long fixed
Data type of fixed point. 
 
WORD_HPTR WORD
A type definition for an unsigned integer (word). 
 
unsigned int Uint32
A type definition for a 32-bit unsigned integer. 
 
UINT_PTR WPARAM
A type definition for the first message paramter. 
 
DWORD_PTR DWORD
A unsigned long type definition for pointer precision. 
 
SWORD_HPTR SWORD
A type definition for a signed integer. 
 
LONG_PTR LRESULT
Signed result of message processing. 
 
void * PVOID
A type definition for a pointer to any type. 
 
signed long SDWORD_PTR
A signed long type for pointer precision. 
 
unsigned long UINT_PTR
A unsigned integer type for pointer precision. 
 
signed int gal_sint
Data type of signed integer. 
 
SDWORD_PTR SDWORD
A signed long type definition for pointer precision. 
 
unsigned int UINT
A type definition for unsigned integer. 
 
unsigned int DWORD32
A type definition for a 32-bit unsigned integer. 
 
Sint32 gal_sint32
Data type of 32-bit signed integer. 
 
GHANDLE HMENU
Handle to menu. 
 
Uint16 gal_uint16
Data type of 16-bit unsigned integer. 
 
signed char SBYTE
A type definition for an 8-bit signed character. 
 
GHANDLE HICON
Handle to icon. 
 
signed int SDWORD32
A type definition for a 32-bit signed integer.