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__) || defined(__aarch64__) || \ 310 defined(__riscv) || \ 311 (defined(__CC_ARM) && !defined(__BIG_ENDIAN)) || \ 312 (defined(__mips__) && defined(__MIPSEL__)) || \ 313 defined(__LITTLE_ENDIAN__) || \ 315 # define MGUI_BYTEORDER MGUI_LIL_ENDIAN 317 # define MGUI_BYTEORDER MGUI_BIG_ENDIAN 365 # define NULL ((void *)0) 373 #define INV_PTR ((void *)-1) 377 #if !defined(__NODLL__) && (defined (WIN32) || defined (__NUCLEUS_MNT__)) 378 # if defined(__MINIGUI_LIB__) 379 # define MG_EXPORT __declspec(dllexport) 381 # define MG_EXPORT __declspec(dllimport) 473 # define SIZEOF_PTR 8 474 # define SIZEOF_HPTR 4 475 #elif defined(__LP64__) 476 # define SIZEOF_PTR 8 477 # define SIZEOF_HPTR 4 479 # define SIZEOF_PTR 4 480 # define SIZEOF_HPTR 2 484 # define NR_BITS_BYTE (8) 485 # define NR_BITS_WORD (32) 486 # define NR_BITS_DWORD (64) 488 # define BITMASK_BYTE (0xFF) 489 # define BITMASK_WORD (0xFFFFFFFF) 490 # define BITMASK_DWORD (0xFFFFFFFFFFFFFFFF) 492 # define INT_PTR_MIN (-9223372036854775807L-1) 493 # define INT_PTR_MAX (9223372036854775807L) 494 # define UINT_PTR_MAX (18446744073709551615UL) 496 # define NR_BITS_BYTE (8) 497 # define NR_BITS_WORD (16) 498 # define NR_BITS_DWORD (32) 500 # define BITMASK_BYTE (0xFF) 501 # define BITMASK_WORD (0xFFFF) 502 # define BITMASK_DWORD (0xFFFFFFFF) 504 # define INT_PTR_MIN (-2147483647-1) 505 # define INT_PTR_MAX (2147483647) 506 # define UINT_PTR_MAX (4294967295U) 515 #elif defined(__LP64__) 527 #elif defined(__LP64__) 563 #elif defined(__LP64__) 590 #elif defined(__LP64__) 617 #elif defined(__LP64__) 636 typedef unsigned short QDWORD;
637 #define QDWORD_SHIFT 16 639 typedef unsigned char QDWORD;
640 #define QDWORD_SHIFT 8 643 #define MAKEDWORD(q1, q2, q3, q4) \ 645 (((DWORD)(QDWORD)(q1))) | \ 646 (((DWORD)((QDWORD)(q2))) << QDWORD_SHIFT) | \ 647 (((DWORD)((QDWORD)(q3))) << (QDWORD_SHIFT*2)) | \ 648 (((DWORD)((QDWORD)(q4))) << (QDWORD_SHIFT*3)) \ 651 #define FIRST_QDWORD(dw) ((QDWORD)(((DWORD)(dw)))) 652 #define SECOND_QDWORD(dw) ((QDWORD)((((DWORD)(dw)) >> QDWORD_SHIFT))) 653 #define THIRD_QDWORD(dw) ((QDWORD)((((DWORD)(dw)) >> (QDWORD_SHIFT*2)))) 654 #define FOURTH_QDWORD(dw) ((QDWORD)((((DWORD)(dw)) >> (QDWORD_SHIFT*3)))) 668 #elif defined(__LP64__) 680 #elif defined(__LP64__) 716 #define LOBYTE(w) ((BYTE)(w)) 724 #define HIBYTE(w) ((BYTE)(((WORD)(w) >> NR_BITS_BYTE) & BITMASK_BYTE)) 732 #define MAKEWORD(low, high) ((WORD)(((BYTE)(low)) | (((WORD)((BYTE)(high))) << NR_BITS_BYTE))) 740 #define MAKEWORD16(low, high) ((WORD16)(((BYTE)(low)) | (((WORD16)((BYTE)(high))) << 8))) 748 #define MAKEDWORD32(first, second, third, fourth) \ 751 (((DWORD32)((BYTE)(second))) << 8) | \ 752 (((DWORD32)((BYTE)(third))) << 16) | \ 753 (((DWORD32)((BYTE)(fourth))) << 24) \ 762 #define MAKEWPARAM(first, second, third, fourth) \ 765 (((WPARAM)((BYTE)(second))) << 8) | \ 766 (((WPARAM)((BYTE)(third))) << 16) | \ 767 (((WPARAM)((BYTE)(fourth))) << 24) \ 776 #define FIRSTBYTE(w) ((BYTE)(w)) 784 #define SECONDBYTE(w) ((BYTE)(((DWORD32)(w)) >> 8)) 792 #define THIRDBYTE(w) ((BYTE)(((DWORD32)(w)) >> 16)) 800 #define FOURTHBYTE(w) ((BYTE)(((DWORD32)(w)) >> 24)) 808 #define LOWORD(l) ((WORD)(DWORD)(l)) 815 #define HIWORD(l) ((WORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD)) 823 #define LOSWORD(l) ((SWORD)(DWORD)(l)) 830 #define HISWORD(l) ((SWORD)((((DWORD)(l)) >> NR_BITS_WORD) & BITMASK_WORD)) 837 #define MAKELONG32(low, high) ((DWORD32)(((WORD16)(low)) | (((DWORD32)((WORD16)(high))) << 16))) 844 #define MAKELONG(low, high) ((DWORD)(((WORD)(low)) | (((DWORD)((WORD)(high))) << NR_BITS_WORD))) 860 #define GetRValue(rgba) ((BYTE)(rgba)) 869 #define GetGValue(rgba) ((BYTE)(((DWORD32)(rgba)) >> 8)) 878 #define GetBValue(rgba) ((BYTE)((DWORD32)(rgba) >> 16)) 887 #define GetAValue(rgba) ((BYTE)((DWORD32)(rgba) >> 24)) 899 #define MakeRGBA(r, g, b, a) \ 900 (((DWORD32)((BYTE)(r))) \ 901 | ((DWORD32)((BYTE)(g)) << 8) \ 902 | ((DWORD32)((BYTE)(b)) << 16) \ 903 | ((DWORD32)((BYTE)(a)) << 24)) 915 #define MakeRGB(r, g, b) MakeRGBA((r), (g), (b), 255) 1186 #define MGUI_NR_KEYS 255 1220 #define SCANCODE_USER (NR_KEYS + 1) 1222 #define SCANCODE_RESERVED 0 1223 #define SCANCODE_ESCAPE 1 1224 #define SCANCODE_ESC SCANCODE_ESCAPE 1226 #define SCANCODE_1 2 1227 #define SCANCODE_2 3 1228 #define SCANCODE_3 4 1229 #define SCANCODE_4 5 1230 #define SCANCODE_5 6 1231 #define SCANCODE_6 7 1232 #define SCANCODE_7 8 1233 #define SCANCODE_8 9 1234 #define SCANCODE_9 10 1235 #define SCANCODE_0 11 1237 #define SCANCODE_MINUS 12 1238 #define SCANCODE_EQUAL 13 1240 #define SCANCODE_BACKSPACE 14 1241 #define SCANCODE_TAB 15 1243 #define SCANCODE_Q 16 1244 #define SCANCODE_W 17 1245 #define SCANCODE_E 18 1246 #define SCANCODE_R 19 1247 #define SCANCODE_T 20 1248 #define SCANCODE_Y 21 1249 #define SCANCODE_U 22 1250 #define SCANCODE_I 23 1251 #define SCANCODE_O 24 1252 #define SCANCODE_P 25 1253 #define SCANCODE_BRACKET_LEFT 26 1254 #define SCANCODE_LEFTBRACE SCANCODE_BRACKET_LEFT 1255 #define SCANCODE_BRACKET_RIGHT 27 1256 #define SCANCODE_RIGHTBRACE SCANCODE_BRACKET_RIGHT 1258 #define SCANCODE_ENTER 28 1260 #define SCANCODE_LEFTCONTROL 29 1261 #define SCANCODE_LEFTCTRL SCANCODE_LEFTCONTROL 1263 #define SCANCODE_A 30 1264 #define SCANCODE_S 31 1265 #define SCANCODE_D 32 1266 #define SCANCODE_F 33 1267 #define SCANCODE_G 34 1268 #define SCANCODE_H 35 1269 #define SCANCODE_J 36 1270 #define SCANCODE_K 37 1271 #define SCANCODE_L 38 1272 #define SCANCODE_SEMICOLON 39 1273 #define SCANCODE_APOSTROPHE 40 1274 #define SCANCODE_GRAVE 41 1275 #define SCANCODE_LEFTSHIFT 42 1276 #define SCANCODE_BACKSLASH 43 1278 #define SCANCODE_Z 44 1279 #define SCANCODE_X 45 1280 #define SCANCODE_C 46 1281 #define SCANCODE_V 47 1282 #define SCANCODE_B 48 1283 #define SCANCODE_N 49 1284 #define SCANCODE_M 50 1285 #define SCANCODE_COMMA 51 1286 #define SCANCODE_PERIOD 52 1287 #define SCANCODE_DOT SCANCODE_PERIOD 1288 #define SCANCODE_SLASH 53 1289 #define SCANCODE_RIGHTSHIFT 54 1290 #define SCANCODE_KEYPADMULTIPLY 55 1291 #define SCANCODE_KPASTERISK SCANCODE_KEYPADMULTIPLY 1292 #define SCANCODE_LEFTALT 56 1293 #define SCANCODE_SPACE 57 1294 #define SCANCODE_CAPSLOCK 58 1296 #define SCANCODE_F1 59 1297 #define SCANCODE_F2 60 1298 #define SCANCODE_F3 61 1299 #define SCANCODE_F4 62 1300 #define SCANCODE_F5 63 1301 #define SCANCODE_F6 64 1302 #define SCANCODE_F7 65 1303 #define SCANCODE_F8 66 1304 #define SCANCODE_F9 67 1305 #define SCANCODE_F10 68 1307 #define SCANCODE_NUMLOCK 69 1308 #define SCANCODE_SCROLLLOCK 70 1310 #define SCANCODE_KEYPAD7 71 1311 #define SCANCODE_KP7 SCANCODE_KEYPAD7 1312 #define SCANCODE_CURSORUPLEFT 71 1313 #define SCANCODE_KEYPAD8 72 1314 #define SCANCODE_KP8 SCANCODE_KEYPAD8 1315 #define SCANCODE_CURSORUP 72 1316 #define SCANCODE_KEYPAD9 73 1317 #define SCANCODE_KP9 SCANCODE_KEYPAD9 1318 #define SCANCODE_CURSORUPRIGHT 73 1319 #define SCANCODE_KEYPADMINUS 74 1320 #define SCANCODE_KPMINUS SCANCODE_KEYPADMINUS 1321 #define SCANCODE_KEYPAD4 75 1322 #define SCANCODE_KP4 SCANCODE_KEYPAD4 1323 #define SCANCODE_CURSORLEFT 75 1324 #define SCANCODE_KEYPAD5 76 1325 #define SCANCODE_KP5 SCANCODE_KEYPAD5 1326 #define SCANCODE_KEYPAD6 77 1327 #define SCANCODE_KP6 SCANCODE_KEYPAD6 1328 #define SCANCODE_CURSORRIGHT 77 1329 #define SCANCODE_KEYPADPLUS 78 1330 #define SCANCODE_KPPLUS SCANCODE_KEYPADPLUS 1331 #define SCANCODE_KEYPAD1 79 1332 #define SCANCODE_KP1 SCANCODE_KEYPAD1 1333 #define SCANCODE_CURSORDOWNLEFT 79 1334 #define SCANCODE_KEYPAD2 80 1335 #define SCANCODE_KP2 SCANCODE_KEYPAD2 1336 #define SCANCODE_CURSORDOWN 80 1337 #define SCANCODE_KEYPAD3 81 1338 #define SCANCODE_KP3 SCANCODE_KEYPAD3 1339 #define SCANCODE_CURSORDOWNRIGHT 81 1340 #define SCANCODE_KEYPAD0 82 1341 #define SCANCODE_KP0 SCANCODE_KEYPAD0 1342 #define SCANCODE_KEYPADPERIOD 83 1343 #define SCANCODE_KPDOT SCANCODE_KEYPADPERIOD 1345 #define SCANCODE_ZENKAKUHANKAKU 85 1347 #define SCANCODE_LESS 86 1348 #define SCANCODE_102ND SCANCODE_LESS 1350 #define SCANCODE_F11 87 1351 #define SCANCODE_F12 88 1353 #define SCANCODE_RO 89 1354 #define SCANCODE_KATAKANA 90 1355 #define SCANCODE_HIRAGANA 91 1356 #define SCANCODE_HENKAN 92 1357 #define SCANCODE_KATAKANAHIRAGANA 93 1358 #define SCANCODE_MUHENKAN 94 1359 #define SCANCODE_KPJPCOMMA 95 1361 #define SCANCODE_KEYPADENTER 96 1362 #define SCANCODE_KPENTER SCANCODE_KEYPADENTER 1363 #define SCANCODE_RIGHTCONTROL 97 1364 #define SCANCODE_RIGHTCTRL SCANCODE_RIGHTCONTROL 1365 #define SCANCODE_CONTROL 97 1366 #define SCANCODE_KEYPADDIVIDE 98 1367 #define SCANCODE_KPSLASH SCANCODE_KEYPADDIVIDE 1368 #define SCANCODE_PRINTSCREEN 99 1369 #define SCANCODE_SYSRQ SCANCODE_PRINTSCREEN 1370 #define SCANCODE_RIGHTALT 100 1371 #define SCANCODE_LINEFEED 101 1373 #define SCANCODE_HOME 102 1374 #define SCANCODE_CURSORBLOCKUP 103 1375 #define SCANCODE_UP SCANCODE_CURSORBLOCKUP 1376 #define SCANCODE_PAGEUP 104 1377 #define SCANCODE_CURSORBLOCKLEFT 105 1378 #define SCANCODE_LEFT SCANCODE_CURSORBLOCKLEFT 1379 #define SCANCODE_CURSORBLOCKRIGHT 106 1380 #define SCANCODE_RIGHT SCANCODE_CURSORBLOCKRIGHT 1381 #define SCANCODE_END 107 1382 #define SCANCODE_CURSORBLOCKDOWN 108 1383 #define SCANCODE_DOWN SCANCODE_CURSORBLOCKDOWN 1384 #define SCANCODE_PAGEDOWN 109 1385 #define SCANCODE_INSERT 110 1386 #define SCANCODE_REMOVE 111 1387 #define SCANCODE_DELETE SCANCODE_REMOVE 1389 #define SCANCODE_MACRO 112 1390 #define SCANCODE_MUTE 113 1391 #define SCANCODE_VOLUMEDOWN 114 1392 #define SCANCODE_VOLUMEUP 115 1393 #define SCANCODE_POWER 116 1394 #define SCANCODE_KPEQUAL 117 1395 #define SCANCODE_KPPLUSMINUS 118 1396 #define SCANCODE_BREAK 119 1397 #define SCANCODE_BREAK_ALTERNATIVE SCANCODE_BREAK 1398 #define SCANCODE_PAUSE SCANCODE_BREAK 1400 #define SCANCODE_SCALE 120 1401 #define SCANCODE_KPCOMMA 121 1402 #define SCANCODE_HANGEUL 122 1403 #define SCANCODE_HANJA 123 1404 #define SCANCODE_YEN 124 1405 #define SCANCODE_LEFTWIN 125 1406 #define SCANCODE_LEFTMETA SCANCODE_LEFTWIN 1407 #define SCANCODE_RIGHTWIN 126 1408 #define SCANCODE_RIGHTMETA SCANCODE_RIGHTWIN 1409 #define SCANCODE_COMPOSE 127 1410 #define SCANCODE_STOP 128 1411 #define SCANCODE_AGAIN 129 1412 #define SCANCODE_PROPS 130 1413 #define SCANCODE_UNDO 131 1414 #define SCANCODE_FRONT 132 1415 #define SCANCODE_COPY 133 1416 #define SCANCODE_OPEN 134 1417 #define SCANCODE_PASTE 135 1418 #define SCANCODE_FIND 136 1419 #define SCANCODE_CUT 137 1420 #define SCANCODE_HELP 138 1421 #define SCANCODE_MENU 139 1422 #define SCANCODE_CALC 140 1423 #define SCANCODE_SETUP 141 1424 #define SCANCODE_SLEEP 142 1425 #define SCANCODE_WAKEUP 143 1426 #define SCANCODE_FILE 144 1427 #define SCANCODE_SENDFILE 145 1428 #define SCANCODE_DELETEFILE 146 1429 #define SCANCODE_XFER 147 1430 #define SCANCODE_PROG1 148 1431 #define SCANCODE_PROG2 149 1432 #define SCANCODE_WWW 150 1433 #define SCANCODE_MSDOS 151 1434 #define SCANCODE_COFFEE 152 1435 #define SCANCODE_SCREENLOCK SCANCODE_COFFEE 1436 #define SCANCODE_ROTATE_DISPLAY 153 1437 #define SCANCODE_DIRECTION SCANCODE_ROTATE_DISPLAY 1438 #define SCANCODE_CYCLEWINDOWS 154 1439 #define SCANCODE_MAIL 155 1440 #define SCANCODE_BOOKMARKS 156 1441 #define SCANCODE_COMPUTER 157 1442 #define SCANCODE_BACK 158 1443 #define SCANCODE_FORWARD 159 1444 #define SCANCODE_CLOSECD 160 1445 #define SCANCODE_EJECTCD 161 1446 #define SCANCODE_EJECTCLOSECD 162 1447 #define SCANCODE_NEXTSONG 163 1448 #define SCANCODE_PLAYPAUSE 164 1449 #define SCANCODE_PREVIOUSSONG 165 1450 #define SCANCODE_STOPCD 166 1451 #define SCANCODE_RECORD 167 1452 #define SCANCODE_REWIND 168 1453 #define SCANCODE_PHONE 169 1454 #define SCANCODE_ISO 170 1455 #define SCANCODE_CONFIG 171 1456 #define SCANCODE_HOMEPAGE 172 1457 #define SCANCODE_REFRESH 173 1458 #define SCANCODE_EXIT 174 1459 #define SCANCODE_MOVE 175 1460 #define SCANCODE_EDIT 176 1461 #define SCANCODE_SCROLLUP 177 1462 #define SCANCODE_SCROLLDOWN 178 1463 #define SCANCODE_KPLEFTPAREN 179 1464 #define SCANCODE_KPRIGHTPAREN 180 1465 #define SCANCODE_NEW 181 1466 #define SCANCODE_REDO 182 1467 #define SCANCODE_F13 183 1468 #define SCANCODE_F14 184 1469 #define SCANCODE_F15 185 1470 #define SCANCODE_F16 186 1471 #define SCANCODE_F17 187 1472 #define SCANCODE_F18 188 1473 #define SCANCODE_F19 189 1474 #define SCANCODE_F20 190 1475 #define SCANCODE_F21 191 1476 #define SCANCODE_F22 192 1477 #define SCANCODE_F23 193 1478 #define SCANCODE_F24 194 1480 #define SCANCODE_PLAYCD 200 1481 #define SCANCODE_PAUSECD 201 1482 #define SCANCODE_PROG3 202 1483 #define SCANCODE_PROG4 203 1484 #define SCANCODE_DASHBOARD 204 1485 #define SCANCODE_SUSPEND 205 1486 #define SCANCODE_CLOSE 206 1487 #define SCANCODE_PLAY 207 1488 #define SCANCODE_FASTFORWARD 208 1489 #define SCANCODE_BASSBOOST 209 1490 #define SCANCODE_PRINT 210 1491 #define SCANCODE_HP 211 1492 #define SCANCODE_CAMERA 212 1493 #define SCANCODE_SOUND 213 1494 #define SCANCODE_QUESTION 214 1495 #define SCANCODE_EMAIL 215 1496 #define SCANCODE_CHAT 216 1497 #define SCANCODE_SEARCH 217 1498 #define SCANCODE_CONNECT 218 1499 #define SCANCODE_FINANCE 219 1500 #define SCANCODE_SPORT 220 1501 #define SCANCODE_SHOP 221 1502 #define SCANCODE_ALTERASE 222 1503 #define SCANCODE_CANCEL 223 1504 #define SCANCODE_BRIGHTNESSDOWN 224 1505 #define SCANCODE_BRIGHTNESSUP 225 1506 #define SCANCODE_MEDIA 226 1507 #define SCANCODE_SWITCHVIDEOMODE 227 1508 #define SCANCODE_KBDILLUMTOGGLE 228 1509 #define SCANCODE_KBDILLUMDOWN 229 1510 #define SCANCODE_KBDILLUMUP 230 1511 #define SCANCODE_SEND 231 1512 #define SCANCODE_REPLY 232 1513 #define SCANCODE_FORWARDMAIL 233 1514 #define SCANCODE_SAVE 234 1515 #define SCANCODE_DOCUMENTS 235 1516 #define SCANCODE_BATTERY 236 1517 #define SCANCODE_BLUETOOTH 237 1518 #define SCANCODE_WLAN 238 1519 #define SCANCODE_UWB 239 1520 #define SCANCODE_UNKNOWN 240 1521 #define SCANCODE_VIDEO_NEXT 241 1522 #define SCANCODE_VIDEO_PREV 242 1523 #define SCANCODE_BRIGHTNESS_CYCLE 243 1524 #define SCANCODE_BRIGHTNESS_AUTO 244 1525 #define SCANCODE_BRIGHTNESS_ZERO SCANCODE_BRIGHTNESS_AUTO 1526 #define SCANCODE_DISPLAY_OFF 245 1527 #define SCANCODE_WWAN 246 1528 #define SCANCODE_WIMAX SCANCODE_WWAN 1529 #define SCANCODE_RFKILL 247 1530 #define SCANCODE_MICMUTE 248 1532 #define SCANCODE_LEFTBUTTON 0x1000 1533 #define SCANCODE_RIGHTBUTTON 0x2000 1534 #define SCANCODE_MIDDLBUTTON 0x4000 1545 #define KS_LEFTMETA 0x00002000 1556 #define KS_RIGHTMETA 0x00001000 1567 #define KS_META 0x00003000 1589 #define KS_REPEATED 0x00000800 1611 #define KS_CAPTURED 0x00000400 1619 #define KS_IMEPOST 0x00000200 1641 #define KS_CAPSLOCK 0x00000100 1650 #define KS_NUMLOCK 0x00000080 1659 #define KS_SCROLLLOCK 0x00000040 1668 #define KS_LEFTCTRL 0x00000020 1677 #define KS_RIGHTCTRL 0x00000010 1686 #define KS_CTRL 0x00000030 1695 #define KS_LEFTALT 0x00000008 1704 #define KS_RIGHTALT 0x00000004 1713 #define KS_ALT 0x0000000C 1722 #define KS_LEFTSHIFT 0x00000002 1731 #define KS_RIGHTSHIFT 0x00000001 1740 #define KS_SHIFT 0x00000003 1746 #define MASK_KS_SHIFTKEYS 0x0000FFFF 1755 #define KS_LEFTBUTTON 0x00010000 1764 #define KS_RIGHTBUTTON 0x00020000 1773 #define KS_MIDDLEBUTTON 0x00040000 1779 #define MASK_KS_BUTTONS 0x000F0000 1797 #define ERR_INV_HWND -1 1803 #define ERR_QUEUE_FULL -2 1809 #define ERR_INVALID_HANDLE -3 1815 #define ERR_INVALID_HMENU -4 1821 #define ERR_INVALID_POS -5 1827 #define ERR_INVALID_ID -6 1833 #define ERR_RES_ALLOCATION -7 1839 #define ERR_CTRLCLASS_INVNAME -8 1845 #define ERR_CTRLCLASS_INVLEN -9 1851 #define ERR_CTRLCLASS_MEM -10 1857 #define ERR_CTRLCLASS_INUSE -11 1863 #define ERR_ALREADY_EXIST -12 1869 #define ERR_NO_MATCH -13 1875 #define ERR_BAD_OWNER -14 1881 #define ERR_IME_TOOMUCHIMEWND -15 1887 #define ERR_IME_NOSUCHIMEWND -16 1893 #define ERR_IME_NOIMEWND -17 1899 #define ERR_CONFIG_FILE -18 1905 #define ERR_FILE_IO -19 1911 #define ERR_GFX_ENGINE -20 1917 #define ERR_INPUT_ENGINE -21 1923 #define ERR_NO_ENGINE -22 1929 #define ERR_INVALID_ARGS -23 1941 #define TABLESIZE(table) (sizeof(table)/sizeof(table[0])) 1949 #define MAX(x, y) (((x) > (y))?(x):(y)) 1956 #define MIN(x, y) (((x) < (y))?(x):(y)) 1963 #define ABS(x) (((x)<0) ? -(x) : (x)) 1967 #ifdef HAVE_LIMITS_H 1972 # define PATH_MAX 256 1976 # define NAME_MAX 64 1986 # define MAX_PATH PATH_MAX 1995 # define MAX_NAME NAME_MAX 2005 typedef unsigned long time_t;
2024 #if defined (__THREADX__) && defined (__TARGET_VFANVIL__) 2027 #include "os_type.h" 2028 #include "os_file_api.h" 2030 #define fopen tp_fopen 2031 #define fclose tp_fclose 2032 #define fwrite tp_fwrite 2033 #define fread tp_fread 2034 #define fseek tp_fseek 2035 #define feof tp_feof 2038 #define _HAVE_ASSERT 1 2040 #define assert(e) do { \ 2048 #define stdin ((FILE*)0) 2049 #define stdout ((FILE*)1) 2050 #define stderr ((FILE*)2) 2051 void Comm_Lock_Screen (
void);
2052 void Comm_Unlock_Screen (
void);
2061 #define strdup own_strdup 2066 MG_EXPORT
char *strdup(
const char *s);
2069 #ifndef HAVE_STRCASECMP 2070 MG_EXPORT
int strcasecmp(
const char *s1,
const char *s2);
2073 #ifndef HAVE_STRNCASECMP 2074 MG_EXPORT
int strncasecmp(
const char *s1,
const char *s2,
unsigned int n);
2077 #ifdef _MGUSE_OWN_MALLOC 2098 int init_minigui_malloc (
unsigned char* heap,
unsigned int heap_size,
2099 int (*lock_heap) (
void),
int (*unlock_heap) (
void));
2101 #define USE_DL_PREFIX 2103 #include "own_malloc.h" 2106 #define calloc dlcalloc 2108 #define malloc dlmalloc 2109 #define memalign dlmemalign 2110 #define realloc dlrealloc 2111 #define valloc dlvalloc 2116 #if defined(__CC_ARM) 2118 # undef HAVE_ALLOCA_H 2121 #ifdef HAVE_ALLOCA_H 2122 # include <alloca.h> 2123 # define ALLOCATE_LOCAL(size) alloca((int)(size)) 2124 # define DEALLOCATE_LOCAL(ptr) 2126 # define ALLOCATE_LOCAL(size) malloc((int)(size)) 2127 # define DEALLOCATE_LOCAL(ptr) free(ptr) 2130 #ifdef _MGUSE_OWN_STDIO 2144 int init_minigui_printf (
int (*output_char) (
int ch),
2145 int (*input_char) (
void));
2147 #if defined (__UCOSII__) || defined (__VXWORKS__) || defined (__NUCLEUS__) || defined (__PSOS__) 2148 # undef _PRINTF_FLOATING_POINT 2149 # undef _SCANF_FLOATING_POINT 2152 # define _PRINTF_FLOATING_POINT 1 2153 # define _SCANF_FLOATING_POINT 1 2159 # define isnan _isnan 2160 # define finite _finite 2163 #undef _I18N_MB_REQUIRED 2165 #if defined(__VXWORKS__) || defined(WIN32) || defined (__NUCLEUS_MNT__) || defined (__PSOS__) 2166 #define _MGUSE_OWN_SNPRINTF 2167 #define _MGUSE_OWN_VSNPRINTF 2168 #define _MGUSE_OWN_VFNPRINTF 2170 #define _MGUSE_OWN_PRINTF 2171 #define _MGUSE_OWN_FPRINTF 2172 #define _MGUSE_OWN_SPRINTF 2173 #define _MGUSE_OWN_FNPRINTF 2174 #define _MGUSE_OWN_SNPRINTF 2175 #define _MGUSE_OWN_VPRINTF 2176 #define _MGUSE_OWN_VFPRINTF 2177 #define _MGUSE_OWN_VSPRINTF 2178 #define _MGUSE_OWN_VFNPRINTF 2179 #define _MGUSE_OWN_VSNPRINTF 2180 #define _MGUSE_OWN_SCANF 2181 #define _MGUSE_OWN_FSCANF 2182 #define _MGUSE_OWN_SSCANF 2183 #define _MGUSE_OWN_VSCANF 2184 #define _MGUSE_OWN_VFSCANF 2185 #define _MGUSE_OWN_VSSCANF 2188 #include "own_stdio.h" 2191 #ifdef _MGUSE_OWN_PRINTF 2192 #define printf own_printf 2195 #ifdef _MGUSE_OWN_FPRINTF 2196 #define fprintf own_fprintf 2199 #ifdef _MGUSE_OWN_SPRINTF 2200 #define sprintf own_sprintf 2203 #ifdef _MGUSE_OWN_FNPRINTF 2204 #define fnprintf own_fnprintf 2207 #ifdef _MGUSE_OWN_SNPRINTF 2208 #define snprintf own_snprintf 2211 #ifdef _MGUSE_OWN_VPRINTF 2212 #define vprintf own_vprintf 2215 #ifdef _MGUSE_OWN_VFPRINTF 2216 #define vfprintf own_vfprintf 2219 #ifdef _MGUSE_OWN_VSPRINTF 2220 #define vsprintf own_vsprintf 2223 #ifdef _MGUSE_OWN_VFNPRINTF 2224 #define vfnprintf own_vfnprintf 2227 #ifdef _MGUSE_OWN_VSNPRINTF 2228 #define vsnprintf own_vsnprintf 2231 #ifdef _MGUSE_OWN_SCANF 2232 #define scanf own_scanf 2235 #ifdef _MGUSE_OWN_FSCANF 2236 #define fscanf own_fscanf 2239 #ifdef _MGUSE_OWN_SSCANF 2240 #define sscanf own_sscanf 2243 #ifdef _MGUSE_OWN_VSCANF 2244 #define vscanf own_vscanf 2247 #ifdef _MGUSE_OWN_VFSCANF 2248 #define vfscanf own_vfscanf 2251 #ifdef _MGUSE_OWN_VSSCANF 2252 #define vsscanf own_vsscanf 2258 #define TCS_NONE(fp) fprintf (fp, "\e[0m") 2259 #define TCS_BLACK(fp) fprintf (fp, "\e[0;30m") 2260 #define TCS_BOLD_BLACK(fp) fprintf (fp, "\e[1;30m") 2261 #define TCS_RED(fp) fprintf (fp, "\e[0;31m") 2262 #define TCS_BOLD_RED(fp) fprintf (fp, "\e[1;31m") 2263 #define TCS_GREEN(fp) fprintf (fp, "\e[0;32m") 2264 #define TCS_BOLD_GREEN(fp) fprintf (fp, "\e[1;32m") 2265 #define TCS_BROWN(fp) fprintf (fp, "\e[0;33m") 2266 #define TCS_YELLOW(fp) fprintf (fp, "\e[1;33m") 2267 #define TCS_BLUE(fp) fprintf (fp, "\e[0;34m") 2268 #define TCS_BOLD_BLUE(fp) fprintf (fp, "\e[1;34m") 2269 #define TCS_PURPLE(fp) fprintf (fp, "\e[0;35m") 2270 #define TCS_BOLD_PURPLE(fp) fprintf (fp, "\e[1;35m") 2271 #define TCS_CYAN(fp) fprintf (fp, "\e[0;36m") 2272 #define TCS_BOLD_CYAN(fp) fprintf (fp, "\e[1;36m") 2273 #define TCS_GRAY(fp) fprintf (fp, "\e[0;37m") 2274 #define TCS_WHITE(fp) fprintf (fp, "\e[1;37m") 2275 #define TCS_BOLD(fp) fprintf (fp, "\e[1m") 2276 #define TCS_UNDERLINE(fp) fprintf (fp, "\e[4m") 2277 #define TCS_BLINK(fp) fprintf (fp, "\e[5m") 2278 #define TCS_REVERSE(fp) fprintf (fp, "\e[7m") 2279 #define TCS_HIDE(fp) fprintf (fp, "\e[8m") 2280 #define TCS_CLEAR(fp) fprintf (fp, "\e[2J") 2281 #define TCS_CLRLINE(fp) fprintf (fp, "\e[1K\r") 2283 #define TCS_NONE(fp) 2284 #define TCS_BLACK(fp) 2285 #define TCS_BOLD_BLACK(fp) 2287 #define TCS_BOLD_RED(fp) 2288 #define TCS_GREEN(fp) 2289 #define TCS_BOLD_GREEN(fp) 2290 #define TCS_BROWN(fp) 2291 #define TCS_YELLOW(fp) 2292 #define TCS_BLUE(fp) 2293 #define TCS_BOLD_BLUE(fp) 2294 #define TCS_PURPLE(fp) 2295 #define TCS_BOLD_PURPLE(fp) 2296 #define TCS_CYAN(fp) 2297 #define TCS_BOLD_CYAN(fp) 2298 #define TCS_GRAY(fp) 2299 #define TCS_WHITE(fp) 2300 #define TCS_BOLD(fp) 2301 #define TCS_UNDERLINE(fp) 2302 #define TCS_BLINK(fp) 2303 #define TCS_REVERSE(fp) 2304 #define TCS_HIDE(fp) 2305 #define TCS_CLEAR(fp) 2306 #define TCS_CLRLINE(fp) 2309 #define _MG_PRINTF(fmt, ...) \ 2311 TCS_GREEN (stdout); \ 2312 fprintf (stdout, fmt, ##__VA_ARGS__); \ 2313 TCS_NONE (stdout); \ 2316 #define _WRN_PRINTF(fmt, ...) \ 2318 TCS_BROWN (stderr); \ 2319 fprintf (stderr, "%s: ", __FUNCTION__); \ 2320 fprintf (stderr, fmt, ##__VA_ARGS__); \ 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, "%s: ", __FUNCTION__); \ 2336 fprintf (stderr, fmt, ##__VA_ARGS__); \ 2337 TCS_NONE (stderr); \ 2340 # define _DBG_PRINTF(fmt, ...) do { } while (0) 2343 #ifdef _MGRM_THREADS 2345 #ifdef _MGUSE_OWN_PTHREAD 2347 #define MAIN_PTH_MIN_STACK_SIZE (1024) 2348 #define MAIN_PTH_DEF_STACK_SIZE (1024*4) 2373 int start_minigui_pthread (
int (* pth_entry) (
int argc,
const char* argv []),
2374 int argc,
const char* argv[],
2375 char* stack_base,
unsigned int stack_size);
2411 #define pthread_create vxworks_pthread_create 2412 #define pthread_self vxworks_pthread_self 2413 #define pthread_equal vxworks_pthread_equal 2414 #define pthread_exit vxworks_pthread_exit 2415 #define pthread_join vxworks_pthread_join 2416 #define pthread_detach vxworks_pthread_detach 2417 #define pthread_cancel vxworks_pthread_cancel 2418 #define pthread_once vxworks_pthread_once 2419 #define pthread_key_create vxworks_pthread_key_create 2420 #define pthread_key_delete vxworks_pthread_key_delete 2421 #define pthread_setspecific vxworks_pthread_setspecific 2422 #define pthread_getspecific vxworks_pthread_getspecific 2423 #define pthread_setcancelstate vxworks_pthread_setcancelstate 2424 #define pthread_setcanceltype vxworks_pthread_setcanceltype 2425 #define pthread_testcancel vxworks_pthread_testcancel 2427 #define pthread_attr_init vxworks_pthread_attr_init 2428 #define pthread_attr_destroy vxworks_pthread_attr_destroy 2429 #define pthread_attr_setdetachstate vxworks_pthread_attr_setdetachstate 2430 #define pthread_attr_getdetachstate vxworks_pthread_attr_getdetachstate 2431 #define pthread_attr_setscope vxworks_pthread_attr_setscope 2432 #define pthread_attr_getscope vxworks_pthread_attr_getscope 2433 #define pthread_attr_setinheritsched vxworks_pthread_attr_setinheritsched 2434 #define pthread_attr_getinheritsched vxworks_pthread_attr_getinheritsched 2435 #define pthread_attr_setschedpolicy vxworks_pthread_attr_setschedpolicy 2436 #define pthread_attr_getschedpolicy vxworks_pthread_attr_getschedpolicy 2437 #define pthread_attr_setschedparam vxworks_pthread_attr_setschedparam 2438 #define pthread_attr_getschedparam vxworks_pthread_attr_getschedparam 2439 #define pthread_attr_setstackaddr vxworks_pthread_attr_setstackaddr 2440 #define pthread_attr_getstackaddr vxworks_pthread_attr_getstackaddr 2441 #define pthread_attr_setstacksize vxworks_pthread_attr_setstacksize 2442 #define pthread_attr_getstacksize vxworks_pthread_attr_getstacksize 2443 #define pthread_setschedparam vxworks_pthread_setschedparam 2444 #define pthread_getschedparam vxworks_pthread_getschedparam 2446 #define pthread_mutex_init vxworks_pthread_mutex_init 2447 #define pthread_mutex_destroy vxworks_pthread_mutex_destroy 2448 #define pthread_mutex_lock vxworks_pthread_mutex_lock 2449 #define pthread_mutex_unlock vxworks_pthread_mutex_unlock 2450 #define pthread_mutex_trylock vxworks_pthread_mutex_trylock 2451 #define pthread_mutexattr_init vxworks_pthread_mutexattr_init 2452 #define pthread_mutexattr_destroy vxworks_pthread_mutexattr_destroy 2453 #define pthread_mutexattr_setpriorityinherit vxworks_pthread_mutexattr_setpriorityinherit 2454 #define pthread_mutexattr_getpriorityinherit vxworks_pthread_mutexattr_getpriorityinherit 2456 #ifdef _MGUSE_OWN_SEMAPHORE 2458 #define sem_t vxworks_sem_t 2460 #define sem_init vxworks_sem_init 2461 #define sem_destroy vxworks_sem_destroy 2462 #define sem_wait vxworks_sem_wait 2463 #define sem_trywait vxworks_sem_trywait 2464 #define sem_post vxworks_sem_post 2465 #define sem_getvalue vxworks_sem_getvalue 2471 #ifdef __MINIGUI_LIB__ 2474 # include "ucos2_pthread.h" 2475 # include "ucos2_semaphore.h" 2476 #elif defined (__THREADX__) 2477 # include "threadx_pthread.h" 2478 # include "threadx_semaphore.h" 2479 #elif defined (__NUCLEUS__) 2480 # include "nucleus_pthread.h" 2481 # include "nucleus_semaphore.h" 2482 #elif defined (__VXWORKS__) 2483 # include "vxworks_pthread.h" 2484 # ifdef _MGUSE_OWN_SEMAPHORE 2485 # include "vxworks_semaphore.h" 2487 # include "semaphore.h" 2489 #elif defined (__OSE__) 2490 # include "pthread.h" 2491 # include "ose_semaphore.h" 2492 #elif defined (__PSOS__) 2493 # include "psos_pthread.h" 2494 # include "psos_semaphore.h" 2495 #elif defined (WIN32) 2496 # include "win32_pthread.h" 2497 # include "win32_semaphore.h" 2499 # error No own pthread implementation for this OS! 2504 # include <pthread.h> 2505 # include <semaphore.h> 2511 #include <pthread.h> 2512 #include <semaphore.h> 2518 #define _USE_SEM_ON_SYSVIPC 1 2522 #if defined (_USE_MUTEX_ON_SYSVIPC) || defined (_USE_SEM_ON_SYSVIPC) 2524 int _sysvipc_mutex_sem_init (
void);
2525 int _sysvipc_mutex_sem_term (
void);
2529 #ifdef _USE_MUTEX_ON_SYSVIPC 2531 #define pthread_mutex_t _sysvipc_pthread_mutex_t 2532 #define pthread_mutexattr_t _sysvipc_pthread_mutexattr_t 2534 #define pthread_mutexattr_init _sysvipc_pthread_mutexattr_init 2535 #define pthread_mutexattr_destroy _sysvipc_pthread_mutexattr_destroy 2536 #define pthread_mutexattr_settype _sysvipc_pthread_mutexattr_settype 2537 #define pthread_mutexattr_gettype _sysvipc_pthread_mutexattr_gettype 2539 #define pthread_init _sysvipc_pthread_init 2540 #define pthread_mutex_init _sysvipc_pthread_mutex_init 2541 #define pthread_mutex_destroy _sysvipc_pthread_mutex_destroy 2542 #define pthread_mutex_lock _sysvipc_pthread_mutex_lock 2543 #define pthread_mutex_trylock _sysvipc_pthread_mutex_trylock 2544 #define pthread_mutex_unlock _sysvipc_pthread_mutex_unlock 2554 #define SYSVIPC_PTHREAD_MUTEX_FAST_NP 0 2555 #define SYSVIPC_PTHREAD_MUTEX_RECURSIVE_NP 1 2556 #define SYSVIPC_PTHREAD_MUTEX_ERRORCHECK_NP 2 2561 } pthread_mutexattr_t;
2563 int pthread_mutexattr_init (pthread_mutexattr_t *attr);
2564 int pthread_mutexattr_destroy (pthread_mutexattr_t *attr);
2565 int pthread_mutexattr_settype (pthread_mutexattr_t *attr,
int type);
2566 int pthread_mutexattr_gettype (
const pthread_mutexattr_t *attr,
int* type);
2568 int pthread_mutex_init (pthread_mutex_t *mutex,
2569 const pthread_mutexattr_t *mutex_attr);
2571 int pthread_mutex_destroy (pthread_mutex_t *mutex);
2573 int pthread_mutex_lock (pthread_mutex_t *mutex);
2574 int pthread_mutex_trylock (pthread_mutex_t *mutex);
2575 int pthread_mutex_unlock (pthread_mutex_t *mutex);
2579 #ifdef _USE_SEM_ON_SYSVIPC 2581 #define sem_t _sysvipc_sem_t 2583 #define sem_init _sysvipc_sem_init 2584 #define sem_destroy _sysvipc_sem_destroy 2585 #define sem_wait _sysvipc_sem_wait 2586 #define sem_trywait _sysvipc_sem_trywait 2587 #define sem_post _sysvipc_sem_post 2588 #define sem_getvalue _sysvipc_sem_getvalue 2590 #define SYSVIPC_SEM_VALUE_MAX USHRT_MAX 2602 int sem_init (sem_t *sem,
int pshared,
unsigned int value);
2603 int sem_destroy (sem_t *sem);
2604 int sem_wait (sem_t *sem);
2605 int sem_trywait (sem_t *sem);
2606 int sem_post (sem_t *sem);
2607 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.