diff options
| -rw-r--r-- | API.md | 1666 | ||||
| -rw-r--r-- | ReiLua_API.lua | 24 | ||||
| -rw-r--r-- | changelog | 8 | ||||
| -rw-r--r-- | devnotes | 3 | ||||
| -rw-r--r-- | doc_parser.lua | 44 | ||||
| -rw-r--r-- | examples/events/main.lua | 30 | ||||
| -rw-r--r-- | include/lua_core.h | 14 | ||||
| -rw-r--r-- | include/state.h | 7 | ||||
| -rw-r--r-- | src/lua_core.c | 183 |
9 files changed, 864 insertions, 1115 deletions
@@ -41,1192 +41,646 @@ This function will be called on program close. Cleanup could be done here. --- -## Events - -Event content in RL.event. - ---- -> { type: RL.EVENT_KEY, int key, int scancode, int action, int mods } - - GLFW3 Keyboard Callback, runs on key pressed. - ---- - -> { type RL.EVENT_CHAR, int key } - - GLFW3 Char Key Callback, runs on key pressed (get char value). - ---- - -> { type RL.EVENT_MOUSE_BUTTON, int button, int action, int mods } - - GLFW3 Mouse Button Callback, runs on mouse button pressed. - ---- - -> { type RL.EVENT_MOUSE_CURSOR_POS, number x, number y } - - GLFW3 Cursor Position Callback, runs on mouse move. - ---- - -> { type RL.EVENT_MOUSE_SCROLL, number xoffset, number yoffset } - - GLFW3 Srolling Callback, runs on mouse wheel. - ---- - -> { type RL.EVENT_CURSOR_ENTER, int enter } - - GLFW3 Cursor Enter Callback, cursor enters client area. - ---- - ## Globals - ConfigFlags - -FLAG_VSYNC_HINT - -FLAG_FULLSCREEN_MODE - -FLAG_WINDOW_RESIZABLE - -FLAG_WINDOW_UNDECORATED - -FLAG_WINDOW_HIDDEN - -FLAG_WINDOW_MINIMIZED - -FLAG_WINDOW_MAXIMIZED - -FLAG_WINDOW_UNFOCUSED - -FLAG_WINDOW_TOPMOST - -FLAG_WINDOW_ALWAYS_RUN - -FLAG_WINDOW_TRANSPARENT - -FLAG_WINDOW_HIGHDPI - -FLAG_MSAA_4X_HINT - -FLAG_INTERLACED_HINT +FLAG_VSYNC_HINT = 64 +FLAG_FULLSCREEN_MODE = 2 +FLAG_WINDOW_RESIZABLE = 4 +FLAG_WINDOW_UNDECORATED = 8 +FLAG_WINDOW_HIDDEN = 128 +FLAG_WINDOW_MINIMIZED = 512 +FLAG_WINDOW_MAXIMIZED = 1024 +FLAG_WINDOW_UNFOCUSED = 2048 +FLAG_WINDOW_TOPMOST = 4096 +FLAG_WINDOW_ALWAYS_RUN = 256 +FLAG_WINDOW_TRANSPARENT = 16 +FLAG_WINDOW_HIGHDPI = 8192 +FLAG_MSAA_4X_HINT = 32 +FLAG_INTERLACED_HINT = 65536 ## Globals - TraceLogLevel - -LOG_ALL - -LOG_TRACE - -LOG_DEBUG - -LOG_INFO - -LOG_WARNING - -LOG_ERROR - -LOG_FATAL - -LOG_NONE +LOG_ALL = 0 +LOG_TRACE = 1 +LOG_DEBUG = 2 +LOG_INFO = 3 +LOG_WARNING = 4 +LOG_ERROR = 5 +LOG_FATAL = 6 +LOG_NONE = 7 ## Globals - KeyboardKey -GLFW_KEY_UNKNOWN - -KEY_NULL - -KEY_APOSTROPHE - -KEY_COMMA - -KEY_MINUS - -KEY_PERIOD - -KEY_SLASH - -KEY_ZERO - -KEY_ONE - -KEY_TWO - -KEY_THREE - -KEY_FOUR - -KEY_FIVE - -KEY_SIX - -KEY_SEVEN - -KEY_EIGHT - -KEY_NINE - -KEY_SEMICOLON - -KEY_EQUAL - -KEY_A - -KEY_B - -KEY_C - -KEY_D - -KEY_E - -KEY_F - -KEY_G - -KEY_H - -KEY_I - -KEY_J - -KEY_K - -KEY_L - -KEY_M - -KEY_N - -KEY_O - -KEY_P - -KEY_Q - -KEY_R - -KEY_S - -KEY_T - -KEY_U - -KEY_V - -KEY_W - -KEY_X - -KEY_Y - -KEY_Z - -KEY_LEFT_BRACKET - -KEY_BACKSLASH - -KEY_RIGHT_BRACKET - -KEY_GRAVE - -KEY_SPACE - -KEY_ESCAPE - -KEY_ENTER - -KEY_TAB - -KEY_BACKSPACE - -KEY_INSERT - -KEY_DELETE - -KEY_RIGHT - -KEY_LEFT - -KEY_DOWN - -KEY_UP - -KEY_PAGE_UP - -KEY_PAGE_DOWN - -KEY_HOME - -KEY_END - -KEY_CAPS_LOCK - -KEY_SCROLL_LOCK - -KEY_NUM_LOCK - -KEY_PRINT_SCREEN - -KEY_PAUSE - -KEY_F1 - -KEY_F2 - -KEY_F3 - -KEY_F4 - -KEY_F5 - -KEY_F6 - -KEY_F7 - -KEY_F8 - -KEY_F9 - -KEY_F10 - -KEY_F11 - -KEY_F12 - -KEY_LEFT_SHIFT - -KEY_LEFT_CONTROL - -KEY_LEFT_ALT - -KEY_LEFT_SUPER - -KEY_RIGHT_SHIFT - -KEY_RIGHT_CONTROL - -KEY_RIGHT_ALT - -KEY_RIGHT_SUPER - -KEY_KB_MENU - -KEY_KP_0 - -KEY_KP_1 - -KEY_KP_2 - -KEY_KP_3 - -KEY_KP_4 - -KEY_KP_5 - -KEY_KP_6 - -KEY_KP_7 - -KEY_KP_8 - -KEY_KP_9 - -KEY_KP_DECIMAL - -KEY_KP_DIVIDE - -KEY_KP_MULTIPLY - -KEY_KP_SUBTRACT - -KEY_KP_ADD - -KEY_KP_ENTER - -KEY_KP_EQUAL - -KEY_BACK - -KEY_MENU - -KEY_VOLUME_UP - -KEY_VOLUME_DOWN +GLFW_KEY_UNKNOWN = nil +KEY_NULL = 0 +KEY_APOSTROPHE = 39 +KEY_COMMA = 44 +KEY_MINUS = 45 +KEY_PERIOD = 46 +KEY_SLASH = 47 +KEY_ZERO = 48 +KEY_ONE = 49 +KEY_TWO = 50 +KEY_THREE = 51 +KEY_FOUR = 52 +KEY_FIVE = 53 +KEY_SIX = 54 +KEY_SEVEN = 55 +KEY_EIGHT = 56 +KEY_NINE = 57 +KEY_SEMICOLON = 59 +KEY_EQUAL = 61 +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 +KEY_LEFT_BRACKET = 91 +KEY_BACKSLASH = 92 +KEY_RIGHT_BRACKET = 93 +KEY_GRAVE = 96 +KEY_SPACE = 32 +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 +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_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_KB_MENU = 348 +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 +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 +KEY_BACK = 4 +KEY_MENU = 82 +KEY_VOLUME_UP = 24 +KEY_VOLUME_DOWN = 25 ## Globals - MouseButtons - -MOUSE_BUTTON_LEFT - -MOUSE_BUTTON_RIGHT - -MOUSE_BUTTON_MIDDLE - -MOUSE_BUTTON_SIDE - -MOUSE_BUTTON_EXTRA - -MOUSE_BUTTON_FORWARD - -MOUSE_BUTTON_BACK +MOUSE_BUTTON_LEFT = 0 +MOUSE_BUTTON_RIGHT = 1 +MOUSE_BUTTON_MIDDLE = 2 +MOUSE_BUTTON_SIDE = 3 +MOUSE_BUTTON_EXTRA = 4 +MOUSE_BUTTON_FORWARD = 5 +MOUSE_BUTTON_BACK = 6 ## Globals - MouseCursor - -MOUSE_CURSOR_DEFAULT - -MOUSE_CURSOR_ARROW - -MOUSE_CURSOR_IBEAM - -MOUSE_CURSOR_CROSSHAIR - -MOUSE_CURSOR_POINTING_HAND - -MOUSE_CURSOR_RESIZE_EW - -MOUSE_CURSOR_RESIZE_NS - -MOUSE_CURSOR_RESIZE_NWSE - -MOUSE_CURSOR_RESIZE_NESW - -MOUSE_CURSOR_RESIZE_ALL - -MOUSE_CURSOR_NOT_ALLOWED +MOUSE_CURSOR_DEFAULT = 0 +MOUSE_CURSOR_ARROW = 1 +MOUSE_CURSOR_IBEAM = 2 +MOUSE_CURSOR_CROSSHAIR = 3 +MOUSE_CURSOR_POINTING_HAND = 4 +MOUSE_CURSOR_RESIZE_EW = 5 +MOUSE_CURSOR_RESIZE_NS = 6 +MOUSE_CURSOR_RESIZE_NWSE = 7 +MOUSE_CURSOR_RESIZE_NESW = 8 +MOUSE_CURSOR_RESIZE_ALL = 9 +MOUSE_CURSOR_NOT_ALLOWED = 10 ## Globals - GamepadButtons - -GAMEPAD_BUTTON_UNKNOWN - -GAMEPAD_BUTTON_LEFT_FACE_UP - -GAMEPAD_BUTTON_LEFT_FACE_RIGHT - -GAMEPAD_BUTTON_LEFT_FACE_DOWN - -GAMEPAD_BUTTON_LEFT_FACE_LEFT - -GAMEPAD_BUTTON_RIGHT_FACE_UP - -GAMEPAD_BUTTON_RIGHT_FACE_RIGHT - -GAMEPAD_BUTTON_RIGHT_FACE_DOWN - -GAMEPAD_BUTTON_RIGHT_FACE_LEFT - -GAMEPAD_BUTTON_LEFT_TRIGGER_1 - -GAMEPAD_BUTTON_LEFT_TRIGGER_2 - -GAMEPAD_BUTTON_RIGHT_TRIGGER_1 - -GAMEPAD_BUTTON_RIGHT_TRIGGER_2 - -GAMEPAD_BUTTON_MIDDLE_LEFT - -GAMEPAD_BUTTON_MIDDLE - -GAMEPAD_BUTTON_MIDDLE_RIGHT - -GAMEPAD_BUTTON_LEFT_THUMB - -GAMEPAD_BUTTON_RIGHT_THUMB +GAMEPAD_BUTTON_UNKNOWN = 0 +GAMEPAD_BUTTON_LEFT_FACE_UP = 1 +GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 +GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 +GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4 +GAMEPAD_BUTTON_RIGHT_FACE_UP = 5 +GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6 +GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7 +GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8 +GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9 +GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10 +GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11 +GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12 +GAMEPAD_BUTTON_MIDDLE_LEFT = 13 +GAMEPAD_BUTTON_MIDDLE = 14 +GAMEPAD_BUTTON_MIDDLE_RIGHT = 15 +GAMEPAD_BUTTON_LEFT_THUMB = 16 +GAMEPAD_BUTTON_RIGHT_THUMB = 17 ## Globals - GamepadAxis - -GAMEPAD_AXIS_LEFT_X - -GAMEPAD_AXIS_LEFT_Y - -GAMEPAD_AXIS_RIGHT_X - -GAMEPAD_AXIS_RIGHT_Y - -GAMEPAD_AXIS_LEFT_TRIGGER - -GAMEPAD_AXIS_RIGHT_TRIGGER +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 ## Globals - MapTypes - -MATERIAL_MAP_ALBEDO - -MATERIAL_MAP_METALNESS - -MATERIAL_MAP_NORMAL - -MATERIAL_MAP_ROUGHNESS - -MATERIAL_MAP_OCCLUSION - -MATERIAL_MAP_EMISSION - -MATERIAL_MAP_HEIGHT - -MATERIAL_MAP_CUBEMAP - -MATERIAL_MAP_IRRADIANCE - -MATERIAL_MAP_PREFILTER - -MATERIAL_MAP_BRDF - -MATERIAL_MAP_DIFFUSE - -MATERIAL_MAP_SPECULAR +MATERIAL_MAP_ALBEDO = 0 +MATERIAL_MAP_METALNESS = 1 +MATERIAL_MAP_NORMAL = 2 +MATERIAL_MAP_ROUGHNESS = 3 +MATERIAL_MAP_OCCLUSION = 4 +MATERIAL_MAP_EMISSION = 5 +MATERIAL_MAP_HEIGHT = 6 +MATERIAL_MAP_CUBEMAP = 7 +MATERIAL_MAP_IRRADIANCE = 8 +MATERIAL_MAP_PREFILTER = 9 +MATERIAL_MAP_BRDF = 10 +MATERIAL_MAP_DIFFUSE = 0 +MATERIAL_MAP_SPECULAR = 1 ## Globals - ShaderLocationIndex - -SHADER_LOC_VERTEX_POSITION - -SHADER_LOC_VERTEX_TEXCOORD01 - -SHADER_LOC_VERTEX_TEXCOORD02 - -SHADER_LOC_VERTEX_NORMAL - -SHADER_LOC_VERTEX_TANGENT - -SHADER_LOC_VERTEX_COLOR - -SHADER_LOC_MATRIX_MVP - -SHADER_LOC_MATRIX_VIEW - -SHADER_LOC_MATRIX_PROJECTION - -SHADER_LOC_MATRIX_MODEL - -SHADER_LOC_MATRIX_NORMAL - -SHADER_LOC_VECTOR_VIEW - -SHADER_LOC_COLOR_DIFFUSE - -SHADER_LOC_COLOR_SPECULAR - -SHADER_LOC_COLOR_AMBIENT - -SHADER_LOC_MAP_ALBEDO - -SHADER_LOC_MAP_METALNESS - -SHADER_LOC_MAP_NORMAL - -SHADER_LOC_MAP_ROUGHNESS - -SHADER_LOC_MAP_OCCLUSION - -SHADER_LOC_MAP_EMISSION - -SHADER_LOC_MAP_HEIGHT - -SHADER_LOC_MAP_CUBEMAP - -SHADER_LOC_MAP_IRRADIANCE - -SHADER_LOC_MAP_PREFILTER - -SHADER_LOC_MAP_BRDF - -SHADER_LOC_MAP_DIFFUSE - -SHADER_LOC_MAP_SPECULAR +SHADER_LOC_VERTEX_POSITION = 0 +SHADER_LOC_VERTEX_TEXCOORD01 = 1 +SHADER_LOC_VERTEX_TEXCOORD02 = 2 +SHADER_LOC_VERTEX_NORMAL = 3 +SHADER_LOC_VERTEX_TANGENT = 4 +SHADER_LOC_VERTEX_COLOR = 5 +SHADER_LOC_MATRIX_MVP = 6 +SHADER_LOC_MATRIX_VIEW = 7 +SHADER_LOC_MATRIX_PROJECTION = 8 +SHADER_LOC_MATRIX_MODEL = 9 +SHADER_LOC_MATRIX_NORMAL = 10 +SHADER_LOC_VECTOR_VIEW = 11 +SHADER_LOC_COLOR_DIFFUSE = 12 +SHADER_LOC_COLOR_SPECULAR = 13 +SHADER_LOC_COLOR_AMBIENT = 14 +SHADER_LOC_MAP_ALBEDO = 15 +SHADER_LOC_MAP_METALNESS = 16 +SHADER_LOC_MAP_NORMAL = 17 +SHADER_LOC_MAP_ROUGHNESS = 18 +SHADER_LOC_MAP_OCCLUSION = 19 +SHADER_LOC_MAP_EMISSION = 20 +SHADER_LOC_MAP_HEIGHT = 21 +SHADER_LOC_MAP_CUBEMAP = 22 +SHADER_LOC_MAP_IRRADIANCE = 23 +SHADER_LOC_MAP_PREFILTER = 24 +SHADER_LOC_MAP_BRDF = 25 +SHADER_LOC_MAP_DIFFUSE = 15 +SHADER_LOC_MAP_SPECULAR = 16 ## Globals - ShaderUniformDataType - -SHADER_UNIFORM_FLOAT - -SHADER_UNIFORM_VEC2 - -SHADER_UNIFORM_VEC3 - -SHADER_UNIFORM_VEC4 - -SHADER_UNIFORM_INT - -SHADER_UNIFORM_IVEC2 - -SHADER_UNIFORM_IVEC3 - -SHADER_UNIFORM_IVEC4 - -SHADER_UNIFORM_SAMPLER2D +SHADER_UNIFORM_FLOAT = 0 +SHADER_UNIFORM_VEC2 = 1 +SHADER_UNIFORM_VEC3 = 2 +SHADER_UNIFORM_VEC4 = 3 +SHADER_UNIFORM_INT = 4 +SHADER_UNIFORM_IVEC2 = 5 +SHADER_UNIFORM_IVEC3 = 6 +SHADER_UNIFORM_IVEC4 = 7 +SHADER_UNIFORM_SAMPLER2D = 8 ## Globals - ShaderAttributeDataTypes - -SHADER_ATTRIB_FLOAT - -SHADER_ATTRIB_VEC2 - -SHADER_ATTRIB_VEC3 - -SHADER_ATTRIB_VEC4 +SHADER_ATTRIB_FLOAT = 0 +SHADER_ATTRIB_VEC2 = 1 +SHADER_ATTRIB_VEC3 = 2 +SHADER_ATTRIB_VEC4 = 3 ## Globals - PixelFormats - -PIXELFORMAT_UNCOMPRESSED_GRAYSCALE - -PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA - -PIXELFORMAT_UNCOMPRESSED_R5G6B5 - -PIXELFORMAT_UNCOMPRESSED_R8G8B8 - -PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 - -PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 - -PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 - -PIXELFORMAT_UNCOMPRESSED_R32 - -PIXELFORMAT_UNCOMPRESSED_R32G32B32 - -PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 - -PIXELFORMAT_COMPRESSED_DXT1_RGB - -PIXELFORMAT_COMPRESSED_DXT1_RGBA - -PIXELFORMAT_COMPRESSED_DXT3_RGBA - -PIXELFORMAT_COMPRESSED_DXT5_RGBA - -PIXELFORMAT_COMPRESSED_ETC1_RGB - -PIXELFORMAT_COMPRESSED_ETC2_RGB - -PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA - -PIXELFORMAT_COMPRESSED_PVRT_RGB - -PIXELFORMAT_COMPRESSED_PVRT_RGBA - -PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA - -PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA +PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 +PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 +PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 +PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 +PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 +PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 +PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 +PIXELFORMAT_UNCOMPRESSED_R32 = 8 +PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 +PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 +PIXELFORMAT_COMPRESSED_DXT1_RGB = 11 +PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12 +PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13 +PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14 +PIXELFORMAT_COMPRESSED_ETC1_RGB = 15 +PIXELFORMAT_COMPRESSED_ETC2_RGB = 16 +PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17 +PIXELFORMAT_COMPRESSED_PVRT_RGB = 18 +PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19 +PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20 +PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21 ## Globals - TextureFilters - -TEXTURE_FILTER_POINT - -TEXTURE_FILTER_BILINEAR - -TEXTURE_FILTER_TRILINEAR - -TEXTURE_FILTER_ANISOTROPIC_4X - -TEXTURE_FILTER_ANISOTROPIC_8X - -TEXTURE_FILTER_ANISOTROPIC_16X +TEXTURE_FILTER_POINT = 0 +TEXTURE_FILTER_BILINEAR = 1 +TEXTURE_FILTER_TRILINEAR = 2 +TEXTURE_FILTER_ANISOTROPIC_4X = 3 +TEXTURE_FILTER_ANISOTROPIC_8X = 4 +TEXTURE_FILTER_ANISOTROPIC_16X = 5 ## Globals - TextureWrap - -TEXTURE_WRAP_REPEAT - -TEXTURE_WRAP_CLAMP - -TEXTURE_WRAP_MIRROR_REPEAT - -TEXTURE_WRAP_MIRROR_CLAMP +TEXTURE_WRAP_REPEAT = 0 +TEXTURE_WRAP_CLAMP = 1 +TEXTURE_WRAP_MIRROR_REPEAT = 2 +TEXTURE_WRAP_MIRROR_CLAMP = 3 ## Globals - CubemapLayout - -CUBEMAP_LAYOUT_AUTO_DETECT - -CUBEMAP_LAYOUT_LINE_VERTICAL - -CUBEMAP_LAYOUT_LINE_HORIZONTAL - -CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR - -CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE - -CUBEMAP_LAYOUT_PANORAMA +CUBEMAP_LAYOUT_AUTO_DETECT = 0 +CUBEMAP_LAYOUT_LINE_VERTICAL = 1 +CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2 +CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3 +CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4 +CUBEMAP_LAYOUT_PANORAMA = 5 ## Globals - FontType - -FONT_DEFAULT - -FONT_BITMAP - -FONT_SDF +FONT_DEFAULT = 0 +FONT_BITMAP = 1 +FONT_SDF = 2 ## Globals - BlendModes - -BLEND_ALPHA - -BLEND_ADDITIVE - -BLEND_MULTIPLIED - -BLEND_ADD_COLORS - -BLEND_SUBTRACT_COLORS - -BLEND_ALPHA_PREMULTIPLY - -BLEND_CUSTOM - -BLEND_CUSTOM_SEPARATE +BLEND_ALPHA = 0 +BLEND_ADDITIVE = 1 +BLEND_MULTIPLIED = 2 +BLEND_ADD_COLORS = 3 +BLEND_SUBTRACT_COLORS = 4 +BLEND_ALPHA_PREMULTIPLY = 5 +BLEND_CUSTOM = 6 +BLEND_CUSTOM_SEPARATE = 7 ## Globals - Gesture - -GESTURE_NONE - -GESTURE_TAP - -GESTURE_DOUBLETAP - -GESTURE_HOLD - -GESTURE_DRAG - -GESTURE_SWIPE_RIGHT - -GESTURE_SWIPE_LEFT - -GESTURE_SWIPE_UP - -GESTURE_SWIPE_DOWN - -GESTURE_PINCH_IN - -GESTURE_PINCH_OUT +GESTURE_NONE = 0 +GESTURE_TAP = 1 +GESTURE_DOUBLETAP = 2 +GESTURE_HOLD = 4 +GESTURE_DRAG = 8 +GESTURE_SWIPE_RIGHT = 16 +GESTURE_SWIPE_LEFT = 32 +GESTURE_SWIPE_UP = 64 +GESTURE_SWIPE_DOWN = 128 +GESTURE_PINCH_IN = 256 +GESTURE_PINCH_OUT = 512 ## Globals - CameraMode - -CAMERA_CUSTOM - -CAMERA_FREE - -CAMERA_ORBITAL - -CAMERA_FIRST_PERSON - -CAMERA_THIRD_PERSON +CAMERA_CUSTOM = 0 +CAMERA_FREE = 1 +CAMERA_ORBITAL = 2 +CAMERA_FIRST_PERSON = 3 +CAMERA_THIRD_PERSON = 4 ## Globals - CameraProjections - -CAMERA_PERSPECTIVE - -CAMERA_ORTHOGRAPHIC +CAMERA_PERSPECTIVE = 0 +CAMERA_ORTHOGRAPHIC = 1 ## Globals - N-patchLayout - -NPATCH_NINE_PATCH - -NPATCH_THREE_PATCH_VERTICAL - -NPATCH_THREE_PATCH_HORIZONTAL +NPATCH_NINE_PATCH = 0 +NPATCH_THREE_PATCH_VERTICAL = 1 +NPATCH_THREE_PATCH_HORIZONTAL = 2 ## Globals - TextureTypes - -TEXTURE_TYPE_TEXTURE - -TEXTURE_TYPE_RENDER_TEXTURE +TEXTURE_TYPE_TEXTURE = 0 +TEXTURE_TYPE_RENDER_TEXTURE = 1 ## Globals - Colors - -LIGHTGRAY - -GRAY - -DARKGRAY - -YELLOW - -GOLD - -ORANGE - -PINK - -RED - -MAROON - -GREEN - -LIME - -DARKGREEN - -SKYBLUE - -BLUE - -DARKBLUE - -PURPLE - -VIOLET - -DARKPURPLE - -BEIGE - -BROWN - -DARKBROWN - -WHITE - -BLACK - -BLANK - -MAGENTA - -RAYWHITE +LIGHTGRAY = { 200, 200, 200, 255 } +GRAY = { 130, 130, 130, 255 } +DARKGRAY = { 80, 80, 80, 255 } +YELLOW = { 253, 249, 0, 255 } +GOLD = { 255, 203, 0, 255 } +ORANGE = { 255, 161, 0, 255 } +PINK = { 255, 109, 194, 255 } +RED = { 230, 41, 55, 255 } +MAROON = { 190, 33, 55, 255 } +GREEN = { 0, 228, 48, 255 } +LIME = { 0, 158, 47, 255 } +DARKGREEN = { 0, 117, 44, 255 } +SKYBLUE = { 102, 191, 255, 255 } +BLUE = { 0, 121, 241, 255 } +DARKBLUE = { 0, 82, 172, 255 } +PURPLE = { 200, 122, 255, 255 } +VIOLET = { 135, 60, 190, 255 } +DARKPURPLE = { 112, 31, 126, 255 } +BEIGE = { 211, 176, 131, 255 } +BROWN = { 127, 106, 79, 255 } +DARKBROWN = { 76, 63, 47, 255 } +WHITE = { 255, 255, 255, 255 } +BLACK = { 0, 0, 0, 255 } +BLANK = { 0, 0, 0, 0 } +MAGENTA = { 255, 0, 255, 255 } +RAYWHITE = { 245, 245, 245, 255 } ## Globals - Math - -PI - -DEG2RAD - -RAD2DEG +PI = 3.1415927410126 +DEG2RAD = 0.017453292384744 +RAD2DEG = 57.295776367188 ## Globals - GuiControlState - -STATE_NORMAL - -STATE_FOCUSED - -STATE_PRESSED - -STATE_DISABLED +STATE_NORMAL = 0 +STATE_FOCUSED = 1 +STATE_PRESSED = 2 +STATE_DISABLED = 3 ## Globals - GuiTextAlignment - -TEXT_ALIGN_LEFT - -TEXT_ALIGN_CENTER - -TEXT_ALIGN_RIGHT +TEXT_ALIGN_LEFT = 0 +TEXT_ALIGN_CENTER = 1 +TEXT_ALIGN_RIGHT = 2 ## Globals - GuiControl - -DEFAULT - -LABEL - -BUTTON - -TOGGLE - -SLIDER - -PROGRESSBAR - -CHECKBOX - -COMBOBOX - -DROPDOWNBOX - -TEXTBOX - -VALUEBOX - -SPINNER - -LISTVIEW - -COLORPICKER - -SCROLLBAR - -STATUSBAR +DEFAULT = 0 +LABEL = 1 +BUTTON = 2 +TOGGLE = 3 +SLIDER = 4 +PROGRESSBAR = 5 +CHECKBOX = 6 +COMBOBOX = 7 +DROPDOWNBOX = 8 +TEXTBOX = 9 +VALUEBOX = 10 +SPINNER = 11 +LISTVIEW = 12 +COLORPICKER = 13 +SCROLLBAR = 14 +STATUSBAR = 15 ## Globals - GuiControlProperty - -BORDER_COLOR_NORMAL - -BASE_COLOR_NORMAL - -TEXT_COLOR_NORMAL - -BORDER_COLOR_FOCUSED - -BASE_COLOR_FOCUSED - -TEXT_COLOR_FOCUSED - -BORDER_COLOR_PRESSED - -BASE_COLOR_PRESSED - -TEXT_COLOR_PRESSED - -BORDER_COLOR_DISABLED - -BASE_COLOR_DISABLED - -TEXT_COLOR_DISABLED - -BORDER_WIDTH - -TEXT_PADDING - -TEXT_ALIGNMENT - -RESERVED +BORDER_COLOR_NORMAL = 0 +BASE_COLOR_NORMAL = 1 +TEXT_COLOR_NORMAL = 2 +BORDER_COLOR_FOCUSED = 3 +BASE_COLOR_FOCUSED = 4 +TEXT_COLOR_FOCUSED = 5 +BORDER_COLOR_PRESSED = 6 +BASE_COLOR_PRESSED = 7 +TEXT_COLOR_PRESSED = 8 +BORDER_COLOR_DISABLED = 9 +BASE_COLOR_DISABLED = 10 +TEXT_COLOR_DISABLED = 11 +BORDER_WIDTH = 12 +TEXT_PADDING = 13 +TEXT_ALIGNMENT = 14 +RESERVED = 15 ## Globals - GuiDefaultProperty - -TEXT_SIZE - -TEXT_SPACING - -LINE_COLOR - -BACKGROUND_COLOR +TEXT_SIZE = 16 +TEXT_SPACING = 17 +LINE_COLOR = 18 +BACKGROUND_COLOR = 19 ## Globals - GuiToggleProperty - -GROUP_PADDING +GROUP_PADDING = 16 ## Globals - GuiSliderProperty - -SLIDER_WIDTH - -SLIDER_PADDING +SLIDER_WIDTH = 16 +SLIDER_PADDING = 17 ## Globals - GuiProgressBarProperty - -PROGRESS_PADDING +PROGRESS_PADDING = 16 ## Globals - GuiScrollBarProperty - -ARROWS_SIZE - -ARROWS_VISIBLE - -SCROLL_SLIDER_PADDING - -SCROLL_SLIDER_SIZE - -SCROLL_PADDING - -SCROLL_SPEED +ARROWS_SIZE = 16 +ARROWS_VISIBLE = 17 +SCROLL_SLIDER_PADDING = 18 +SCROLL_SLIDER_SIZE = 19 +SCROLL_PADDING = 20 +SCROLL_SPEED = 21 ## Globals - GuiCheckBoxProperty - -CHECK_PADDING +CHECK_PADDING = 16 ## Globals - GuiComboBoxProperty - -COMBO_BUTTON_WIDTH - -COMBO_BUTTON_SPACING +COMBO_BUTTON_WIDTH = 16 +COMBO_BUTTON_SPACING = 17 ## Globals - GuiDropdownBoxProperty - -ARROW_PADDING - -DROPDOWN_ITEMS_SPACING +ARROW_PADDING = 16 +DROPDOWN_ITEMS_SPACING = 17 ## Globals - GuiTextBoxProperty - -TEXT_INNER_PADDING - -TEXT_LINES_SPACING +TEXT_INNER_PADDING = 16 +TEXT_LINES_SPACING = 17 ## Globals - GuiSpinnerProperty - -SPIN_BUTTON_WIDTH - -SPIN_BUTTON_SPACING +SPIN_BUTTON_WIDTH = 16 +SPIN_BUTTON_SPACING = 17 ## Globals - GuiListViewProperty - -LIST_ITEMS_HEIGHT - -LIST_ITEMS_SPACING - -SCROLLBAR_WIDTH - -SCROLLBAR_SIDE +LIST_ITEMS_HEIGHT = 16 +LIST_ITEMS_SPACING = 17 +SCROLLBAR_WIDTH = 18 +SCROLLBAR_SIDE = 19 ## Globals - GuiColorPickerProperty - -COLOR_SELECTOR_SIZE - -HUEBAR_WIDTH - -HUEBAR_PADDING - -HUEBAR_SELECTOR_HEIGHT - -HUEBAR_SELECTOR_OVERFLOW +COLOR_SELECTOR_SIZE = 16 +HUEBAR_WIDTH = 17 +HUEBAR_PADDING = 18 +HUEBAR_SELECTOR_HEIGHT = 19 +HUEBAR_SELECTOR_OVERFLOW = 20 ## Globals - LightType - -LIGHT_DIRECTIONAL - -LIGHT_POINT +LIGHT_DIRECTIONAL = 0 +LIGHT_POINT = 1 ## Globals - RLGL - -RL_DEFAULT_BATCH_BUFFER_ELEMENTS - -RL_DEFAULT_BATCH_BUFFERS - -RL_DEFAULT_BATCH_DRAWCALLS - -RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS +RL_DEFAULT_BATCH_BUFFER_ELEMENTS = 8192 +RL_DEFAULT_BATCH_BUFFERS = 1 +RL_DEFAULT_BATCH_DRAWCALLS = 256 +RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS = 4 ## Globals - RLGL - -RL_MAX_MATRIX_STACK_SIZE +RL_MAX_MATRIX_STACK_SIZE = 32 ## Globals - RLGL - -RL_MAX_SHADER_LOCATIONS +RL_MAX_SHADER_LOCATIONS = 32 ## Globals - RLGL - -RL_CULL_DISTANCE_NEAR - -RL_CULL_DISTANCE_FAR +RL_CULL_DISTANCE_NEAR = 0.01 +RL_CULL_DISTANCE_FAR = 1000.0 ## Globals - RLGL - -RL_TEXTURE_WRAP_S - -RL_TEXTURE_WRAP_T - -RL_TEXTURE_MAG_FILTER - -RL_TEXTURE_MIN_FILTER - -RL_TEXTURE_FILTER_NEAREST - -RL_TEXTURE_FILTER_LINEAR - -RL_TEXTURE_FILTER_MIP_NEAREST - -RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR - -RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST - -RL_TEXTURE_FILTER_MIP_LINEAR - -RL_TEXTURE_FILTER_ANISOTROPIC - -RL_TEXTURE_MIPMAP_BIAS_RATIO - -RL_TEXTURE_WRAP_REPEAT - -RL_TEXTURE_WRAP_CLAMP - -RL_TEXTURE_WRAP_MIRROR_REPEAT - -RL_TEXTURE_WRAP_MIRROR_CLAMP +RL_TEXTURE_WRAP_S = 10242 +RL_TEXTURE_WRAP_T = 10243 +RL_TEXTURE_MAG_FILTER = 10240 +RL_TEXTURE_MIN_FILTER = 10241 +RL_TEXTURE_FILTER_NEAREST = 9728 +RL_TEXTURE_FILTER_LINEAR = 9729 +RL_TEXTURE_FILTER_MIP_NEAREST = 9984 +RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 9986 +RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 9985 +RL_TEXTURE_FILTER_MIP_LINEAR = 9987 +RL_TEXTURE_FILTER_ANISOTROPIC = 12288 +RL_TEXTURE_MIPMAP_BIAS_RATIO = 16384 +RL_TEXTURE_WRAP_REPEAT = 10497 +RL_TEXTURE_WRAP_CLAMP = 33071 +RL_TEXTURE_WRAP_MIRROR_REPEAT = 33648 +RL_TEXTURE_WRAP_MIRROR_CLAMP = 34626 ## Globals - RLGL - -RL_MODELVIEW - -RL_PROJECTION - -RL_TEXTURE +RL_MODELVIEW = 5888 +RL_PROJECTION = 5889 +RL_TEXTURE = 5890 ## Globals - RLGL - -RL_LINES - -RL_TRIANGLES - -RL_QUADS +RL_LINES = 1 +RL_TRIANGLES = 4 +RL_QUADS = 7 ## Globals - RLGL - -RL_UNSIGNED_BYTE - -RL_FLOAT +RL_UNSIGNED_BYTE = 5121 +RL_FLOAT = 5126 ## Globals - RLGL - -RL_STREAM_DRAW - -RL_STREAM_READ - -RL_STREAM_COPY - -RL_STATIC_DRAW - -RL_STATIC_READ - -RL_STATIC_COPY - -RL_DYNAMIC_DRAW - -RL_DYNAMIC_READ - -RL_DYNAMIC_COPY +RL_STREAM_DRAW = 35040 +RL_STREAM_READ = 35041 +RL_STREAM_COPY = 35042 +RL_STATIC_DRAW = 35044 +RL_STATIC_READ = 35045 +RL_STATIC_COPY = 35046 +RL_DYNAMIC_DRAW = 35048 +RL_DYNAMIC_READ = 35049 +RL_DYNAMIC_COPY = 35050 ## Globals - RLGL - -RL_FRAGMENT_SHADER - -RL_VERTEX_SHADER - -RL_COMPUTE_SHADER +RL_FRAGMENT_SHADER = 35632 +RL_VERTEX_SHADER = 35633 +RL_COMPUTE_SHADER = 37305 ## Globals - RLGL - -RL_ZERO - -RL_ONE - -RL_SRC_COLOR - -RL_ONE_MINUS_SRC_COLOR - -RL_SRC_ALPHA - -RL_ONE_MINUS_SRC_ALPHA - -RL_DST_ALPHA - -RL_ONE_MINUS_DST_ALPHA - -RL_DST_COLOR - -RL_ONE_MINUS_DST_COLOR - -RL_SRC_ALPHA_SATURATE - -RL_CONSTANT_COLOR - -RL_ONE_MINUS_CONSTANT_COLOR - -RL_CONSTANT_ALPHA - -RL_ONE_MINUS_CONSTANT_ALPHA +RL_ZERO = 0 +RL_ONE = 1 +RL_SRC_COLOR = 768 +RL_ONE_MINUS_SRC_COLOR = 769 +RL_SRC_ALPHA = 770 +RL_ONE_MINUS_SRC_ALPHA = 771 +RL_DST_ALPHA = 772 +RL_ONE_MINUS_DST_ALPHA = 773 +RL_DST_COLOR = 774 +RL_ONE_MINUS_DST_COLOR = 775 +RL_SRC_ALPHA_SATURATE = 776 +RL_CONSTANT_COLOR = 32769 +RL_ONE_MINUS_CONSTANT_COLOR = 32770 +RL_CONSTANT_ALPHA = 32771 +RL_ONE_MINUS_CONSTANT_ALPHA = 32772 ## Globals - RLGL - -RL_FUNC_ADD - -RL_MIN - -RL_MAX - -RL_FUNC_SUBTRACT - -RL_FUNC_REVERSE_SUBTRACT - -RL_BLEND_EQUATION - -RL_BLEND_EQUATION_RGB - -RL_BLEND_EQUATION_ALPHA - -RL_BLEND_DST_RGB - -RL_BLEND_SRC_RGB - -RL_BLEND_DST_ALPHA - -RL_BLEND_SRC_ALPHA - -RL_BLEND_COLOR +RL_FUNC_ADD = 32774 +RL_MIN = 32775 +RL_MAX = 32776 +RL_FUNC_SUBTRACT = 32778 +RL_FUNC_REVERSE_SUBTRACT = 32779 +RL_BLEND_EQUATION = 32777 +RL_BLEND_EQUATION_RGB = 32777 +RL_BLEND_EQUATION_ALPHA = 34877 +RL_BLEND_DST_RGB = 32968 +RL_BLEND_SRC_RGB = 32969 +RL_BLEND_DST_ALPHA = 32970 +RL_BLEND_SRC_ALPHA = 32971 +RL_BLEND_COLOR = 32773 ## Globals - RLGL - -RL_OPENGL_11 - -RL_OPENGL_21 - -RL_OPENGL_33 - -RL_OPENGL_43 - -RL_OPENGL_ES_20 +RL_OPENGL_11 = 1 +RL_OPENGL_21 = 2 +RL_OPENGL_33 = 3 +RL_OPENGL_43 = 4 +RL_OPENGL_ES_20 = 5 ## Globals - RLGL - -RL_ATTACHMENT_COLOR_CHANNEL0 - -RL_ATTACHMENT_COLOR_CHANNEL1 - -RL_ATTACHMENT_COLOR_CHANNEL2 - -RL_ATTACHMENT_COLOR_CHANNEL3 - -RL_ATTACHMENT_COLOR_CHANNEL4 - -RL_ATTACHMENT_COLOR_CHANNEL5 - -RL_ATTACHMENT_COLOR_CHANNEL6 - -RL_ATTACHMENT_COLOR_CHANNEL7 - -RL_ATTACHMENT_DEPTH - -RL_ATTACHMENT_STENCIL +RL_ATTACHMENT_COLOR_CHANNEL0 = 0 +RL_ATTACHMENT_COLOR_CHANNEL1 = 1 +RL_ATTACHMENT_COLOR_CHANNEL2 = 2 +RL_ATTACHMENT_COLOR_CHANNEL3 = 3 +RL_ATTACHMENT_COLOR_CHANNEL4 = 4 +RL_ATTACHMENT_COLOR_CHANNEL5 = 5 +RL_ATTACHMENT_COLOR_CHANNEL6 = 6 +RL_ATTACHMENT_COLOR_CHANNEL7 = 7 +RL_ATTACHMENT_DEPTH = 100 +RL_ATTACHMENT_STENCIL = 200 ## Globals - RLGL - -RL_ATTACHMENT_CUBEMAP_POSITIVE_X - -RL_ATTACHMENT_CUBEMAP_NEGATIVE_X - -RL_ATTACHMENT_CUBEMAP_POSITIVE_Y - -RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y - -RL_ATTACHMENT_CUBEMAP_POSITIVE_Z - -RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z - -RL_ATTACHMENT_TEXTURE2D - -RL_ATTACHMENT_RENDERBUFFER +RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0 +RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1 +RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2 +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3 +RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4 +RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5 +RL_ATTACHMENT_TEXTURE2D = 100 +RL_ATTACHMENT_RENDERBUFFER = 200 ## Globals - RLGL - -RL_CULL_FACE_FRONT - -RL_CULL_FACE_BACK +RL_CULL_FACE_FRONT = 0 +RL_CULL_FACE_BACK = 1 ## Globals - OpenGL - -GL_COLOR_BUFFER_BIT - -GL_DEPTH_BUFFER_BIT - -GL_STENCIL_BUFFER_BIT - -GL_NEAREST - -GL_LINEAR +GL_COLOR_BUFFER_BIT = 16384 +GL_DEPTH_BUFFER_BIT = 256 +GL_STENCIL_BUFFER_BIT = 1024 +GL_NEAREST = 9728 +GL_LINEAR = 9729 ## Globals - GLFW - -GLFW_RELEASE - -GLFW_PRESS - -GLFW_REPEAT - -## Globals - Event - -EVENT_KEY - -EVENT_CHAR - -EVENT_MOUSE_BUTTON - -EVENT_MOUSE_CURSOR_POS - -EVENT_MOUSE_SCROLL - -EVENT_CURSOR_ENTER +GLFW_RELEASE = 0 +GLFW_PRESS = 1 +GLFW_REPEAT = 2 + +## Globals - Window +EVENT_WINDOW_SIZE = 0 +EVENT_WINDOW_MAXIMIZE = 1 +EVENT_WINDOW_ICONYFY = 2 +EVENT_WINDOW_FOCUS = 3 +EVENT_WINDOW_DROP = 4 + +## Globals - Input +EVENT_KEY = 5 +EVENT_CHAR = 6 +EVENT_MOUSE_BUTTON = 7 +EVENT_MOUSE_CURSOR_POS = 8 +EVENT_MOUSE_SCROLL = 9 +EVENT_CURSOR_ENTER = 10 ## Types @@ -1397,6 +851,82 @@ int id. ModelAnimations --- +## Events + +Content of event table received by RL.event. + +### Window events + +--- +> { type: RL.EVENT_WINDOW_SIZE, int width, int height } + + WindowSize Callback, runs when window is resized. + +--- + +> { type RL.EVENT_WINDOW_MAXIMIZE, int maximized } + + Window Maximize Callback, runs when window is maximized. + +--- + +> { type RL.EVENT_WINDOW_ICONYFY, int iconified } + + WindowIconify Callback, runs when window is minimized/restored. + +--- + +> { type RL.EVENT_WINDOW_FOCUS, int focused } + + WindowFocus Callback, runs when window get/lose focus. + +--- + +> { type RL.EVENT_WINDOW_DROP, int count, string{} paths } + + Window Drop Callback, runs when drop files into window. + +--- + +### Input events + +--- +> { type: RL.EVENT_KEY, int key, int scancode, int action, int mods } + + Keyboard Callback, runs on key pressed. + +--- + +> { type RL.EVENT_CHAR, int key } + + Char Key Callback, runs on key pressed (get char value). + +--- + +> { type RL.EVENT_MOUSE_BUTTON, int button, int action, int mods } + + Mouse Button Callback, runs on mouse button pressed. + +--- + +> { type RL.EVENT_MOUSE_CURSOR_POS, number x, number y } + + Cursor Position Callback, runs on mouse move. + +--- + +> { type RL.EVENT_MOUSE_SCROLL, number xoffset, number yoffset } + + Srolling Callback, runs on mouse wheel. + +--- + +> { type RL.EVENT_CURSOR_ENTER, int enter } + + Cursor Enter Callback, cursor enters client area. + +--- + ## Core - Window --- diff --git a/ReiLua_API.lua b/ReiLua_API.lua index 0b1551f..f5505ea 100644 --- a/ReiLua_API.lua +++ b/ReiLua_API.lua @@ -705,14 +705,22 @@ RL.GLFW_RELEASE=0 RL.GLFW_PRESS=1 RL.GLFW_REPEAT=2 --- Globals - Event - -RL.EVENT_KEY=0 -RL.EVENT_CHAR=1 -RL.EVENT_MOUSE_BUTTON=2 -RL.EVENT_MOUSE_CURSOR_POS=3 -RL.EVENT_MOUSE_SCROLL=4 -RL.EVENT_CURSOR_ENTER=5 +-- Globals - Window + +RL.EVENT_WINDOW_SIZE=0 +RL.EVENT_WINDOW_MAXIMIZE=1 +RL.EVENT_WINDOW_ICONYFY=2 +RL.EVENT_WINDOW_FOCUS=3 +RL.EVENT_WINDOW_DROP=4 + +-- Globals - Input + +RL.EVENT_KEY=5 +RL.EVENT_CHAR=6 +RL.EVENT_MOUSE_BUTTON=7 +RL.EVENT_MOUSE_CURSOR_POS=8 +RL.EVENT_MOUSE_SCROLL=9 +RL.EVENT_CURSOR_ENTER=10 -- Core - Window ---Check if window has been initialized successfully @@ -17,9 +17,9 @@ KEY CHANGES: - ADDED: rlgl Framebuffer management (fbo) functions - ADDED: rlgl Framebuffer state functions - ADDED: rlgl Textures management functions - - ADDED: Texture and RenderTexture can be given as tables - - ADDED: Camera2D and Camera3D can be given as tables - - ADDED: Camera2D and Camera3D can be given as tables + - ADDED: Texture and RenderTexture can be referenced as tables + - ADDED: Camera2D and Camera3D can be referenced as tables + - ADDED: Camera2D and Camera3D can be referenced as tables - ADDED: rlgl New defines - ADDED: rlgl Textures state functions - ADDED: rlgl Some Render batch management functions @@ -33,6 +33,7 @@ KEY CHANGES: - ADDED: rlgl Vertex buffers state. - ADDED: rlgl Shader state. - ADDED: RL.event function with input events. + - ADDED: Window events. Detailed changes: - FIXED: uluaGetRay was looking for integers instead of tables @@ -96,6 +97,7 @@ Detailed changes: - ADDED: GetTextureId - ADDED: ImageDrawCircleLines - ADDED: ImageBlurGaussian + - ADDED: Values for API.md ------------------------------------------------------------------------ Release: ReiLua version 0.4.0 Using Raylib 4.2 @@ -1,6 +1,4 @@ Current { - * Events - * Window events * rlgl * Vertex buffers management * Matrix state management @@ -12,6 +10,7 @@ Backlog { * New type validators. * Platformer example physics process for true framerate independence. * Extend color lib functionality. + * Global descriptions for API. * IsWaveReady and other Is* ready functions. * Text diff --git a/doc_parser.lua b/doc_parser.lua index b9c1e57..abfceb1 100644 --- a/doc_parser.lua +++ b/doc_parser.lua @@ -105,17 +105,6 @@ apiFile:write( "\n> function RL.event( event )\n\n"..FUNC_DESC.event.."\n\n---\n apiFile:write( "\n> function RL.log( logLevel, message )\n\n"..FUNC_DESC.log.."\n\n---\n" ) apiFile:write( "\n> function RL.exit()\n\n"..FUNC_DESC.exit.."\n\n---\n" ) --- Events. - -apiFile:write( "\n## Events\n" ) -apiFile:write( "\nEvent content in RL.event.\n" ) -apiFile:write( "\n---\n> { type: RL.EVENT_KEY, int key, int scancode, int action, int mods }\n\n GLFW3 Keyboard Callback, runs on key pressed.\n\n---\n" ) -apiFile:write( "\n> { type RL.EVENT_CHAR, int key }\n\n GLFW3 Char Key Callback, runs on key pressed (get char value).\n\n---\n" ) -apiFile:write( "\n> { type RL.EVENT_MOUSE_BUTTON, int button, int action, int mods }\n\n GLFW3 Mouse Button Callback, runs on mouse button pressed.\n\n---\n" ) -apiFile:write( "\n> { type RL.EVENT_MOUSE_CURSOR_POS, number x, number y }\n\n GLFW3 Cursor Position Callback, runs on mouse move.\n\n---\n" ) -apiFile:write( "\n> { type RL.EVENT_MOUSE_SCROLL, number xoffset, number yoffset }\n\n GLFW3 Srolling Callback, runs on mouse wheel.\n\n---\n" ) -apiFile:write( "\n> { type RL.EVENT_CURSOR_ENTER, int enter }\n\n GLFW3 Cursor Enter Callback, cursor enters client area.\n\n---\n" ) - luaApiFile:write( "-- Put this file into your project folder to provide annotations when using Lua language server.\n\n" ) luaApiFile:write( "RL={}\n\n" ) luaApiFile:write( "-- Functions.\n\n" ) @@ -156,21 +145,24 @@ repeat -- Remove comma from the end. local globalName = lineSplit[2]:sub( 1, -2 ) - apiFile:write( "\n"..globalName.."\n" ) local value = RL[ globalName ] - - globalName = "RL."..globalName + globalVariableCount = globalVariableCount + 1 if value == nil then - luaApiFile:write( globalName.."=nil\n" ) + apiFile:write( "\n"..globalName.." = nil\n" ) + luaApiFile:write( "RL."..globalName.."=nil\n" ) elseif type( value ) == "table" then -- All tables are colors. - luaApiFile:write( globalName.."={" + apiFile:write( globalName.." = { " + ..math.tointeger( value[1] )..", "..math.tointeger( value[2] )..", " + ..math.tointeger( value[3] )..", "..math.tointeger( value[4] ).." }\n" ) + luaApiFile:write( "RL."..globalName.."={" ..math.tointeger( value[1] )..","..math.tointeger( value[2] ).."," ..math.tointeger( value[3] )..","..math.tointeger( value[4] ).."}\n" ) else - luaApiFile:write( globalName.."="..value.."\n" ) + apiFile:write( globalName.." = "..value.."\n" ) + luaApiFile:write( "RL."..globalName.."="..value.."\n" ) end end end @@ -261,6 +253,24 @@ apiFile:write( "\n> NPatchInfo = { { 0, 0, 24, 24 }, 8, 8, 8, 8, NPATCH_NINE_PAT apiFile:write( "\n> ModelAnimations = ModelAnimationsId\n\ int id. ModelAnimations\n\n---\n" ) +-- Events. + +apiFile:write( "\n## Events\n" ) +apiFile:write( "\nContent of event table received by RL.event.\n" ) +apiFile:write( "\n### Window events\n" ) +apiFile:write( "\n---\n> { type: RL.EVENT_WINDOW_SIZE, int width, int height }\n\n WindowSize Callback, runs when window is resized.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_WINDOW_MAXIMIZE, int maximized }\n\n Window Maximize Callback, runs when window is maximized.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_WINDOW_ICONYFY, int iconified }\n\n WindowIconify Callback, runs when window is minimized/restored.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_WINDOW_FOCUS, int focused }\n\n WindowFocus Callback, runs when window get/lose focus.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_WINDOW_DROP, int count, string{} paths }\n\n Window Drop Callback, runs when drop files into window.\n\n---\n" ) +apiFile:write( "\n### Input events\n" ) +apiFile:write( "\n---\n> { type: RL.EVENT_KEY, int key, int scancode, int action, int mods }\n\n Keyboard Callback, runs on key pressed.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_CHAR, int key }\n\n Char Key Callback, runs on key pressed (get char value).\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_MOUSE_BUTTON, int button, int action, int mods }\n\n Mouse Button Callback, runs on mouse button pressed.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_MOUSE_CURSOR_POS, number x, number y }\n\n Cursor Position Callback, runs on mouse move.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_MOUSE_SCROLL, number xoffset, number yoffset }\n\n Srolling Callback, runs on mouse wheel.\n\n---\n" ) +apiFile:write( "\n> { type RL.EVENT_CURSOR_ENTER, int enter }\n\n Cursor Enter Callback, cursor enters client area.\n\n---\n" ) + if separate then apiFile:close() end diff --git a/examples/events/main.lua b/examples/events/main.lua index 65f575c..f03ae70 100644 --- a/examples/events/main.lua +++ b/examples/events/main.lua @@ -4,11 +4,22 @@ local cursorIn = 0 function RL.init() RL.SetWindowTitle( "Events" ) + RL.SetWindowState( RL.FLAG_WINDOW_RESIZABLE ) RL.SetWindowState( RL.FLAG_VSYNC_HINT ) end local function getEventType( event ) - if event.type == RL.EVENT_KEY then + if event.type == RL.EVENT_WINDOW_SIZE then + return "Window Size" + elseif event.type == RL.EVENT_WINDOW_MAXIMIZE then + return "Window Maximized" + elseif event.type == RL.EVENT_WINDOW_ICONYFY then + return "Window Iconyfy" + elseif event.type == RL.EVENT_WINDOW_FOCUS then + return "Window Focus" + elseif event.type == RL.EVENT_WINDOW_DROP then + return "Window Drop" + elseif event.type == RL.EVENT_KEY then return "Key" elseif event.type == RL.EVENT_CHAR then return "Char" @@ -50,7 +61,20 @@ end function RL.event( event ) text = "Event: "..getEventType( event ).."\n" - if event.type == RL.EVENT_KEY then + if event.type == RL.EVENT_WINDOW_SIZE then + text = text.."width: "..event.width.." height: "..event.height + elseif event.type == RL.EVENT_WINDOW_MAXIMIZE then + text = text.."maximized: "..event.maximized + elseif event.type == RL.EVENT_WINDOW_ICONYFY then + text = text.."iconified: "..event.iconified + elseif event.type == RL.EVENT_WINDOW_FOCUS then + text = text.."focused: "..event.focused + elseif event.type == RL.EVENT_WINDOW_DROP then + text = text.."count: "..event.count.."\n" + for _, path in ipairs( event.paths ) do + text = text..path.."\n" + end + elseif event.type == RL.EVENT_KEY then text = text.."key: "..event.key.." scancode: "..event.scancode.." action: "..getAction( event.action ).." mods: "..event.mods text = text .."\nkeyName: "..keyName( event.key ) elseif event.type == RL.EVENT_CHAR then @@ -62,7 +86,7 @@ function RL.event( event ) elseif event.type == RL.EVENT_MOUSE_CURSOR_POS then text = text.."x: "..event.x.." y: "..event.y elseif event.type == RL.EVENT_MOUSE_SCROLL then - text = text.."yoffset: "..event.yoffset.." yoffset: "..event.yoffset + text = text.."xoffset: "..event.xoffset.." yoffset: "..event.yoffset elseif event.type == RL.EVENT_CURSOR_ENTER then text = text.."enter: "..event.enter cursorIn = event.enter diff --git a/include/lua_core.h b/include/lua_core.h index 7c61d07..45ad1f5 100644 --- a/include/lua_core.h +++ b/include/lua_core.h @@ -1,6 +1,18 @@ #pragma once -enum EventType { EVENT_KEY, EVENT_CHAR, EVENT_MOUSE_BUTTON, EVENT_MOUSE_CURSOR_POS, EVENT_MOUSE_SCROLL, EVENT_CURSOR_ENTER }; +enum EventType { + EVENT_WINDOW_SIZE, + EVENT_WINDOW_MAXIMIZE, + EVENT_WINDOW_ICONYFY, + EVENT_WINDOW_FOCUS, + EVENT_WINDOW_DROP, + EVENT_KEY, + EVENT_CHAR, + EVENT_MOUSE_BUTTON, + EVENT_MOUSE_CURSOR_POS, + EVENT_MOUSE_SCROLL, + EVENT_CURSOR_ENTER +}; void defineGlobals(); void logCustom( int logLevel, const char *text, va_list args ); diff --git a/include/state.h b/include/state.h index ef30dfa..13a7c6c 100644 --- a/include/state.h +++ b/include/state.h @@ -80,6 +80,13 @@ typedef struct { size_t lightCount; size_t lightAlloc; /* Raylib GLFW input callback events. */ + /* Window events. */ + GLFWwindowsizefun raylibWindowSizeCallback; + GLFWwindowmaximizefun raylibWindowMaximizeCallback; + GLFWwindowiconifyfun raylibWindowIconifyCallback; + GLFWwindowfocusfun raylibWindowFocusCallback; + GLFWdropfun raylibWindowDropCallback; + /* Input events. */ GLFWkeyfun raylibKeyCallback; GLFWcharfun raylibCharCallback; GLFWmousebuttonfun raylibMouseButtonCallback; diff --git a/src/lua_core.c b/src/lua_core.c index d8c2f6e..c831694 100644 --- a/src/lua_core.c +++ b/src/lua_core.c @@ -618,7 +618,13 @@ void defineGlobals() { assignGlobalInt( GLFW_RELEASE, "GLFW_RELEASE" ); assignGlobalInt( GLFW_PRESS, "GLFW_PRESS" ); assignGlobalInt( GLFW_REPEAT, "GLFW_REPEAT" ); - /* Event types. */ + /* Window Events. */ + assignGlobalInt( EVENT_WINDOW_SIZE, "EVENT_WINDOW_SIZE" ); + assignGlobalInt( EVENT_WINDOW_MAXIMIZE, "EVENT_WINDOW_MAXIMIZE" ); + assignGlobalInt( EVENT_WINDOW_ICONYFY, "EVENT_WINDOW_ICONYFY" ); + assignGlobalInt( EVENT_WINDOW_FOCUS, "EVENT_WINDOW_FOCUS" ); + assignGlobalInt( EVENT_WINDOW_DROP, "EVENT_WINDOW_DROP" ); + /* Input Events. */ assignGlobalInt( EVENT_KEY, "EVENT_KEY" ); assignGlobalInt( EVENT_CHAR, "EVENT_CHAR" ); assignGlobalInt( EVENT_MOUSE_BUTTON, "EVENT_MOUSE_BUTTON" ); @@ -672,6 +678,159 @@ void logCustom( int logLevel, const char *text, va_list args ) { lua_pop( L, -1 ); } +/* Window events. */ + +static void windowSizeEvent( GLFWwindow *window, int width, int height ) { + /* Pass through to raylib callback. */ + state->raylibWindowSizeCallback( window, width, height ); + + lua_State *L = state->luaState; + + lua_pushcfunction( L, luaTraceback ); + int tracebackidx = lua_gettop( L ); + + lua_getglobal( L, "RL" ); + lua_getfield( L, -1, "event" ); + + if ( lua_isfunction( L, -1 ) ) { + lua_createtable( L, 3, 0 ); + lua_pushinteger( L, EVENT_WINDOW_SIZE ); + lua_setfield( L, -2, "type" ); + lua_pushinteger( L, width ); + lua_setfield( L, -2, "width" ); + lua_pushinteger( L, height ); + lua_setfield( L, -2, "height" ); + + if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { + TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); + state->run = false; + } + } + lua_pop( L, -1 ); +} + +#if !defined( PLATFORM_WEB ) + +static void windowMaximizeEvent( GLFWwindow *window, int maximized ) { + /* Pass through to raylib callback. */ + state->raylibWindowMaximizeCallback( window, maximized ); + + lua_State *L = state->luaState; + + lua_pushcfunction( L, luaTraceback ); + int tracebackidx = lua_gettop( L ); + + lua_getglobal( L, "RL" ); + lua_getfield( L, -1, "event" ); + + if ( lua_isfunction( L, -1 ) ) { + lua_createtable( L, 2, 0 ); + lua_pushinteger( L, EVENT_WINDOW_MAXIMIZE ); + lua_setfield( L, -2, "type" ); + lua_pushinteger( L, maximized ); + lua_setfield( L, -2, "maximized" ); + + if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { + TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); + state->run = false; + } + } + lua_pop( L, -1 ); +} + +#endif + +static void windowIconyfyEvent( GLFWwindow *window, int iconified ) { + /* Pass through to raylib callback. */ + state->raylibWindowIconifyCallback( window, iconified ); + + lua_State *L = state->luaState; + + lua_pushcfunction( L, luaTraceback ); + int tracebackidx = lua_gettop( L ); + + lua_getglobal( L, "RL" ); + lua_getfield( L, -1, "event" ); + + if ( lua_isfunction( L, -1 ) ) { + lua_createtable( L, 2, 0 ); + lua_pushinteger( L, EVENT_WINDOW_ICONYFY ); + lua_setfield( L, -2, "type" ); + lua_pushinteger( L, iconified ); + lua_setfield( L, -2, "iconified" ); + + if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { + TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); + state->run = false; + } + } + lua_pop( L, -1 ); +} + +static void windowFocusEvent( GLFWwindow *window, int focused ) { + /* Pass through to raylib callback. */ + state->raylibWindowFocusCallback( window, focused ); + + lua_State *L = state->luaState; + + lua_pushcfunction( L, luaTraceback ); + int tracebackidx = lua_gettop( L ); + + lua_getglobal( L, "RL" ); + lua_getfield( L, -1, "event" ); + + if ( lua_isfunction( L, -1 ) ) { + lua_createtable( L, 2, 0 ); + lua_pushinteger( L, EVENT_WINDOW_FOCUS ); + lua_setfield( L, -2, "type" ); + lua_pushinteger( L, focused ); + lua_setfield( L, -2, "focused" ); + + if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { + TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); + state->run = false; + } + } + lua_pop( L, -1 ); +} + +static void windowDropEvent( GLFWwindow *window, int count, const char **paths ) { + /* Pass through to raylib callback. */ + state->raylibWindowDropCallback( window, count, paths ); + + lua_State *L = state->luaState; + + lua_pushcfunction( L, luaTraceback ); + int tracebackidx = lua_gettop( L ); + + lua_getglobal( L, "RL" ); + lua_getfield( L, -1, "event" ); + + if ( lua_isfunction( L, -1 ) ) { + lua_createtable( L, 3, 0 ); + lua_pushinteger( L, EVENT_WINDOW_DROP ); + lua_setfield( L, -2, "type" ); + lua_pushinteger( L, count ); + lua_setfield( L, -2, "count" ); + + lua_createtable( L, count, 0 ); + + for ( int i = 0; i < count; ++i ) { + lua_pushstring( L, paths[i] ); + lua_rawseti( L, -2, i+1 ); + } + lua_setfield( L, -2, "paths" ); + + if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { + TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); + state->run = false; + } + } + lua_pop( L, -1 ); +} + +/* Input events. */ + static void keyInputEvent( GLFWwindow* window, int key, int scancode, int action, int mods ) { /* Pass through to raylib callback. */ state->raylibKeyCallback( window, key, scancode, action, mods ); @@ -700,8 +859,6 @@ static void keyInputEvent( GLFWwindow* window, int key, int scancode, int action if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -729,8 +886,6 @@ static void charInputEvent( GLFWwindow* window, unsigned int key ) { if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -762,8 +917,6 @@ static void mouseButtonInputEvent( GLFWwindow* window, int button, int action, i if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -793,8 +946,6 @@ static void mouseCursorPosInputEvent( GLFWwindow* window, double x, double y ) { if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -824,8 +975,6 @@ static void mouseScrollInputEvent( GLFWwindow* window, double xoffset, double yo if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -853,8 +1002,6 @@ static void cursorEnterInputEvent( GLFWwindow* window, int enter ) { if ( lua_pcall( L, 1, 0, tracebackidx ) != 0 ) { TraceLog( LOG_ERROR, "Lua error: %s", lua_tostring( L, -1 ) ); state->run = false; - lua_pop( L, -1 ); - return; } } lua_pop( L, -1 ); @@ -927,6 +1074,16 @@ bool luaCallMain() { /* Apply custom callback here. */ SetTraceLogCallback( logCustom ); + /* Window events. */ + state->raylibWindowSizeCallback = glfwSetWindowSizeCallback( GetWindowHandle(), windowSizeEvent ); +#if !defined( PLATFORM_WEB ) + state->raylibWindowMaximizeCallback = glfwSetWindowMaximizeCallback( GetWindowHandle(), windowMaximizeEvent ); +#endif + state->raylibWindowIconifyCallback = glfwSetWindowIconifyCallback( GetWindowHandle(), windowIconyfyEvent ); + state->raylibWindowFocusCallback = glfwSetWindowFocusCallback( GetWindowHandle(), windowFocusEvent ); + state->raylibWindowDropCallback = glfwSetDropCallback( GetWindowHandle(), windowDropEvent ); + + /* Input events. */ state->raylibKeyCallback = glfwSetKeyCallback( GetWindowHandle(), keyInputEvent ); state->raylibCharCallback = glfwSetCharCallback( GetWindowHandle(), charInputEvent ); state->raylibMouseButtonCallback = glfwSetMouseButtonCallback( GetWindowHandle(), mouseButtonInputEvent ); |
