Files
Odin/vendor/glfw/constants.odin
2024-03-18 23:54:26 +01:00

424 lines
9.9 KiB
Odin

package glfw
/* Config */
GLFW_SHARED :: #config(GLFW_SHARED, false)
/*** Constants ***/
/* Versions */
VERSION_MAJOR :: 3
VERSION_MINOR :: 4
VERSION_REVISION :: 0
/* Booleans */
TRUE :: true
FALSE :: false
/* Button/Key states */
RELEASE :: 0
PRESS :: 1
REPEAT :: 2
/* Joystick hat states. */
HAT_CENTERED :: 0
HAT_UP :: 1
HAT_RIGHT :: 2
HAT_DOWN :: 4
HAT_LEFT :: 8
HAT_RIGHT_UP :: (HAT_RIGHT | HAT_UP)
HAT_RIGHT_DOWN :: (HAT_RIGHT | HAT_DOWN)
HAT_LEFT_UP :: (HAT_LEFT | HAT_UP)
HAT_LEFT_DOWN :: (HAT_LEFT | HAT_DOWN)
/* The unknown key */
KEY_UNKNOWN :: -1
/** Printable keys **/
/* Named printable keys */
KEY_SPACE :: 32
KEY_APOSTROPHE :: 39 /* ' */
KEY_COMMA :: 44 /* , */
KEY_MINUS :: 45 /* - */
KEY_PERIOD :: 46 /* . */
KEY_SLASH :: 47 /* / */
KEY_SEMICOLON :: 59 /* ; */
KEY_EQUAL :: 61 /* :: */
KEY_LEFT_BRACKET :: 91 /* [ */
KEY_BACKSLASH :: 92 /* \ */
KEY_RIGHT_BRACKET :: 93 /* ] */
KEY_GRAVE_ACCENT :: 96 /* ` */
KEY_WORLD_1 :: 161 /* non-US #1 */
KEY_WORLD_2 :: 162 /* non-US #2 */
/* Alphanumeric characters */
KEY_0 :: 48
KEY_1 :: 49
KEY_2 :: 50
KEY_3 :: 51
KEY_4 :: 52
KEY_5 :: 53
KEY_6 :: 54
KEY_7 :: 55
KEY_8 :: 56
KEY_9 :: 57
KEY_A :: 65
KEY_B :: 66
KEY_C :: 67
KEY_D :: 68
KEY_E :: 69
KEY_F :: 70
KEY_G :: 71
KEY_H :: 72
KEY_I :: 73
KEY_J :: 74
KEY_K :: 75
KEY_L :: 76
KEY_M :: 77
KEY_N :: 78
KEY_O :: 79
KEY_P :: 80
KEY_Q :: 81
KEY_R :: 82
KEY_S :: 83
KEY_T :: 84
KEY_U :: 85
KEY_V :: 86
KEY_W :: 87
KEY_X :: 88
KEY_Y :: 89
KEY_Z :: 90
/** Function keys **/
/* Named non-printable keys */
KEY_ESCAPE :: 256
KEY_ENTER :: 257
KEY_TAB :: 258
KEY_BACKSPACE :: 259
KEY_INSERT :: 260
KEY_DELETE :: 261
KEY_RIGHT :: 262
KEY_LEFT :: 263
KEY_DOWN :: 264
KEY_UP :: 265
KEY_PAGE_UP :: 266
KEY_PAGE_DOWN :: 267
KEY_HOME :: 268
KEY_END :: 269
KEY_CAPS_LOCK :: 280
KEY_SCROLL_LOCK :: 281
KEY_NUM_LOCK :: 282
KEY_PRINT_SCREEN :: 283
KEY_PAUSE :: 284
/* Function keys */
KEY_F1 :: 290
KEY_F2 :: 291
KEY_F3 :: 292
KEY_F4 :: 293
KEY_F5 :: 294
KEY_F6 :: 295
KEY_F7 :: 296
KEY_F8 :: 297
KEY_F9 :: 298
KEY_F10 :: 299
KEY_F11 :: 300
KEY_F12 :: 301
KEY_F13 :: 302
KEY_F14 :: 303
KEY_F15 :: 304
KEY_F16 :: 305
KEY_F17 :: 306
KEY_F18 :: 307
KEY_F19 :: 308
KEY_F20 :: 309
KEY_F21 :: 310
KEY_F22 :: 311
KEY_F23 :: 312
KEY_F24 :: 313
KEY_F25 :: 314
/* Keypad numbers */
KEY_KP_0 :: 320
KEY_KP_1 :: 321
KEY_KP_2 :: 322
KEY_KP_3 :: 323
KEY_KP_4 :: 324
KEY_KP_5 :: 325
KEY_KP_6 :: 326
KEY_KP_7 :: 327
KEY_KP_8 :: 328
KEY_KP_9 :: 329
/* Keypad named function keys */
KEY_KP_DECIMAL :: 330
KEY_KP_DIVIDE :: 331
KEY_KP_MULTIPLY :: 332
KEY_KP_SUBTRACT :: 333
KEY_KP_ADD :: 334
KEY_KP_ENTER :: 335
KEY_KP_EQUAL :: 336
/* Modifier keys */
KEY_LEFT_SHIFT :: 340
KEY_LEFT_CONTROL :: 341
KEY_LEFT_ALT :: 342
KEY_LEFT_SUPER :: 343
KEY_RIGHT_SHIFT :: 344
KEY_RIGHT_CONTROL :: 345
KEY_RIGHT_ALT :: 346
KEY_RIGHT_SUPER :: 347
KEY_MENU :: 348
KEY_LAST :: KEY_MENU
/* Bitmask for modifier keys */
MOD_SHIFT :: 0x0001
MOD_CONTROL :: 0x0002
MOD_ALT :: 0x0004
MOD_SUPER :: 0x0008
MOD_CAPS_LOCK :: 0x0010
MOD_NUM_LOCK :: 0x0020
/* Mouse buttons */
MOUSE_BUTTON_1 :: 0
MOUSE_BUTTON_2 :: 1
MOUSE_BUTTON_3 :: 2
MOUSE_BUTTON_4 :: 3
MOUSE_BUTTON_5 :: 4
MOUSE_BUTTON_6 :: 5
MOUSE_BUTTON_7 :: 6
MOUSE_BUTTON_8 :: 7
/* Mousebutton aliases */
MOUSE_BUTTON_LAST :: MOUSE_BUTTON_8
MOUSE_BUTTON_LEFT :: MOUSE_BUTTON_1
MOUSE_BUTTON_RIGHT :: MOUSE_BUTTON_2
MOUSE_BUTTON_MIDDLE :: MOUSE_BUTTON_3
/* Joystick buttons */
JOYSTICK_1 :: 0
JOYSTICK_2 :: 1
JOYSTICK_3 :: 2
JOYSTICK_4 :: 3
JOYSTICK_5 :: 4
JOYSTICK_6 :: 5
JOYSTICK_7 :: 6
JOYSTICK_8 :: 7
JOYSTICK_9 :: 8
JOYSTICK_10 :: 9
JOYSTICK_11 :: 10
JOYSTICK_12 :: 11
JOYSTICK_13 :: 12
JOYSTICK_14 :: 13
JOYSTICK_15 :: 14
JOYSTICK_16 :: 15
JOYSTICK_LAST :: JOYSTICK_16
/* Gamepad buttons */
GAMEPAD_BUTTON_A :: 0
GAMEPAD_BUTTON_B :: 1
GAMEPAD_BUTTON_X :: 2
GAMEPAD_BUTTON_Y :: 3
GAMEPAD_BUTTON_LEFT_BUMPER :: 4
GAMEPAD_BUTTON_RIGHT_BUMPER :: 5
GAMEPAD_BUTTON_BACK :: 6
GAMEPAD_BUTTON_START :: 7
GAMEPAD_BUTTON_GUIDE :: 8
GAMEPAD_BUTTON_LEFT_THUMB :: 9
GAMEPAD_BUTTON_RIGHT_THUMB :: 10
GAMEPAD_BUTTON_DPAD_UP :: 11
GAMEPAD_BUTTON_DPAD_RIGHT :: 12
GAMEPAD_BUTTON_DPAD_DOWN :: 13
GAMEPAD_BUTTON_DPAD_LEFT :: 14
GAMEPAD_BUTTON_LAST :: GAMEPAD_BUTTON_DPAD_LEFT
GAMEPAD_BUTTON_CROSS :: GAMEPAD_BUTTON_A
GAMEPAD_BUTTON_CIRCLE :: GAMEPAD_BUTTON_B
GAMEPAD_BUTTON_SQUARE :: GAMEPAD_BUTTON_X
GAMEPAD_BUTTON_TRIANGLE :: GAMEPAD_BUTTON_Y
/* Gamepad axes */
GAMEPAD_AXIS_LEFT_X :: 0
GAMEPAD_AXIS_LEFT_Y :: 1
GAMEPAD_AXIS_RIGHT_X :: 2
GAMEPAD_AXIS_RIGHT_Y :: 3
GAMEPAD_AXIS_LEFT_TRIGGER :: 4
GAMEPAD_AXIS_RIGHT_TRIGGER :: 5
GAMEPAD_AXIS_LAST :: GAMEPAD_AXIS_RIGHT_TRIGGER
/* Error constants */
NO_ERROR :: 0x00000000
NOT_INITIALIZED :: 0x00010001
NO_CURRENT_CONTEXT :: 0x00010002
INVALID_ENUM :: 0x00010003
INVALID_VALUE :: 0x00010004
OUT_OF_MEMORY :: 0x00010005
API_UNAVAILABLE :: 0x00010006
VERSION_UNAVAILABLE :: 0x00010007
PLATFORM_ERROR :: 0x00010008
FORMAT_UNAVAILABLE :: 0x00010009
NO_WINDOW_CONTEXT :: 0x0001000A
CURSOR_UNAVAILABLE :: 0x0001000B
FEATURE_UNAVAILABLE :: 0x0001000C
FEATURE_UNIMPLEMENTED :: 0x0001000D
PLATFORM_UNAVAILABLE :: 0x0001000E
/* Window attributes */
FOCUSED :: 0x00020001
ICONIFIED :: 0x00020002
RESIZABLE :: 0x00020003
VISIBLE :: 0x00020004
DECORATED :: 0x00020005
AUTO_ICONIFY :: 0x00020006
FLOATING :: 0x00020007
MAXIMIZED :: 0x00020008
CENTER_CURSOR :: 0x00020009
TRANSPARENT_FRAMEBUFFER :: 0x0002000A
HOVERED :: 0x0002000B
FOCUS_ON_SHOW :: 0x0002000C
MOUSE_PASSTHROUGH :: 0x0002000D
POSITION_X :: 0x0002000E
POSITION_Y :: 0x0002000F
/* Pixel window attributes */
RED_BITS :: 0x00021001
GREEN_BITS :: 0x00021002
BLUE_BITS :: 0x00021003
ALPHA_BITS :: 0x00021004
DEPTH_BITS :: 0x00021005
STENCIL_BITS :: 0x00021006
ACCUM_RED_BITS :: 0x00021007
ACCUM_GREEN_BITS :: 0x00021008
ACCUM_BLUE_BITS :: 0x00021009
ACCUM_ALPHA_BITS :: 0x0002100A
AUX_BUFFERS :: 0x0002100B
STEREO :: 0x0002100C
SAMPLES :: 0x0002100D
SRGB_CAPABLE :: 0x0002100E
REFRESH_RATE :: 0x0002100F
DOUBLEBUFFER :: 0x00021010
/* Context window attributes */
CLIENT_API :: 0x00022001
CONTEXT_VERSION_MAJOR :: 0x00022002
CONTEXT_VERSION_MINOR :: 0x00022003
CONTEXT_REVISION :: 0x00022004
CONTEXT_ROBUSTNESS :: 0x00022005
OPENGL_FORWARD_COMPAT :: 0x00022006
CONTEXT_DEBUG :: 0x00022007
OPENGL_DEBUG_CONTEXT :: CONTEXT_DEBUG // Backwards compatibility
OPENGL_PROFILE :: 0x00022008
CONTEXT_RELEASE_BEHAVIOR :: 0x00022009
CONTEXT_NO_ERROR :: 0x0002200A
CONTEXT_CREATION_API :: 0x0002200B
SCALE_TO_MONITOR :: 0x0002200C
SCALE_FRAMEBUFFER :: 0x0002200D
/* Cross platform attributes */
COCOA_RETINA_FRAMEBUFFER :: 0x00023001
COCOA_FRAME_NAME :: 0x00023002
COCOA_GRAPHICS_SWITCHING :: 0x00023003
X11_CLASS_NAME :: 0x00024001
X11_INSTANCE_NAME :: 0x00024002
WIN32_KEYBOARD_MENU :: 0x00025001
WIN32_SHOWDEFAULT :: 0x00025002
WAYLAND_APP_ID :: 0x00026001
/* APIs */
NO_API :: 0
OPENGL_API :: 0x00030001
OPENGL_ES_API :: 0x00030002
/* Robustness? */
NO_ROBUSTNESS :: 0
NO_RESET_NOTIFICATION :: 0x00031001
LOSE_CONTEXT_ON_RESET :: 0x00031002
/* OpenGL Profiles */
OPENGL_ANY_PROFILE :: 0
OPENGL_CORE_PROFILE :: 0x00032001
OPENGL_COMPAT_PROFILE :: 0x00032002
/* Cursor draw state and whether keys are sticky */
CURSOR :: 0x00033001
STICKY_KEYS :: 0x00033002
STICKY_MOUSE_BUTTONS :: 0x00033003
LOCK_KEY_MODS :: 0x00033004
/* Cursor draw state */
CURSOR_NORMAL :: 0x00034001
CURSOR_HIDDEN :: 0x00034002
CURSOR_DISABLED :: 0x00034003
CURSOR_CAPTURED :: 0x00034004
/* Mouse motion */
RAW_MOUSE_MOTION :: 0x00033005
/* Behavior? */
ANY_RELEASE_BEHAVIOR :: 0
RELEASE_BEHAVIOR_FLUSH :: 0x00035001
RELEASE_BEHAVIOR_NONE :: 0x00035002
/* Context API ? */
NATIVE_CONTEXT_API :: 0x00036001
EGL_CONTEXT_API :: 0x00036002
OSMESA_CONTEXT_API :: 0x00036003
ANGLE_PLATFORM_TYPE_NONE :: 0x00037001
ANGLE_PLATFORM_TYPE_OPENGL :: 0x00037002
ANGLE_PLATFORM_TYPE_OPENGLES :: 0x00037003
ANGLE_PLATFORM_TYPE_D3D9 :: 0x00037004
ANGLE_PLATFORM_TYPE_D3D11 :: 0x00037005
ANGLE_PLATFORM_TYPE_VULKAN :: 0x00037007
ANGLE_PLATFORM_TYPE_METAL :: 0x00037008
WAYLAND_PREFER_LIBDECOR :: 0x00038001
WAYLAND_DISABLE_LIBDECOR :: 0x00038002
ANY_POSITION :: 0x80000000
/* Types of cursors */
ARROW_CURSOR :: 0x00036001
IBEAM_CURSOR :: 0x00036002
CROSSHAIR_CURSOR :: 0x00036003
POINTING_HAND_CURSOR :: 0x00036004
RESIZE_EW_CURSOR :: 0x00036005
RESIZE_NS_CURSOR :: 0x00036006
RESIZE_NWSE_CURSOR :: 0x00036007
RESIZE_NESW_CURSOR :: 0x00036008
RESIZE_ALL_CURSOR :: 0x00036009
NOT_ALLOWED_CURSOR :: 0x0003600A
/* Backwards compatibility cursors. */
HRESIZE_CURSOR :: RESIZE_EW_CURSOR
VRESIZE_CURSOR :: RESIZE_NS_CURSOR
HAND_CURSOR :: POINTING_HAND_CURSOR
/* Joystick? */
CONNECTED :: 0x00040001
DISCONNECTED :: 0x00040002
JOYSTICK_HAT_BUTTONS :: 0x00050001
ANGLE_PLATFORM_TYPE :: 0x00050002
PLATFORM :: 0x00050003
/* Platform specific init hints. */
COCOA_CHDIR_RESOURCES :: 0x00051001
COCOA_MENUBAR :: 0x00051002
X11_XCB_VULKAN_SURFACE :: 0x00052001
WAYLAND_LIBDECOR :: 0x00053001
ANY_PLATFORM :: 0x00060000
PLATFORM_WIN32 :: 0x00060001
PLATFORM_COCOA :: 0x00060002
PLATFORM_WAYLAND :: 0x00060003
PLATFORM_X11 :: 0x00060004
PLATFORM_NULL :: 0x00060005
/* */
DONT_CARE :: -1