package glfw /*** Constants ***/ /* Versions */ VERSION_MAJOR :: 3; VERSION_MINOR :: 3; VERSION_REVISION :: 4; /* 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; /* 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; /* 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; OPENGL_DEBUG_CONTEXT :: 0x00022007; OPENGL_PROFILE :: 0x00022008; CONTEXT_RELEASE_BEHAVIOR :: 0x00022009; CONTEXT_NO_ERROR :: 0x0002200A; CONTEXT_CREATION_API :: 0x0002200B; SCALE_TO_MONITOR :: 0x0002200C; /* Cross platform attributes */ COCOA_RETINA_FRAMEBUFFER :: 0x00023001; COCOA_FRAME_NAME :: 0x00023002; COCOA_GRAPHICS_SWITCHING :: 0x00023003; X11_CLASS_NAME :: 0x00024001; X11_INSTANCE_NAME :: 0x00024002; /* 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; /* 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; /* Types of cursors */ ARROW_CURSOR :: 0x00036001; IBEAM_CURSOR :: 0x00036002; CROSSHAIR_CURSOR :: 0x00036003; HAND_CURSOR :: 0x00036004; HRESIZE_CURSOR :: 0x00036005; VRESIZE_CURSOR :: 0x00036006; RESIZE_NWSE_CURSOR :: 0x00036007; RESIZE_NESW_CURSOR :: 0x00036008; /* Joystick? */ CONNECTED :: 0x00040001; DISCONNECTED :: 0x00040002; /* macOS specific init hint. */ JOYSTICK_HAT_BUTTONS :: 0x00050001; COCOA_CHDIR_RESOURCES :: 0x00051001; COCOA_MENUBAR :: 0x00051002; /* */ DONT_CARE :: -1;