@@ -369,33 +369,6 @@ struct AutomationEventList
369369 AutomationEvent* events; // Events entries
370370}
371371
372- //----------------------------------------------------------------------------------
373- // Enumerators Definition
374- //----------------------------------------------------------------------------------
375- // System/Window config flags
376- // NOTE: Every bit registers one state (use it with bit masks)
377- // By default all flags are set to 0
378-
379- enum ConfigFlags : const CUInt
380- {
381- VSYNC_HINT = 0x00000040, // Set to try enabling V-Sync on GPU
382- FULLSCREEN_MODE = 0x00000002, // Set to run program in fullscreen
383- WINDOW_RESIZABLE = 0x00000004, // Set to allow resizable window
384- WINDOW_UNDECORATED = 0x00000008, // Set to disable window decoration (frame and buttons)
385- WINDOW_HIDDEN = 0x00000080, // Set to hide window
386- WINDOW_MINIMIZED = 0x00000200, // Set to minimize window (iconify)
387- WINDOW_MAXIMIZED = 0x00000400, // Set to maximize window (expanded to monitor)
388- WINDOW_UNFOCUSED = 0x00000800, // Set to window non focused
389- WINDOW_TOPMOST = 0x00001000, // Set to window always on top
390- WINDOW_ALWAYS_RUN = 0x00000100, // Set to allow windows running while minimized
391- WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer
392- WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI
393- WINDOW_MOUSE_PASSTHROUGH = 0x00004000, // Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED
394- BORDERLESS_WINDOWED_MODE = 0x00008000, // Set to run program in borderless windowed mode
395- MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X
396- INTERLACED_HINT = 0x00010000, // Set to try enabling interlaced video format (for V3D)
397- }
398-
399372// Trace log level
400373// NOTE: Organized by priority level
401374enum TraceLogLevel : const CInt
@@ -410,128 +383,6 @@ enum TraceLogLevel : const CInt
410383 NONE // Disable logging
411384}
412385
413- // Keyboard keys (US keyboard layout)
414- // NOTE: Use GetKeyPressed() to allow redefining
415- // required keys for alternative layouts
416-
417- enum KeyboardKey : const CInt
418- {
419- NULL = 0, // Key: NULL, used for no key pressed
420- // Alphanumeric keys
421- APOSTROPHE = 39, // Key: '
422- COMMA = 44, // Key: ,
423- MINUS = 45, // Key: -
424- PERIOD = 46, // Key: .
425- SLASH = 47, // Key: /
426- ZERO = 48, // Key: 0
427- ONE = 49, // Key: 1
428- TWO = 50, // Key: 2
429- THREE = 51, // Key: 3
430- FOUR = 52, // Key: 4
431- FIVE = 53, // Key: 5
432- SIX = 54, // Key: 6
433- SEVEN = 55, // Key: 7
434- EIGHT = 56, // Key: 8
435- NINE = 57, // Key: 9
436- SEMICOLON = 59, // Key: ;
437- EQUAL = 61, // Key: =
438- A = 65, // Key: A | a
439- B = 66, // Key: B | b
440- C = 67, // Key: C | c
441- D = 68, // Key: D | d
442- E = 69, // Key: E | e
443- F = 70, // Key: F | f
444- G = 71, // Key: G | g
445- H = 72, // Key: H | h
446- I = 73, // Key: I | i
447- J = 74, // Key: J | j
448- K = 75, // Key: K | k
449- L = 76, // Key: L | l
450- M = 77, // Key: M | m
451- N = 78, // Key: N | n
452- O = 79, // Key: O | o
453- P = 80, // Key: P | p
454- Q = 81, // Key: Q | q
455- R = 82, // Key: R | r
456- S = 83, // Key: S | s
457- T = 84, // Key: T | t
458- U = 85, // Key: U | u
459- V = 86, // Key: V | v
460- W = 87, // Key: W | w
461- X = 88, // Key: X | x
462- Y = 89, // Key: Y | y
463- Z = 90, // Key: Z | z
464- LEFT_BRACKET = 91, // Key: [
465- BACKSLASH = 92, // Key: '\'
466- RIGHT_BRACKET = 93, // Key: ]
467- GRAVE = 96, // Key: `
468- // Function keys
469- SPACE = 32, // Key: Space
470- ESCAPE = 256, // Key: Esc
471- ENTER = 257, // Key: Enter
472- TAB = 258, // Key: Tab
473- BACKSPACE = 259, // Key: Backspace
474- INSERT = 260, // Key: Ins
475- DELETE = 261, // Key: Del
476- RIGHT = 262, // Key: Cursor right
477- LEFT = 263, // Key: Cursor left
478- DOWN = 264, // Key: Cursor down
479- UP = 265, // Key: Cursor up
480- PAGE_UP = 266, // Key: Page up
481- PAGE_DOWN = 267, // Key: Page down
482- HOME = 268, // Key: Home
483- END = 269, // Key: End
484- CAPS_LOCK = 280, // Key: Caps lock
485- SCROLL_LOCK = 281, // Key: Scroll down
486- NUM_LOCK = 282, // Key: Num lock
487- PRINT_SCREEN = 283, // Key: Print screen
488- PAUSE = 284, // Key: Pause
489- F1 = 290, // Key: F1
490- F2 = 291, // Key: F2
491- F3 = 292, // Key: F3
492- F4 = 293, // Key: F4
493- F5 = 294, // Key: F5
494- F6 = 295, // Key: F6
495- F7 = 296, // Key: F7
496- F8 = 297, // Key: F8
497- F9 = 298, // Key: F9
498- F10 = 299, // Key: F10
499- F11 = 300, // Key: F11
500- F12 = 301, // Key: F12
501- LEFT_SHIFT = 340, // Key: Shift left
502- LEFT_CONTROL = 341, // Key: Control left
503- LEFT_ALT = 342, // Key: Alt left
504- LEFT_SUPER = 343, // Key: Super left
505- RIGHT_SHIFT = 344, // Key: Shift right
506- RIGHT_CONTROL = 345, // Key: Control right
507- RIGHT_ALT = 346, // Key: Alt right
508- RIGHT_SUPER = 347, // Key: Super right
509- KB_MENU = 348, // Key: KB menu
510- // Keypad keys
511- KP_0 = 320, // Key: Keypad 0
512- KP_1 = 321, // Key: Keypad 1
513- KP_2 = 322, // Key: Keypad 2
514- KP_3 = 323, // Key: Keypad 3
515- KP_4 = 324, // Key: Keypad 4
516- KP_5 = 325, // Key: Keypad 5
517- KP_6 = 326, // Key: Keypad 6
518- KP_7 = 327, // Key: Keypad 7
519- KP_8 = 328, // Key: Keypad 8
520- KP_9 = 329, // Key: Keypad 9
521- KP_DECIMAL = 330, // Key: Keypad .
522- KP_DIVIDE = 331, // Key: Keypad /
523- KP_MULTIPLY = 332, // Key: Keypad *
524- KP_SUBTRACT = 333, // Key: Keypad -
525- KP_ADD = 334, // Key: Keypad +
526- KP_ENTER = 335, // Key: Keypad Enter
527- KP_EQUAL = 336, // Key: Keypad =
528- // Android key buttons
529- BACK = 4, // Key: Android back button
530- MENU = 5, // Key: Android menu button
531- VOLUME_UP = 24, // Key: Android volume up button
532- VOLUME_DOWN = 25 // Key: Android volume down button
533- }
534-
535386// Mouse buttons
536387enum MouseButton : CInt
537388{
@@ -755,22 +606,8 @@ enum BlendMode : CInt
755606 CUSTOM_SEPARATE, // Blend textures using custom rgb/alpha separate src/dst factors (use setBlendFactorsSeparate())
756607}
757608
758- // Gesture
759- // NOTE: Provided as bit-wise flags to enable only desired gestures
760- enum Gesture : const CUInt
761- {
762- NONE = 0, // No gesture
763- TAP = 1, // Tap gesture
764- DOUBLETAP = 2, // Double tap gesture
765- HOLD = 4, // Hold gesture
766- DRAG = 8, // Drag gesture
767- SWIPE_RIGHT = 16, // Swipe right gesture
768- SWIPE_LEFT = 32, // Swipe left gesture
769- SWIPE_UP = 64, // Swipe up gesture
770- SWIPE_DOWN = 128, // Swipe down gesture
771- PINCH_IN = 256, // Pinch in gesture
772- PINCH_OUT = 512, // Pinch out gesture
773- }
609+ $assert(BlendMode.ALPHA.ordinal == 0);
610+
774611
775612// Camera system modes
776613enum CameraMode : CInt
@@ -816,9 +653,9 @@ fn bool isWindowMinimized() @cname("IsWindowMinimized");
816653fn bool isWindowMaximized() @cname("IsWindowMaximized"); // Check if window is currently maximized
817654fn bool isWindowFocused() @cname("IsWindowFocused"); // Check if window is currently focused
818655fn bool isWindowResized() @cname("IsWindowResized"); // Check if window has been resized last frame
819- fn bool isWindowState(ConfigFlags flag) @cname("IsWindowState"); // Check if one specific window flag is enabled
820- fn void setWindowState(ConfigFlags flags) @cname("SetWindowState"); // Set window configuration state using flags
821- fn void clearWindowState(ConfigFlags flags) @cname("ClearWindowState"); // Clear window configuration state flags
656+ fn bool isWindowState(ConfigFlag flag) @cname("IsWindowState"); // Check if one specific window flag is enabled
657+ fn void setWindowState(ConfigFlag flags) @cname("SetWindowState"); // Set window configuration state using flags
658+ fn void clearWindowState(ConfigFlag flags) @cname("ClearWindowState"); // Clear window configuration state flags
822659fn void toggleFullscreen() @cname("ToggleFullscreen"); // Toggle window state: fullscreen/windowed, resizes monitor to match window resolution
823660fn void toggleBorderlessWindowed() @cname("ToggleBorderlessWindowed"); // Toggle window state: borderless windowed, resizes window to match monitor resolution
824661fn void maximizeWindow() @cname("MaximizeWindow"); // Set window state: maximized, if resizable
@@ -932,7 +769,7 @@ fn void unloadRandomSequence(CInt *sequence) @cname("UnloadRandomSequence");
932769
933770// Misc. functions
934771fn void takeScreenshot(ZString fileName) @cname("TakeScreenshot"); // Takes a screenshot of current screen (filename extension defines format)
935- fn void setConfigFlags(ConfigFlags flags) @cname("SetConfigFlags"); // Setup init configuration flags (view FLAGS)
772+ fn void setConfigFlags(ConfigFlag flags) @cname("SetConfigFlags"); // Setup init configuration flags (view FLAGS)
936773fn void openURL(ZString url) @cname("OpenURL"); // Open URL with default system browser (if available)
937774
938775// NOTE: Following functions implemented in module [utils]
@@ -1647,6 +1484,169 @@ macro void @rlMode(CInt mode ;@body)
16471484 @body();
16481485}
16491486
1487+ //----------------------------------------------------------------------------------
1488+ // Enumerators Definition
1489+ //----------------------------------------------------------------------------------
1490+ // System/Window config flags
1491+ // NOTE: Every bit registers one state (use it with bit masks)
1492+ // By default all flags are set to 0
1493+
1494+ enum ConfigFlag : const uint
1495+ {
1496+ VSYNC_HINT = 0x00000040, // Set to try enabling V-Sync on GPU
1497+ FULLSCREEN_MODE = 0x00000002, // Set to run program in fullscreen
1498+ WINDOW_RESIZABLE = 0x00000004, // Set to allow resizable window
1499+ WINDOW_UNDECORATED = 0x00000008, // Set to disable window decoration (frame and buttons)
1500+ WINDOW_HIDDEN = 0x00000080, // Set to hide window
1501+ WINDOW_MINIMIZED = 0x00000200, // Set to minimize window (iconify)
1502+ WINDOW_MAXIMIZED = 0x00000400, // Set to maximize window (expanded to monitor)
1503+ WINDOW_UNFOCUSED = 0x00000800, // Set to window non focused
1504+ WINDOW_TOPMOST = 0x00001000, // Set to window always on top
1505+ WINDOW_ALWAYS_RUN = 0x00000100, // Set to allow windows running while minimized
1506+ WINDOW_TRANSPARENT = 0x00000010, // Set to allow transparent framebuffer
1507+ WINDOW_HIGHDPI = 0x00002000, // Set to support HighDPI
1508+ MSAA_4X_HINT = 0x00000020, // Set to try enabling MSAA 4X
1509+ INTERLACED_HINT = 0x00010000, // Set to try enabling interlaced video format (for V3D)
1510+ }
1511+
1512+ // Keyboard keys (US keyboard layout)
1513+ // NOTE: Use GetKeyPressed() to allow redefining
1514+ // required keys for alternative layouts
1515+
1516+ typedef KeyboardKey = int;
1517+
1518+ const KeyboardKey KEY_NULL = 0; // Key: NULL; used for no key pressed
1519+ // Alphanumeric keys
1520+ const KeyboardKey KEY_APOSTROPHE = 39; // Key: '
1521+ const KeyboardKey KEY_COMMA = 44; // Key: ;
1522+ const KeyboardKey KEY_MINUS = 45; // Key: -
1523+ const KeyboardKey KEY_PERIOD = 46; // Key: .
1524+ const KeyboardKey KEY_SLASH = 47; // Key: /
1525+ const KeyboardKey KEY_ZERO = 48; // Key: 0
1526+ const KeyboardKey KEY_ONE = 49; // Key: 1
1527+ const KeyboardKey KEY_TWO = 50; // Key: 2
1528+ const KeyboardKey KEY_THREE = 51; // Key: 3
1529+ const KeyboardKey KEY_FOUR = 52; // Key: 4
1530+ const KeyboardKey KEY_FIVE = 53; // Key: 5
1531+ const KeyboardKey KEY_SIX = 54; // Key: 6
1532+ const KeyboardKey KEY_SEVEN = 55; // Key: 7
1533+ const KeyboardKey KEY_EIGHT = 56; // Key: 8
1534+ const KeyboardKey KEY_NINE = 57; // Key: 9
1535+ const KeyboardKey KEY_SEMICOLON = 59; // Key: ;
1536+ const KeyboardKey KEY_EQUAL = 61; // Key: =
1537+ const KeyboardKey KEY_A = 65; // Key: A | a
1538+ const KeyboardKey KEY_B = 66; // Key: B | b
1539+ const KeyboardKey KEY_C = 67; // Key: C | c
1540+ const KeyboardKey KEY_D = 68; // Key: D | d
1541+ const KeyboardKey KEY_E = 69; // Key: E | e
1542+ const KeyboardKey KEY_F = 70; // Key: F | f
1543+ const KeyboardKey KEY_G = 71; // Key: G | g
1544+ const KeyboardKey KEY_H = 72; // Key: H | h
1545+ const KeyboardKey KEY_I = 73; // Key: I | i
1546+ const KeyboardKey KEY_J = 74; // Key: J | j
1547+ const KeyboardKey KEY_K = 75; // Key: K | k
1548+ const KeyboardKey KEY_L = 76; // Key: L | l
1549+ const KeyboardKey KEY_M = 77; // Key: M | m
1550+ const KeyboardKey KEY_N = 78; // Key: N | n
1551+ const KeyboardKey KEY_O = 79; // Key: O | o
1552+ const KeyboardKey KEY_P = 80; // Key: P | p
1553+ const KeyboardKey KEY_Q = 81; // Key: Q | q
1554+ const KeyboardKey KEY_R = 82; // Key: R | r
1555+ const KeyboardKey KEY_S = 83; // Key: S | s
1556+ const KeyboardKey KEY_T = 84; // Key: T | t
1557+ const KeyboardKey KEY_U = 85; // Key: U | u
1558+ const KeyboardKey KEY_V = 86; // Key: V | v
1559+ const KeyboardKey KEY_W = 87; // Key: W | w
1560+ const KeyboardKey KEY_X = 88; // Key: X | x
1561+ const KeyboardKey KEY_Y = 89; // Key: Y | y
1562+ const KeyboardKey KEY_Z = 90; // Key: Z | z
1563+ const KeyboardKey KEY_LEFT_BRACKET = 91; // Key: [
1564+ const KeyboardKey KEY_BACKSLASH = 92; // Key: '\'
1565+ const KeyboardKey KEY_RIGHT_BRACKET = 93; // Key: ]
1566+ const KeyboardKey KEY_GRAVE = 96; // Key: `
1567+ // Function keys
1568+ const KeyboardKey KEY_SPACE = 32; // Key: Space
1569+ const KeyboardKey KEY_ESCAPE = 256; // Key: Esc
1570+ const KeyboardKey KEY_ENTER = 257; // Key: Enter
1571+ const KeyboardKey KEY_TAB = 258; // Key: Tab
1572+ const KeyboardKey KEY_BACKSPACE = 259; // Key: Backspace
1573+ const KeyboardKey KEY_INSERT = 260; // Key: Ins
1574+ const KeyboardKey KEY_DELETE = 261; // Key: Del
1575+ const KeyboardKey KEY_RIGHT = 262; // Key: Cursor right
1576+ const KeyboardKey KEY_LEFT = 263; // Key: Cursor left
1577+ const KeyboardKey KEY_DOWN = 264; // Key: Cursor down
1578+ const KeyboardKey KEY_UP = 265; // Key: Cursor up
1579+ const KeyboardKey KEY_PAGE_UP = 266; // Key: Page up
1580+ const KeyboardKey KEY_PAGE_DOWN = 267; // Key: Page down
1581+ const KeyboardKey KEY_HOME = 268; // Key: Home
1582+ const KeyboardKey KEY_END = 269; // Key: End
1583+ const KeyboardKey KEY_CAPS_LOCK = 280; // Key: Caps lock
1584+ const KeyboardKey KEY_SCROLL_LOCK = 281; // Key: Scroll down
1585+ const KeyboardKey KEY_NUM_LOCK = 282; // Key: Num lock
1586+ const KeyboardKey KEY_PRINT_SCREEN = 283; // Key: Print screen
1587+ const KeyboardKey KEY_PAUSE = 284; // Key: Pause
1588+ const KeyboardKey KEY_F1 = 290; // Key: F1
1589+ const KeyboardKey KEY_F2 = 291; // Key: F2
1590+ const KeyboardKey KEY_F3 = 292; // Key: F3
1591+ const KeyboardKey KEY_F4 = 293; // Key: F4
1592+ const KeyboardKey KEY_F5 = 294; // Key: F5
1593+ const KeyboardKey KEY_F6 = 295; // Key: F6
1594+ const KeyboardKey KEY_F7 = 296; // Key: F7
1595+ const KeyboardKey KEY_F8 = 297; // Key: F8
1596+ const KeyboardKey KEY_F9 = 298; // Key: F9
1597+ const KeyboardKey KEY_F10 = 299; // Key: F10
1598+ const KeyboardKey KEY_F11 = 300; // Key: F11
1599+ const KeyboardKey KEY_F12 = 301; // Key: F12
1600+ const KeyboardKey KEY_LEFT_SHIFT = 340; // Key: Shift left
1601+ const KeyboardKey KEY_LEFT_CONTROL = 341; // Key: Control left
1602+ const KeyboardKey KEY_LEFT_ALT = 342; // Key: Alt left
1603+ const KeyboardKey KEY_LEFT_SUPER = 343; // Key: Super left
1604+ const KeyboardKey KEY_RIGHT_SHIFT = 344; // Key: Shift right
1605+ const KeyboardKey KEY_RIGHT_CONTROL = 345; // Key: Control right
1606+ const KeyboardKey KEY_RIGHT_ALT = 346; // Key: Alt right
1607+ const KeyboardKey KEY_RIGHT_SUPER = 347; // Key: Super right
1608+ const KeyboardKey KEY_KB_MENU = 348; // Key: KB menu
1609+ // Keypad keys
1610+ const KeyboardKey KEY_KP_0 = 320; // Key: Keypad 0
1611+ const KeyboardKey KEY_KP_1 = 321; // Key: Keypad 1
1612+ const KeyboardKey KEY_KP_2 = 322; // Key: Keypad 2
1613+ const KeyboardKey KEY_KP_3 = 323; // Key: Keypad 3
1614+ const KeyboardKey KEY_KP_4 = 324; // Key: Keypad 4
1615+ const KeyboardKey KEY_KP_5 = 325; // Key: Keypad 5
1616+ const KeyboardKey KEY_KP_6 = 326; // Key: Keypad 6
1617+ const KeyboardKey KEY_KP_7 = 327; // Key: Keypad 7
1618+ const KeyboardKey KEY_KP_8 = 328; // Key: Keypad 8
1619+ const KeyboardKey KEY_KP_9 = 329; // Key: Keypad 9
1620+ const KeyboardKey KEY_KP_DECIMAL = 330; // Key: Keypad .
1621+ const KeyboardKey KEY_KP_DIVIDE = 331; // Key: Keypad /
1622+ const KeyboardKey KEY_KP_MULTIPLY = 332; // Key: Keypad *
1623+ const KeyboardKey KEY_KP_SUBTRACT = 333; // Key: Keypad -
1624+ const KeyboardKey KEY_KP_ADD = 334; // Key: Keypad +
1625+ const KeyboardKey KEY_KP_ENTER = 335; // Key: Keypad Enter
1626+ const KeyboardKey KEY_KP_EQUAL = 336; // Key: Keypad =
1627+ // Android key buttons
1628+ const KeyboardKey KEY_BACK = 4; // Key: Android back button
1629+ const KeyboardKey KEY_MENU = 82; // Key: Android menu button
1630+ const KeyboardKey KEY_VOLUME_UP = 24; // Key: Android volume up button
1631+ const KeyboardKey KEY_VOLUME_DOWN = 25; // Key: Android volume down button
1632+
1633+ // Gesture
1634+ // NOTE: It could be used as flags to enable only some gestures
1635+ enum Gesture : const int
1636+ {
1637+ NONE = 0, // No gesture
1638+ TAP = 1, // Tap gesture
1639+ DOUBLETAP = 2, // Double tap gesture
1640+ HOLD = 4, // Hold gesture
1641+ DRAG = 8, // Drag gesture
1642+ SWIPE_RIGHT = 16, // Swipe right gesture
1643+ SWIPE_LEFT = 32, // Swipe left gesture
1644+ SWIPE_UP = 64, // Swipe up gesture
1645+ SWIPE_DOWN = 128, // Swipe down gesture
1646+ PINCH_IN = 256, // Pinch in gesture
1647+ PINCH_OUT = 512, // Pinch out gesture
1648+ }
1649+
16501650// rlgl.h
16511651typedef FramebufferAttachType = int;
16521652
0 commit comments