summaryrefslogtreecommitdiff
path: root/ReiLua_API.lua
diff options
context:
space:
mode:
authorIndrajith K L2025-11-03 19:43:05 +0530
committerIndrajith K L2025-11-03 19:43:05 +0530
commit9bb3957d5fd3f176e8bd888c53a65c54f62cfab6 (patch)
tree96aac66d2ef569a3352ee2b634d4e26ef64a25ba /ReiLua_API.lua
parent02d6be119fa130121a04799e81aff203472b6233 (diff)
downloadreilua-enhanced-9bb3957d5fd3f176e8bd888c53a65c54f62cfab6.tar.gz
reilua-enhanced-9bb3957d5fd3f176e8bd888c53a65c54f62cfab6.tar.bz2
reilua-enhanced-9bb3957d5fd3f176e8bd888c53a65c54f62cfab6.zip
cleaned up root folder, organized files into docs/scripts/tools dirs
Diffstat (limited to 'ReiLua_API.lua')
-rw-r--r--ReiLua_API.lua9054
1 files changed, 0 insertions, 9054 deletions
diff --git a/ReiLua_API.lua b/ReiLua_API.lua
deleted file mode 100644
index 1ba8b71..0000000
--- a/ReiLua_API.lua
+++ /dev/null
@@ -1,9054 +0,0 @@
--- Put this file into your project folder to provide annotations when using Lua language server.
-
-RL={}
-
--- Functions.
-
----This function will be called after window has been initialized. Should be used as the main init point.
-function RL.init() end
----This function will be called every frame during execution. It will get time duration from last frame on argument 'delta'
----@param delta number
-function RL.update( delta ) end
----This function will be called every frame after update and it should have all rendering related functions. Note: Engine will call Raylib functions 'BeginDrawing()' before this function call and 'EndDrawing()' after it. You can still use RL.BeginDrawing() and RL.EndDrawing() manually from anywhere.
-function RL.draw() end
----This function will be called on events input. Content of event table is determined by event type.
----@param event table
-function RL.event( event ) end
----This function can be used for custom log message handling.
----@param logLevel integer
----@param message string
-function RL.log( logLevel, message ) end
----This function will be called on program close. Cleanup could be done here.
-function RL.exit() end
----This function will be called before InitWindow. Note! Only place where you should call InitWindow manually. Doesn't have OpenGL context at this point.
-function RL.config() end
-
--- Defines - System/Window config flags
-
----Set to try enabling V-Sync on GPU
-RL.FLAG_VSYNC_HINT=64
----Set to run program in fullscreen
-RL.FLAG_FULLSCREEN_MODE=2
----Set to allow resizable window
-RL.FLAG_WINDOW_RESIZABLE=4
----Set to disable window decoration (frame and buttons)
-RL.FLAG_WINDOW_UNDECORATED=8
----Set to hide window
-RL.FLAG_WINDOW_HIDDEN=128
----Set to minimize window (iconify)
-RL.FLAG_WINDOW_MINIMIZED=512
----Set to maximize window (expanded to monitor)
-RL.FLAG_WINDOW_MAXIMIZED=1024
----Set to window non focused
-RL.FLAG_WINDOW_UNFOCUSED=2048
----Set to window always on top
-RL.FLAG_WINDOW_TOPMOST=4096
----Set to allow windows running while minimized
-RL.FLAG_WINDOW_ALWAYS_RUN=256
----Set to allow transparent framebuffer
-RL.FLAG_WINDOW_TRANSPARENT=16
----Set to support HighDPI
-RL.FLAG_WINDOW_HIGHDPI=8192
----Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED
-RL.FLAG_WINDOW_MOUSE_PASSTHROUGH=16384
----Set to try enabling MSAA 4X
-RL.FLAG_MSAA_4X_HINT=32
----Set to try enabling interlaced video format (for V3D)
-RL.FLAG_INTERLACED_HINT=65536
-
--- Defines - Trace log level
-
----Display all logs
-RL.LOG_ALL=0
----Trace logging, intended for internal use only
-RL.LOG_TRACE=1
----Debug logging, used for internal debugging, it should be disabled on release builds
-RL.LOG_DEBUG=2
----Info logging, used for program execution info
-RL.LOG_INFO=3
----Warning logging, used on recoverable failures
-RL.LOG_WARNING=4
----Error logging, used on unrecoverable failures
-RL.LOG_ERROR=5
----Fatal logging, used to abort program: exit(EXIT_FAILURE)
-RL.LOG_FATAL=6
----Disable logging
-RL.LOG_NONE=7
-
--- Defines - Keyboard keys (US keyboard layout)
-
----Key: NULL, used for no key pressed
-RL.KEY_NULL=0
----Key: '
-RL.KEY_APOSTROPHE=39
----Key: ,
-RL.KEY_COMMA=44
----Key: -
-RL.KEY_MINUS=45
----Key: .
-RL.KEY_PERIOD=46
----Key: /
-RL.KEY_SLASH=47
----Key: 0
-RL.KEY_ZERO=48
----Key: 1
-RL.KEY_ONE=49
----Key: 2
-RL.KEY_TWO=50
----Key: 3
-RL.KEY_THREE=51
----Key: 4
-RL.KEY_FOUR=52
----Key: 5
-RL.KEY_FIVE=53
----Key: 6
-RL.KEY_SIX=54
----Key: 7
-RL.KEY_SEVEN=55
----Key: 8
-RL.KEY_EIGHT=56
----Key: 9
-RL.KEY_NINE=57
----Key: ;
-RL.KEY_SEMICOLON=59
----Key: =
-RL.KEY_EQUAL=61
----Key: A | a
-RL.KEY_A=65
----Key: B | b
-RL.KEY_B=66
----Key: C | c
-RL.KEY_C=67
----Key: D | d
-RL.KEY_D=68
----Key: E | e
-RL.KEY_E=69
----Key: F | f
-RL.KEY_F=70
----Key: G | g
-RL.KEY_G=71
----Key: H | h
-RL.KEY_H=72
----Key: I | i
-RL.KEY_I=73
----Key: J | j
-RL.KEY_J=74
----Key: K | k
-RL.KEY_K=75
----Key: L | l
-RL.KEY_L=76
----Key: M | m
-RL.KEY_M=77
----Key: N | n
-RL.KEY_N=78
----Key: O | o
-RL.KEY_O=79
----Key: P | p
-RL.KEY_P=80
----Key: Q | q
-RL.KEY_Q=81
----Key: R | r
-RL.KEY_R=82
----Key: S | s
-RL.KEY_S=83
----Key: T | t
-RL.KEY_T=84
----Key: U | u
-RL.KEY_U=85
----Key: V | v
-RL.KEY_V=86
----Key: W | w
-RL.KEY_W=87
----Key: X | x
-RL.KEY_X=88
----Key: Y | y
-RL.KEY_Y=89
----Key: Z | z
-RL.KEY_Z=90
----Key: [
-RL.KEY_LEFT_BRACKET=91
----Key: '\'
-RL.KEY_BACKSLASH=92
----Key: ]
-RL.KEY_RIGHT_BRACKET=93
----Key: `
-RL.KEY_GRAVE=96
----Key: Space
-RL.KEY_SPACE=32
----Key: Esc
-RL.KEY_ESCAPE=256
----Key: Enter
-RL.KEY_ENTER=257
----Key: Tab
-RL.KEY_TAB=258
----Key: Backspace
-RL.KEY_BACKSPACE=259
----Key: Ins
-RL.KEY_INSERT=260
----Key: Del
-RL.KEY_DELETE=261
----Key: Cursor right
-RL.KEY_RIGHT=262
----Key: Cursor left
-RL.KEY_LEFT=263
----Key: Cursor down
-RL.KEY_DOWN=264
----Key: Cursor up
-RL.KEY_UP=265
----Key: Page up
-RL.KEY_PAGE_UP=266
----Key: Page down
-RL.KEY_PAGE_DOWN=267
----Key: Home
-RL.KEY_HOME=268
----Key: End
-RL.KEY_END=269
----Key: Caps lock
-RL.KEY_CAPS_LOCK=280
----Key: Scroll down
-RL.KEY_SCROLL_LOCK=281
----Key: Num lock
-RL.KEY_NUM_LOCK=282
----Key: Print screen
-RL.KEY_PRINT_SCREEN=283
----Key: Pause
-RL.KEY_PAUSE=284
----Key: F1
-RL.KEY_F1=290
----Key: F2
-RL.KEY_F2=291
----Key: F3
-RL.KEY_F3=292
----Key: F4
-RL.KEY_F4=293
----Key: F5
-RL.KEY_F5=294
----Key: F6
-RL.KEY_F6=295
----Key: F7
-RL.KEY_F7=296
----Key: F8
-RL.KEY_F8=297
----Key: F9
-RL.KEY_F9=298
----Key: F10
-RL.KEY_F10=299
----Key: F11
-RL.KEY_F11=300
----Key: F12
-RL.KEY_F12=301
----Key: Shift left
-RL.KEY_LEFT_SHIFT=340
----Key: Control left
-RL.KEY_LEFT_CONTROL=341
----Key: Alt left
-RL.KEY_LEFT_ALT=342
----Key: Super left
-RL.KEY_LEFT_SUPER=343
----Key: Shift right
-RL.KEY_RIGHT_SHIFT=344
----Key: Control right
-RL.KEY_RIGHT_CONTROL=345
----Key: Alt right
-RL.KEY_RIGHT_ALT=346
----Key: Super right
-RL.KEY_RIGHT_SUPER=347
----Key: KB menu
-RL.KEY_KB_MENU=348
----Key: Keypad 0
-RL.KEY_KP_0=320
----Key: Keypad 1
-RL.KEY_KP_1=321
----Key: Keypad 2
-RL.KEY_KP_2=322
----Key: Keypad 3
-RL.KEY_KP_3=323
----Key: Keypad 4
-RL.KEY_KP_4=324
----Key: Keypad 5
-RL.KEY_KP_5=325
----Key: Keypad 6
-RL.KEY_KP_6=326
----Key: Keypad 7
-RL.KEY_KP_7=327
----Key: Keypad 8
-RL.KEY_KP_8=328
----Key: Keypad 9
-RL.KEY_KP_9=329
----Key: Keypad .
-RL.KEY_KP_DECIMAL=330
----Key: Keypad /
-RL.KEY_KP_DIVIDE=331
----Key: Keypad *
-RL.KEY_KP_MULTIPLY=332
----Key: Keypad -
-RL.KEY_KP_SUBTRACT=333
----Key: Keypad +
-RL.KEY_KP_ADD=334
----Key: Keypad Enter
-RL.KEY_KP_ENTER=335
----Key: Keypad =
-RL.KEY_KP_EQUAL=336
----Key: Android back button
-RL.KEY_BACK=4
----Key: Android menu button
-RL.KEY_MENU=5
----Key: Android volume up button
-RL.KEY_VOLUME_UP=24
----Key: Android volume down button
-RL.KEY_VOLUME_DOWN=25
-
--- Defines - Mouse buttons
-
----Mouse button left
-RL.MOUSE_BUTTON_LEFT=0
----Mouse button right
-RL.MOUSE_BUTTON_RIGHT=1
----Mouse button middle (pressed wheel)
-RL.MOUSE_BUTTON_MIDDLE=2
----Mouse button side (advanced mouse device)
-RL.MOUSE_BUTTON_SIDE=3
----Mouse button extra (advanced mouse device)
-RL.MOUSE_BUTTON_EXTRA=4
----Mouse button forward (advanced mouse device)
-RL.MOUSE_BUTTON_FORWARD=5
----Mouse button back (advanced mouse device)
-RL.MOUSE_BUTTON_BACK=6
-
--- Defines - Mouse cursor
-
----Default pointer shape
-RL.MOUSE_CURSOR_DEFAULT=0
----Arrow shape
-RL.MOUSE_CURSOR_ARROW=1
----Text writing cursor shape
-RL.MOUSE_CURSOR_IBEAM=2
----Cross shape
-RL.MOUSE_CURSOR_CROSSHAIR=3
----Pointing hand cursor
-RL.MOUSE_CURSOR_POINTING_HAND=4
----Horizontal resize/move arrow shape
-RL.MOUSE_CURSOR_RESIZE_EW=5
----Vertical resize/move arrow shape
-RL.MOUSE_CURSOR_RESIZE_NS=6
----Top-left to bottom-right diagonal resize/move arrow shape
-RL.MOUSE_CURSOR_RESIZE_NWSE=7
----The top-right to bottom-left diagonal resize/move arrow shape
-RL.MOUSE_CURSOR_RESIZE_NESW=8
----The omnidirectional resize/move cursor shape
-RL.MOUSE_CURSOR_RESIZE_ALL=9
----The operation-not-allowed shape
-RL.MOUSE_CURSOR_NOT_ALLOWED=10
-
--- Defines - Gamepad buttons
-
----Unknown button, just for error checking
-RL.GAMEPAD_BUTTON_UNKNOWN=0
----Gamepad left DPAD up button
-RL.GAMEPAD_BUTTON_LEFT_FACE_UP=1
----Gamepad left DPAD right button
-RL.GAMEPAD_BUTTON_LEFT_FACE_RIGHT=2
----Gamepad left DPAD down button
-RL.GAMEPAD_BUTTON_LEFT_FACE_DOWN=3
----Gamepad left DPAD left button
-RL.GAMEPAD_BUTTON_LEFT_FACE_LEFT=4
----Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)
-RL.GAMEPAD_BUTTON_RIGHT_FACE_UP=5
----Gamepad right button right (i.e. PS3: Square, Xbox: X)
-RL.GAMEPAD_BUTTON_RIGHT_FACE_RIGHT=6
----Gamepad right button down (i.e. PS3: Cross, Xbox: A)
-RL.GAMEPAD_BUTTON_RIGHT_FACE_DOWN=7
----Gamepad right button left (i.e. PS3: Circle, Xbox: B)
-RL.GAMEPAD_BUTTON_RIGHT_FACE_LEFT=8
----Gamepad top/back trigger left (first), it could be a trailing button
-RL.GAMEPAD_BUTTON_LEFT_TRIGGER_1=9
----Gamepad top/back trigger left (second), it could be a trailing button
-RL.GAMEPAD_BUTTON_LEFT_TRIGGER_2=10
----Gamepad top/back trigger right (one), it could be a trailing button
-RL.GAMEPAD_BUTTON_RIGHT_TRIGGER_1=11
----Gamepad top/back trigger right (second), it could be a trailing button
-RL.GAMEPAD_BUTTON_RIGHT_TRIGGER_2=12
----Gamepad center buttons, left one (i.e. PS3: Select)
-RL.GAMEPAD_BUTTON_MIDDLE_LEFT=13
----Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)
-RL.GAMEPAD_BUTTON_MIDDLE=14
----Gamepad center buttons, right one (i.e. PS3: Start)
-RL.GAMEPAD_BUTTON_MIDDLE_RIGHT=15
----Gamepad joystick pressed button left
-RL.GAMEPAD_BUTTON_LEFT_THUMB=16
----Gamepad joystick pressed button right
-RL.GAMEPAD_BUTTON_RIGHT_THUMB=17
-
--- Defines - Gamepad axis
-
----Gamepad left stick X axis
-RL.GAMEPAD_AXIS_LEFT_X=0
----Gamepad left stick Y axis
-RL.GAMEPAD_AXIS_LEFT_Y=1
----Gamepad right stick X axis
-RL.GAMEPAD_AXIS_RIGHT_X=2
----Gamepad right stick Y axis
-RL.GAMEPAD_AXIS_RIGHT_Y=3
----Gamepad back trigger left, pressure level: [1..-1]
-RL.GAMEPAD_AXIS_LEFT_TRIGGER=4
----Gamepad back trigger right, pressure level: [1..-1]
-RL.GAMEPAD_AXIS_RIGHT_TRIGGER=5
-
--- Defines - Material map index
-
----Albedo material (same as: MATERIAL_MAP_DIFFUSE)
-RL.MATERIAL_MAP_ALBEDO=0
----Metalness material (same as: MATERIAL_MAP_SPECULAR)
-RL.MATERIAL_MAP_METALNESS=1
----Normal material
-RL.MATERIAL_MAP_NORMAL=2
----Roughness material
-RL.MATERIAL_MAP_ROUGHNESS=3
----Ambient occlusion material
-RL.MATERIAL_MAP_OCCLUSION=4
----Emission material
-RL.MATERIAL_MAP_EMISSION=5
----Heightmap material
-RL.MATERIAL_MAP_HEIGHT=6
----Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)
-RL.MATERIAL_MAP_CUBEMAP=7
----Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)
-RL.MATERIAL_MAP_IRRADIANCE=8
----Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)
-RL.MATERIAL_MAP_PREFILTER=9
----Brdf material
-RL.MATERIAL_MAP_BRDF=10
----Diffuce material (same as: MATERIAL_MAP_ALBEDO)
-RL.MATERIAL_MAP_DIFFUSE=0
----Specular material (same as: MATERIAL_MAP_METALNESS)
-RL.MATERIAL_MAP_SPECULAR=1
-
--- Defines - Shader location index
-
----Shader location: vertex attribute: position
-RL.SHADER_LOC_VERTEX_POSITION=0
----Shader location: vertex attribute: texcoord01
-RL.SHADER_LOC_VERTEX_TEXCOORD01=1
----Shader location: vertex attribute: texcoord02
-RL.SHADER_LOC_VERTEX_TEXCOORD02=2
----Shader location: vertex attribute: normal
-RL.SHADER_LOC_VERTEX_NORMAL=3
----Shader location: vertex attribute: tangent
-RL.SHADER_LOC_VERTEX_TANGENT=4
----Shader location: vertex attribute: color
-RL.SHADER_LOC_VERTEX_COLOR=5
----Shader location: matrix uniform: model-view-projection
-RL.SHADER_LOC_MATRIX_MVP=6
----Shader location: matrix uniform: view (camera transform)
-RL.SHADER_LOC_MATRIX_VIEW=7
----Shader location: matrix uniform: projection
-RL.SHADER_LOC_MATRIX_PROJECTION=8
----Shader location: matrix uniform: model (transform)
-RL.SHADER_LOC_MATRIX_MODEL=9
----Shader location: matrix uniform: normal
-RL.SHADER_LOC_MATRIX_NORMAL=10
----Shader location: vector uniform: view
-RL.SHADER_LOC_VECTOR_VIEW=11
----Shader location: vector uniform: diffuse color
-RL.SHADER_LOC_COLOR_DIFFUSE=12
----Shader location: vector uniform: specular color
-RL.SHADER_LOC_COLOR_SPECULAR=13
----Shader location: vector uniform: ambient color
-RL.SHADER_LOC_COLOR_AMBIENT=14
----Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)
-RL.SHADER_LOC_MAP_ALBEDO=15
----Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)
-RL.SHADER_LOC_MAP_METALNESS=16
----Shader location: sampler2d texture: normal
-RL.SHADER_LOC_MAP_NORMAL=17
----Shader location: sampler2d texture: roughness
-RL.SHADER_LOC_MAP_ROUGHNESS=18
----Shader location: sampler2d texture: occlusion
-RL.SHADER_LOC_MAP_OCCLUSION=19
----Shader location: sampler2d texture: emission
-RL.SHADER_LOC_MAP_EMISSION=20
----Shader location: sampler2d texture: height
-RL.SHADER_LOC_MAP_HEIGHT=21
----Shader location: samplerCube texture: cubemap
-RL.SHADER_LOC_MAP_CUBEMAP=22
----Shader location: samplerCube texture: irradiance
-RL.SHADER_LOC_MAP_IRRADIANCE=23
----Shader location: samplerCube texture: prefilter
-RL.SHADER_LOC_MAP_PREFILTER=24
----Shader location: sampler2d texture: brdf
-RL.SHADER_LOC_MAP_BRDF=25
----Shader location: vertex attribute: boneIds
-RL.SHADER_LOC_VERTEX_BONEIDS=26
----Shader location: vertex attribute: boneWeights
-RL.SHADER_LOC_VERTEX_BONEWEIGHTS=27
----Shader location: array of matrices uniform: boneMatrices
-RL.SHADER_LOC_BONE_MATRICES=28
----Shader location: sampler2d texture: diffuce (same as: SHADER_LOC_MAP_ALBEDO)
-RL.SHADER_LOC_MAP_DIFFUSE=15
----Shader location: sampler2d texture: specular (same as: SHADER_LOC_MAP_METALNESS)
-RL.SHADER_LOC_MAP_SPECULAR=16
-
--- Defines - Shader uniform data type
-
----Shader uniform type: float
-RL.SHADER_UNIFORM_FLOAT=0
----Shader uniform type: vec2 (2 float)
-RL.SHADER_UNIFORM_VEC2=1
----Shader uniform type: vec3 (3 float)
-RL.SHADER_UNIFORM_VEC3=2
----Shader uniform type: vec4 (4 float)
-RL.SHADER_UNIFORM_VEC4=3
----Shader uniform type: int
-RL.SHADER_UNIFORM_INT=4
----Shader uniform type: ivec2 (2 int)
-RL.SHADER_UNIFORM_IVEC2=5
----Shader uniform type: ivec3 (3 int)
-RL.SHADER_UNIFORM_IVEC3=6
----Shader uniform type: ivec4 (4 int)
-RL.SHADER_UNIFORM_IVEC4=7
----Shader uniform type: sampler2d
-RL.SHADER_UNIFORM_SAMPLER2D=8
-
--- Defines - Shader attribute data types
-
----Shader attribute type: float
-RL.SHADER_ATTRIB_FLOAT=0
----Shader attribute type: vec2 (2 float)
-RL.SHADER_ATTRIB_VEC2=1
----Shader attribute type: vec3 (3 float)
-RL.SHADER_ATTRIB_VEC3=2
----Shader attribute type: vec4 (4 float)
-RL.SHADER_ATTRIB_VEC4=3
-
--- Defines - Pixel formats
-
----8 bit per pixel (no alpha)
-RL.PIXELFORMAT_UNCOMPRESSED_GRAYSCALE=1
----8*2 bpp (2 channels)
-RL.PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA=2
----16 bpp
-RL.PIXELFORMAT_UNCOMPRESSED_R5G6B5=3
----24 bpp
-RL.PIXELFORMAT_UNCOMPRESSED_R8G8B8=4
----16 bpp (1 bit alpha)
-RL.PIXELFORMAT_UNCOMPRESSED_R5G5B5A1=5
----16 bpp (4 bit alpha)
-RL.PIXELFORMAT_UNCOMPRESSED_R4G4B4A4=6
----32 bpp
-RL.PIXELFORMAT_UNCOMPRESSED_R8G8B8A8=7
----32 bpp (1 channel - float)
-RL.PIXELFORMAT_UNCOMPRESSED_R32=8
----32*3 bpp (3 channels - float)
-RL.PIXELFORMAT_UNCOMPRESSED_R32G32B32=9
----32*4 bpp (4 channels - float)
-RL.PIXELFORMAT_UNCOMPRESSED_R32G32B32A32=10
----4 bpp (no alpha)
-RL.PIXELFORMAT_COMPRESSED_DXT1_RGB=14
----4 bpp (1 bit alpha)
-RL.PIXELFORMAT_COMPRESSED_DXT1_RGBA=15
----8 bpp
-RL.PIXELFORMAT_COMPRESSED_DXT3_RGBA=16
----8 bpp
-RL.PIXELFORMAT_COMPRESSED_DXT5_RGBA=17
----4 bpp
-RL.PIXELFORMAT_COMPRESSED_ETC1_RGB=18
----4 bpp
-RL.PIXELFORMAT_COMPRESSED_ETC2_RGB=19
----8 bpp
-RL.PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA=20
----4 bpp
-RL.PIXELFORMAT_COMPRESSED_PVRT_RGB=21
----4 bpp
-RL.PIXELFORMAT_COMPRESSED_PVRT_RGBA=22
----8 bpp
-RL.PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA=23
----2 bpp
-RL.PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA=24
-
--- Defines - Texture parameters: filter mode
-
----No filter, just pixel approximation
-RL.TEXTURE_FILTER_POINT=0
----Linear filtering
-RL.TEXTURE_FILTER_BILINEAR=1
----Trilinear filtering (linear with mipmaps)
-RL.TEXTURE_FILTER_TRILINEAR=2
----Anisotropic filtering 4x
-RL.TEXTURE_FILTER_ANISOTROPIC_4X=3
----Anisotropic filtering 8x
-RL.TEXTURE_FILTER_ANISOTROPIC_8X=4
----Anisotropic filtering 16x
-RL.TEXTURE_FILTER_ANISOTROPIC_16X=5
-
--- Defines - Texture parameters: wrap mode
-
----Repeats texture in tiled mode
-RL.TEXTURE_WRAP_REPEAT=0
----Clamps texture to edge pixel in tiled mode
-RL.TEXTURE_WRAP_CLAMP=1
----Mirrors and repeats the texture in tiled mode
-RL.TEXTURE_WRAP_MIRROR_REPEAT=2
----Mirrors and clamps to border the texture in tiled mode
-RL.TEXTURE_WRAP_MIRROR_CLAMP=3
-
--- Defines - Cubemap layouts
-
----Automatically detect layout type
-RL.CUBEMAP_LAYOUT_AUTO_DETECT=0
----Layout is defined by a vertical line with faces
-RL.CUBEMAP_LAYOUT_LINE_VERTICAL=1
----Layout is defined by a horizontal line with faces
-RL.CUBEMAP_LAYOUT_LINE_HORIZONTAL=2
----Layout is defined by a 3x4 cross with cubemap faces
-RL.CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR=3
----Layout is defined by a 4x3 cross with cubemap faces
-RL.CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE=4
-
--- Defines - Font type, defines generation method
-
----Default font generation, anti-aliased
-RL.FONT_DEFAULT=0
----Bitmap font generation, no anti-aliasing
-RL.FONT_BITMAP=1
----SDF font generation, requires external shader
-RL.FONT_SDF=2
-
--- Defines - Color blending modes (pre-defined)
-
----Blend textures considering alpha (default)
-RL.BLEND_ALPHA=0
----Blend textures adding colors
-RL.BLEND_ADDITIVE=1
----Blend textures multiplying colors
-RL.BLEND_MULTIPLIED=2
----Blend textures adding colors (alternative)
-RL.BLEND_ADD_COLORS=3
----Blend textures subtracting colors (alternative)
-RL.BLEND_SUBTRACT_COLORS=4
----Blend premultiplied textures considering alpha
-RL.BLEND_ALPHA_PREMULTIPLY=5
----Blend textures using custom src/dst factors (use rlSetBlendFactors())
-RL.BLEND_CUSTOM=6
----Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())
-RL.BLEND_CUSTOM_SEPARATE=7
-
--- Defines - Gesture
-
----No gesture
-RL.GESTURE_NONE=0
----Tap gesture
-RL.GESTURE_TAP=1
----Double tap gesture
-RL.GESTURE_DOUBLETAP=2
----Hold gesture
-RL.GESTURE_HOLD=4
----Drag gesture
-RL.GESTURE_DRAG=8
----Swipe right gesture
-RL.GESTURE_SWIPE_RIGHT=16
----Swipe left gesture
-RL.GESTURE_SWIPE_LEFT=32
----Swipe up gesture
-RL.GESTURE_SWIPE_UP=64
----Swipe down gesture
-RL.GESTURE_SWIPE_DOWN=128
----Pinch in gesture
-RL.GESTURE_PINCH_IN=256
----Pinch out gesture
-RL.GESTURE_PINCH_OUT=512
-
--- Defines - Camera system modes
-
----Custom camera
-RL.CAMERA_CUSTOM=0
----Free camera
-RL.CAMERA_FREE=1
----Orbital camera
-RL.CAMERA_ORBITAL=2
----First person camera
-RL.CAMERA_FIRST_PERSON=3
----Third person camera
-RL.CAMERA_THIRD_PERSON=4
-
--- Defines - Camera projection
-
----Perspective projection
-RL.CAMERA_PERSPECTIVE=0
----Orthographic projection
-RL.CAMERA_ORTHOGRAPHIC=1
-
--- Defines - N-patch layout
-
----Npatch layout: 3x3 tiles
-RL.NPATCH_NINE_PATCH=0
----Npatch layout: 1x3 tiles
-RL.NPATCH_THREE_PATCH_VERTICAL=1
----Npatch layout: 3x1 tiles
-RL.NPATCH_THREE_PATCH_HORIZONTAL=2
-
--- Defines - Colors
-
----Light Gray
-RL.LIGHTGRAY={200,200,200,255}
----Gray
-RL.GRAY={130,130,130,255}
----Dark Gray
-RL.DARKGRAY={80,80,80,255}
----Yellow
-RL.YELLOW={253,249,0,255}
----Gold
-RL.GOLD={255,203,0,255}
----Orange
-RL.ORANGE={255,161,0,255}
----Pink
-RL.PINK={255,109,194,255}
----Red
-RL.RED={230,41,55,255}
----Maroon
-RL.MAROON={190,33,55,255}
----Green
-RL.GREEN={0,228,48,255}
----Lime
-RL.LIME={0,158,47,255}
----Dark Green
-RL.DARKGREEN={0,117,44,255}
----Sky Blue
-RL.SKYBLUE={102,191,255,255}
----Blue
-RL.BLUE={0,121,241,255}
----Dark Blue
-RL.DARKBLUE={0,82,172,255}
----Purple
-RL.PURPLE={200,122,255,255}
----Violet
-RL.VIOLET={135,60,190,255}
----Dark Purple
-RL.DARKPURPLE={112,31,126,255}
----Beige
-RL.BEIGE={211,176,131,255}
----Brown
-RL.BROWN={127,106,79,255}
----Dark Brown
-RL.DARKBROWN={76,63,47,255}
----White
-RL.WHITE={255,255,255,255}
----Black
-RL.BLACK={0,0,0,255}
----Blank (Transparent)
-RL.BLANK={0,0,0,0}
----Magenta
-RL.MAGENTA={255,0,255,255}
----My own White (raylib logo)
-RL.RAYWHITE={245,245,245,255}
-
--- Defines - Math
-
----Pi
-RL.PI=3.1415927410126
----Epsilon
-RL.EPSILON=9.9999999747524e-07
----Degrees to radians
-RL.DEG2RAD=0.017453292384744
----Radians to degrees
-RL.RAD2DEG=57.295776367188
-
--- Defines - Gui control state
-
-RL.STATE_NORMAL=0
-RL.STATE_FOCUSED=1
-RL.STATE_PRESSED=2
-RL.STATE_DISABLED=3
-
--- Defines - Gui control text alignment
-
-RL.TEXT_ALIGN_LEFT=0
-RL.TEXT_ALIGN_CENTER=1
-RL.TEXT_ALIGN_RIGHT=2
-
--- Defines - Gui control text alignment vertical
-
-RL.TEXT_ALIGN_TOP=0
-RL.TEXT_ALIGN_MIDDLE=1
-RL.TEXT_ALIGN_BOTTOM=2
-
--- Defines - Gui control text wrap mode
-
-RL.TEXT_WRAP_NONE=0
-RL.TEXT_WRAP_CHAR=1
-RL.TEXT_WRAP_WORD=2
-
--- Defines - Gui controls
-
-RL.DEFAULT=0
----Used also for: LABELBUTTON
-RL.LABEL=1
-RL.BUTTON=2
----Used also for: TOGGLEGROUP
-RL.TOGGLE=3
----Used also for: SLIDERBAR
-RL.SLIDER=4
-RL.PROGRESSBAR=5
-RL.CHECKBOX=6
-RL.COMBOBOX=7
-RL.DROPDOWNBOX=8
----Used also for: TEXTBOXMULTI
-RL.TEXTBOX=9
-RL.VALUEBOX=10
----Uses: BUTTON, VALUEBOX
-RL.SPINNER=11
-RL.LISTVIEW=12
-RL.COLORPICKER=13
-RL.SCROLLBAR=14
-RL.STATUSBAR=15
-
--- Defines - Gui base properties for every control
-
-RL.BORDER_COLOR_NORMAL=0
-RL.BASE_COLOR_NORMAL=1
-RL.TEXT_COLOR_NORMAL=2
-RL.BORDER_COLOR_FOCUSED=3
-RL.BASE_COLOR_FOCUSED=4
-RL.TEXT_COLOR_FOCUSED=5
-RL.BORDER_COLOR_PRESSED=6
-RL.BASE_COLOR_PRESSED=7
-RL.TEXT_COLOR_PRESSED=8
-RL.BORDER_COLOR_DISABLED=9
-RL.BASE_COLOR_DISABLED=10
-RL.TEXT_COLOR_DISABLED=11
-RL.BORDER_WIDTH=12
-RL.TEXT_PADDING=13
-RL.TEXT_ALIGNMENT=14
-
--- Defines - Gui extended properties depend on control
-
----Text size (glyphs max height)
-RL.TEXT_SIZE=16
----Text spacing between glyphs
-RL.TEXT_SPACING=17
----Line control color
-RL.LINE_COLOR=18
----Background color
-RL.BACKGROUND_COLOR=19
----Text spacing between lines
-RL.TEXT_LINE_SPACING=20
----Text vertical alignment inside text bounds (after border and padding)
-RL.TEXT_ALIGNMENT_VERTICAL=21
----Text wrap-mode inside text bounds
-RL.TEXT_WRAP_MODE=22
-
--- Defines - Gui Toggle/ToggleGroup
-
----ToggleGroup separation between toggles
-RL.GROUP_PADDING=16
-
--- Defines - Gui Slider/SliderBar
-
----Slider size of internal bar
-RL.SLIDER_WIDTH=16
----Slider/SliderBar internal bar padding
-RL.SLIDER_PADDING=17
-
--- Defines - Gui ProgressBar
-
----ProgressBar internal padding
-RL.PROGRESS_PADDING=16
-
--- Defines - Gui ScrollBar
-
-RL.ARROWS_SIZE=16
-RL.ARROWS_VISIBLE=17
----(SLIDERBAR, SLIDER_PADDING)
-RL.SCROLL_SLIDER_PADDING=18
-RL.SCROLL_SLIDER_SIZE=19
-RL.SCROLL_PADDING=20
-RL.SCROLL_SPEED=21
-
--- Defines - Gui CheckBox
-
----CheckBox internal check padding
-RL.CHECK_PADDING=16
-
--- Defines - Gui ComboBox
-
----ComboBox right button width
-RL.COMBO_BUTTON_WIDTH=16
----ComboBox button separation
-RL.COMBO_BUTTON_SPACING=17
-
--- Defines - Gui DropdownBox
-
----DropdownBox arrow separation from border and items
-RL.ARROW_PADDING=16
----DropdownBox items separation
-RL.DROPDOWN_ITEMS_SPACING=17
-
--- Defines - Gui TextBox/TextBoxMulti/ValueBox/Spinner
-
----TextBox in read-only mode: 0-text editable, 1-text no-editable
-RL.TEXT_READONLY=16
-
--- Defines - Gui Spinner
-
----Spinner left/right buttons width
-RL.SPIN_BUTTON_WIDTH=16
----Spinner buttons separation
-RL.SPIN_BUTTON_SPACING=17
-
--- Defines - Gui ListView
-
----ListView items height
-RL.LIST_ITEMS_HEIGHT=16
----ListView items separation
-RL.LIST_ITEMS_SPACING=17
----ListView scrollbar size (usually width)
-RL.SCROLLBAR_WIDTH=18
----ListView scrollbar side (0-left, 1-right)
-RL.SCROLLBAR_SIDE=19
-
--- Defines - Gui ColorPicker
-
-RL.COLOR_SELECTOR_SIZE=16
----ColorPicker right hue bar width
-RL.HUEBAR_WIDTH=17
----ColorPicker right hue bar separation from panel
-RL.HUEBAR_PADDING=18
----ColorPicker right hue bar selector height
-RL.HUEBAR_SELECTOR_HEIGHT=19
----ColorPicker right hue bar selector overflow
-RL.HUEBAR_SELECTOR_OVERFLOW=20
-
--- Defines - Gui Icons enumeration
-
-RL.ICON_NONE=0
-RL.ICON_FOLDER_FILE_OPEN=1
-RL.ICON_FILE_SAVE_CLASSIC=2
-RL.ICON_FOLDER_OPEN=3
-RL.ICON_FOLDER_SAVE=4
-RL.ICON_FILE_OPEN=5
-RL.ICON_FILE_SAVE=6
-RL.ICON_FILE_EXPORT=7
-RL.ICON_FILE_ADD=8
-RL.ICON_FILE_DELETE=9
-RL.ICON_FILETYPE_TEXT=10
-RL.ICON_FILETYPE_AUDIO=11
-RL.ICON_FILETYPE_IMAGE=12
-RL.ICON_FILETYPE_PLAY=13
-RL.ICON_FILETYPE_VIDEO=14
-RL.ICON_FILETYPE_INFO=15
-RL.ICON_FILE_COPY=16
-RL.ICON_FILE_CUT=17
-RL.ICON_FILE_PASTE=18
-RL.ICON_CURSOR_HAND=19
-RL.ICON_CURSOR_POINTER=20
-RL.ICON_CURSOR_CLASSIC=21
-RL.ICON_PENCIL=22
-RL.ICON_PENCIL_BIG=23
-RL.ICON_BRUSH_CLASSIC=24
-RL.ICON_BRUSH_PAINTER=25
-RL.ICON_WATER_DROP=26
-RL.ICON_COLOR_PICKER=27
-RL.ICON_RUBBER=28
-RL.ICON_COLOR_BUCKET=29
-RL.ICON_TEXT_T=30
-RL.ICON_TEXT_A=31
-RL.ICON_SCALE=32
-RL.ICON_RESIZE=33
-RL.ICON_FILTER_POINT=34
-RL.ICON_FILTER_BILINEAR=35
-RL.ICON_CROP=36
-RL.ICON_CROP_ALPHA=37
-RL.ICON_SQUARE_TOGGLE=38
-RL.ICON_SYMMETRY=39
-RL.ICON_SYMMETRY_HORIZONTAL=40
-RL.ICON_SYMMETRY_VERTICAL=41
-RL.ICON_LENS=42
-RL.ICON_LENS_BIG=43
-RL.ICON_EYE_ON=44
-RL.ICON_EYE_OFF=45
-RL.ICON_FILTER_TOP=46
-RL.ICON_FILTER=47
-RL.ICON_TARGET_POINT=48
-RL.ICON_TARGET_SMALL=49
-RL.ICON_TARGET_BIG=50
-RL.ICON_TARGET_MOVE=51
-RL.ICON_CURSOR_MOVE=52
-RL.ICON_CURSOR_SCALE=53
-RL.ICON_CURSOR_SCALE_RIGHT=54
-RL.ICON_CURSOR_SCALE_LEFT=55
-RL.ICON_UNDO=56
-RL.ICON_REDO=57
-RL.ICON_REREDO=58
-RL.ICON_MUTATE=59
-RL.ICON_ROTATE=60
-RL.ICON_REPEAT=61
-RL.ICON_SHUFFLE=62
-RL.ICON_EMPTYBOX=63
-RL.ICON_TARGET=64
-RL.ICON_TARGET_SMALL_FILL=65
-RL.ICON_TARGET_BIG_FILL=66
-RL.ICON_TARGET_MOVE_FILL=67
-RL.ICON_CURSOR_MOVE_FILL=68
-RL.ICON_CURSOR_SCALE_FILL=69
-RL.ICON_CURSOR_SCALE_RIGHT_FILL=70
-RL.ICON_CURSOR_SCALE_LEFT_FILL=71
-RL.ICON_UNDO_FILL=72
-RL.ICON_REDO_FILL=73
-RL.ICON_REREDO_FILL=74
-RL.ICON_MUTATE_FILL=75
-RL.ICON_ROTATE_FILL=76
-RL.ICON_REPEAT_FILL=77
-RL.ICON_SHUFFLE_FILL=78
-RL.ICON_EMPTYBOX_SMALL=79
-RL.ICON_BOX=80
-RL.ICON_BOX_TOP=81
-RL.ICON_BOX_TOP_RIGHT=82
-RL.ICON_BOX_RIGHT=83
-RL.ICON_BOX_BOTTOM_RIGHT=84
-RL.ICON_BOX_BOTTOM=85
-RL.ICON_BOX_BOTTOM_LEFT=86
-RL.ICON_BOX_LEFT=87
-RL.ICON_BOX_TOP_LEFT=88
-RL.ICON_BOX_CENTER=89
-RL.ICON_BOX_CIRCLE_MASK=90
-RL.ICON_POT=91
-RL.ICON_ALPHA_MULTIPLY=92
-RL.ICON_ALPHA_CLEAR=93
-RL.ICON_DITHERING=94
-RL.ICON_MIPMAPS=95
-RL.ICON_BOX_GRID=96
-RL.ICON_GRID=97
-RL.ICON_BOX_CORNERS_SMALL=98
-RL.ICON_BOX_CORNERS_BIG=99
-RL.ICON_FOUR_BOXES=100
-RL.ICON_GRID_FILL=101
-RL.ICON_BOX_MULTISIZE=102
-RL.ICON_ZOOM_SMALL=103
-RL.ICON_ZOOM_MEDIUM=104
-RL.ICON_ZOOM_BIG=105
-RL.ICON_ZOOM_ALL=106
-RL.ICON_ZOOM_CENTER=107
-RL.ICON_BOX_DOTS_SMALL=108
-RL.ICON_BOX_DOTS_BIG=109
-RL.ICON_BOX_CONCENTRIC=110
-RL.ICON_BOX_GRID_BIG=111
-RL.ICON_OK_TICK=112
-RL.ICON_CROSS=113
-RL.ICON_ARROW_LEFT=114
-RL.ICON_ARROW_RIGHT=115
-RL.ICON_ARROW_DOWN=116
-RL.ICON_ARROW_UP=117
-RL.ICON_ARROW_LEFT_FILL=118
-RL.ICON_ARROW_RIGHT_FILL=119
-RL.ICON_ARROW_DOWN_FILL=120
-RL.ICON_ARROW_UP_FILL=121
-RL.ICON_AUDIO=122
-RL.ICON_FX=123
-RL.ICON_WAVE=124
-RL.ICON_WAVE_SINUS=125
-RL.ICON_WAVE_SQUARE=126
-RL.ICON_WAVE_TRIANGULAR=127
-RL.ICON_CROSS_SMALL=128
-RL.ICON_PLAYER_PREVIOUS=129
-RL.ICON_PLAYER_PLAY_BACK=130
-RL.ICON_PLAYER_PLAY=131
-RL.ICON_PLAYER_PAUSE=132
-RL.ICON_PLAYER_STOP=133
-RL.ICON_PLAYER_NEXT=134
-RL.ICON_PLAYER_RECORD=135
-RL.ICON_MAGNET=136
-RL.ICON_LOCK_CLOSE=137
-RL.ICON_LOCK_OPEN=138
-RL.ICON_CLOCK=139
-RL.ICON_TOOLS=140
-RL.ICON_GEAR=141
-RL.ICON_GEAR_BIG=142
-RL.ICON_BIN=143
-RL.ICON_HAND_POINTER=144
-RL.ICON_LASER=145
-RL.ICON_COIN=146
-RL.ICON_EXPLOSION=147
-RL.ICON_1UP=148
-RL.ICON_PLAYER=149
-RL.ICON_PLAYER_JUMP=150
-RL.ICON_KEY=151
-RL.ICON_DEMON=152
-RL.ICON_TEXT_POPUP=153
-RL.ICON_GEAR_EX=154
-RL.ICON_CRACK=155
-RL.ICON_CRACK_POINTS=156
-RL.ICON_STAR=157
-RL.ICON_DOOR=158
-RL.ICON_EXIT=159
-RL.ICON_MODE_2D=160
-RL.ICON_MODE_3D=161
-RL.ICON_CUBE=162
-RL.ICON_CUBE_FACE_TOP=163
-RL.ICON_CUBE_FACE_LEFT=164
-RL.ICON_CUBE_FACE_FRONT=165
-RL.ICON_CUBE_FACE_BOTTOM=166
-RL.ICON_CUBE_FACE_RIGHT=167
-RL.ICON_CUBE_FACE_BACK=168
-RL.ICON_CAMERA=169
-RL.ICON_SPECIAL=170
-RL.ICON_LINK_NET=171
-RL.ICON_LINK_BOXES=172
-RL.ICON_LINK_MULTI=173
-RL.ICON_LINK=174
-RL.ICON_LINK_BROKE=175
-RL.ICON_TEXT_NOTES=176
-RL.ICON_NOTEBOOK=177
-RL.ICON_SUITCASE=178
-RL.ICON_SUITCASE_ZIP=179
-RL.ICON_MAILBOX=180
-RL.ICON_MONITOR=181
-RL.ICON_PRINTER=182
-RL.ICON_PHOTO_CAMERA=183
-RL.ICON_PHOTO_CAMERA_FLASH=184
-RL.ICON_HOUSE=185
-RL.ICON_HEART=186
-RL.ICON_CORNER=187
-RL.ICON_VERTICAL_BARS=188
-RL.ICON_VERTICAL_BARS_FILL=189
-RL.ICON_LIFE_BARS=190
-RL.ICON_INFO=191
-RL.ICON_CROSSLINE=192
-RL.ICON_HELP=193
-RL.ICON_FILETYPE_ALPHA=194
-RL.ICON_FILETYPE_HOME=195
-RL.ICON_LAYERS_VISIBLE=196
-RL.ICON_LAYERS=197
-RL.ICON_WINDOW=198
-RL.ICON_HIDPI=199
-RL.ICON_FILETYPE_BINARY=200
-RL.ICON_HEX=201
-RL.ICON_SHIELD=202
-RL.ICON_FILE_NEW=203
-RL.ICON_FOLDER_ADD=204
-RL.ICON_ALARM=205
-RL.ICON_CPU=206
-RL.ICON_ROM=207
-RL.ICON_STEP_OVER=208
-RL.ICON_STEP_INTO=209
-RL.ICON_STEP_OUT=210
-RL.ICON_RESTART=211
-RL.ICON_BREAKPOINT_ON=212
-RL.ICON_BREAKPOINT_OFF=213
-RL.ICON_BURGER_MENU=214
-RL.ICON_CASE_SENSITIVE=215
-RL.ICON_REG_EXP=216
-RL.ICON_FOLDER=217
-RL.ICON_FILE=218
-RL.ICON_SAND_TIMER=219
-
--- Defines - Light type
-
----Directional light
-RL.LIGHT_DIRECTIONAL=0
----Point light
-RL.LIGHT_POINT=1
-
--- Defines - RLGL Default internal render batch elements limits
-
----Default internal render batch elements limits
-RL.RL_DEFAULT_BATCH_BUFFER_ELEMENTS=8192
----Default number of batch buffers (multi-buffering)
-RL.RL_DEFAULT_BATCH_BUFFERS=1
----Default number of batch draw calls (by state changes: mode, texture)
-RL.RL_DEFAULT_BATCH_DRAWCALLS=256
----Maximum number of textures units that can be activated on batch drawing (SetShaderValueTexture())
-RL.RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS=4
-
--- Defines - RLGL Internal Matrix stack
-
----Maximum size of internal Matrix stack
-RL.RL_MAX_MATRIX_STACK_SIZE=32
-
--- Defines - RLGL Shader limits
-
----Maximum number of shader locations supported
-RL.RL_MAX_SHADER_LOCATIONS=32
-
--- Defines - RLGL Projection matrix culling
-
----Default projection matrix near cull distance
-RL.RL_CULL_DISTANCE_NEAR=0.01
----Default projection matrix far cull distance
-RL.RL_CULL_DISTANCE_FAR=1000
-
--- Defines - RLGL Texture parameters
-
----GL_TEXTURE_WRAP_S
-RL.RL_TEXTURE_WRAP_S=10242
----GL_TEXTURE_WRAP_T
-RL.RL_TEXTURE_WRAP_T=10243
----GL_TEXTURE_MAG_FILTER
-RL.RL_TEXTURE_MAG_FILTER=10240
----GL_TEXTURE_MIN_FILTER
-RL.RL_TEXTURE_MIN_FILTER=10241
----GL_NEAREST
-RL.RL_TEXTURE_FILTER_NEAREST=9728
----GL_LINEAR
-RL.RL_TEXTURE_FILTER_LINEAR=9729
----GL_NEAREST_MIPMAP_NEAREST
-RL.RL_TEXTURE_FILTER_MIP_NEAREST=9984
----GL_NEAREST_MIPMAP_LINEAR
-RL.RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR=9986
----GL_LINEAR_MIPMAP_NEAREST
-RL.RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST=9985
----GL_LINEAR_MIPMAP_LINEAR
-RL.RL_TEXTURE_FILTER_MIP_LINEAR=9987
----Anisotropic filter (custom identifier)
-RL.RL_TEXTURE_FILTER_ANISOTROPIC=12288
----Texture mipmap bias, percentage ratio (custom identifier)
-RL.RL_TEXTURE_MIPMAP_BIAS_RATIO=16384
----GL_REPEAT
-RL.RL_TEXTURE_WRAP_REPEAT=10497
----GL_CLAMP_TO_EDGE
-RL.RL_TEXTURE_WRAP_CLAMP=33071
----GL_MIRRORED_REPEAT
-RL.RL_TEXTURE_WRAP_MIRROR_REPEAT=33648
----GL_MIRROR_CLAMP_EXT
-RL.RL_TEXTURE_WRAP_MIRROR_CLAMP=34626
-
--- Defines - RLGL Matrix modes (equivalent to OpenGL)
-
----GL_MODELVIEW
-RL.RL_MODELVIEW=5888
----GL_PROJECTION
-RL.RL_PROJECTION=5889
----GL_TEXTURE
-RL.RL_TEXTURE=5890
-
--- Defines - RLGL Primitive assembly draw modes
-
----GL_LINES
-RL.RL_LINES=1
----GL_TRIANGLES
-RL.RL_TRIANGLES=4
----GL_QUADS
-RL.RL_QUADS=7
-
--- Defines - RLGL GL equivalent data types
-
----GL_UNSIGNED_BYTE
-RL.RL_UNSIGNED_BYTE=5121
----GL_FLOAT
-RL.RL_FLOAT=5126
-
--- Defines - RLGL GL buffer usage hint
-
----GL_STREAM_DRAW
-RL.RL_STREAM_DRAW=35040
----GL_STREAM_READ
-RL.RL_STREAM_READ=35041
----GL_STREAM_COPY
-RL.RL_STREAM_COPY=35042
----GL_STATIC_DRAW
-RL.RL_STATIC_DRAW=35044
----GL_STATIC_READ
-RL.RL_STATIC_READ=35045
----GL_STATIC_COPY
-RL.RL_STATIC_COPY=35046
----GL_DYNAMIC_DRAW
-RL.RL_DYNAMIC_DRAW=35048
----GL_DYNAMIC_READ
-RL.RL_DYNAMIC_READ=35049
----GL_DYNAMIC_COPY
-RL.RL_DYNAMIC_COPY=35050
-
--- Defines - RLGL Shader type
-
----GL_FRAGMENT_SHADER
-RL.RL_FRAGMENT_SHADER=35632
----GL_VERTEX_SHADER
-RL.RL_VERTEX_SHADER=35633
----GL_COMPUTE_SHADER
-RL.RL_COMPUTE_SHADER=37305
-
--- Defines - RLGL GL blending factors
-
----GL_ZERO
-RL.RL_ZERO=0
----GL_ONE
-RL.RL_ONE=1
----GL_SRC_COLOR
-RL.RL_SRC_COLOR=768
----GL_ONE_MINUS_SRC_COLOR
-RL.RL_ONE_MINUS_SRC_COLOR=769
----GL_SRC_ALPHA
-RL.RL_SRC_ALPHA=770
----GL_ONE_MINUS_SRC_ALPHA
-RL.RL_ONE_MINUS_SRC_ALPHA=771
----GL_DST_ALPHA
-RL.RL_DST_ALPHA=772
----GL_ONE_MINUS_DST_ALPHA
-RL.RL_ONE_MINUS_DST_ALPHA=773
----GL_DST_COLOR
-RL.RL_DST_COLOR=774
----GL_ONE_MINUS_DST_COLOR
-RL.RL_ONE_MINUS_DST_COLOR=775
----GL_SRC_ALPHA_SATURATE
-RL.RL_SRC_ALPHA_SATURATE=776
----GL_CONSTANT_COLOR
-RL.RL_CONSTANT_COLOR=32769
----GL_ONE_MINUS_CONSTANT_COLOR
-RL.RL_ONE_MINUS_CONSTANT_COLOR=32770
----GL_CONSTANT_ALPHA
-RL.RL_CONSTANT_ALPHA=32771
----GL_ONE_MINUS_CONSTANT_ALPHA
-RL.RL_ONE_MINUS_CONSTANT_ALPHA=32772
-
--- Defines - RLGL GL blending functions/equations
-
----GL_FUNC_ADD
-RL.RL_FUNC_ADD=32774
----GL_MIN
-RL.RL_MIN=32775
----GL_MAX
-RL.RL_MAX=32776
----GL_FUNC_SUBTRACT
-RL.RL_FUNC_SUBTRACT=32778
----GL_FUNC_REVERSE_SUBTRACT
-RL.RL_FUNC_REVERSE_SUBTRACT=32779
----GL_BLEND_EQUATION
-RL.RL_BLEND_EQUATION=32777
----GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)
-RL.RL_BLEND_EQUATION_RGB=32777
----GL_BLEND_EQUATION_ALPHA
-RL.RL_BLEND_EQUATION_ALPHA=34877
----GL_BLEND_DST_RGB
-RL.RL_BLEND_DST_RGB=32968
----GL_BLEND_SRC_RGB
-RL.RL_BLEND_SRC_RGB=32969
----GL_BLEND_DST_ALPHA
-RL.RL_BLEND_DST_ALPHA=32970
----GL_BLEND_SRC_ALPHA
-RL.RL_BLEND_SRC_ALPHA=32971
----GL_BLEND_COLOR
-RL.RL_BLEND_COLOR=32773
----GL_READ_FRAMEBUFFER
-RL.RL_READ_FRAMEBUFFER=36008
----GL_DRAW_FRAMEBUFFER
-RL.RL_DRAW_FRAMEBUFFER=36009
-
--- Defines - RLGL Default shader vertex attribute locations
-
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION=0
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD=1
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL=2
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR=3
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT=4
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2=5
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES=6
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEIDS=nil
-RL.RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS=nil
-
--- Defines - RLGL GlVersion
-
----OpenGL 1.1
-RL.RL_OPENGL_11=1
----OpenGL 2.1 (GLSL 120)
-RL.RL_OPENGL_21=2
----OpenGL 3.3 (GLSL 330)
-RL.RL_OPENGL_33=3
----OpenGL 4.3 (using GLSL 330)
-RL.RL_OPENGL_43=4
----OpenGL ES 2.0 (GLSL 100)
-RL.RL_OPENGL_ES_20=5
-
--- Defines - RLGL Framebuffer attachment type
-
----Framebuffer attachment type: color 0
-RL.RL_ATTACHMENT_COLOR_CHANNEL0=0
----Framebuffer attachment type: color 1
-RL.RL_ATTACHMENT_COLOR_CHANNEL1=1
----Framebuffer attachment type: color 2
-RL.RL_ATTACHMENT_COLOR_CHANNEL2=2
----Framebuffer attachment type: color 3
-RL.RL_ATTACHMENT_COLOR_CHANNEL3=3
----Framebuffer attachment type: color 4
-RL.RL_ATTACHMENT_COLOR_CHANNEL4=4
----Framebuffer attachment type: color 5
-RL.RL_ATTACHMENT_COLOR_CHANNEL5=5
----Framebuffer attachment type: color 6
-RL.RL_ATTACHMENT_COLOR_CHANNEL6=6
----Framebuffer attachment type: color 7
-RL.RL_ATTACHMENT_COLOR_CHANNEL7=7
----Framebuffer attachment type: depth
-RL.RL_ATTACHMENT_DEPTH=100
----Framebuffer attachment type: stencil
-RL.RL_ATTACHMENT_STENCIL=200
-
--- Defines - RLGL Framebuffer texture attachment type
-
----Framebuffer texture attachment type: cubemap, +X side
-RL.RL_ATTACHMENT_CUBEMAP_POSITIVE_X=0
----Framebuffer texture attachment type: cubemap, -X side
-RL.RL_ATTACHMENT_CUBEMAP_NEGATIVE_X=1
----Framebuffer texture attachment type: cubemap, +Y side
-RL.RL_ATTACHMENT_CUBEMAP_POSITIVE_Y=2
----Framebuffer texture attachment type: cubemap, -Y side
-RL.RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y=3
----Framebuffer texture attachment type: cubemap, +Z side
-RL.RL_ATTACHMENT_CUBEMAP_POSITIVE_Z=4
----Framebuffer texture attachment type: cubemap, -Z side
-RL.RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z=5
----Framebuffer texture attachment type: texture2d
-RL.RL_ATTACHMENT_TEXTURE2D=100
----Framebuffer texture attachment type: renderbuffer
-RL.RL_ATTACHMENT_RENDERBUFFER=200
-
--- Defines - RLGL CullMode
-
-RL.RL_CULL_FACE_FRONT=0
-RL.RL_CULL_FACE_BACK=1
-
--- Defines - OpenGL Bitfield mask
-
-RL.GL_COLOR_BUFFER_BIT=16384
-RL.GL_DEPTH_BUFFER_BIT=256
-RL.GL_STENCIL_BUFFER_BIT=1024
-
--- Defines - OpenGL Texture parameter
-
-RL.GL_NEAREST=9728
-RL.GL_LINEAR=9729
-
--- Defines - OpenGL Capability
-
----If enabled, blend the computed fragment color values with the values in the color buffers. See glBlendFunc
-RL.GL_BLEND=3042
----If enabled, cull polygons based on their winding in window coordinates. See glCullFace
-RL.GL_CULL_FACE=2884
----If enabled, do depth comparisons and update the depth buffer. Note that even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled. See glDepthFunc and glDepthRangef
-RL.GL_DEPTH_TEST=2929
----If enabled, dither color components or indices before they are written to the color buffer
-RL.GL_DITHER=3024
----If enabled, an offset is added to depth values of a polygon's fragments produced by rasterization. See glPolygonOffset
-RL.GL_POLYGON_OFFSET_FILL=32823
-RL.GL_POLYGON_OFFSET_LINE=10754
-RL.GL_POLYGON_OFFSET_POINT=10753
----If enabled, compute a temporary coverage value where each bit is determined by the alpha value at the corresponding sample location. The temporary coverage value is then ANDed with the fragment coverage value
-RL.GL_SAMPLE_ALPHA_TO_COVERAGE=32926
----If enabled, the fragment's coverage is ANDed with the temporary coverage value. If GL_SAMPLE_COVERAGE_INVERT is set to GL_TRUE, invert the coverage value. See glSampleCoverage
-RL.GL_SAMPLE_COVERAGE=32928
----If enabled, discard fragments that are outside the scissor rectangle. See glScissor
-RL.GL_SCISSOR_TEST=3089
----If enabled, do stencil testing and update the stencil buffer. See glStencilFunc and glStencilOp
-RL.GL_STENCIL_TEST=2960
-
--- Defines - OpenGL Test function
-
----Always fails
-RL.GL_NEVER=512
----Passes if ( ref & mask ) < ( stencil & mask )
-RL.GL_LESS=513
----Passes if ( ref & mask ) <= ( stencil & mask )
-RL.GL_LEQUAL=515
----Passes if ( ref & mask ) > ( stencil & mask )
-RL.GL_GREATER=516
----Passes if ( ref & mask ) >= ( stencil & mask )
-RL.GL_GEQUAL=518
----Passes if ( ref & mask ) = ( stencil & mask )
-RL.GL_EQUAL=514
----Passes if ( ref & mask ) != ( stencil & mask )
-RL.GL_NOTEQUAL=517
----Always passes
-RL.GL_ALWAYS=519
-
--- Defines - OpenGL Face
-
-RL.GL_FRONT=1028
-RL.GL_BACK=1029
-RL.GL_FRONT_AND_BACK=1032
-
--- Defines - OpenGL Stencil test
-
----Keeps the current value
-RL.GL_KEEP=7680
----Sets the stencil buffer value to 0
-RL.GL_ZERO=0
----Sets the stencil buffer value to ref, as specified by glStencilFunc
-RL.GL_REPLACE=7681
----Increments the current stencil buffer value. Clamps to the maximum representable unsigned value
-RL.GL_INCR=7682
----Increments the current stencil buffer value. Wraps stencil buffer value to zero when incrementing the maximum representable unsigned value
-RL.GL_INCR_WRAP=34055
----Decrements the current stencil buffer value. Clamps to 0
-RL.GL_DECR=7683
----Decrements the current stencil buffer value. Wraps stencil buffer value to the maximum representable unsigned value when decrementing a stencil buffer value of zero
-RL.GL_DECR_WRAP=34056
----Bitwise inverts the current stencil buffer value
-RL.GL_INVERT=5386
-
--- Defines - OpenGL Connection
-
----Returns the company responsible for this GL implementation. This name does not change from release to release
-RL.GL_VENDOR=7936
----Returns the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release
-RL.GL_RENDERER=7937
----Returns a version or release number of the form OpenGLES
-RL.GL_VERSION=7938
----Returns a version or release number for the shading language of the form OpenGLESGLSLES
-RL.GL_SHADING_LANGUAGE_VERSION=35724
----Returns a space-separated list of supported extensions to GL
-RL.GL_EXTENSIONS=7939
-
--- Defines - CBuffer Data type
-
----C type unsigned char
-RL.BUFFER_UNSIGNED_CHAR=0
----C type unsigned short
-RL.BUFFER_UNSIGNED_SHORT=1
----C type unsigned int
-RL.BUFFER_UNSIGNED_INT=2
----C type unsigned long
-RL.BUFFER_UNSIGNED_LONG=3
----C type char
-RL.BUFFER_CHAR=4
----C type short
-RL.BUFFER_SHORT=5
----C type int
-RL.BUFFER_INT=6
----C type long
-RL.BUFFER_LONG=7
----C type float
-RL.BUFFER_FLOAT=8
----C type double
-RL.BUFFER_DOUBLE=9
-
--- Defines - Keyboard keys (US keyboard layout)
-
----Key: Unknown
-RL.GLFW_KEY_UNKNOWN=-1
-
--- Defines - GLFW API tokens.
-
----The key or mouse button was released
-RL.GLFW_RELEASE=0
----The key or mouse button was pressed
-RL.GLFW_PRESS=1
----The key was held down until it repeated
-RL.GLFW_REPEAT=2
----Joystick connected
-RL.GLFW_CONNECTED=262145
----Joystick disconnected
-RL.GLFW_DISCONNECTED=262146
-
--- Defines - GLFW Window Events.
-
----GLFW event window size changed
-RL.GLFW_WINDOW_SIZE_EVENT=0
----GLFW event window maximize
-RL.GLFW_WINDOW_MAXIMIZE_EVENT=1
----GLFW event window iconify
-RL.GLFW_WINDOW_ICONYFY_EVENT=2
----GLFW event window focus
-RL.GLFW_WINDOW_FOCUS_EVENT=3
----GLFW event window drop
-RL.GLFW_WINDOW_DROP_EVENT=4
-
--- Defines - GLFW Input Events.
-
----GLFW event keyboard key
-RL.GLFW_KEY_EVENT=5
----GLFW event Unicode character
-RL.GLFW_CHAR_EVENT=6
----GLFW event mouse button
-RL.GLFW_MOUSE_BUTTON_EVENT=7
----GLFW event cursor position
-RL.GLFW_MOUSE_CURSOR_POS_EVENT=8
----GLFW event mouse scroll
-RL.GLFW_MOUSE_SCROLL_EVENT=9
----GLFW event cursor enter/leave
-RL.GLFW_CURSOR_ENTER_EVENT=10
----GLFW event joystick
-RL.GLFW_JOYSTICK_EVENT=11
-
--- Defines - GLFW Pen Tablet Events. NOTE! Experimental. Needs glfw PR https://github.com/glfw/glfw/pull/1445.
-
----// GLFW event pen tablet data
-RL.assignGlobalInt=nil
----// GLFW event pen tablet cursor
-RL.assignGlobalInt=nil
----// GLFW event pen tablet proximity
-RL.assignGlobalInt=nil
--- Core - Window-related functions
-
----Initialize window and OpenGL context. Note! Should be called only in RL.config.
----InitWindow will still be called automatically before RL.init
----@param size table
----@param title string
----@return any RL.InitWindow
-function RL.InitWindow( size, title ) end
-
----Close window and unload OpenGL context and free all resources
----@return any RL.CloseWindow
-function RL.CloseWindow() end
-
----Check if application should close (KEY_ESCAPE pressed or windows close icon clicked).
----Note! Not needed unless you want to make custom main loop
----@return any RL.WindowShouldClose
-function RL.WindowShouldClose() end
-
----Check if window has been initialized successfully
----- Success return bool
----@return any state
-function RL.IsWindowReady() end
-
----Check if window is currently fullscreen
----- Success return bool
----@return any state
-function RL.IsWindowFullscreen() end
-
----Check if window is currently hidden (only PLATFORM_DESKTOP)
----- Success return bool
----@return any state
-function RL.IsWindowHidden() end
-
----Check if window is currently minimized (only PLATFORM_DESKTOP)
----- Success return bool
----@return any state
-function RL.IsWindowMinimized() end
-
----Check if window is currently maximized (only PLATFORM_DESKTOP)
----- Success return bool
----@return any state
-function RL.IsWindowMaximized() end
-
----Check if window is currently focused (only PLATFORM_DESKTOP)
----- Success return bool
----@return any state
-function RL.IsWindowFocused() end
-
----Check if window has been resized from last frame
----- Success return bool
----@return any resized
-function RL.IsWindowResized() end
-
----Check if one specific window flag is enabled (FLAG_FULLSCREEN_MODE, FLAG_WINDOW_RESIZABLE...)
----- Success return bool
----@param flag integer
----@return any state
-function RL.IsWindowState( flag ) end
-
----Set window configuration state using flags (FLAG_FULLSCREEN_MODE, FLAG_WINDOW_RESIZABLE...)
----@param flag integer
----@return any RL.SetWindowState
-function RL.SetWindowState( flag ) end
-
----Clear window configuration state flags (FLAG_FULLSCREEN_MODE, FLAG_WINDOW_RESIZABLE...)
----- Success return bool
----@param flag integer
----@return any resized
-function RL.ClearWindowState( flag ) end
-
----Toggle window state: fullscreen/windowed, resizes monitor to match window resolution
----@return any RL.ToggleFullscreen
-function RL.ToggleFullscreen() end
-
----Toggle window state: borderless windowed, resizes window to match monitor resolution
----@return any RL.ToggleBorderlessWindowed
-function RL.ToggleBorderlessWindowed() end
-
----Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
----@return any RL.MaximizeWindow
-function RL.MaximizeWindow() end
-
----Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
----@return any RL.MinimizeWindow
-function RL.MinimizeWindow() end
-
----Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
----@return any RL.RestoreWindow
-function RL.RestoreWindow() end
-
----Set icon for window (Only PLATFORM_DESKTOP)
----@param image any
----@return any RL.SetWindowIcon
-function RL.SetWindowIcon( image ) end
-
----Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP)
----@param images table
----@return any RL.SetWindowIcons
-function RL.SetWindowIcons( images ) end
-
----Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB)
----@param title string
----@return any RL.SetWindowTitle
-function RL.SetWindowTitle( title ) end
-
----Set window position on screen
----@param pos table
----@return any RL.SetWindowPosition
-function RL.SetWindowPosition( pos ) end
-
----Set monitor for the current window
----@param monitor integer
----@return any RL.SetWindowMonitor
-function RL.SetWindowMonitor( monitor ) end
-
----Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
----@param size table
----@return any RL.SetWindowMinSize
-function RL.SetWindowMinSize( size ) end
-
----Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)
----@param size table
----@return any RL.SetWindowMaxSize
-function RL.SetWindowMaxSize( size ) end
-
----Set window dimensions
----@param size table
----@return any RL.SetWindowSize
-function RL.SetWindowSize( size ) end
-
----Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
----@param opacity number
----@return any RL.SetWindowOpacity
-function RL.SetWindowOpacity( opacity ) end
-
----Set window focused (only PLATFORM_DESKTOP)
----@return any RL.SetWindowFocused
-function RL.SetWindowFocused() end
-
----Get native window handle. Return as lightuserdata
----- Success return lightuserdata
----@return any windowHandle
-function RL.GetWindowHandle() end
-
----Get screen size
----- Success return Vector2
----@return any size
-function RL.GetScreenSize() end
-
----Get render size
----- Success return Vector2
----@return any size
-function RL.GetRenderSize() end
-
----Get number of connected monitors
----- Success return int
----@return any count
-function RL.GetMonitorCount() end
-
----Get current connected monitor
----- Success return int
----@return any monitor
-function RL.GetCurrentMonitor() end
-
----Get specified monitor position
----- Success return Vector2
----@param monitor integer
----@return any position
-function RL.GetMonitorPosition( monitor ) end
-
----Get specified monitor size
----- Success return Vector2
----@param monitor integer
----@return any size
-function RL.GetMonitorSize( monitor ) end
-
----Get specified monitor physical size in millimetres
----- Success return Vector2
----@param monitor integer
----@return any size
-function RL.GetMonitorPhysicalSize( monitor ) end
-
----Get specified monitor refresh rate
----- Success return int
----@param monitor integer
----@return any refreshRate
-function RL.GetMonitorRefreshRate( monitor ) end
-
----Get window position on monitor
----- Success return Vector2
----@return any position
-function RL.GetWindowPosition() end
-
----Get window scale DPI factor
----- Success return Vector2
----@return any dpi
-function RL.GetWindowScaleDPI() end
-
----Get the human-readable, UTF-8 encoded name of the specified monitor
----- Success return string
----@param monitor integer
----@return any name
-function RL.GetMonitorName( monitor ) end
-
----Set clipboard text content
----@param text string
----@return any RL.SetClipboardText
-function RL.SetClipboardText( text ) end
-
----Get clipboard text content
----- Success return string
----@return any text
-function RL.GetClipboardText() end
-
----Get clipboard image content
----- Success return Image
----@return any image
-function RL.GetClipboardImage() end
-
----Enable waiting for events on EndDrawing(), no automatic event polling
----@return any RL.EnableEventWaiting
-function RL.EnableEventWaiting() end
-
----Disable waiting for events on EndDrawing(), automatic events polling
----@return any RL.DisableEventWaiting
-function RL.DisableEventWaiting() end
-
--- Core - Cursor-related functions
-
----Shows cursor
----@return any RL.ShowCursor
-function RL.ShowCursor() end
-
----Hides cursor
----@return any RL.HideCursor
-function RL.HideCursor() end
-
----Check if cursor is not visible
----- Success return bool
----@return any hidden
-function RL.IsCursorHidden() end
-
----Enables cursor (unlock cursor)
----@return any RL.EnableCursor
-function RL.EnableCursor() end
-
----Disables cursor (lock cursor)
----@return any RL.DisableCursor
-function RL.DisableCursor() end
-
----Check if cursor is on the screen
----- Success return bool
----@return any onSreen
-function RL.IsCursorOnScreen() end
-
--- Core - Drawing-related functions
-
----Set background color (framebuffer clear color)
----@param color table
----@return any RL.ClearBackground
-function RL.ClearBackground( color ) end
-
----Setup canvas (framebuffer) to start drawing
----@return any RL.BeginDrawing
-function RL.BeginDrawing() end
-
----End canvas drawing and swap buffers (double buffering)
----@return any RL.EndDrawing
-function RL.EndDrawing() end
-
----Begin 2D mode with custom camera (2D)
----@param camera any
----@return any RL.BeginMode2D
-function RL.BeginMode2D( camera ) end
-
----Ends 2D mode with custom camera
----@return any RL.EndMode2D
-function RL.EndMode2D() end
-
----Begin 3D mode with custom camera (3D)
----@param camera any
----@return any RL.BeginMode3D
-function RL.BeginMode3D( camera ) end
-
----Ends 3D mode and returns to default 2D orthographic mode
----@return any RL.EndMode3D
-function RL.EndMode3D() end
-
----Begin drawing to render texture
----@param target any
----@return any RL.BeginTextureMode
-function RL.BeginTextureMode( target ) end
-
----Ends drawing to render texture
----@return any RL.EndTextureMode
-function RL.EndTextureMode() end
-
----Begin custom shader drawing
----@param shader any
----@return any RL.BeginShaderMode
-function RL.BeginShaderMode( shader ) end
-
----End custom shader drawing (use default shader)
----@return any RL.EndShaderMode
-function RL.EndShaderMode() end
-
----Begin blending mode (BLEND_ALPHA, BLEND_ADDITIVE, BLEND_MULTIPLIED...)
----@param mode integer
----@return any RL.BeginBlendMode
-function RL.BeginBlendMode( mode ) end
-
----End blending mode (reset to default: BLEND_ALPHA)
----@return any RL.EndBlendMode
-function RL.EndBlendMode() end
-
----Begin scissor mode (define screen area for following drawing)
----@param rectange table
----@return any RL.BeginScissorMode
-function RL.BeginScissorMode( rectange ) end
-
----End scissor mode
----@return any RL.EndScissorMode
-function RL.EndScissorMode() end
-
--- Core - Shader management functions
-
----Load shader from files and bind default locations.
----NOTE: Set nil if no shader
----- Failure return nil
----- Success return Shader
----@param vsFileName string|nil
----@param fsFileName string|nil
----@return any shader
-function RL.LoadShader( vsFileName, fsFileName ) end
-
----Load shader from code strings and bind default locations
----NOTE: Set nil if no shader
----- Failure return nil
----- Success return Shader
----@param vsCode string|nil
----@param fsCode string|nil
----@return any shader
-function RL.LoadShaderFromMemory( vsCode, fsCode ) end
-
----Check if a shader is valid (loaded on GPU)
----- Success return bool
----@param shader any
----@return any isValid
-function RL.IsShaderValid( shader ) end
-
----Get shader program id
----- Success return int
----@param shader any
----@return any shaderId
-function RL.GetShaderId( shader ) end
-
----Get shader uniform location
----- Success return int
----@param shader any
----@param uniformName string
----@return any location
-function RL.GetShaderLocation( shader, uniformName ) end
-
----Get shader attribute location
----- Success return int
----@param shader any
----@param attribName string
----@return any location
-function RL.GetShaderLocationAttrib( shader, attribName ) end
-
----Set shader location index
----@param shader any
----@param shaderLocationIndex integer
----@param location integer
----@return any RL.SetShaderLocationIndex
-function RL.SetShaderLocationIndex( shader, shaderLocationIndex, location ) end
-
----Get shader location index
----- Success return int
----@param shader any
----@param shaderLocationIndex integer
----@return any location
-function RL.GetShaderLocationIndex( shader, shaderLocationIndex ) end
-
----Set shader uniform value (matrix 4x4)
----@param shader any
----@param locIndex integer
----@param mat table
----@return any RL.SetShaderValueMatrix
-function RL.SetShaderValueMatrix( shader, locIndex, mat ) end
-
----Set shader uniform value for texture (sampler2d)
----@param shader any
----@param locIndex integer
----@param texture any
----@return any RL.SetShaderValueTexture
-function RL.SetShaderValueTexture( shader, locIndex, texture ) end
-
----Set shader uniform value
----NOTE: Even one value should be in table
----@param shader any
----@param locIndex integer
----@param values table
----@param uniformType integer
----@return any RL.SetShaderValue
-function RL.SetShaderValue( shader, locIndex, values, uniformType ) end
-
----Set shader uniform value vector
----NOTE: Even one value should be in table
----@param shader any
----@param locIndex integer
----@param values table
----@param uniformType integer
----@param count integer
----@return any RL.SetShaderValueV
-function RL.SetShaderValueV( shader, locIndex, values, uniformType, count ) end
-
----Set shader uniform value using Buffer object
----@param shader any
----@param locIndex integer
----@param values any
----@param uniformType integer
----@return any RL.SetShaderValueWithBuffer
-function RL.SetShaderValueWithBuffer( shader, locIndex, values, uniformType ) end
-
----Set shader uniform value vector using Buffer object
----@param shader any
----@param locIndex integer
----@param values any
----@param uniformType integer
----@param count integer
----@return any RL.SetShaderValueVWithBuffer
-function RL.SetShaderValueVWithBuffer( shader, locIndex, values, uniformType, count ) end
-
----Unload shader from GPU memory (VRAM)
----@param shader any
----@return any RL.UnloadShader
-function RL.UnloadShader( shader ) end
-
--- Core - Screen-space-related functions
-
----Get a ray trace from screen position (i.e mouse)
----- Success return Ray
----@param mousePosition table
----@param camera any
----@return any ray
-function RL.GetScreenToWorldRay( mousePosition, camera ) end
-
----Get a ray trace from screen position (i.e mouse) in a viewport
----- Success return Ray
----@param mousePosition table
----@param camera any
----@param size table
----@return any ray
-function RL.GetScreenToWorldRayEx( mousePosition, camera, size ) end
-
----Get the screen space position for a 3d world space position
----- Success return Vector2
----@param position table
----@param camera any
----@return any position
-function RL.GetWorldToScreen( position, camera ) end
-
----Get size position for a 3d world space position
----- Success return Vector2
----@param position table
----@param camera any
----@param size table
----@return any position
-function RL.GetWorldToScreenEx( position, camera, size ) end
-
----Get the screen space position for a 2d camera world space position
----- Success return Vector2
----@param position table
----@param camera any
----@return any position
-function RL.GetWorldToScreen2D( position, camera ) end
-
----Get the world space position for a 2d camera screen space position
----- Success return Vector2
----@param position table
----@param camera any
----@return any position
-function RL.GetScreenToWorld2D( position, camera ) end
-
----Get camera transform matrix (view matrix)
----- Success return Matrix
----@param camera any
----@return any matrix
-function RL.GetCameraMatrix( camera ) end
-
----Get camera 2d transform matrix
----- Success return Matrix
----@param camera any
----@return any matrix
-function RL.GetCameraMatrix2D( camera ) end
-
--- Core - Timing-related functions
-
----Set target FPS (maximum)
----@param fps integer
----@return any RL.SetTargetFPS
-function RL.SetTargetFPS( fps ) end
-
----Get time in seconds for last frame drawn (Delta time)
----- Success return float
----@return any delta
-function RL.GetFrameTime() end
-
----Get elapsed time in seconds since InitWindow()
----- Success return float
----@return any time
-function RL.GetTime() end
-
----Get current FPS
----- Success return int
----@return any FPS
-function RL.GetFPS() end
-
--- Core - Custom frame control functions
-
----Swap back buffer with front buffer (screen drawing)
----@return any RL.SwapScreenBuffer
-function RL.SwapScreenBuffer() end
-
----Register all input events
----@return any RL.PollInputEvents
-function RL.PollInputEvents() end
-
----Wait for some time (halt program execution)
----@param seconds any
----@return any RL.WaitTime
-function RL.WaitTime( seconds ) end
-
--- Core - Random values generation functions
-
----Set the seed for the random number generator
----@param seed integer
----@return any RL.SetRandomSeed
-function RL.SetRandomSeed( seed ) end
-
----Get a random value between min and max (both included)
----- Success return int
----@param min integer
----@param max integer
----@return any time
-function RL.GetRandomValue( min, max ) end
-
----Load random values sequence, no values repeated
----- Success return int{}
----@param count integer
----@param min integer
----@param max integer
----@return any sequence
-function RL.LoadRandomSequence( count, min, max ) end
-
--- Core - Misc
-
----Takes a screenshot of current screen (filename extension defines format)
----@param fileName string
----@return any RL.TakeScreenshot
-function RL.TakeScreenshot( fileName ) end
-
----Setup init configuration flags (view FLAGS)
----@param flags integer
----@return any RL.SetConfigFlags
-function RL.SetConfigFlags( flags ) end
-
----Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
----@param logLevel integer
----@param text string
----@return any RL.TraceLog
-function RL.TraceLog( logLevel, text ) end
-
----Set the current threshold (minimum) log level
----@param logLevel integer
----@return any RL.SetTraceLogLevel
-function RL.SetTraceLogLevel( logLevel ) end
-
----Set the log level for bad function calls and invalid data formats.
----@param logLevel integer
----@return any RL.SetLogLevelInvalid
-function RL.SetLogLevelInvalid( logLevel ) end
-
----Get the log level for bad function calls and invalid data formats.
----- Success return int
----@return any logLevel
-function RL.GetLogLevelInvalid() end
-
----Open URL with default system browser (if available)
----@param url string
----@return any RL.OpenURL
-function RL.OpenURL( url ) end
-
----Check if Lua garbage collection is set to unload object data
----- Success return bool
----@return any enabled
-function RL.IsGCUnloadEnabled() end
-
----Set Lua garbage collection to unload object data
----@param enabled boolean
----@return any RL.SetGCUnload
-function RL.SetGCUnload( enabled ) end
-
----Get platform. Returns "Windows", "Linux", "FreeBSD", "OpenBSD", "Apple" or "Emscripten"
----- Success return string
----@return any platform
-function RL.GetPlatform() end
-
--- Core - Files management functions
-
----Load file data as byte array (read). Buffer type is BUFFER_UNSIGNED_CHAR
----- Success return Buffer
----@param fileName string
----@return any buffer
-function RL.LoadFileData( fileName ) end
-
----Save data to file from byte array (write), returns true on success
----- Success return bool
----@param fileName string
----@param Buffer any
----@return any success
-function RL.SaveFileData( fileName, Buffer ) end
-
----Export data to code (.h), returns true on success
----- Success return bool
----@param buffer any
----@param fileName string
----@return any success
-function RL.ExportDataAsCode( buffer, fileName ) end
-
----Load text data from file (read)
----- Success return string
----@param fileName string
----@return any text
-function RL.LoadFileText( fileName ) end
-
----Save text data to file (write), returns true on success
----- Success return bool
----@param fileName string
----@param text string
----@return any success
-function RL.SaveFileText( fileName, text ) end
-
--- Core - Files system functions
-
----Return game directory (where main.lua is located)
----- Success return string
----@return any path
-function RL.GetBasePath() end
-
----Check if file exists
----- Success return bool
----@param fileName string
----@return any fileExists
-function RL.FileExists( fileName ) end
-
----Check if a directory path exists
----- Success return bool
----@param dirPath string
----@return any dirExists
-function RL.DirectoryExists( dirPath ) end
-
----Check file extension (Including point: .png, .wav)
----- Success return bool
----@param fileName string
----@param ext string
----@return any hasFileExtension
-function RL.IsFileExtension( fileName, ext ) end
-
----Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
----- Success return int
----@param fileName string
----@return any length
-function RL.GetFileLength( fileName ) end
-
----Get pointer to extension for a filename string (Includes dot: '.png')
----- Success return string
----@param fileName string
----@return any extension
-function RL.GetFileExtension( fileName ) end
-
----Get pointer to filename for a path string
----- Success return string
----@param filePath string
----@return any fileName
-function RL.GetFileName( filePath ) end
-
----Get filename string without extension (Uses static string)
----- Success return string
----@param filePath string
----@return any fileName
-function RL.GetFileNameWithoutExt( filePath ) end
-
----Get full path for a given fileName with path (Uses static string)
----- Success return string
----@param filePath string
----@return any filePath
-function RL.GetDirectoryPath( filePath ) end
-
----Get previous directory path for a given path (Uses static string)
----- Success return string
----@param dirPath string
----@return any directory
-function RL.GetPrevDirectoryPath( dirPath ) end
-
----Get current working directory (Uses static string)
----- Success return string
----@return any directory
-function RL.GetWorkingDirectory() end
-
----Get the directory of the running application (uses static string)
----- Success return string
----@return any directory
-function RL.GetApplicationDirectory() end
-
----Create directories (including full path requested), returns 0 on success
----- Success return int
----@param dirPath string
----@return any success
-function RL.MakeDirectory( dirPath ) end
-
----Change working directory, return true on success
----- Success return bool
----@param directory string
----@return any success
-function RL.ChangeDirectory( directory ) end
-
----Check if a given path is a file or a directory
----- Success return bool
----@param path string
----@return any isFile
-function RL.IsPathFile( path ) end
-
----Check if fileName is valid for the platform/OS
----- Success return bool
----@param fileName string
----@return any isValid
-function RL.IsFileNameValid( fileName ) end
-
----Load directory filepaths
----- Success return string{}
----@param dirPath string
----@return any fileNames
-function RL.LoadDirectoryFiles( dirPath ) end
-
----Load directory filepaths with extension filtering and recursive directory scan
----- Success return string{}
----@param basePath string
----@param filter string|nil
----@param scanSubdirs boolean
----@return any fileNames
-function RL.LoadDirectoryFilesEx( basePath, filter, scanSubdirs ) end
-
----Check if a file has been dropped into window
----- Success return bool
----@return any iSFileDropped
-function RL.IsFileDropped() end
-
----Load dropped filepaths
----- Success return string{}
----@return any files
-function RL.LoadDroppedFiles() end
-
----Get file modification time (Last write time)
----- Success return int
----@param fileName string
----@return any time
-function RL.GetFileModTime( fileName ) end
-
--- Core - Compression/Encoding functionality
-
----Compress data (DEFLATE algorithm)
----- Success return Buffer
----@param buffer any
----@return any compData
-function RL.CompressData( buffer ) end
-
----Decompress data (DEFLATE algorithm).
----- Success Buffer
----@param compData any
----@return any decompData
-function RL.DecompressData( compData ) end
-
----Encode data to Base64 string
----- Success return string, int
----@param data string
----@return any encodedData
----@return any outputSize
-function RL.EncodeDataBase64( data ) end
-
----Decode Base64 string data
----- Success return string, int
----@param data string
----@return any decodedData
----@return any outputSize
-function RL.DecodeDataBase64( data ) end
-
----Compute CRC32 hash code.
----- Failure return false
----- Success return int
----@param data any
----@return any code
-function RL.ComputeCRC32( data ) end
-
----Compute MD5 hash code, returns static int[4] (16 bytes).
----- Failure return false
----- Success return int{4}
----@param data any
----@return any code
-function RL.ComputeMD5( data ) end
-
----Compute SHA1 hash code, returns static int[5] (20 bytes).
----- Failure return false
----- Success return int{5}
----@param data any
----@return any code
-function RL.ComputeSHA1( data ) end
-
--- Core - Automation events functionality
-
----Load automation events list from file, nil for empty list, capacity = MAX_AUTOMATION_EVENTS
----- Success return AutomationEventList
----@param fileName string|nil
----@return any eventList
-function RL.LoadAutomationEventList( fileName ) end
-
----Unload automation events list from file
----@param list any
----@return any RL.UnloadAutomationEventList
-function RL.UnloadAutomationEventList( list ) end
-
----Export automation events list as text file
----- Failure return false
----- Success return true
----@param fileName string
----@return any success
-function RL.ExportAutomationEventList( fileName ) end
-
----Set automation event list to record to
----@param list any
----@return any RL.SetAutomationEventList
-function RL.SetAutomationEventList( list ) end
-
----Set automation event internal base frame to start recording
----@param frame integer
----@return any RL.SetAutomationEventBaseFrame
-function RL.SetAutomationEventBaseFrame( frame ) end
-
----Start recording automation events (AutomationEventList must be set)
----@return any RL.StartAutomationEventRecording
-function RL.StartAutomationEventRecording() end
-
----Stop recording automation events
----@return any RL.StopAutomationEventRecording
-function RL.StopAutomationEventRecording() end
-
----Play a recorded automation event
----@param event any
----@return any RL.PlayAutomationEvent
-function RL.PlayAutomationEvent( event ) end
-
----Get automation event list capacity
----- Success return int
----@param list any
----@return any capacity
-function RL.GetAutomationEventListCapacity( list ) end
-
----Get automation event list count
----- Success return int
----@param list any
----@return any count
-function RL.GetAutomationEventListCount( list ) end
-
----Get automation event from automation event list. Return as lightuserdata
----- Failure return nil
----- Success return AutomationEvent
----@param list any
----@param index integer
----@return any event
-function RL.GetAutomationEvent( list, index ) end
-
----Get automation event frame
----- Success return int
----@param event any
----@return any frame
-function RL.GetAutomationEventFrame( event ) end
-
----Get automation event type
----- Success return int
----@param event any
----@return any type
-function RL.GetAutomationEventType( event ) end
-
----Get automation event params
----- Success return int{}
----@param event any
----@return any params
-function RL.GetAutomationEventParams( event ) end
-
--- Core - Input-related functions: keyboard
-
----Detect if a key has been pressed once
----- Success return bool
----@param key integer
----@return any pressed
-function RL.IsKeyPressed( key ) end
-
----Check if a key has been pressed again (Only PLATFORM_DESKTOP)
----- Success return bool
----@param key integer
----@return any pressed
-function RL.IsKeyPressedRepeat( key ) end
-
----Detect if a key is being pressed
----- Success return bool
----@param key integer
----@return any pressed
-function RL.IsKeyDown( key ) end
-
----Detect if a key has been released once
----- Success return bool
----@param key integer
----@return any released
-function RL.IsKeyReleased( key ) end
-
----Check if a key is NOT being pressed
----- Success return bool
----@param key integer
----@return any released
-function RL.IsKeyUp( key ) end
-
----Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
----- Success return int
----@return any keycode
-function RL.GetKeyPressed() end
-
----Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
----- Success return int
----@return any unicode
-function RL.GetCharPressed() end
-
----Set a custom key to exit program (default is ESC)
----@param key integer
----@return any RL.SetExitKey
-function RL.SetExitKey( key ) end
-
--- Core - Input-related functions: gamepads
-
----Detect if a gamepad is available
----- Success return bool
----@param gamepad integer
----@return any available
-function RL.IsGamepadAvailable( gamepad ) end
-
----Return gamepad internal name id
----- Success return string
----@param gamepad integer
----@return any name
-function RL.GetGamepadName( gamepad ) end
-
----Detect if a gamepad button has been pressed once
----- Success return bool
----@param gamepad integer
----@param button integer
----@return any pressed
-function RL.IsGamepadButtonPressed( gamepad, button ) end
-
----Detect if a gamepad button is being pressed
----- Success return bool
----@param gamepad integer
----@param button integer
----@return any pressed
-function RL.IsGamepadButtonDown( gamepad, button ) end
-
----Detect if a gamepad button has been released once
----- Success return bool
----@param gamepad integer
----@param button integer
----@return any released
-function RL.IsGamepadButtonReleased( gamepad, button ) end
-
----Check if a gamepad button is NOT being pressed
----- Success return bool
----@param gamepad integer
----@param button integer
----@return any notPressed
-function RL.IsGamepadButtonUp( gamepad, button ) end
-
----Get the last gamepad button pressed
----- Success return int
----@return any button
-function RL.GetGamepadButtonPressed() end
-
----Return gamepad axis count for a gamepad
----- Success return int
----@param gamepad integer
----@return any count
-function RL.GetGamepadAxisCount( gamepad ) end
-
----Return axis movement value for a gamepad axis
----- Success return float
----@param gamepad integer
----@param axis integer
----@return any value
-function RL.GetGamepadAxisMovement( gamepad, axis ) end
-
----Set internal gamepad mappings (SDL_GameControllerDB)
----- Success return int
----@param mappings string
----@return any result
-function RL.SetGamepadMappings( mappings ) end
-
----Set gamepad vibration for both motors (duration in seconds)
----@param gamepad integer
----@param leftMotor number
----@param rightMotor number
----@param duration number
----@return any RL.SetGamepadVibration
-function RL.SetGamepadVibration( gamepad, leftMotor, rightMotor, duration ) end
-
--- Core - Input-related functions: mouse
-
----Detect if a mouse button has been pressed once
----- Success return bool
----@param button integer
----@return any pressed
-function RL.IsMouseButtonPressed( button ) end
-
----Detect if a mouse button is being pressed
----- Success return bool
----@param button integer
----@return any pressed
-function RL.IsMouseButtonDown( button ) end
-
----Detect if a mouse button has been released once
----- Success return bool
----@param button integer
----@return any released
-function RL.IsMouseButtonReleased( button ) end
-
----Check if a mouse button is NOT being pressed
----- Success return bool
----@param button integer
----@return any released
-function RL.IsMouseButtonUp( button ) end
-
----Returns mouse position
----- Success return Vector2
----@return any position
-function RL.GetMousePosition() end
-
----Get mouse delta between frames
----- Success return Vector2
----@return any position
-function RL.GetMouseDelta() end
-
----Set mouse position XY
----@param position table
----@return any RL.SetMousePosition
-function RL.SetMousePosition( position ) end
-
----Set mouse offset
----@param offset table
----@return any RL.SetMouseOffset
-function RL.SetMouseOffset( offset ) end
-
----Set mouse scaling
----@param scale table
----@return any RL.SetMouseScale
-function RL.SetMouseScale( scale ) end
-
----Get mouse offset
----- Success return Vector2
----@return any offset
-function RL.GetMouseOffset() end
-
----Get mouse scale
----- Success return Vector2
----@return any scale
-function RL.GetMouseScale() end
-
----Get mouse wheel movement for X or Y, whichever is larger
----- Success return float
----@return any movement
-function RL.GetMouseWheelMove() end
-
----Get mouse wheel movement for both X and Y
----- Success return Vector2
----@return any movement
-function RL.GetMouseWheelMoveV() end
-
----Set mouse cursor
----@param cursor integer
----@return any RL.SetMouseCursor
-function RL.SetMouseCursor( cursor ) end
-
--- Core - Input-related functions: touch
-
----Get touch position XY for a touch point index (relative to screen size)
----- Success return Vector2
----@param index integer
----@return any position
-function RL.GetTouchPosition( index ) end
-
----Get touch point identifier for given index
----- Success return int
----@param index integer
----@return any id
-function RL.GetTouchPointId( index ) end
-
----Get touch point identifier for given index
----- Success return int
----@return any count
-function RL.GetTouchPointCount() end
-
--- Core - Input-related functions: gestures
-
----Enable a set of gestures using flags
----@param int any
----@return any RL.SetGesturesEnabled
-function RL.SetGesturesEnabled( int ) end
-
----Check if a gesture have been detected
----- Success return bool
----@param gesture integer
----@return any detected
-function RL.IsGestureDetected( gesture ) end
-
----Get latest detected gesture
----- Success return int
----@return any gesture
-function RL.GetGestureDetected() end
-
----Get gesture hold time in milliseconds
----- Success return float
----@return any time
-function RL.GetGestureHoldDuration() end
-
----Get gesture drag vector
----- Success return Vector2
----@return any vector
-function RL.GetGestureDragVector() end
-
----Get gesture drag angle
----- Success return float
----@return any angle
-function RL.GetGestureDragAngle() end
-
----Get gesture pinch delta
----- Success return Vector2
----@return any vector
-function RL.GetGesturePinchVector() end
-
----Get gesture pinch angle
----- Success return float
----@return any angle
-function RL.GetGesturePinchAngle() end
-
--- Core - Camera2D System functions
-
----Return camera2D set to default configuration
----- Success return Camera2D
----@return any camera2D
-function RL.CreateCamera2D() end
-
----Set camera target (rotation and zoom origin)
----@param camera any
----@param target table
----@return any RL.SetCamera2DTarget
-function RL.SetCamera2DTarget( camera, target ) end
-
----Set camera offset (displacement from target)
----@param camera any
----@param offset table
----@return any RL.SetCamera2DOffset
-function RL.SetCamera2DOffset( camera, offset ) end
-
----Set camera rotation in degrees
----@param camera any
----@param rotation number
----@return any RL.SetCamera2DRotation
-function RL.SetCamera2DRotation( camera, rotation ) end
-
----Set camera zoom (scaling), should be 1.0f by default
----@param camera any
----@param zoom number
----@return any RL.SetCamera2DZoom
-function RL.SetCamera2DZoom( camera, zoom ) end
-
----Get camera2D target
----- Success return Vector2
----@param camera any
----@return any target
-function RL.GetCamera2DTarget( camera ) end
-
----Get camera2D offset
----- Success return Vector2
----@param camera any
----@return any offset
-function RL.GetCamera2DOffset( camera ) end
-
----Get camera2D rotation
----- Success return float
----@param camera any
----@return any rotation
-function RL.GetCamera2DRotation( camera ) end
-
----Get camera2D zoom
----- Success return float
----@param camera any
----@return any zoom
-function RL.GetCamera2DZoom( camera ) end
-
--- Core - Camera3D System functions
-
----Return camera3D id set to default configuration
----- Success return int
----@return any camera
-function RL.CreateCamera3D() end
-
----Set camera position (Remember to call "RL.UpdateCamera3D()" to apply changes)
----@param camera any
----@param position table
----@return any RL.SetCamera3DPosition
-function RL.SetCamera3DPosition( camera, position ) end
-
----Set camera target it looks-at
----@param camera any
----@param target table
----@return any RL.SetCamera3DTarget
-function RL.SetCamera3DTarget( camera, target ) end
-
----Set camera up vector (Rotation over it's axis)
----@param camera any
----@param up table
----@return any RL.SetCamera3DUp
-function RL.SetCamera3DUp( camera, up ) end
-
----Set camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
----@param camera any
----@param fovy number
----@return any RL.SetCamera3DFovy
-function RL.SetCamera3DFovy( camera, fovy ) end
-
----Set camera projection mode (CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC)
----@param camera any
----@param projection integer
----@return any RL.SetCamera3DProjection
-function RL.SetCamera3DProjection( camera, projection ) end
-
----Get camera position
----- Success return Vector3
----@param camera any
----@return any position
-function RL.GetCamera3DPosition( camera ) end
-
----Get camera target it looks-at
----- Success return Vector3
----@param camera any
----@return any target
-function RL.GetCamera3DTarget( camera ) end
-
----Get camera up vector (Rotation over it's axis)
----- Success return Vector3
----@param camera any
----@return any up
-function RL.GetCamera3DUp( camera ) end
-
----Get camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
----- Success return float
----@param camera any
----@return any fovy
-function RL.GetCamera3DFovy( camera ) end
-
----Get camera projection mode
----- Success return int
----@param camera any
----@return any projection
-function RL.GetCamera3DProjection( camera ) end
-
----Returns the cameras forward vector (normalized)
----- Success return Vector3
----@param camera any
----@return any forward
-function RL.GetCamera3DForward( camera ) end
-
----Returns the cameras up vector (normalized)
----Note: The up vector might not be perpendicular to the forward vector
----- Success return Vector3
----@param camera any
----@return any up
-function RL.GetCamera3DUpNormalized( camera ) end
-
----Returns the cameras right vector (normalized)
----- Success return Vector3
----@param camera any
----@return any right
-function RL.GetCamera3DRight( camera ) end
-
----Moves the camera in it's forward direction
----@param camera any
----@param distance number
----@param moveInWorldPlane boolean
----@return any RL.Camera3DMoveForward
-function RL.Camera3DMoveForward( camera, distance, moveInWorldPlane ) end
-
----Moves the camera in it's up direction
----@param camera any
----@param distance number
----@return any RL.Camera3DMoveUp
-function RL.Camera3DMoveUp( camera, distance ) end
-
----Moves the camera target in it's current right direction
----@param camera any
----@param distance number
----@param moveInWorldPlane boolean
----@return any RL.Camera3DMoveRight
-function RL.Camera3DMoveRight( camera, distance, moveInWorldPlane ) end
-
----Moves the camera position closer/farther to/from the camera target
----@param camera any
----@param delta number
----@return any RL.Camera3DMoveToTarget
-function RL.Camera3DMoveToTarget( camera, delta ) end
-
----Rotates the camera around it's up vector
----Yaw is "looking left and right"
----If rotateAroundTarget is false, the camera rotates around it's position
----Note: angle must be provided in radians
----@param camera any
----@param angle number
----@param rotateAroundTarget boolean
----@return any RL.Camera3DYaw
-function RL.Camera3DYaw( camera, angle, rotateAroundTarget ) end
-
----Rotates the camera around it's right vector, pitch is "looking up and down"
----- lockView prevents camera overrotation (aka "somersaults")
----- rotateAroundTarget defines if rotation is around target or around it's position
----- rotateUp rotates the up direction as well (typically only usefull in CAMERA_FREE)
----NOTE: angle must be provided in radians
----@param camera any
----@param angle number
----@param lockView boolean
----@param rotateAroundTarget boolean
----@param rotateUp boolean
----@return any RL.Camera3DPitch
-function RL.Camera3DPitch( camera, angle, lockView, rotateAroundTarget, rotateUp ) end
-
----Rotates the camera around it's forward vector
----Roll is "turning your head sideways to the left or right"
----Note: angle must be provided in radians
----@param camera any
----@param angle number
----@return any RL.Camera3DRoll
-function RL.Camera3DRoll( camera, angle ) end
-
----Returns the camera view matrix
----- Success return Matrix
----@param camera any
----@return any view
-function RL.GetCamera3DViewMatrix( camera ) end
-
----Returns the camera projection matrix
----- Success return Matrix
----@param camera any
----@param aspect number
----@return any projection
-function RL.GetCamera3DProjectionMatrix( camera, aspect ) end
-
----Update camera position for selected mode
----@param camera any
----@param mode integer
----@return any RL.UpdateCamera3D
-function RL.UpdateCamera3D( camera, mode ) end
-
----Update camera movement, movement/rotation values should be provided by user
----@param camera any
----@param movement table
----@param rotation table
----@param zoom number
----@return any RL.UpdateCamera3DPro
-function RL.UpdateCamera3DPro( camera, movement, rotation, zoom ) end
-
--- Core - Buffer management functions
-
----Load Buffer. Type should be one of the Buffer types. Empty buffer will set data to NULL.
----- Success return Buffer
----@param buffer table
----@param type integer
----@return any buffer
-function RL.LoadBuffer( buffer, type ) end
-
----Load formatted buffer with all values set to 'value'
----- Success return Buffer
----@param length integer
----@param type integer
----@param value integer
----@return any buffer
-function RL.LoadBufferFormatted( length, type, value ) end
-
----Read buffer data from binary file
----- Failure return nil
----- Success return Buffer
----@param path string
----@param type integer
----@return any buffer
-function RL.LoadBufferFromFile( path, type ) end
-
----Read buffer data from string
----- Failure return nil
----- Success return Buffer
----@param buffer string
----@return any buffer
-function RL.LoadBufferFromString( buffer ) end
-
----Unload buffer data
----@param buffer any
----@return any RL.UnloadBuffer
-function RL.UnloadBuffer( buffer ) end
-
----Copy buffer data to another buffer. Size is in bytes
----@param dst any
----@param src any
----@param posDst integer
----@param posSrc integer
----@param size integer
----@return any RL.CopyBufferData
-function RL.CopyBufferData( dst, src, posDst, posSrc, size ) end
-
----Set buffer data value
----@param buffer any
----@param position integer
----@param values table
----@return any RL.SetBufferData
-function RL.SetBufferData( buffer, position, values ) end
-
----Swap buffer endianness from big endian to little endian and vice versa
----@param buffer any
----@return any RL.SwapBufferEndianness
-function RL.SwapBufferEndianness( buffer ) end
-
----Get buffer data as table in the format it was stored
----- Success return data{}
----@param buffer any
----@param position integer
----@param length integer
----@return any data
-function RL.GetBufferData( buffer, position, length ) end
-
----Get buffer as string
----- Success return string
----@param buffer any
----@return any string
-function RL.GetBufferAsString( buffer ) end
-
----Get buffer type
----- Success return int
----@param buffer any
----@return any type
-function RL.GetBufferType( buffer ) end
-
----Get buffer size in bytes
----- Success return int
----@param buffer any
----@return any size
-function RL.GetBufferSize( buffer ) end
-
----Get buffer element size in bytes
----- Success return int
----@param buffer any
----@return any size
-function RL.GetBufferElementSize( buffer ) end
-
----Get buffer element count
----- Success return int
----@param buffer any
----@return any length
-function RL.GetBufferLength( buffer ) end
-
----Write buffer data to binary file
----@param buffer any
----@param path string
----@return any RL.ExportBuffer
-function RL.ExportBuffer( buffer, path ) end
-
--- Shapes - Basic shapes drawing functions
-
----Set texture and rectangle to be used on shapes drawing
----NOTE: It can be useful when using basic shapes and one single font,
----defining a font char white rectangle would allow drawing everything in a single draw call
----@param texture any
----@param source table
----@return any RL.SetShapesTexture
-function RL.SetShapesTexture( texture, source ) end
-
----Get texture that is used for shapes drawing. Return as lightuserdata
----- Success return Texture
----@return any texture
-function RL.GetShapesTexture() end
-
----Get texture source rectangle that is used for shapes drawing
----- Success return Rectangle
----@return any source
-function RL.GetShapesTextureRectangle() end
-
----Draw a pixel
----@param pos table
----@param color table
----@return any RL.DrawPixel
-function RL.DrawPixel( pos, color ) end
-
----Draw a line defining thickness
----@param startPos table
----@param endPos table
----@param thickness number
----@param color table
----@return any RL.DrawLine
-function RL.DrawLine( startPos, endPos, thickness, color ) end
-
----Draw lines sequence
----@param points table
----@param color table
----@return any RL.DrawLineStrip
-function RL.DrawLineStrip( points, color ) end
-
----Draw a line using cubic-bezier curves in-out
----@param startPos table
----@param endPos table
----@param thickness number
----@param color table
----@return any RL.DrawLineBezier
-function RL.DrawLineBezier( startPos, endPos, thickness, color ) end
-
----Draw a color-filled circle
----@param center table
----@param radius number
----@param color table
----@return any RL.DrawCircle
-function RL.DrawCircle( center, radius, color ) end
-
----Draw a piece of a circle
----@param center table
----@param radius number
----@param startAngle number
----@param endAngle number
----@param segments integer
----@param color table
----@return any RL.DrawCircleSector
-function RL.DrawCircleSector( center, radius, startAngle, endAngle, segments, color ) end
-
----Draw circle sector outline
----@param center table
----@param radius number
----@param startAngle number
----@param endAngle number
----@param segments integer
----@param color table
----@return any RL.DrawCircleSectorLines
-function RL.DrawCircleSectorLines( center, radius, startAngle, endAngle, segments, color ) end
-
----Draw a gradient-filled circle
----@param center table
----@param radius number
----@param color1 table
----@param color2 table
----@return any RL.DrawCircleGradient
-function RL.DrawCircleGradient( center, radius, color1, color2 ) end
-
----Draw circle outline
----@param center table
----@param radius number
----@param color table
----@return any RL.DrawCircleLines
-function RL.DrawCircleLines( center, radius, color ) end
-
----Draw ellipse
----@param center table
----@param radiusH number
----@param radiusV number
----@param color table
----@return any RL.DrawEllipse
-function RL.DrawEllipse( center, radiusH, radiusV, color ) end
-
----Draw ellipse outline
----@param center table
----@param radiusH number
----@param radiusV number
----@param color table
----@return any RL.DrawEllipseLines
-function RL.DrawEllipseLines( center, radiusH, radiusV, color ) end
-
----Draw ring
----@param center table
----@param innerRadius number
----@param outerRadius number
----@param startAngle number
----@param endAngle number
----@param segments integer
----@param color table
----@return any RL.DrawRing
-function RL.DrawRing( center, innerRadius, outerRadius, startAngle, endAngle, segments, color ) end
-
----Draw ring outline
----@param center table
----@param innerRadius number
----@param outerRadius number
----@param startAngle number
----@param endAngle number
----@param segments integer
----@param color table
----@return any RL.DrawRingLines
-function RL.DrawRingLines( center, innerRadius, outerRadius, startAngle, endAngle, segments, color ) end
-
----Draw a color-filled rectangle
----@param rec table
----@param color table
----@return any RL.DrawRectangle
-function RL.DrawRectangle( rec, color ) end
-
----Draw a color-filled rectangle with pro parameters
----@param rec table
----@param origin table
----@param rotation number
----@param color table
----@return any RL.DrawRectanglePro
-function RL.DrawRectanglePro( rec, origin, rotation, color ) end
-
----Draw a vertical-gradient-filled rectangle
----@param rectangle table
----@param color1 table
----@param color2 table
----@return any RL.DrawRectangleGradientV
-function RL.DrawRectangleGradientV( rectangle, color1, color2 ) end
-
----Draw a horizontal-gradient-filled rectangle
----@param rectangle table
----@param color1 table
----@param color2 table
----@return any RL.DrawRectangleGradientH
-function RL.DrawRectangleGradientH( rectangle, color1, color2 ) end
-
----Draw a gradient-filled rectangle with custom vertex colors
----@param rectangle table
----@param col1 table
----@param col2 table
----@param col3 table
----@param col4 table
----@return any RL.DrawRectangleGradientEx
-function RL.DrawRectangleGradientEx( rectangle, col1, col2, col3, col4 ) end
-
----Draw rectangle outline
----@param rec table
----@param color table
----@return any RL.DrawRectangleLines
-function RL.DrawRectangleLines( rec, color ) end
-
----Draw rectangle outline with extended parameters
----@param rec table
----@param lineThick integer
----@param color table
----@return any RL.DrawRectangleLinesEx
-function RL.DrawRectangleLinesEx( rec, lineThick, color ) end
-
----Draw rectangle with rounded edges
----@param rec table
----@param roundness number
----@param segments integer
----@param color table
----@return any RL.DrawRectangleRounded
-function RL.DrawRectangleRounded( rec, roundness, segments, color ) end
-
----Draw rectangle lines with rounded edges
----@param rec table
----@param roundness number
----@param segments integer
----@param color table
----@return any RL.DrawRectangleRoundedLines
-function RL.DrawRectangleRoundedLines( rec, roundness, segments, color ) end
-
----Draw rectangle with rounded edges outline
----@param rec table
----@param roundness number
----@param segments integer
----@param lineThick number
----@param color table
----@return any RL.DrawRectangleRoundedLinesEx
-function RL.DrawRectangleRoundedLinesEx( rec, roundness, segments, lineThick, color ) end
-
----Draw a color-filled triangle (Vertex in counter-clockwise order!)
----@param v1 table
----@param v2 table
----@param v3 table
----@param color table
----@return any RL.DrawTriangle
-function RL.DrawTriangle( v1, v2, v3, color ) end
-
----Draw triangle outline (Vertex in counter-clockwise order!)
----@param v1 table
----@param v2 table
----@param v3 table
----@param color table
----@return any RL.DrawTriangleLines
-function RL.DrawTriangleLines( v1, v2, v3, color ) end
-
----Draw a triangle fan defined by points (first vertex is the center)
----@param points table
----@param color table
----@return any RL.DrawTriangleFan
-function RL.DrawTriangleFan( points, color ) end
-
----Draw a triangle strip defined by points
----@param points table
----@param color table
----@return any RL.DrawTriangleStrip
-function RL.DrawTriangleStrip( points, color ) end
-
----Draw a regular polygon (Vector version)
----@param center table
----@param sides integer
----@param radius number
----@param rotation number
----@param color table
----@return any RL.DrawPoly
-function RL.DrawPoly( center, sides, radius, rotation, color ) end
-
----Draw a polygon outline of n sides
----@param center table
----@param sides integer
----@param radius number
----@param rotation number
----@param color table
----@return any RL.DrawPolyLines
-function RL.DrawPolyLines( center, sides, radius, rotation, color ) end
-
----Draw a polygon outline of n sides with extended parameters
----@param center table
----@param sides integer
----@param radius number
----@param rotation number
----@param lineThick number
----@param color table
----@return any RL.DrawPolyLinesEx
-function RL.DrawPolyLinesEx( center, sides, radius, rotation, lineThick, color ) end
-
--- Shapes - Splines drawing functions
-
----Draw spline: Linear, minimum 2 points
----@param points table
----@param thick number
----@param color table
----@return any RL.DrawSplineLinear
-function RL.DrawSplineLinear( points, thick, color ) end
-
----Draw spline: B-Spline, minimum 4 points
----@param points table
----@param thick number
----@param color table
----@return any RL.DrawSplineBasis
-function RL.DrawSplineBasis( points, thick, color ) end
-
----Draw spline: Catmull-Rom, minimum 4 points
----@param points table
----@param thick number
----@param color table
----@return any RL.DrawSplineCatmullRom
-function RL.DrawSplineCatmullRom( points, thick, color ) end
-
----Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]
----@param points table
----@param thick number
----@param color table
----@return any RL.DrawSplineBezierQuadratic
-function RL.DrawSplineBezierQuadratic( points, thick, color ) end
-
----Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]
----@param points table
----@param thick number
----@param color table
----@return any RL.DrawSplineBezierCubic
-function RL.DrawSplineBezierCubic( points, thick, color ) end
-
----Draw spline segment: Linear, 2 points
----@param p1 table
----@param p2 table
----@param thick number
----@param color table
----@return any RL.DrawSplineSegmentLinear
-function RL.DrawSplineSegmentLinear( p1, p2, thick, color ) end
-
----Draw spline segment: B-Spline, 4 points
----@param p1 table
----@param p2 table
----@param p3 table
----@param p4 table
----@param thick number
----@param color table
----@return any RL.DrawSplineSegmentBasis
-function RL.DrawSplineSegmentBasis( p1, p2, p3, p4, thick, color ) end
-
----Draw spline segment: Catmull-Rom, 4 points
----@param p1 table
----@param p2 table
----@param p3 table
----@param p4 table
----@param thick number
----@param color table
----@return any RL.DrawSplineSegmentCatmullRom
-function RL.DrawSplineSegmentCatmullRom( p1, p2, p3, p4, thick, color ) end
-
----Draw spline segment: Quadratic Bezier, 2 points, 1 control point
----@param p1 table
----@param c2 table
----@param p3 table
----@param thick number
----@param color table
----@return any RL.DrawSplineSegmentBezierQuadratic
-function RL.DrawSplineSegmentBezierQuadratic( p1, c2, p3, thick, color ) end
-
----Draw spline segment: Cubic Bezier, 2 points, 2 control points
----@param p1 table
----@param c2 table
----@param c3 table
----@param p4 table
----@param thick number
----@param color table
----@return any RL.DrawSplineSegmentBezierCubic
-function RL.DrawSplineSegmentBezierCubic( p1, c2, c3, p4, thick, color ) end
-
--- Shapes - Spline segment point evaluation functions, for a given t [0.0f .. 1.0f]
-
----Get (evaluate) spline point: Linear
----- Success return Vector2
----@param startPos table
----@param endPos table
----@param t number
----@return any point
-function RL.GetSplinePointLinear( startPos, endPos, t ) end
-
----Get (evaluate) spline point: B-Spline
----- Success return Vector2
----@param p1 table
----@param p2 table
----@param p3 table
----@param p4 table
----@param t number
----@return any point
-function RL.GetSplinePointBasis( p1, p2, p3, p4, t ) end
-
----Get (evaluate) spline point: Catmull-Rom
----- Success return Vector2
----@param p1 table
----@param p2 table
----@param p3 table
----@param p4 table
----@param t number
----@return any point
-function RL.GetSplinePointCatmullRom( p1, p2, p3, p4, t ) end
-
----Get (evaluate) spline point: Quadratic Bezier
----- Success return Vector2
----@param p1 table
----@param c2 table
----@param p3 table
----@param t number
----@return any point
-function RL.GetSplinePointBezierQuad( p1, c2, p3, t ) end
-
----Get (evaluate) spline point: Cubic Bezier
----- Success return Vector2
----@param p1 table
----@param c2 table
----@param c3 table
----@param p4 table
----@param t number
----@return any point
-function RL.GetSplinePointBezierCubic( p1, c2, c3, p4, t ) end
-
--- Shapes - Basic shapes collision detection functions
-
----Check collision between two rectangles
----- Success return bool
----@param rec1 table
----@param rec2 table
----@return any collision
-function RL.CheckCollisionRecs( rec1, rec2 ) end
-
----Check collision between two circles
----- Success return bool
----@param center1 table
----@param radius1 number
----@param center2 table
----@param radius2 number
----@return any collision
-function RL.CheckCollisionCircles( center1, radius1, center2, radius2 ) end
-
----Check collision between circle and rectangle
----- Success return bool
----@param center table
----@param radius number
----@param rec table
----@return any collision
-function RL.CheckCollisionCircleRec( center, radius, rec ) end
-
----Check if circle collides with a line created betweeen two points [p1] and [p2]
----- Success return bool
----@param center table
----@param radius number
----@param p1 table
----@param p2 table
----@return any collision
-function RL.CheckCollisionCircleLine( center, radius, p1, p2 ) end
-
----Check if point is inside rectangle
----- Success return bool
----@param point table
----@param rec table
----@return any collision
-function RL.CheckCollisionPointRec( point, rec ) end
-
----Check if point is inside circle
----- Success return bool
----@param point table
----@param center table
----@param radius number
----@return any collision
-function RL.CheckCollisionPointCircle( point, center, radius ) end
-
----Check if point is inside a triangle
----- Success return bool
----@param point table
----@param p1 table
----@param p2 table
----@param p3 table
----@return any collision
-function RL.CheckCollisionPointTriangle( point, p1, p2, p3 ) end
-
----Check if point is within a polygon described by array of vertices
----- Success return bool
----@param point table
----@param points table
----@return any collision
-function RL.CheckCollisionPointPoly( point, points ) end
-
----Check the collision between two lines defined by two points each, returns collision point by reference
----- Success return bool, Vector2
----@param startPos1 table
----@param endPos1 table
----@param startPos2 table
----@param endPos2 table
----@return any collision
----@return any position
-function RL.CheckCollisionLines( startPos1, endPos1, startPos2, endPos2 ) end
-
----Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
----- Success return bool
----@param point table
----@param p1 table
----@param p2 table
----@param threshold integer
----@return any collision
-function RL.CheckCollisionPointLine( point, p1, p2, threshold ) end
-
----Get collision rectangle for two rectangles collision
----- Success return Rectangle
----@param rec1 table
----@param rec2 table
----@return any rectangle
-function RL.GetCollisionRec( rec1, rec2 ) end
-
----Useful for e.g. packing rectangular textures into an atlas. stbrp_pack_rects
----- Success return Rectangle{}
----@param rects table
----@param size table
----@param padding integer
----@return any rects{}
-function RL.RectPack( rects, size, padding ) end
-
--- Textures - Image loading functions
-
----Load image from file into CPU memory (RAM)
----- Failure return nil
----- Success return Image
----@param fileName string
----@return any image
-function RL.LoadImage( fileName ) end
-
----Load image from RAW file data
----- Failure return nil
----- Success return Image
----@param fileName string
----@param size table
----@param format integer
----@param headerSize integer
----@return any image
-function RL.LoadImageRaw( fileName, size, format, headerSize ) end
-
----Load image sequence from file (frames appended to image.data). All frames are returned in RGBA format
----- Failure return nil
----- Success return Image, int
----@param fileName string
----@return any image
----@return any frameCount
-function RL.LoadImageAnim( fileName ) end
-
----Load image sequence from memory buffer. All frames are returned in RGBA format
----- Success return Image, int
----@param fileType string
----@param fileData any
----@return any image
----@return any frameCount
-function RL.LoadImageAnimFromMemory( fileType, fileData ) end
-
----Load image from memory buffer, fileType refers to extension: i.e. '.png'
----- Success return Image
----@param fileType string
----@param data any
----@return any image
----@return any frameCount
-function RL.LoadImageFromMemory( fileType, data ) end
-
----Load image from data
----- Success return Image
----@param data any
----@param size table
----@param mipmaps integer
----@param format integer
----@return any image
----@return any frameCount
-function RL.LoadImageFromData( data, size, mipmaps, format ) end
-
----Load image from GPU texture data
----- Success return Image
----@param texture any
----@return any image
-function RL.LoadImageFromTexture( texture ) end
-
----Load image from screen buffer and (screenshot)
----- Success return Image
----@return any image
-function RL.LoadImageFromScreen() end
-
----Check if an image is valid (data and parameters)
----- Success return bool
----@param image any
----@return any isValid
-function RL.IsImageValid( image ) end
-
----Unload image from CPU memory (RAM)
----@param image any
----@return any RL.UnloadImage
-function RL.UnloadImage( image ) end
-
----Export image data to file, returns true on success
----- Success return bool
----@param image any
----@param fileName string
----@return any success
-function RL.ExportImage( image, fileName ) end
-
----Export image to memory buffer
----- Success return Buffer
----@param image any
----@param fileType string
----@return any buffer
-function RL.ExportImageToMemory( image, fileType ) end
-
----Export image as code file defining an array of bytes, returns true on success
----- Success return bool
----@param image any
----@param fileName string
----@return any success
-function RL.ExportImageAsCode( image, fileName ) end
-
--- Textures - Image generation functions
-
----Generate image: plain color
----- Success return Image
----@param size table
----@param color table
----@return any image
-function RL.GenImageColor( size, color ) end
-
----Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient
----- Success return Image
----@param size table
----@param direction integer
----@param a table
----@param b table
----@return any image
-function RL.GenImageGradientLinear( size, direction, a, b ) end
-
----Generate image: radial gradient
----- Success return Image
----@param size table
----@param density number
----@param inner table
----@param outer table
----@return any image
-function RL.GenImageGradientRadial( size, density, inner, outer ) end
-
----Generate image: square gradient
----- Success return Image
----@param size table
----@param density number
----@param inner table
----@param outer table
----@return any image
-function RL.GenImageGradientSquare( size, density, inner, outer ) end
-
----Generate image: checked
----- Success return Image
----@param size table
----@param checks table
----@param col1 table
----@param col2 table
----@return any image
-function RL.GenImageChecked( size, checks, col1, col2 ) end
-
----Generate image: white noise
----- Success return Image
----@param size table
----@param factor number
----@return any image
-function RL.GenImageWhiteNoise( size, factor ) end
-
----Generate image: perlin noise
----- Success return Image
----@param size table
----@param offset table
----@param factor number
----@return any image
-function RL.GenImagePerlinNoise( size, offset, factor ) end
-
----Generate image: cellular algorithm. Bigger tileSize means bigger cells
----- Success return Image
----@param size table
----@param tileSize integer
----@return any image
-function RL.GenImageCellular( size, tileSize ) end
-
----Generate image: grayscale image from text data
----- Success return Image
----@param size table
----@param text string
----@return any image
-function RL.GenImageText( size, text ) end
-
--- Textures - Image manipulation functions
-
----Create an image duplicate (useful for transformations)
----- Success return Image
----@param image any
----@return any image
-function RL.ImageCopy( image ) end
-
----Create an image from another image piece
----- Success return Image
----@param image any
----@param rec table
----@return any image
-function RL.ImageFromImage( image, rec ) end
-
----Create an image from a selected channel of another image (GRAYSCALE)
----- Success return Image
----@param image any
----@param selectedChannel integer
----@return any image
-function RL.ImageFromChannel( image, selectedChannel ) end
-
----Create an image from text (default font)
----- Success return Image
----@param text string
----@param fontSize integer
----@param tint table
----@return any image
-function RL.ImageText( text, fontSize, tint ) end
-
----Create an image from text (custom sprite font)
----- Success return Image
----@param font any
----@param text string
----@param fontSize number
----@param spacing number
----@param tint table
----@return any image
-function RL.ImageTextEx( font, text, fontSize, spacing, tint ) end
-
----Convert image data to desired format
----@param image any
----@param newFormat integer
----@return any RL.ImageFormat
-function RL.ImageFormat( image, newFormat ) end
-
----Convert image to POT (power-of-two)
----@param image any
----@param fill table
----@return any RL.ImageToPOT
-function RL.ImageToPOT( image, fill ) end
-
----Crop an image to a defined rectangle
----@param image any
----@param crop table
----@return any RL.ImageCrop
-function RL.ImageCrop( image, crop ) end
-
----Crop image depending on alpha value
----@param image any
----@param threshold number
----@return any RL.ImageAlphaCrop
-function RL.ImageAlphaCrop( image, threshold ) end
-
----Clear alpha channel to desired color
----@param image any
----@param color table
----@param threshold number
----@return any RL.ImageAlphaClear
-function RL.ImageAlphaClear( image, color, threshold ) end
-
----Apply alpha mask to image
----@param image any
----@param alphaMask any
----@return any RL.ImageAlphaMask
-function RL.ImageAlphaMask( image, alphaMask ) end
-
----Premultiply alpha channel
----@param image any
----@return any RL.ImageAlphaPremultiply
-function RL.ImageAlphaPremultiply( image ) end
-
----Apply Gaussian blur using a box blur approximation
----@param image any
----@param blurSize integer
----@return any RL.ImageBlurGaussian
-function RL.ImageBlurGaussian( image, blurSize ) end
-
----Apply custom square convolution kernel to image
----@param image any
----@param kernel table
----@return any RL.ImageKernelConvolution
-function RL.ImageKernelConvolution( image, kernel ) end
-
----Resize image (Bicubic scaling algorithm)
----@param image any
----@param size table
----@return any RL.ImageResize
-function RL.ImageResize( image, size ) end
-
----Resize image (Nearest-Neighbor scaling algorithm)
----@param image any
----@param size table
----@return any RL.ImageResizeNN
-function RL.ImageResizeNN( image, size ) end
-
----Resize canvas and fill with color
----@param image any
----@param size table
----@param offset table
----@param fill table
----@return any RL.ImageResizeCanvas
-function RL.ImageResizeCanvas( image, size, offset, fill ) end
-
----Generate all mipmap levels for a provided image
----@param image any
----@return any RL.ImageMipmaps
-function RL.ImageMipmaps( image ) end
-
----Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
----@param image any
----@param bpp table
----@return any RL.ImageDither
-function RL.ImageDither( image, bpp ) end
-
----Flip image vertically
----@param image any
----@return any RL.ImageFlipVertical
-function RL.ImageFlipVertical( image ) end
-
----Flip image horizontally
----@param image any
----@return any RL.ImageFlipHorizontal
-function RL.ImageFlipHorizontal( image ) end
-
----Rotate image by input angle in degrees (-359 to 359)
----@param image any
----@param degrees integer
----@return any RL.ImageRotate
-function RL.ImageRotate( image, degrees ) end
-
----Rotate image clockwise 90deg
----@param image any
----@return any RL.ImageRotateCW
-function RL.ImageRotateCW( image ) end
-
----Rotate image counter-clockwise 90deg
----@param image any
----@return any RL.ImageRotateCCW
-function RL.ImageRotateCCW( image ) end
-
----Modify image color: tint
----@param image any
----@param color table
----@return any RL.ImageColorTint
-function RL.ImageColorTint( image, color ) end
-
----Modify image color: invert
----@param image any
----@return any RL.ImageColorInvert
-function RL.ImageColorInvert( image ) end
-
----Modify image color: grayscale
----@param image any
----@return any RL.ImageColorGrayscale
-function RL.ImageColorGrayscale( image ) end
-
----Modify image color: contrast (-100 to 100)
----@param image any
----@param contrast number
----@return any RL.ImageColorContrast
-function RL.ImageColorContrast( image, contrast ) end
-
----Modify image color: brightness (-255 to 255)
----@param image any
----@param brightness integer
----@return any RL.ImageColorBrightness
-function RL.ImageColorBrightness( image, brightness ) end
-
----Modify image color: replace color
----@param image any
----@param color table
----@param replace table
----@return any RL.ImageColorReplace
-function RL.ImageColorReplace( image, color, replace ) end
-
----Load color data from image as a Color array (RGBA - 32bit)
----- Success return Color{}
----@param image any
----@return any colors
-function RL.LoadImageColors( image ) end
-
----Load colors palette from image as a Color array (RGBA - 32bit)
----- Success return Color{}
----@param image any
----@param maxPaletteSize integer
----@return any colors
-function RL.LoadImagePalette( image, maxPaletteSize ) end
-
----Get image alpha border rectangle
----- Success return Rectangle
----@param image any
----@param threshold number
----@return any rectangle
-function RL.GetImageAlphaBorder( image, threshold ) end
-
----Get image pixel color at (x, y) position
----- Success return Color
----@param image any
----@param pixelPos table
----@return any color
-function RL.GetImageColor( image, pixelPos ) end
-
--- Textures - Image configuration functions
-
----Set image data from Buffer
----@param image any
----@param data any
----@return any RL.SetImageData
-function RL.SetImageData( image, data ) end
-
----Get image data as Buffer
----- Success return Buffer
----@param image any
----@return any imageData
-function RL.GetImageData( image ) end
-
----Get image size
----- Success return Vector2
----@param image any
----@return any size
-function RL.GetImageSize( image ) end
-
----Get image mipmaps. Mipmap levels, 1 by default
----- Success return int
----@param image any
----@return any mipmaps
-function RL.GetImageMipmaps( image ) end
-
----Get image data format (PixelFormat type)
----- Success return int
----@param image any
----@return any format
-function RL.GetImageFormat( image ) end
-
--- Textures - Image drawing functions
-
----Clear image background with given color
----@param dst any
----@param color table
----@return any RL.ImageClearBackground
-function RL.ImageClearBackground( dst, color ) end
-
----Draw pixel within an image
----@param dst any
----@param position table
----@param color table
----@return any RL.ImageDrawPixel
-function RL.ImageDrawPixel( dst, position, color ) end
-
----Draw line within an image
----@param dst any
----@param start table
----@param end table
----@param color table
----@return any RL.ImageDrawLine
-function RL.ImageDrawLine( dst, start, end, color ) end
-
----Draw a line defining thickness within an image
----@param dst any
----@param start table
----@param end table
----@param thick integer
----@param color table
----@return any RL.ImageDrawLineEx
-function RL.ImageDrawLineEx( dst, start, end, thick, color ) end
-
----Draw circle within an image
----@param dst any
----@param center table
----@param radius integer
----@param color table
----@return any RL.ImageDrawCircle
-function RL.ImageDrawCircle( dst, center, radius, color ) end
-
----Draw circle outline within an image
----@param dst any
----@param center table
----@param radius integer
----@param color table
----@return any RL.ImageDrawCircleLines
-function RL.ImageDrawCircleLines( dst, center, radius, color ) end
-
----Draw rectangle within an image
----@param dst any
----@param rec table
----@param color table
----@return any RL.ImageDrawRectangle
-function RL.ImageDrawRectangle( dst, rec, color ) end
-
----Draw rectangle lines within an image
----@param dst any
----@param rec table
----@param thick integer
----@param color table
----@return any RL.ImageDrawRectangleLines
-function RL.ImageDrawRectangleLines( dst, rec, thick, color ) end
-
----Draw triangle within an image
----@param dst any
----@param v1 table
----@param v2 table
----@param v3 table
----@param color table
----@return any RL.ImageDrawTriangle
-function RL.ImageDrawTriangle( dst, v1, v2, v3, color ) end
-
----Draw triangle with interpolated colors within an image
----@param dst any
----@param v1 table
----@param v2 table
----@param v3 table
----@param c1 table
----@param c2 table
----@param c3 table
----@return any RL.ImageDrawTriangleEx
-function RL.ImageDrawTriangleEx( dst, v1, v2, v3, c1, c2, c3 ) end
-
----Draw triangle outline within an image
----@param dst any
----@param v1 table
----@param v2 table
----@param v3 table
----@param color table
----@return any RL.ImageDrawTriangleLines
-function RL.ImageDrawTriangleLines( dst, v1, v2, v3, color ) end
-
----Draw a triangle fan defined by points within an image (first vertex is the center)
----@param dst any
----@param points table
----@param color table
----@return any RL.ImageDrawTriangleFan
-function RL.ImageDrawTriangleFan( dst, points, color ) end
-
----Draw a triangle strip defined by points within an image
----@param dst any
----@param points table
----@param color table
----@return any RL.ImageDrawTriangleStrip
-function RL.ImageDrawTriangleStrip( dst, points, color ) end
-
----Draw a source image within a destination image (Tint applied to source)
----@param dst any
----@param src any
----@param srcRec table
----@param dstRec table
----@param tint table
----@return any RL.ImageDraw
-function RL.ImageDraw( dst, src, srcRec, dstRec, tint ) end
-
----Draw text (using default font) within an image (destination)
----@param dst any
----@param text string
----@param position table
----@param fontSize number
----@param tint table
----@return any RL.ImageDrawText
-function RL.ImageDrawText( dst, text, position, fontSize, tint ) end
-
----Draw text (Custom sprite font) within an image (Destination)
----@param dst any
----@param font any
----@param text string
----@param position table
----@param fontSize number
----@param spacing number
----@param tint table
----@return any RL.ImageDrawTextEx
-function RL.ImageDrawTextEx( dst, font, text, position, fontSize, spacing, tint ) end
-
--- Textures - Texture loading functions
-
----Get default texture. Return as lightuserdata
----- Success return Texture
----@return any texture
-function RL.GetTextureDefault() end
-
----Load texture from file into GPU memory ( VRAM )
----- Failure return nil
----- Success return Texture
----@param fileName string
----@return any texture
-function RL.LoadTexture( fileName ) end
-
----Load texture from image data
----- Success return Texture
----@param image any
----@return any texture
-function RL.LoadTextureFromImage( image ) end
-
----Load cubemap from image, multiple image cubemap layouts supported
----- Success return Texture
----@param image any
----@param layout integer
----@return any texture
-function RL.LoadTextureCubemap( image, layout ) end
-
----Load Texture from data
----- Success return Texture
----@param textureData table
----@return any texture
-function RL.LoadTextureFromData( textureData ) end
-
----Load texture for rendering (framebuffer)
----- Success return RenderTexture
----@param size table
----@return any renderTexture
-function RL.LoadRenderTexture( size ) end
-
----Load RenderTexture from data (framebuffer)
----- Success return RenderTexture
----@param renderTextureData table
----@return any renderTexture
-function RL.LoadRenderTextureFromData( renderTextureData ) end
-
----Check if a texture is valid (loaded in GPU)
----- Success return bool
----@param texture any
----@return any isValid
-function RL.IsTextureValid( texture ) end
-
----Unload texture from GPU memory (VRAM)
----@param texture any
----@return any RL.UnloadTexture
-function RL.UnloadTexture( texture ) end
-
----Check if a render texture is valid (loaded in GPU)
----- Success return bool
----@param target any
----@return any isValid
-function RL.IsRenderTextureValid( target ) end
-
----Unload render texture from GPU memory (VRAM)
----@param target any
----@return any RL.UnloadRenderTexture
-function RL.UnloadRenderTexture( target ) end
-
----Update GPU texture with new data
----@param texture any
----@param pixels any
----@return any RL.UpdateTexture
-function RL.UpdateTexture( texture, pixels ) end
-
----Update GPU texture rectangle with new data.
----@param texture any
----@param rec table
----@param pixels any
----@return any RL.UpdateTextureRec
-function RL.UpdateTextureRec( texture, rec, pixels ) end
-
--- Textures - Texture configuration functions
-
----Generate GPU mipmaps for a texture
----@param texture any
----@return any RL.GenTextureMipmaps
-function RL.GenTextureMipmaps( texture ) end
-
----Set texture scaling filter mode (TEXTURE_FILTER_POINT, TEXTURE_FILTER_BILINEAR...)
----@param texture any
----@param filter integer
----@return any RL.SetTextureFilter
-function RL.SetTextureFilter( texture, filter ) end
-
----Set texture wrapping mode (TEXTURE_WRAP_REPEAT, TEXTURE_WRAP_CLAMP...)
----@param texture any
----@param wrap integer
----@return any RL.SetTextureWrap
-function RL.SetTextureWrap( texture, wrap ) end
-
----Get OpenGL texture id
----- Success return int
----@param texture any
----@return any id
-function RL.GetTextureId( texture ) end
-
----Get texture size
----- Success return Vector2
----@param texture any
----@return any size
-function RL.GetTextureSize( texture ) end
-
----Get texture mipmaps. Mipmap levels, 1 by default
----- Success return int
----@param texture any
----@return any mipmaps
-function RL.GetTextureMipmaps( texture ) end
-
----Get texture data format (PixelFormat type)
----- Success return int
----@param texture any
----@return any format
-function RL.GetTextureFormat( texture ) end
-
--- Textures - Texture drawing functions
-
----Draw a Texture2D
----@param texture any
----@param position table
----@param tint table
----@return any RL.DrawTexture
-function RL.DrawTexture( texture, position, tint ) end
-
----Draw a Texture2D with extended parameters
----@param texture any
----@param position table
----@param rotation number
----@param scale number
----@param tint table
----@return any RL.DrawTextureEx
-function RL.DrawTextureEx( texture, position, rotation, scale, tint ) end
-
----Draw a part of a texture defined by a rectangle
----@param texture any
----@param source table
----@param position table
----@param tint table
----@return any RL.DrawTextureRec
-function RL.DrawTextureRec( texture, source, position, tint ) end
-
----Draw a part of a texture defined by a rectangle with "pro" parameters
----@param texture any
----@param source table
----@param dest table
----@param origin table
----@param rotation number
----@param tint table
----@return any RL.DrawTexturePro
-function RL.DrawTexturePro( texture, source, dest, origin, rotation, tint ) end
-
----Draws a texture (or part of it) that stretches or shrinks nicely
----@param texture any
----@param nPatchInfo any
----@param dest table
----@param origin table
----@param rotation number
----@param tint table
----@return any RL.DrawTextureNPatch
-function RL.DrawTextureNPatch( texture, nPatchInfo, dest, origin, rotation, tint ) end
-
----Draws a texture (or part of it) that repeats nicely
----@param texture any
----@param nPatchInfo any
----@param dest table
----@param origin table
----@param rotation number
----@param tint table
----@return any RL.DrawTextureNPatchRepeat
-function RL.DrawTextureNPatchRepeat( texture, nPatchInfo, dest, origin, rotation, tint ) end
-
--- Textures - RenderTexture configuration functions
-
----Get OpenGL framebuffer object id
----- Success return int
----@param renderTexture any
----@return any id
-function RL.GetRenderTextureId( renderTexture ) end
-
----Get color buffer attachment texture. Returns as lightuserdata
----- Success return Texture
----@param renderTexture any
----@return any texture
-function RL.GetRenderTextureTexture( renderTexture ) end
-
----Get depth buffer attachment texture. Returns as lightuserdata
----- Success return Texture
----@param renderTexture any
----@return any texture
-function RL.GetRenderTextureDepthTexture( renderTexture ) end
-
--- Textures - Color/pixel related functions
-
----Check if two colors are equal
----- Success return bool
----@param col1 table
----@param col2 table
----@return any isEqual
-function RL.ColorIsEqual( col1, col2 ) end
-
----Returns color with alpha applied, alpha goes from 0.0f to 1.0f
----- Success return Color
----@param color table
----@param alpha number
----@return any color
-function RL.Fade( color, alpha ) end
-
----Returns hexadecimal value for a Color
----- Success return int
----@param color table
----@return any value
-function RL.ColorToInt( color ) end
-
----Returns Color normalized as float [0..1]
----- Success return Vector4
----@param color table
----@return any color
-function RL.ColorNormalize( color ) end
-
----Color from normalized values [0..1]
----- Success return Color
----@param normalized table
----@return any color
-function RL.ColorFromNormalized( normalized ) end
-
----Returns HSV values for a Color, hue [0..360], saturation/value [0..1]
----- Success return Vector3
----@param color table
----@return any HSV
-function RL.ColorToHSV( color ) end
-
----Returns a Color from HSV values, hue [0..360], saturation/value [0..1]
----- Success return Color
----@param hue number
----@param saturation number
----@param value number
----@return any color
-function RL.ColorFromHSV( hue, saturation, value ) end
-
----Get color multiplied with another color
----- Success return Color
----@param color table
----@param tint table
----@return any color
-function RL.ColorTint( color, tint ) end
-
----Get color with brightness correction, brightness factor goes from -1.0f to 1.0f
----- Success return Color
----@param color table
----@param factor number
----@return any color
-function RL.ColorBrightness( color, factor ) end
-
----Get color with contrast correction, contrast values between -1.0f and 1.0f
----- Success return Color
----@param color table
----@param contrast number
----@return any color
-function RL.ColorContrast( color, contrast ) end
-
----Returns color with alpha applied, alpha goes from 0.0f to 1.0f
----- Success return Color
----@param color table
----@param alpha number
----@return any color
-function RL.ColorAlpha( color, alpha ) end
-
----Returns src alpha-blended into dst color with tint
----- Success return Color
----@param dst table
----@param src table
----@param tint table
----@return any color
-function RL.ColorAlphaBlend( dst, src, tint ) end
-
----Get color lerp interpolation between two colors, factor [0.0f..1.0f]
----- Success return Color
----@param color1 table
----@param color2 table
----@param factor number
----@return any color
-function RL.ColorLerp( color1, color2, factor ) end
-
----Get Color structure from hexadecimal value
----- Success return Color
----@param hexValue integer
----@return any color
-function RL.GetColor( hexValue ) end
-
----Get pixel data size in bytes for certain format
----- Success return int
----@param size table
----@param format integer
----@return any size
-function RL.GetPixelDataSize( size, format ) end
-
--- Text - Font loading/unloading functions
-
----Get the default Font. Return as lightuserdata
----- Success return Font
----@return any font
-function RL.GetFontDefault() end
-
----Load font from file into GPU memory (VRAM)
----- Failure return nil
----- Success return Font
----@param fileName string
----@return any font
-function RL.LoadFont( fileName ) end
-
----Load font from file with extended parameters, use NULL for codepoints to load the default character set
----- Failure return nil
----- Success return Font
----@param fileName string
----@param fontSize integer
----@param codepoints table|nil
----@return any font
-function RL.LoadFontEx( fileName, fontSize, codepoints ) end
-
----Load font from Image (XNA style)
----- Success return Font
----@param image any
----@param key table
----@param firstChar integer
----@return any font
-function RL.LoadFontFromImage( image, key, firstChar ) end
-
----Load font from memory buffer, fileType refers to extension: i.e. '.ttf'. NOTE: fileData type should be unsigned char
----- Success return Font
----@param fileType string
----@param fileData any
----@param fontSize integer
----@param codepoints table
----@return any font
-function RL.LoadFontFromMemory( fileType, fileData, fontSize, codepoints ) end
-
----Load Font from data
----- Success return Font
----@param fontData table
----@return any font
-function RL.LoadFontFromData( fontData ) end
-
----Load font copy as new userdata
----- Success return Font
----@param font any
----@return any font
-function RL.FontCopy( font ) end
-
----Check if a font is valid (font data loaded, WARNING: GPU texture not checked)
----- Success return bool
----@param font any
----@return any isValid
-function RL.IsFontValid( font ) end
-
----Load font data for further use. NOTE: fileData type should be unsigned char
----- Success return GlyphInfo{}
----@param fileData any
----@param fontSize integer
----@param codepoints table
----@param type integer
----@return any glyphs
-function RL.LoadFontData( fileData, fontSize, codepoints, type ) end
-
----Generate image font atlas using chars info. NOTE: Packing method: 0-Default, 1-Skyline
----- Success Image, Rectangle{}
----@param glyphs table
----@param fontSize integer
----@param padding integer
----@param packMethod integer
----@return any image
----@return any rectangles
-function RL.GenImageFontAtlas( glyphs, fontSize, padding, packMethod ) end
-
----Unload font from GPU memory (VRAM)
----@param font any
----@return any RL.UnloadFont
-function RL.UnloadFont( font ) end
-
----Export font as code file, returns true on success
----- Success return bool
----@param font any
----@param fileName string
----@return any RL.ExportFontAsCode
-function RL.ExportFontAsCode( font, fileName ) end
-
--- Text - Text drawing functions
-
----Draw current FPS
----@param pos table
----@return any RL.DrawFPS
-function RL.DrawFPS( pos ) end
-
----Draw text (using default font)
----@param text string
----@param position table
----@param fontSize number
----@param tint table
----@return any RL.DrawText
-function RL.DrawText( text, position, fontSize, tint ) end
-
----Draw text using font and additional parameters
----@param font any
----@param text string
----@param position table
----@param fontSize number
----@param spacing number
----@param tint table
----@return any RL.DrawTextEx
-function RL.DrawTextEx( font, text, position, fontSize, spacing, tint ) end
-
----Draw text using Font and pro parameters (rotation)
----@param font any
----@param text string
----@param position table
----@param origin table
----@param rotation number
----@param fontSize number
----@param spacing number
----@param tint table
----@return any RL.DrawTextPro
-function RL.DrawTextPro( font, text, position, origin, rotation, fontSize, spacing, tint ) end
-
----Draw one character (codepoint)
----@param font any
----@param codepoint integer
----@param position table
----@param fontSize number
----@param tint table
----@return any RL.DrawTextCodepoint
-function RL.DrawTextCodepoint( font, codepoint, position, fontSize, tint ) end
-
----Draw multiple character (codepoint)
----@param font any
----@param codepoints table
----@param position table
----@param fontSize number
----@param spacing number
----@param tint table
----@return any RL.DrawTextCodepoints
-function RL.DrawTextCodepoints( font, codepoints, position, fontSize, spacing, tint ) end
-
----Draw text inside rectangle limits. Return character id from mouse position (default 0).
----textOffset can be used to set start position inside rectangle. Usefull to pass from previous
----DrawTextBoxed for continuous text.
----Support for tint change with "\a#FFFFFFFF"
----- Success return int, Vector2
----@param font any
----@param text string
----@param rec table
----@param fontSize number
----@param spacing number
----@param wordWrap boolean
----@param tint table
----@param limitHeight boolean
----@param textOffset table|nil
----@param tabSize integer|nil
----@return any mouseCharId
----@return any textOffset
-function RL.DrawTextBoxed( font, text, rec, fontSize, spacing, wordWrap, tint, limitHeight, textOffset, tabSize ) end
-
--- Text - Text font info functions
-
----Set vertical line spacing when drawing with line-breaks
----@param spacing integer
----@return any RL.SetTextLineSpacing
-function RL.SetTextLineSpacing( spacing ) end
-
----Get vertical line spacing when drawing with line-breaks
----- Success return int
----@return any spacing
-function RL.GetTextLineSpacing() end
-
----Measure string width for default font
----- Success return int
----@param text string
----@param fontSize integer
----@return any width
-function RL.MeasureText( text, fontSize ) end
-
----Measure string size for Font
----- Success return Vector2
----@param font any
----@param text string
----@param fontSize number
----@param spacing number
----@return any size
-function RL.MeasureTextEx( font, text, fontSize, spacing ) end
-
----Measure text inside rectangle limits.
----- Success return Vector2, Vector2
----@param font any
----@param text string
----@param rec table
----@param fontSize number
----@param spacing number
----@param wordWrap boolean
----@param tint table
----@param limitHeight boolean
----@param textOffset table
----@param tabSize integer|nil
----@return any size
----@return any textOffset
-function RL.MeasureTextBoxed( font, text, rec, fontSize, spacing, wordWrap, tint, limitHeight, textOffset, tabSize ) end
-
----Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
----- Success return int
----@param font any
----@param codepoint integer
----@return any index
-function RL.GetGlyphIndex( font, codepoint ) end
-
----Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found. Return as lightuserdata
----- Success return GlyphInfo
----@param font any
----@param codepoint integer
----@return any glyphInfo
-function RL.GetGlyphInfo( font, codepoint ) end
-
----Get glyph font info data by index. Return as lightuserdata
----- Failure return nil
----- Success return GlyphInfo
----@param font any
----@param index integer
----@return any glyphInfo
-function RL.GetGlyphInfoByIndex( font, index ) end
-
----Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
----- Success return Rectangle
----@param font any
----@param codepoint integer
----@return any rect
-function RL.GetGlyphAtlasRec( font, codepoint ) end
-
----Get glyph rectangle in font atlas by index
----- Failure return nil
----- Success return Rectangle
----@param font any
----@param index integer
----@return any rect
-function RL.GetGlyphAtlasRecByIndex( font, index ) end
-
----Get font base size (default chars height)
----- Success return int
----@param font any
----@return any baseSize
-function RL.GetFontBaseSize( font ) end
-
----Get font number of glyph characters
----- Success return int
----@param font any
----@return any glyphCount
-function RL.GetFontGlyphCount( font ) end
-
----Get font padding around the glyph characters
----- Success return int
----@param font any
----@return any glyphPadding
-function RL.GetFontGlyphPadding( font ) end
-
----Get font texture atlas containing the glyphs. Return as lightuserdata
----- Success return Texture
----@param font any
----@return any texture
-function RL.GetFontTexture( font ) end
-
--- Text - GlyphInfo management functions
-
----Load GlyphInfo from data
----- Success return GlyphInfo
----@param glyphInfoData table
----@return any glyphInfo
-function RL.LoadGlyphInfo( glyphInfoData ) end
-
----Unload glyphInfo image from CPU memory (RAM)
----@param glyphInfo any
----@return any RL.UnloadGlyphInfo
-function RL.UnloadGlyphInfo( glyphInfo ) end
-
----Set glyphInfo character value (Unicode)
----@param glyphInfo any
----@param value integer
----@return any RL.SetGlyphInfoValue
-function RL.SetGlyphInfoValue( glyphInfo, value ) end
-
----Set glyphInfo character offset when drawing
----@param glyphInfo any
----@param offset table
----@return any RL.SetGlyphInfoOffset
-function RL.SetGlyphInfoOffset( glyphInfo, offset ) end
-
----Set glyphInfo character advance position X
----@param glyphInfo any
----@param advanceX integer
----@return any RL.SetGlyphInfoAdvanceX
-function RL.SetGlyphInfoAdvanceX( glyphInfo, advanceX ) end
-
----Set glyphInfo character image data
----@param glyphInfo any
----@param image any
----@return any RL.SetGlyphInfoImage
-function RL.SetGlyphInfoImage( glyphInfo, image ) end
-
----Get glyphInfo character value (Unicode)
----- Success return int
----@param glyphInfo any
----@return any value
-function RL.GetGlyphInfoValue( glyphInfo ) end
-
----Get glyphInfo character offset when drawing
----- Success return Vector2
----@param glyphInfo any
----@return any offset
-function RL.GetGlyphInfoOffset( glyphInfo ) end
-
----Get glyphInfo character advance position X
----- Success return int
----@param glyphInfo any
----@return any advanceX
-function RL.GetGlyphInfoAdvanceX( glyphInfo ) end
-
----Get glyphInfo character image data. Return as lightuserdata
----- Success return Image
----@param glyphInfo any
----@return any image
-function RL.GetGlyphInfoImage( glyphInfo ) end
-
--- Text - Text codepoints management functions (unicode characters)
-
----Load UTF-8 text encoded from codepoints array
----- Success return string
----@param codepoints table
----@return any string
-function RL.LoadUTF8( codepoints ) end
-
----Load all codepoints from a UTF-8 text string
----- Success return int{}
----@param text string
----@return any codepoints
-function RL.LoadCodepoints( text ) end
-
----Get total number of codepoints in a UTF-8 encoded string
----- Success return int
----@param text string
----@return any count
-function RL.GetCodepointCount( text ) end
-
----Get codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
----- Success return int, int
----@param text string
----@param position integer
----@return any codepoint
----@return any codepointSize
-function RL.GetCodepoint( text, position ) end
-
----Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
----- Success return int, int
----@param text string
----@param position integer
----@return any codepoint
----@return any codepointSize
-function RL.GetCodepointNext( text, position ) end
-
----Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
----- Success return int, int
----@param text string
----@param position integer
----@return any codepoint
----@return any codepointSize
-function RL.GetCodepointPrevious( text, position ) end
-
----Encode one codepoint into UTF-8 byte array
----- Success return string
----@param codepoint integer
----@return any string
-function RL.CodepointToUTF8( codepoint ) end
-
--- Text - Text strings management functions (no UTF-8 strings, only byte chars)
-
----Get a piece of a text string
----- Success return string
----@param text string
----@param position integer
----@param length integer
----@return any text
-function RL.TextSubtext( text, position, length ) end
-
----Replace text string
----- Success return string
----@param text string
----@param replace string
----@param by string
----@return any text
-function RL.TextReplace( text, replace, by ) end
-
----Insert text in a specific position, moves all text forward
----- Success return string
----@param text string
----@param insert string
----@param position integer
----@return any text
-function RL.TextInsert( text, insert, position ) end
-
----Split text into multiple strings
----- Success return string{}
----@param text string
----@param delimiter any
----@return any splits
-function RL.TextSplit( text, delimiter ) end
-
----Find first text occurrence within a string
----- Success return int
----@param text string
----@param find string
----@return any index
-function RL.TextFindIndex( text, find ) end
-
----Get Pascal case notation version of provided string
----- Success return string
----@param text string
----@return any text
-function RL.TextToPascal( text ) end
-
----Get Snake case notation version of provided string
----- Success return string
----@param text string
----@return any text
-function RL.TextToSnake( text ) end
-
----Get Camel case notation version of provided string
----- Success return string
----@param text string
----@return any text
-function RL.TextToCamel( text ) end
-
--- Models - Basic geometric 3D shapes drawing functions
-
----Draw a line in 3D world space
----@param startPos table
----@param endPos table
----@param color table
----@return any RL.DrawLine3D
-function RL.DrawLine3D( startPos, endPos, color ) end
-
----Draw a point in 3D space, actually a small line
----@param position table
----@param color table
----@return any RL.DrawPoint3D
-function RL.DrawPoint3D( position, color ) end
-
----Draw a circle in 3D world space
----@param center table
----@param radius number
----@param rotationAxis table
----@param rotationAngle number
----@param color table
----@return any RL.DrawCircle3D
-function RL.DrawCircle3D( center, radius, rotationAxis, rotationAngle, color ) end
-
----Draw a color-filled triangle (Vertex in counter-clockwise order!)
----@param v1 table
----@param v2 table
----@param v3 table
----@param color table
----@return any RL.DrawTriangle3D
-function RL.DrawTriangle3D( v1, v2, v3, color ) end
-
----Draw a triangle strip defined by points
----@param points table
----@param color table
----@return any RL.DrawTriangleStrip3D
-function RL.DrawTriangleStrip3D( points, color ) end
-
----Draw cube
----@param position table
----@param size table
----@param color table
----@return any RL.DrawCube
-function RL.DrawCube( position, size, color ) end
-
----Draw cube wires
----@param position table
----@param size table
----@param color table
----@return any RL.DrawCubeWires
-function RL.DrawCubeWires( position, size, color ) end
-
----Draw sphere
----@param centerPos table
----@param radius number
----@param color table
----@return any RL.DrawSphere
-function RL.DrawSphere( centerPos, radius, color ) end
-
----Draw sphere with extended parameters
----@param centerPos table
----@param radius number
----@param rings integer
----@param slices integer
----@param color table
----@return any RL.DrawSphereEx
-function RL.DrawSphereEx( centerPos, radius, rings, slices, color ) end
-
----Draw sphere wires
----@param centerPos table
----@param radius number
----@param rings integer
----@param slices integer
----@param color table
----@return any RL.DrawSphereWires
-function RL.DrawSphereWires( centerPos, radius, rings, slices, color ) end
-
----Draw a cylinder/cone
----@param position table
----@param radiusTop number
----@param radiusBottom number
----@param height number
----@param slices integer
----@param color table
----@return any RL.DrawCylinder
-function RL.DrawCylinder( position, radiusTop, radiusBottom, height, slices, color ) end
-
----Draw a cylinder with base at startPos and top at endPos
----@param startPos table
----@param endPos table
----@param startRadius number
----@param endRadius number
----@param sides integer
----@param color table
----@return any RL.DrawCylinderEx
-function RL.DrawCylinderEx( startPos, endPos, startRadius, endRadius, sides, color ) end
-
----Draw a cylinder/cone wires
----@param position table
----@param radiusTop number
----@param radiusBottom number
----@param height number
----@param slices integer
----@param color table
----@return any RL.DrawCylinderWires
-function RL.DrawCylinderWires( position, radiusTop, radiusBottom, height, slices, color ) end
-
----Draw a cylinder wires with base at startPos and top at endPos
----@param startPos table
----@param endPos table
----@param startRadius number
----@param endRadius number
----@param sides integer
----@param color table
----@return any RL.DrawCylinderWiresEx
-function RL.DrawCylinderWiresEx( startPos, endPos, startRadius, endRadius, sides, color ) end
-
----Draw a capsule with the center of its sphere caps at startPos and endPos
----@param startPos table
----@param endPos table
----@param radius number
----@param slices integer
----@param rings integer
----@param color table
----@return any RL.DrawCapsule
-function RL.DrawCapsule( startPos, endPos, radius, slices, rings, color ) end
-
----Draw capsule wireframe with the center of its sphere caps at startPos and endPos
----@param startPos table
----@param endPos table
----@param radius number
----@param slices integer
----@param rings integer
----@param color table
----@return any RL.DrawCapsuleWires
-function RL.DrawCapsuleWires( startPos, endPos, radius, slices, rings, color ) end
-
----Draw a plane XZ
----@param centerPos table
----@param size table
----@param color table
----@return any RL.DrawPlane
-function RL.DrawPlane( centerPos, size, color ) end
-
----Draw 3D textured quad. (Texture coordinates opengl style 0.0 - 1.0)
----@param texture any
----@param vertices table
----@param texCoords table
----@param colors table
----@return any RL.DrawQuad3DTexture
-function RL.DrawQuad3DTexture( texture, vertices, texCoords, colors ) end
-
----Draw a ray line
----@param ray any
----@param color table
----@return any RL.DrawRay
-function RL.DrawRay( ray, color ) end
-
----Draw a grid (Centered at ( 0, 0, 0 ))
----@param slices integer
----@param spacing number
----@return any RL.DrawGrid
-function RL.DrawGrid( slices, spacing ) end
-
----Draw a grid with extended parameters. Optionally you can define divider with different color for every n slices
----@param slices table
----@param spacing table
----@param transform table
----@param color table
----@param divider table|nil
----@param dividerColor table|nil
----@return any RL.DrawGridEx
-function RL.DrawGridEx( slices, spacing, transform, color, divider, dividerColor ) end
-
--- Models - Model management functions
-
----Load model from files (Meshes and materials)
----- Failure return nil
----- Success return Model
----@param fileName string
----@return any model
-function RL.LoadModel( fileName ) end
-
----Load model from generated mesh (Default material)
----- Success return Model
----@param mesh any
----@return any model
-function RL.LoadModelFromMesh( mesh ) end
-
----Check if a model is valid (loaded in GPU, VAO/VBOs)
----- Success return bool
----@param model any
----@return any isValid
-function RL.IsModelValid( model ) end
-
----Unload model (meshes/materials) from memory (RAM and/or VRAM)
----@param model any
----@return any RL.UnloadModel
-function RL.UnloadModel( model ) end
-
----Compute model bounding box limits (considers all meshes)
----- Success return BoundingBox
----@param model any
----@return any boundingBox
-function RL.GetModelBoundingBox( model ) end
-
----Set model transform matrix
----@param model any
----@param transform table
----@return any RL.SetModelTransform
-function RL.SetModelTransform( model, transform ) end
-
----Set model mesh.
----- Failure return false
----- Success return true
----@param model any
----@param meshId integer
----@param mesh any
----@return any success
-function RL.SetModelMesh( model, meshId, mesh ) end
-
----Set material to model material
----- Failure return false
----- Success return true
----@param model any
----@param materialId integer
----@param material any
----@return any success
-function RL.SetModelMaterial( model, materialId, material ) end
-
----Set material for a mesh (Mesh and material on this model)
----@param model any
----@param meshId integer
----@param materialId integer
----@return any RL.SetModelMeshMaterial
-function RL.SetModelMeshMaterial( model, meshId, materialId ) end
-
----Set model bone information (skeleton)
----- Failure return false
----- Success return true
----@param model any
----@param boneId integer
----@param bone any
----@return any success
-function RL.SetModelBone( model, boneId, bone ) end
-
----Set model bones base transformation (pose)
----- Failure return false
----- Success return true
----@param model any
----@param boneId integer
----@param pose any
----@return any success
-function RL.SetModelBindPose( model, boneId, pose ) end
-
----Get model transform matrix
----- Success return Matrix
----@param model any
----@return any transform
-function RL.GetModelTransform( model ) end
-
----Get model number of meshes
----- Success return int
----@param model any
----@return any meshCount
-function RL.GetModelMeshCount( model ) end
-
----Get model number of materials
----- Success return int
----@param model any
----@return any meshCount
-function RL.GetModelMaterialCount( model ) end
-
----Get model mesh. Return as lightuserdata
----- Failure return nil
----- Success return Mesh
----@param model any
----@param meshId integer
----@return any mesh
-function RL.GetModelMesh( model, meshId ) end
-
----Get model material. Return as lightuserdata
----- Failure return nil
----- Success return Material
----@param model any
----@param materialId integer
----@return any material
-function RL.GetModelMaterial( model, materialId ) end
-
----Get model number of bones
----- Success return int
----@param model any
----@return any boneCount
-function RL.GetModelBoneCount( model ) end
-
----Get model bones information (skeleton)
----- Failure return nil
----- Success return BoneInfo
----@param model any
----@param boneId integer
----@return any bone
-function RL.GetModelBone( model, boneId ) end
-
----Get models bones base transformation (pose)
----- Failure return nil
----- Success return Transform
----@param model any
----@param boneId integer
----@return any pose
-function RL.GetModelBindPose( model, boneId ) end
-
--- Models - Model drawing functions
-
----Draw a model (With texture if set)
----@param model any
----@param position table
----@param scale number
----@param tint table
----@return any RL.DrawModel
-function RL.DrawModel( model, position, scale, tint ) end
-
----Draw a model with extended parameters
----@param model any
----@param position table
----@param rotationAxis table
----@param rotationAngle number
----@param scale table
----@param tint table
----@return any RL.DrawModelEx
-function RL.DrawModelEx( model, position, rotationAxis, rotationAngle, scale, tint ) end
-
----Draw a model wires (with texture if set)
----@param model any
----@param position table
----@param scale number
----@param tint table
----@return any RL.DrawModelWires
-function RL.DrawModelWires( model, position, scale, tint ) end
-
----Draw a model wires (with texture if set) with extended parameters
----@param model any
----@param position table
----@param rotationAxis table
----@param rotationAngle number
----@param scale table
----@param tint table
----@return any RL.DrawModelWiresEx
-function RL.DrawModelWiresEx( model, position, rotationAxis, rotationAngle, scale, tint ) end
-
----Draw a model as points
----@param model any
----@param position table
----@param scale number
----@param tint table
----@return any RL.DrawModelPoints
-function RL.DrawModelPoints( model, position, scale, tint ) end
-
----Draw a model as points with extended parameters
----@param model any
----@param position table
----@param rotationAxis table
----@param rotationAngle number
----@param scale table
----@param tint table
----@return any RL.DrawModelPointsEx
-function RL.DrawModelPointsEx( model, position, rotationAxis, rotationAngle, scale, tint ) end
-
----Draw bounding box (wires)
----@param box any
----@param color table
----@return any RL.DrawBoundingBox
-function RL.DrawBoundingBox( box, color ) end
-
----Draw a billboard texture
----@param camera any
----@param texture any
----@param position table
----@param size number
----@param tint table
----@return any RL.DrawBillboard
-function RL.DrawBillboard( camera, texture, position, size, tint ) end
-
----Draw a billboard texture defined by source
----@param camera any
----@param texture any
----@param source table
----@param position table
----@param size table
----@param tint table
----@return any RL.DrawBillboardRec
-function RL.DrawBillboardRec( camera, texture, source, position, size, tint ) end
-
----Draw a billboard texture defined by source and rotation
----@param camera any
----@param texture any
----@param source table
----@param position table
----@param up table
----@param size table
----@param origin table
----@param rotation number
----@param tint table
----@return any RL.DrawBillboardPro
-function RL.DrawBillboardPro( camera, texture, source, position, up, size, origin, rotation, tint ) end
-
--- Models - Mesh management functions
-
----Update mesh vertex data in GPU.
----NOTE: Mainly intented to be used with custom meshes.
----@param mesh any
----@param meshData table
----@return any RL.UpdateMesh
-function RL.UpdateMesh( mesh, meshData ) end
-
----Unload mesh data from CPU and GPU
----@param mesh any
----@return any RL.UnloadMesh
-function RL.UnloadMesh( mesh ) end
-
----Draw a 3d mesh with material and transform
----@param mesh any
----@param material any
----@param transform table
----@return any RL.DrawMesh
-function RL.DrawMesh( mesh, material, transform ) end
-
----Draw multiple mesh instances with material and different transforms
----@param mesh any
----@param material any
----@param transforms any
----@param instances integer
----@return any RL.DrawMeshInstanced
-function RL.DrawMeshInstanced( mesh, material, transforms, instances ) end
-
----Updades mesh color vertex attribute buffer
----NOTE: Currently only works on custom mesh
----- Failure return false
----- Success return true
----@param mesh any
----@param color table
----@return any success
-function RL.SetMeshColor( mesh, color ) end
-
----Export mesh data to file, returns true on success
----- Success return bool
----@param mesh any
----@param fileName string
----@return any success
-function RL.ExportMesh( mesh, fileName ) end
-
----Export mesh as code file (.h) defining multiple arrays of vertex attributes
----- Success return bool
----@param mesh any
----@param fileName string
----@return any success
-function RL.ExportMeshAsCode( mesh, fileName ) end
-
----Compute mesh bounding box limits
----- Success return BoundingBox
----@param mesh any
----@return any boundingBox
-function RL.GetMeshBoundingBox( mesh ) end
-
----Compute mesh tangents
----@param mesh any
----@return any RL.GenMeshTangents
-function RL.GenMeshTangents( mesh ) end
-
----Get mesh vertex attributes data as table.
----- Success return Mesh{}
----@param mesh any
----@return any meshData
-function RL.GetMeshData( mesh ) end
-
--- Models - Mesh generation functions
-
----Generate polygonal mesh
----- Success return Mesh
----@param sides integer
----@param radius number
----@return any mesh
-function RL.GenMeshPoly( sides, radius ) end
-
----Generate plane mesh (With subdivisions)
----- Success return Mesh
----@param width number
----@param length number
----@param resX integer
----@param resZ integer
----@return any mesh
-function RL.GenMeshPlane( width, length, resX, resZ ) end
-
----Generate cuboid mesh
----- Success return Mesh
----@param size table
----@return any mesh
-function RL.GenMeshCube( size ) end
-
----Generate sphere mesh (Standard sphere)
----- Success return Mesh
----@param radius number
----@param rings integer
----@param slices integer
----@return any mesh
-function RL.GenMeshSphere( radius, rings, slices ) end
-
----Generate half-sphere mesh (no bottom cap)
----- Success return Mesh
----@param radius number
----@param rings integer
----@param slices integer
----@return any mesh
-function RL.GenMeshHemiSphere( radius, rings, slices ) end
-
----Generate cylinder mesh
----- Success return Mesh
----@param radius number
----@param height number
----@param slices integer
----@return any mesh
-function RL.GenMeshCylinder( radius, height, slices ) end
-
----Generate cone/pyramid mesh
----- Success return Mesh
----@param radius number
----@param height number
----@param slices integer
----@return any mesh
-function RL.GenMeshCone( radius, height, slices ) end
-
----Generate torus mesh
----- Success return Mesh
----@param radius number
----@param size number
----@param radSeg integer
----@param sides integer
----@return any mesh
-function RL.GenMeshTorus( radius, size, radSeg, sides ) end
-
----Generate torus mesh
----- Success return Mesh
----@param radius number
----@param size number
----@param radSeg integer
----@param sides integer
----@return any mesh
-function RL.GenMeshKnot( radius, size, radSeg, sides ) end
-
----Generate heightmap mesh from image data
----- Success return Mesh
----@param heightmap any
----@param size table
----@return any mesh
-function RL.GenMeshHeightmap( heightmap, size ) end
-
----Generate cubes-based map mesh from image data
----- Success return Mesh
----@param cubicmap any
----@param cubeSize table
----@return any mesh
-function RL.GenMeshCubicmap( cubicmap, cubeSize ) end
-
----Generate custom mesh from vertex attribute data and uploads it into a VAO (if supported) and VBO
----- Success return Mesh
----@param meshData table
----@param dynamic boolean
----@return any mesh
-function RL.GenMeshCustom( meshData, dynamic ) end
-
--- Models - Material management functions
-
----Load materials from model file
----- Success return Material{}
----@param fileName string
----@return any materials
-function RL.LoadMaterials( fileName ) end
-
----Default material for reference. Return as lightuserdata
----- Success return Material
----@return any material
-function RL.GetMaterialDefault() end
-
----Load default material as new object
----- Success return Material
----@return any material
-function RL.LoadMaterialDefault() end
-
----Load material from table. See material table definition
----- Success return Material
----@param materialData table
----@return any material
-function RL.CreateMaterial( materialData ) end
-
----Check if a material is valid (shader assigned, map textures loaded in GPU)
----- Success return bool
----@param material any
----@return any isValid
-function RL.IsMaterialValid( material ) end
-
----Unload material from GPU memory (VRAM). Note! Use freeAll to unload shaders and textures
----@param material any
----@param freeAll boolean
----@return any RL.UnloadMaterial
-function RL.UnloadMaterial( material, freeAll ) end
-
----Set texture for a material map type (MATERIAL_MAP_ALBEDO, MATERIAL_MAP_METALNESS...)
----@param material any
----@param mapType integer
----@param texture any
----@return any RL.SetMaterialTexture
-function RL.SetMaterialTexture( material, mapType, texture ) end
-
----Set color for a material map type
----@param material any
----@param mapType integer
----@param color table
----@return any RL.SetMaterialColor
-function RL.SetMaterialColor( material, mapType, color ) end
-
----Set value for a material map type
----@param material any
----@param mapType integer
----@param value number
----@return any RL.SetMaterialValue
-function RL.SetMaterialValue( material, mapType, value ) end
-
----Set shader for material
----@param material any
----@param shader any
----@return any RL.SetMaterialShader
-function RL.SetMaterialShader( material, shader ) end
-
----Set material generic parameters (if required)
----@param material any
----@param params table
----@return any RL.SetMaterialParams
-function RL.SetMaterialParams( material, params ) end
-
----Get texture from material map type. Return as lightuserdata
----- Success return Texture
----@param material any
----@param mapType integer
----@return any texture
-function RL.GetMaterialTexture( material, mapType ) end
-
----Get color from material map type
----- Success return Color
----@param material any
----@param mapType integer
----@return any color
-function RL.GetMaterialColor( material, mapType ) end
-
----Get color from material map type
----- Success return float
----@param material any
----@param mapType integer
----@return any value
-function RL.GetMaterialValue( material, mapType ) end
-
----Get material shader. Return as lightuserdata
----- Success return Shader
----@param material any
----@return any shader
-function RL.GetMaterialShader( material ) end
-
----Get material parameters
----- Success return float{}
----@param material any
----@return any params
-function RL.GetMaterialParams( material ) end
-
--- Model - Model animations management functions
-
----Load model animations from file
----- Failure return nil
----- Success return ModelAnimations{}
----@param fileName string
----@return any animations
-function RL.LoadModelAnimations( fileName ) end
-
----Update model animation pose
----@param model any
----@param animation any
----@param frame integer
----@return any RL.UpdateModelAnimation
-function RL.UpdateModelAnimation( model, animation, frame ) end
-
----Update model animation mesh bone matrices (GPU skinning)
----@param model any
----@param animation any
----@param frame integer
----@return any RL.UpdateModelAnimationBones
-function RL.UpdateModelAnimationBones( model, animation, frame ) end
-
----Unload animation data
----@param animation any
----@return any RL.UnloadModelAnimation
-function RL.UnloadModelAnimation( animation ) end
-
----Unload animation table data
----@param animations table
----@return any RL.UnloadModelAnimations
-function RL.UnloadModelAnimations( animations ) end
-
----Check model animation skeleton match
----- Success return bool
----@param model any
----@param animation any
----@return any valid
-function RL.IsModelAnimationValid( model, animation ) end
-
----Set modelAnimation bones information (skeleton)
----- Failure return false
----- Success return true
----@param animation any
----@param boneId integer
----@param bone any
----@return any success
-function RL.SetModelAnimationBone( animation, boneId, bone ) end
-
----Set modelAnimation bones base transformation (pose)
----- Failure return false
----- Success return true
----@param animation any
----@param frame integer
----@param boneId integer
----@param pose any
----@return any success
-function RL.SetModelAnimationFramePose( animation, frame, boneId, pose ) end
-
----Set modelAnimation name
----@param animation any
----@param name string
----@return any RL.SetModelAnimationName
-function RL.SetModelAnimationName( animation, name ) end
-
----Return modelAnimation bone count
----- Success return int
----@param animation any
----@return any boneCount
-function RL.GetModelAnimationBoneCount( animation ) end
-
----Return modelAnimation frame count
----- Success return int
----@param animation any
----@return any frameCount
-function RL.GetModelAnimationFrameCount( animation ) end
-
----Get modelAnimation bones information (skeleton)
----- Failure return nil
----- Success return BoneInfo
----@param animation any
----@param boneId integer
----@return any bone
-function RL.GetModelAnimationBone( animation, boneId ) end
-
----Get modelAnimation bones base transformation (pose)
----- Failure return nil
----- Success return Transform
----@param animation any
----@param frame integer
----@param boneId integer
----@return any pose
-function RL.GetModelAnimationFramePose( animation, frame, boneId ) end
-
----Get modelAnimation name
----- Success return string
----@param animation any
----@return any name
-function RL.GetModelAnimationName( animation ) end
-
--- Model - Collision detection functions
-
----Check collision between two spheres
----- Success return bool
----@param center1 table
----@param radius1 number
----@param center2 table
----@param radius2 number
----@return any collision
-function RL.CheckCollisionSpheres( center1, radius1, center2, radius2 ) end
-
----Check collision between two bounding boxes
----- Success return bool
----@param box1 any
----@param box2 any
----@return any collision
-function RL.CheckCollisionBoxes( box1, box2 ) end
-
----Check collision between box and sphere
----- Success return bool
----@param box any
----@param center table
----@param radius number
----@return any collision
-function RL.CheckCollisionBoxSphere( box, center, radius ) end
-
----Get collision info between ray and sphere. ( RayCollision is Lua table of { hit, distance, point, normal } )
----- Success return RayCollision
----@param ray any
----@param center table
----@param radius number
----@return any rayCollision
-function RL.GetRayCollisionSphere( ray, center, radius ) end
-
----Get collision info between ray and box
----- Success return RayCollision
----@param ray any
----@param box any
----@return any rayCollision
-function RL.GetRayCollisionBox( ray, box ) end
-
----Get collision info between ray and mesh
----- Success return RayCollision
----@param ray any
----@param mesh any
----@param transform table
----@return any rayCollision
-function RL.GetRayCollisionMesh( ray, mesh, transform ) end
-
----Get collision info between ray and triangle
----- Success return RayCollision
----@param ray any
----@param p1 table
----@param p2 table
----@param p3 table
----@return any rayCollision
-function RL.GetRayCollisionTriangle( ray, p1, p2, p3 ) end
-
----Get collision info between ray and quad. NOTE: The points are expected to be in counter-clockwise winding
----- Success return RayCollision
----@param ray any
----@param p1 table
----@param p2 table
----@param p3 table
----@param p4 table
----@return any rayCollision
-function RL.GetRayCollisionQuad( ray, p1, p2, p3, p4 ) end
-
----Get cell positions inside box that intersect with the ray. Also returns ray exit point. Returns empty table if ray misses the box
----- Success return Vector3{}, RayCollision|nil
----@param ray any
----@param box any
----@param cellSize table
----@return any cells
----@return any exitPoint
-function RL.GetRayBoxCells( ray, box, cellSize ) end
-
--- Audio - Audio device management functions
-
----Initialize audio device and context
----@return any RL.InitAudioDevice
-function RL.InitAudioDevice() end
-
----Close the audio device and context
----@return any RL.CloseAudioDevice
-function RL.CloseAudioDevice() end
-
----Check if audio device has been initialized successfully
----- Success return bool
----@return any isReady
-function RL.IsAudioDeviceReady() end
-
----Set master volume (listener)
----@param volume number
----@return any RL.SetMasterVolume
-function RL.SetMasterVolume( volume ) end
-
----Get master volume (listener)
----- Success return float
----@return any volume
-function RL.GetMasterVolume() end
-
--- Audio - Wave/Sound loading/unloading functions
-
----Load sound from file
----- Failure return nil
----- Success return Sound
----@param fileName string
----@return any sound
-function RL.LoadSound( fileName ) end
-
----Load wave data from file
----- Failure return nil
----- Success return Wave
----@param fileName string
----@return any wave
-function RL.LoadWave( fileName ) end
-
----Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
----- Success return Wave
----@param fileType string
----@param data any
----@return any wave
-function RL.LoadWaveFromMemory( fileType, data ) end
-
----Checks if wave data is valid (data loaded and parameters)
----- Success return bool
----@param wave any
----@return any isValid
-function RL.IsWaveValid( wave ) end
-
----Load sound from wave data
----- Success return Sound
----@param wave any
----@return any sound
-function RL.LoadSoundFromWave( wave ) end
-
----Create a new sound that shares the same sample data as the source sound, does not own the sound data
----- Success return Sound
----@param source any
----@return any sound
-function RL.LoadSoundAlias( source ) end
-
----Checks if a sound is valid (data loaded and buffers initialized)
----- Success return bool
----@param sound any
----@return any isValid
-function RL.IsSoundValid( sound ) end
-
----Update sound buffer with new data
----@param sound any
----@param data any
----@param sampleCount integer
----@return any RL.UpdateSound
-function RL.UpdateSound( sound, data, sampleCount ) end
-
----Unload wave data
----@param wave any
----@return any RL.UnloadWave
-function RL.UnloadWave( wave ) end
-
----Unload sound
----@param sound any
----@return any RL.UnloadSound
-function RL.UnloadSound( sound ) end
-
----Unload a sound alias (does not deallocate sample data)
----@param alias any
----@return any RL.UnloadSoundAlias
-function RL.UnloadSoundAlias( alias ) end
-
----Export wave data to file, returns true on success
----- Success return bool
----@param wave any
----@param fileName string
----@return any success
-function RL.ExportWave( wave, fileName ) end
-
----Export wave sample data to code (.h), returns true on success
----- Success return true
----@param wave any
----@param fileName string
----@return any success
-function RL.ExportWaveAsCode( wave, fileName ) end
-
--- Audio - Wave/Sound management functions
-
----Play a sound
----@param sound any
----@return any RL.PlaySound
-function RL.PlaySound( sound ) end
-
----Stop playing a sound
----@param sound any
----@return any RL.StopSound
-function RL.StopSound( sound ) end
-
----Pause a sound
----@param sound any
----@return any RL.PauseSound
-function RL.PauseSound( sound ) end
-
----Resume a paused sound
----@param sound any
----@return any RL.ResumeSound
-function RL.ResumeSound( sound ) end
-
----Check if a sound is currently playing
----- Success return bool
----@param sound any
----@return any playing
-function RL.IsSoundPlaying( sound ) end
-
----Set volume for a sound (1.0 is max level)
----@param sound any
----@param volume number
----@return any RL.SetSoundVolume
-function RL.SetSoundVolume( sound, volume ) end
-
----Set pitch for a sound (1.0 is base level)
----@param sound any
----@param pitch number
----@return any RL.SetSoundPitch
-function RL.SetSoundPitch( sound, pitch ) end
-
----Set pan for a sound (0.5 is center)
----@param sound any
----@param pan number
----@return any RL.SetSoundPan
-function RL.SetSoundPan( sound, pan ) end
-
----Get sound audio stream. Return as lightuserdata
----- Success return AudioStream
----@param sound any
----@return any stream
-function RL.GetSoundStream( sound ) end
-
----Convert wave data to desired format
----@param wave any
----@param sampleRate integer
----@param sampleSize integer
----@param channels integer
----@return any RL.WaveFormat
-function RL.WaveFormat( wave, sampleRate, sampleSize, channels ) end
-
----Load samples data from wave as a 32bit float data array
----- Success return float{}
----@param wave any
----@return any samples
-function RL.LoadWaveSamples( wave ) end
-
----Copy a wave to a new wave
----- Success return Wave
----@param wave any
----@return any wave
-function RL.WaveCopy( wave ) end
-
----Crop a wave to defined samples range
----@param wave any
----@param initSample integer
----@param finalSample integer
----@return any RL.WaveCrop
-function RL.WaveCrop( wave, initSample, finalSample ) end
-
--- Audio - Music management functions
-
----Load music stream from file
----- Success return Music
----@param fileName string
----@return any music
-function RL.LoadMusicStream( fileName ) end
-
----Load music stream from data
----- Success return Music
----@param fileType string
----@param data any
----@return any music
-function RL.LoadMusicStreamFromMemory( fileType, data ) end
-
----Checks if a music stream is valid (context and buffers initialized)
----- Success return bool
----@param music any
----@return any isValid
-function RL.IsMusicValid( music ) end
-
----Unload music stream
----@param music any
----@return any RL.UnloadMusicStream
-function RL.UnloadMusicStream( music ) end
-
----Start music playing
----@param music any
----@return any RL.PlayMusicStream
-function RL.PlayMusicStream( music ) end
-
----Check if music is playing
----- Success return bool
----@param music any
----@return any playing
-function RL.IsMusicStreamPlaying( music ) end
-
----Updates buffers for music streaming
----@param music any
----@return any RL.UpdateMusicStream
-function RL.UpdateMusicStream( music ) end
-
----Stop music playing
----@param music any
----@return any RL.StopMusicStream
-function RL.StopMusicStream( music ) end
-
----Pause music playing
----@param music any
----@return any RL.PauseMusicStream
-function RL.PauseMusicStream( music ) end
-
----Resume playing paused music
----@param music any
----@return any RL.ResumeMusicStream
-function RL.ResumeMusicStream( music ) end
-
----Seek music to a position (in seconds)
----@param music any
----@param position number
----@return any RL.SeekMusicStream
-function RL.SeekMusicStream( music, position ) end
-
----Set volume for music (1.0 is max level)
----@param music any
----@param volume number
----@return any RL.SetMusicVolume
-function RL.SetMusicVolume( music, volume ) end
-
----Set pitch for a music (1.0 is base level)
----@param music any
----@param pitch number
----@return any RL.SetMusicPitch
-function RL.SetMusicPitch( music, pitch ) end
-
----Set pan for a music (0.5 is center)
----@param music any
----@param pan number
----@return any RL.SetMusicPan
-function RL.SetMusicPan( music, pan ) end
-
----Set looping for a music
----@param music any
----@param looping boolean
----@return any RL.SetMusicLooping
-function RL.SetMusicLooping( music, looping ) end
-
----Get looping of a music
----- Success return bool
----@param music any
----@return any looping
-function RL.GetMusicLooping( music ) end
-
----Get music time length (in seconds)
----- Success return float
----@param music any
----@return any length
-function RL.GetMusicTimeLength( music ) end
-
----Get current music time played (in seconds)
----- Success return float
----@param music any
----@return any timePlayed
-function RL.GetMusicTimePlayed( music ) end
-
----Get music audio stream. Return as lightuserdata
----- Success return AudioStream
----@param music any
----@return any stream
-function RL.GetMusicStream( music ) end
-
--- Audio - AudioStream management functions
-
----Load audio stream (to stream raw audio pcm data)
----- Success return AudioStream
----@param sampleRate integer
----@param sampleSize integer
----@param channels integer
----@return any audioStream
-function RL.LoadAudioStream( sampleRate, sampleSize, channels ) end
-
----Checks if an audio stream is valid (buffers initialized)
----- Success return bool
----@param stream any
----@return any isValid
-function RL.IsAudioStreamValid( stream ) end
-
----Unload audio stream and free memory
----@param stream any
----@return any RL.UnloadAudioStream
-function RL.UnloadAudioStream( stream ) end
-
----Update audio stream buffers with data
----@param stream any
----@param data any
----@param frameCount integer
----@return any RL.UpdateAudioStream
-function RL.UpdateAudioStream( stream, data, frameCount ) end
-
----Check if any audio stream buffers requires refill
----- Success return bool
----@param stream any
----@return any isProcessed
-function RL.IsAudioStreamProcessed( stream ) end
-
----Play audio stream
----@param stream any
----@return any RL.PlayAudioStream
-function RL.PlayAudioStream( stream ) end
-
----Pause audio stream
----@param stream any
----@return any RL.PauseAudioStream
-function RL.PauseAudioStream( stream ) end
-
----Resume audio stream
----@param stream any
----@return any RL.ResumeAudioStream
-function RL.ResumeAudioStream( stream ) end
-
----Check if audio stream is playing
----- Success return bool
----@param stream any
----@return any isPlaying
-function RL.IsAudioStreamPlaying( stream ) end
-
----Stop audio stream
----@param stream any
----@return any RL.StopAudioStream
-function RL.StopAudioStream( stream ) end
-
----Set volume for audio stream (1.0 is max level)
----@param stream any
----@param volume number
----@return any RL.SetAudioStreamVolume
-function RL.SetAudioStreamVolume( stream, volume ) end
-
----Set pitch for audio stream (1.0 is base level)
----@param stream any
----@param pitch number
----@return any RL.SetAudioStreamPitch
-function RL.SetAudioStreamPitch( stream, pitch ) end
-
----Set pan for audio stream (0.5 is centered)
----@param stream any
----@param pan number
----@return any RL.SetAudioStreamPan
-function RL.SetAudioStreamPan( stream, pan ) end
-
----Default size for new audio streams
----@param size integer
----@return any RL.SetAudioStreamBufferSizeDefault
-function RL.SetAudioStreamBufferSizeDefault( size ) end
-
----Audio thread callback to request new data.
----AudioCallback should be lightuserdata function pointer
----@param stream any
----@param callback any
----@return any RL.SetAudioStreamCallback
-function RL.SetAudioStreamCallback( stream, callback ) end
-
----Attach audio stream processor to stream, receives the samples as 'float'.
----AudioCallback should be lightuserdata function pointer
----@param stream any
----@param processor any
----@return any RL.AttachAudioStreamProcessor
-function RL.AttachAudioStreamProcessor( stream, processor ) end
-
----Detach audio stream processor from stream.
----AudioCallback should be lightuserdata function pointer
----@param stream any
----@param processor any
----@return any RL.DetachAudioStreamProcessor
-function RL.DetachAudioStreamProcessor( stream, processor ) end
-
----Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'.
----AudioCallback should be lightuserdata function pointer
----@param processor any
----@return any RL.AttachAudioMixedProcessor
-function RL.AttachAudioMixedProcessor( processor ) end
-
----Detach audio stream processor from the entire audio pipeline.
----AudioCallback should be lightuserdata function pointer
----@param processor any
----@return any RL.DetachAudioMixedProcessor
-function RL.DetachAudioMixedProcessor( processor ) end
-
--- Math - Utils
-
----Round float value
----- Success return int
----@param value number
----@return any result
-function RL.Round( value ) end
-
----Sign of value
----- Success return int
----@param value number
----@return any result
-function RL.Sign( value ) end
-
----Clamp float value
----- Success return float
----@param value number
----@param min number
----@param max number
----@return any result
-function RL.Clamp( value, min, max ) end
-
----Calculate linear interpolation between two floats
----- Success return float
----@param a number
----@param b number
----@param amount number
----@return any result
-function RL.Lerp( a, b, amount ) end
-
----Normalize input value within input range
----- Success return float
----@param value number
----@param a number
----@param b number
----@return any result
-function RL.Normalize( value, a, b ) end
-
----Remap input value within input range to output range
----- Success return float
----@param value number
----@param inputStart number
----@param inputEnd number
----@param outputStart number
----@param outputEnd number
----@return any result
-function RL.Remap( value, inputStart, inputEnd, outputStart, outputEnd ) end
-
----Wrap input value from min to max
----- Success return float
----@param value number
----@param min number
----@param max number
----@return any result
-function RL.Wrap( value, min, max ) end
-
----Check whether two given floats are almost equal
----- Success return bool
----@param x number
----@param y number
----@return any result
-function RL.FloatEquals( x, y ) end
-
--- Math - Vector2
-
----Vector with components value 0.0f
----- Success return Vector2
----@return any result
-function RL.Vector2Zero() end
-
----Vector with components value 1.0f
----- Success return Vector2
----@return any result
-function RL.Vector2One() end
-
----Add two vectors (v1 + v2)
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Add( v1, v2 ) end
-
----Add vector and float value
----- Success return Vector2
----@param v table
----@param add number
----@return any result
-function RL.Vector2AddValue( v, add ) end
-
----Subtract two vectors (v1 - v2)
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Subtract( v1, v2 ) end
-
----Subtract vector by float value
----- Success return Vector2
----@param v table
----@param sub number
----@return any result
-function RL.Vector2SubtractValue( v, sub ) end
-
----Calculate vector length
----- Success return float
----@param v any
----@return any result
-function RL.Vector2Length( v ) end
-
----Calculate vector square length
----- Success return float
----@param v any
----@return any result
-function RL.Vector2LengthSqr( v ) end
-
----Calculate two vectors dot product
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2DotProduct( v1, v2 ) end
-
----Calculate distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Distance( v1, v2 ) end
-
----Calculate square distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2DistanceSqr( v1, v2 ) end
-
----Calculate angle between two vectors
----NOTE: Angle is calculated from origin point (0, 0)
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Angle( v1, v2 ) end
-
----Calculate angle defined by a two vectors line
----NOTE: Parameters need to be normalized
----Current implementation should be aligned with glm::angle
----- Success return float
----@param a table
----@param b table
----@return any result
-function RL.Vector2LineAngle( a, b ) end
-
----Scale vector (multiply by value)
----- Success return Vector2
----@param v table
----@param scale number
----@return any result
-function RL.Vector2Scale( v, scale ) end
-
----Multiply vector by vector
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Multiply( v1, v2 ) end
-
----Negate vector
----- Success return Vector2
----@param v table
----@return any result
-function RL.Vector2Negate( v ) end
-
----Divide vector by vector
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Divide( v1, v2 ) end
-
----Normalize provided vector
----- Success return Vector2
----@param v table
----@return any result
-function RL.Vector2Normalize( v ) end
-
----Transforms a Vector2 by a given Matrix
----- Success return Vector2
----@param v table
----@param mat table
----@return any result
-function RL.Vector2Transform( v, mat ) end
-
----Calculate linear interpolation between two vectors
----- Success return Vector2
----@param v1 table
----@param v2 table
----@param amount number
----@return any result
-function RL.Vector2Lerp( v1, v2, amount ) end
-
----Calculate reflected vector to normal
----- Success return Vector2
----@param v table
----@param normal table
----@return any result
-function RL.Vector2Reflect( v, normal ) end
-
----Get min value for each pair of components
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Min( v1, v2 ) end
-
----Get max value for each pair of components
----- Success return Vector2
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Max( v1, v2 ) end
-
----Rotate vector by angle
----- Success return Vector2
----@param v table
----@param angle number
----@return any result
-function RL.Vector2Rotate( v, angle ) end
-
----Move Vector towards target
----- Success return Vector2
----@param v table
----@param target table
----@param maxDistance number
----@return any result
-function RL.Vector2MoveTowards( v, target, maxDistance ) end
-
----Invert the given vector
----- Success return Vector2
----@param v table
----@return any result
-function RL.Vector2Invert( v ) end
-
----Clamp the components of the vector between
----min and max values specified by the given vectors
----- Success return Vector2
----@param v table
----@param min table
----@param max table
----@return any result
-function RL.Vector2Clamp( v, min, max ) end
-
----Clamp the magnitude of the vector between two min and max values
----- Success return Vector2
----@param v table
----@param min number
----@param max number
----@return any result
-function RL.Vector2ClampValue( v, min, max ) end
-
----Check whether two given vectors are almost equal
----- Success return bool
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector2Equals( v1, v2 ) end
-
----Compute the direction of a refracted ray
----v: normalized direction of the incoming ray
----n: normalized normal vector of the interface of two optical media
----r: ratio of the refractive index of the medium from where the ray comes
---- to the refractive index of the medium on the other side of the surface
----- Success return Vector2
----@param v table
----@param n table
----@param r number
----@return any result
-function RL.Vector2Refract( v, n, r ) end
-
--- Math - Vector 3
-
----Vector with components value 0.0f
----- Success return Vector3
----@return any result
-function RL.Vector3Zero() end
-
----Vector with components value 1.0f
----- Success return Vector3
----@return any result
-function RL.Vector3One() end
-
----Add two vectors
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Add( v1, v2 ) end
-
----Add vector and float value
----- Success return Vector3
----@param v table
----@param add number
----@return any result
-function RL.Vector3AddValue( v, add ) end
-
----Subtract two vectors
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Subtract( v1, v2 ) end
-
----Subtract vector by float value
----- Success return Vector3
----@param v table
----@param sub number
----@return any result
-function RL.Vector3SubtractValue( v, sub ) end
-
----Multiply vector by scalar
----- Success return Vector3
----@param v table
----@param scalar number
----@return any result
-function RL.Vector3Scale( v, scalar ) end
-
----Multiply vector by vector
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Multiply( v1, v2 ) end
-
----Calculate two vectors cross product
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3CrossProduct( v1, v2 ) end
-
----Calculate one vector perpendicular vector
----- Success return Vector3
----@param v table
----@return any result
-function RL.Vector3Perpendicular( v ) end
-
----Calculate vector length
----- Success return float
----@param v table
----@return any result
-function RL.Vector3Length( v ) end
-
----Calculate vector square length
----- Success return float
----@param v table
----@return any result
-function RL.Vector3LengthSqr( v ) end
-
----Calculate two vectors dot product
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3DotProduct( v1, v2 ) end
-
----Calculate distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Distance( v1, v2 ) end
-
----Calculate square distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3DistanceSqr( v1, v2 ) end
-
----Calculate angle between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Angle( v1, v2 ) end
-
----Negate provided vector (invert direction)
----- Success return Vector3
----@param v table
----@return any result
-function RL.Vector3Negate( v ) end
-
----Divide vector by vector
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Divide( v1, v2 ) end
-
----Normalize provided vector
----- Success return Vector3
----@param v table
----@return any result
-function RL.Vector3Normalize( v ) end
-
----Calculate the projection of the vector v1 on to v2
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Project( v1, v2 ) end
-
----Calculate the rejection of the vector v1 on to v2
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Reject( v1, v2 ) end
-
----Orthonormalize provided vectors. Makes vectors normalized and orthogonal to each other.
----Gram-Schmidt function implementation
----- Success return Vector3, Vector3
----@param v1 table
----@param v2 table
----@return any v1
----@return any v2
-function RL.Vector3OrthoNormalize( v1, v2 ) end
-
----Transforms a Vector3 by a given Matrix
----- Success return Vector3
----@param v table
----@param mat table
----@return any result
-function RL.Vector3Transform( v, mat ) end
-
----Transform a vector by quaternion rotation
----- Success return Vector3
----@param v table
----@param q table
----@return any result
-function RL.Vector3RotateByQuaternion( v, q ) end
-
----Rotates a vector around an axis
----- Success return Vector3
----@param v table
----@param axis table
----@param angle number
----@return any result
-function RL.Vector3RotateByAxisAngle( v, axis, angle ) end
-
----Move Vector towards target
----- Success return Vector3
----@param v table
----@param target table
----@param maxDistance number
----@return any result
-function RL.Vector3MoveTowards( v, target, maxDistance ) end
-
----Calculate linear interpolation between two vectors
----- Success return Vector3
----@param v1 table
----@param v2 table
----@param amount number
----@return any result
-function RL.Vector3Lerp( v1, v2, amount ) end
-
----Calculate cubic hermite interpolation between two vectors and their tangents
----as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic
----- Success return Vector3
----@param v1 table
----@param tangent1 table
----@param v2 table
----@param tangent2 table
----@param amount number
----@return any result
-function RL.Vector3CubicHermite( v1, tangent1, v2, tangent2, amount ) end
-
----Calculate reflected vector to normal
----- Success return Vector3
----@param v table
----@param normal table
----@return any result
-function RL.Vector3Reflect( v, normal ) end
-
----Get min value for each pair of components
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Min( v1, v2 ) end
-
----Get max value for each pair of components
----- Success return Vector3
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Max( v1, v2 ) end
-
----Compute barycenter coordinates (u, v, w) for point p with respect to triangle (a, b, c)
----NOTE: Assumes P is on the plane of the triangle
----- Success return Vector3
----@param p table
----@param a table
----@param b table
----@param c table
----@return any result
-function RL.Vector3Barycenter( p, a, b, c ) end
-
----Projects a Vector3 from screen space into object space
----NOTE: We are avoiding calling other raymath functions despite available
----- Success return Vector3
----@param source table
----@param projection table
----@param view table
----@return any result
-function RL.Vector3Unproject( source, projection, view ) end
-
----Invert the given vector
----- Success return Vector3
----@param v table
----@return any result
-function RL.Vector3Invert( v ) end
-
----Clamp the components of the vector between
----min and max values specified by the given vectors
----- Success return Vector3
----@param v table
----@param min table
----@param max table
----@return any result
-function RL.Vector3Clamp( v, min, max ) end
-
----Clamp the magnitude of the vector between two values
----- Success return Vector3
----@param v table
----@param min number
----@param max number
----@return any result
-function RL.Vector3ClampValue( v, min, max ) end
-
----Check whether two given vectors are almost equal
----- Success return bool
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector3Equals( v1, v2 ) end
-
----Compute the direction of a refracted ray where v specifies the
----normalized direction of the incoming ray, n specifies the
----normalized normal vector of the interface of two optical media,
----and r specifies the ratio of the refractive index of the medium
----from where the ray comes to the refractive index of the medium
----on the other side of the surface
----- Success return Vector3
----@param v table
----@param n table
----@param r number
----@return any result
-function RL.Vector3Refract( v, n, r ) end
-
--- Math - Vector4
-
----Vector with components value 0.0f
----- Success return Vector4
----@return any result
-function RL.Vector4Zero() end
-
----Vector with components value 1.0f
----- Success return Vector4
----@return any result
-function RL.Vector4One() end
-
----Add two vectors
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Add( v1, v2 ) end
-
----Add vector and float value
----- Success return Vector4
----@param v table
----@param add number
----@return any result
-function RL.Vector4AddValue( v, add ) end
-
----Subtract two vectors
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Subtract( v1, v2 ) end
-
----Subtract vector by float value
----- Success return Vector4
----@param v table
----@param sub number
----@return any result
-function RL.Vector4SubtractValue( v, sub ) end
-
----Calculate vector length
----- Success return float
----@param v table
----@return any result
-function RL.Vector4Length( v ) end
-
----Calculate vector square length
----- Success return float
----@param v table
----@return any result
-function RL.Vector4LengthSqr( v ) end
-
----Calculate two vectors dot product
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4DotProduct( v1, v2 ) end
-
----Calculate distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Distance( v1, v2 ) end
-
----Calculate square distance between two vectors
----- Success return float
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4DistanceSqr( v1, v2 ) end
-
----Multiply vector by scalar
----- Success return Vector4
----@param v table
----@param scalar number
----@return any result
-function RL.Vector4Scale( v, scalar ) end
-
----Multiply vector by vector
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Multiply( v1, v2 ) end
-
----Negate provided vector (invert direction)
----- Success return Vector4
----@param v table
----@return any result
-function RL.Vector4Negate( v ) end
-
----Divide vector by vector
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Divide( v1, v2 ) end
-
----Normalize provided vector
----- Success return Vector4
----@param v table
----@return any result
-function RL.Vector4Normalize( v ) end
-
----Get min value for each pair of components
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Min( v1, v2 ) end
-
----Get max value for each pair of components
----- Success return Vector4
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Max( v1, v2 ) end
-
----Calculate linear interpolation between two vectors
----- Success return Vector4
----@param v1 table
----@param v2 table
----@param amount number
----@return any result
-function RL.Vector4Lerp( v1, v2, amount ) end
-
----Move Vector towards target
----- Success return Vector4
----@param v table
----@param target table
----@param maxDistance number
----@return any result
-function RL.Vector4MoveTowards( v, target, maxDistance ) end
-
----Invert the given vector
----- Success return Vector4
----@param v table
----@return any result
-function RL.Vector4Invert( v ) end
-
----Check whether two given vectors are almost equal
----- Success return bool
----@param v1 table
----@param v2 table
----@return any result
-function RL.Vector4Equals( v1, v2 ) end
-
--- Math - Matrix
-
----Compute matrix determinant
----- Success return float
----@param mat table
----@return any result
-function RL.MatrixDeterminant( mat ) end
-
----Get the trace of the matrix (sum of the values along the diagonal)
----- Success return float
----@param mat table
----@return any result
-function RL.MatrixTrace( mat ) end
-
----Transposes provided matrix
----- Success return Matrix
----@param mat table
----@return any result
-function RL.MatrixTranspose( mat ) end
-
----Invert provided matrix
----- Success return Matrix
----@param mat table
----@return any result
-function RL.MatrixInvert( mat ) end
-
----Get identity matrix
----- Success return Matrix
----@return any result
-function RL.MatrixIdentity() end
-
----Add two matrices
----- Success return Matrix
----@param left table
----@param right table
----@return any result
-function RL.MatrixAdd( left, right ) end
-
----Subtract two matrices (left - right)
----- Success return Matrix
----@param left table
----@param right table
----@return any result
-function RL.MatrixSubtract( left, right ) end
-
----Get two matrix multiplication
----- Success return Matrix
----@param left table
----@param right table
----@return any result
-function RL.MatrixMultiply( left, right ) end
-
----Get translation matrix
----- Success return Matrix
----@param translate table
----@return any result
-function RL.MatrixTranslate( translate ) end
-
----Create rotation matrix from axis and angle. NOTE: Angle should be provided in radians
----- Success return Matrix
----@param axis table
----@param angle number
----@return any result
-function RL.MatrixRotate( axis, angle ) end
-
----Get x-rotation matrix (angle in radians)
----- Success return Matrix
----@param angle number
----@return any result
-function RL.MatrixRotateX( angle ) end
-
----Get y-rotation matrix (angle in radians)
----- Success return Matrix
----@param angle number
----@return any result
-function RL.MatrixRotateY( angle ) end
-
----Get z-rotation matrix (angle in radians)
----- Success return Matrix
----@param angle number
----@return any result
-function RL.MatrixRotateZ( angle ) end
-
----Get xyz-rotation matrix (angles in radians)
----- Success return Matrix
----@param angles table
----@return any result
-function RL.MatrixRotateXYZ( angles ) end
-
----Get zyx-rotation matrix (angles in radians)
----- Success return Matrix
----@param angles table
----@return any result
-function RL.MatrixRotateZYX( angles ) end
-
----Get scaling matrix
----- Success return Matrix
----@param scale table
----@return any result
-function RL.MatrixScale( scale ) end
-
----Get perspective projection matrix
----- Success return Matrix
----@param left any
----@param right any
----@param bottom any
----@param top any
----@param near any
----@param far any
----@return any result
-function RL.MatrixFrustum( left, right, bottom, top, near, far ) end
-
----Get perspective projection matrix
----- Success return Matrix
----@param fovy any
----@param aspect any
----@param near any
----@param far any
----@return any result
-function RL.MatrixPerspective( fovy, aspect, near, far ) end
-
----Get orthographic projection matrix
----- Success return Matrix
----@param left any
----@param right any
----@param bottom any
----@param top any
----@param near any
----@param far any
----@return any result
-function RL.MatrixOrtho( left, right, bottom, top, near, far ) end
-
----Get camera look-at matrix (View matrix)
----- Success return Matrix
----@param eye table
----@param target table
----@param up table
----@return any result
-function RL.MatrixLookAt( eye, target, up ) end
-
----Decompose a transformation matrix into its rotational, translational and scaling components
----- Success return Vector3, Quaternion, Vector3
----@param mat table
----@return any translation
----@return any rotation
----@return any scale
-function RL.MatrixDecompose( mat ) end
-
--- Math - Quaternion
-
----Add two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@return any result
-function RL.QuaternionAdd( q1, q2 ) end
-
----Add quaternion and float value
----- Success return Quaternion
----@param q table
----@param add number
----@return any result
-function RL.QuaternionAddValue( q, add ) end
-
----Subtract two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@return any result
-function RL.QuaternionSubtract( q1, q2 ) end
-
----Subtract quaternion and float value
----- Success return Quaternion
----@param q table
----@param sub number
----@return any result
-function RL.QuaternionSubtractValue( q, sub ) end
-
----Get identity quaternion
----- Success return Quaternion
----@return any result
-function RL.QuaternionIdentity() end
-
----Computes the length of a quaternion
----- Success return float
----@param q table
----@return any result
-function RL.QuaternionLength( q ) end
-
----Normalize provided quaternion
----- Success return Quaternion
----@param q table
----@return any result
-function RL.QuaternionNormalize( q ) end
-
----Invert provided quaternion
----- Success return Quaternion
----@param q table
----@return any result
-function RL.QuaternionInvert( q ) end
-
----Calculate two quaternion multiplication
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@return any result
-function RL.QuaternionMultiply( q1, q2 ) end
-
----Scale quaternion by float value
----- Success return Quaternion
----@param q table
----@param mul number
----@return any result
-function RL.QuaternionScale( q, mul ) end
-
----Divide two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@return any result
-function RL.QuaternionDivide( q1, q2 ) end
-
----Calculate linear interpolation between two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@param amount number
----@return any result
-function RL.QuaternionLerp( q1, q2, amount ) end
-
----Calculate slerp-optimized interpolation between two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@param amount number
----@return any result
-function RL.QuaternionNlerp( q1, q2, amount ) end
-
----Calculates spherical linear interpolation between two quaternions
----- Success return Quaternion
----@param q1 table
----@param q2 table
----@param amount number
----@return any result
-function RL.QuaternionSlerp( q1, q2, amount ) end
-
----Calculate quaternion cubic spline interpolation using Cubic Hermite Spline algorithm
----as described in the GLTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#interpolation-cubic
----- Success return Quaternion
----@param q1 table
----@param outTangent1 table
----@param q2 table
----@param inTangent2 table
----@param t number
----@return any result
-function RL.QuaternionCubicHermiteSpline( q1, outTangent1, q2, inTangent2, t ) end
-
----Calculate quaternion based on the rotation from one vector to another
----- Success return Quaternion
----@param from table
----@param to table
----@return any result
-function RL.QuaternionFromVector3ToVector3( from, to ) end
-
----Get a quaternion for a given rotation matrix
----- Success return Quaternion
----@param mat table
----@return any result
-function RL.QuaternionFromMatrix( mat ) end
-
----Get a matrix for a given quaternion
----- Success return Matrix
----@param q table
----@return any result
-function RL.QuaternionToMatrix( q ) end
-
----Get rotation quaternion for an angle and axis
----NOTE: angle must be provided in radians
----- Success return Quaternion
----@param axis table
----@param angle number
----@return any result
-function RL.QuaternionFromAxisAngle( axis, angle ) end
-
----Get the rotation angle and axis for a given quaternion
----- Success return Vector3, float
----@param q table
----@return any axis
----@return any angle
-function RL.QuaternionToAxisAngle( q ) end
-
----Get the quaternion equivalent to Euler angles
----NOTE: Rotation order is ZYX
----- Success return Quaternion
----@param pitch number
----@param yaw number
----@param roll number
----@return any result
-function RL.QuaternionFromEuler( pitch, yaw, roll ) end
-
----Get the Euler angles equivalent to quaternion (roll, pitch, yaw)
----NOTE: Angles are returned in a Vector3 struct in radians
----- Success return Vector3
----@param q table
----@return any result
-function RL.QuaternionToEuler( q ) end
-
----Transform a quaternion given a transformation matrix
----- Success return Quaternion
----@param q table
----@param mat table
----@return any result
-function RL.QuaternionTransform( q, mat ) end
-
----Check whether two given quaternions are almost equal
----- Success return bool
----@param q1 table
----@param q2 table
----@return any result
-function RL.QuaternionEquals( q1, q2 ) end
-
--- Math - Frustum
-
----Extract frustum from projection and modelView matrices.
----- Success return Vector4{}
----@param projection table
----@param modelview table
----@return any frustum
-function RL.ExtractFrustum( projection, modelview ) end
-
----Check if point inside frustum
----- Success return bool
----@param frustum table
----@param position table
----@return any inFrustum
-function RL.PointInFrustum( frustum, position ) end
-
----Check if sphere inside frustum
----- Success return bool
----@param frustum table
----@param position table
----@return any inFrustum
-function RL.SphereInFrustum( frustum, position ) end
-
----Check if AABB inside frustum
----- Success return bool
----@param frustum table
----@param min table
----@param max table
----@return any inFrustum
-function RL.AABBInFrustum( frustum, min, max ) end
-
--- Gui - Global gui state control functions
-
----Enable gui controls (global state)
----@return any RL.GuiEnable
-function RL.GuiEnable() end
-
----Disable gui controls (global state)
----@return any RL.GuiDisable
-function RL.GuiDisable() end
-
----Lock gui controls (global state)
----@return any RL.GuiLock
-function RL.GuiLock() end
-
----Unlock gui controls (global state)
----@return any RL.GuiUnlock
-function RL.GuiUnlock() end
-
----Check if gui is locked (global state)
----- Success return bool
----@return any locked
-function RL.GuiIsLocked() end
-
----Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f
----@param alpha number
----@return any RL.GuiSetAlpha
-function RL.GuiSetAlpha( alpha ) end
-
----Set gui state (global state)
----@param state integer
----@return any RL.GuiSetState
-function RL.GuiSetState( state ) end
-
----Get gui state (global state)
----- Success return int
----@return any state
-function RL.GuiGetState() end
-
----Set guiSliderDragging
----@param dragging boolean
----@return any RL.GuiSetSliderDragging
-function RL.GuiSetSliderDragging( dragging ) end
-
----Get guiSliderDragging
----- Success return bool
----@return any isSliderDragging
-function RL.GuiGetSliderDragging() end
-
----Set guiSliderActive
----@param rect any
----@return any RL.GuiSetSliderActive
-function RL.GuiSetSliderActive( rect ) end
-
----Get guiSliderActive
----- Success return Rectangle
----@return any isSliderDragging
-function RL.GuiGetSliderActive() end
-
--- Gui - Font set/get functions
-
----Set gui custom font (global state)
----@param font any
----@return any RL.GuiSetFont
-function RL.GuiSetFont( font ) end
-
----Get gui font (global state). Return as lightuserdata
----- Success return Font
----@return any font
-function RL.GuiGetFont() end
-
--- Gui - Style set/get functions
-
----Set one style property
----@param control integer
----@param property integer
----@param value integer
----@return any RL.GuiSetStyle
-function RL.GuiSetStyle( control, property, value ) end
-
----Get one style property
----- Success return int
----@param control integer
----@param property integer
----@return any value
-function RL.GuiGetStyle( control, property ) end
-
--- Gui - Styles loading functions
-
----Load style file over global style variable (.rgs)
----- Failure return nil
----- Success return true
----@param fileName string
----@return any success
-function RL.GuiLoadStyle( fileName ) end
-
----Load style default over global style
----@return any RL.GuiLoadStyleDefault
-function RL.GuiLoadStyleDefault() end
-
--- Gui - Tooltips management functions
-
----Enable gui tooltips (global state)
----@return any RL.GuiEnableTooltip
-function RL.GuiEnableTooltip() end
-
----Disable gui tooltips (global state)
----@return any RL.GuiDisableTooltip
-function RL.GuiDisableTooltip() end
-
----Set tooltip string
----@param tooltip string
----@return any RL.GuiSetTooltip
-function RL.GuiSetTooltip( tooltip ) end
-
--- Gui - Icons functionality
-
----Get text with icon id prepended (if supported)
----- Success return string
----@param iconId integer
----@param text string|nil
----@return any text
-function RL.GuiIconText( iconId, text ) end
-
----Set icon scale (1 by default)
----@param scale integer
----@return any RL.GuiSetIconScale
-function RL.GuiSetIconScale( scale ) end
-
----Get raygui icons data in buffer. guiIcons size is by default: 256*(16*16/32) = 2048*4 = 8192 bytes = 8 KB
----- Success return Buffer
----@return any iconsBuffer
-function RL.GuiGetIcons() end
-
----Set raygui icons data in buffer. guiIcons size is by default: 256*(16*16/32) = 2048*4 = 8192 bytes = 8 KB
----- Failure return false
----- Success return true
----@param iconBuffer any
----@return any success
-function RL.GuiSetIcons( iconBuffer ) end
-
----Load raygui icons file (.rgi) into internal icons data
----- Failure return nil
----- Success return strings{}
----@param fileName string
----@param loadIconsName boolean
----@return any iconNames
-function RL.GuiLoadIcons( fileName, loadIconsName ) end
-
----Draw icon
----@param iconId integer
----@param pos table
----@param pixelSize integer
----@param color table
----@return any RL.GuiDrawIcon
-function RL.GuiDrawIcon( iconId, pos, pixelSize, color ) end
-
--- Gui - Container/separator controls, useful for controls organization
-
----Window Box control, shows a window that can be closed
----- Success return int
----@param bounds table
----@param title string|nil
----@return any result
-function RL.GuiWindowBox( bounds, title ) end
-
----Group Box control with text name
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiGroupBox( bounds, text ) end
-
----Line separator control, could contain text
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiLine( bounds, text ) end
-
----Panel control, useful to group controls
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiPanel( bounds, text ) end
-
----Tab Bar control, returns TAB to be closed or -1
----- Success return int, int
----@param bounds table
----@param text string
----@param active integer
----@return any result
----@return any active
-function RL.GuiTabBar( bounds, text, active ) end
-
----Scroll Panel control
----- Success return int, Vector2, Rectangle
----@param bounds table
----@param text string|nil
----@param content table
----@param scroll table
----@param view table
----@return any result
----@return any scroll
----@return any view
-function RL.GuiScrollPanel( bounds, text, content, scroll, view ) end
-
--- Gui - Basic controls set
-
----Label control, shows text
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiLabel( bounds, text ) end
-
----Button control, returns true when clicked
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiButton( bounds, text ) end
-
----Label button control, show true when clicked
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiLabelButton( bounds, text ) end
-
----Toggle Button control, returns true when active
----- Success return int, bool
----@param bounds table
----@param text string|nil
----@param active boolean
----@return any result
----@return any active
-function RL.GuiToggle( bounds, text, active ) end
-
----Toggle Group control, returns active toggle index
----- Success return int, int
----@param bounds table
----@param text string|nil
----@param active integer
----@return any result
----@return any active
-function RL.GuiToggleGroup( bounds, text, active ) end
-
----Toggle Slider control, returns true when clicked
----- Success return int, int
----@param bounds table
----@param text string|nil
----@param active integer
----@return any result
----@return any active
-function RL.GuiToggleSlider( bounds, text, active ) end
-
----Check Box control, returns true when active
----- Success return bool, Rectangle
----@param bounds table
----@param text string|nil
----@param checked boolean
----@return any result
----@return any checked
----@return any textBounds
-function RL.GuiCheckBox( bounds, text, checked ) end
-
----Combo Box control, returns selected item index
----- Success return int, int
----@param bounds table
----@param text string|nil
----@param active integer
----@return any result
----@return any active
-function RL.GuiComboBox( bounds, text, active ) end
-
----Dropdown Box control, returns selected item
----- Success return int, int
----@param bounds table
----@param text string
----@param active integer
----@param editMode boolean
----@return any result
----@return any active
-function RL.GuiDropdownBox( bounds, text, active, editMode ) end
-
----Spinner control, returns selected value
----- Success return int, int, Rectangle
----@param bounds table
----@param text string|nil
----@param value integer
----@param minValue integer
----@param maxValue integer
----@param editMode boolean
----@return any result
----@return any value
----@return any textBounds
-function RL.GuiSpinner( bounds, text, value, minValue, maxValue, editMode ) end
-
----Value Box control, updates input text with numbers
----- Success return int, int, Rectangle
----@param bounds table
----@param text string|nil
----@param value integer
----@param minValue integer
----@param maxValue integer
----@param editMode boolean
----@return any result
----@return any value
----@return any textBounds
-function RL.GuiValueBox( bounds, text, value, minValue, maxValue, editMode ) end
-
----Text Box control, updates input text
----- Success return int, string
----@param bounds table
----@param text string
----@param bufferSize integer
----@param editMode boolean
----@return any result
----@return any text
-function RL.GuiTextBox( bounds, text, bufferSize, editMode ) end
-
----Slider control, returns selected value
----- Success return int, float, Rectangle, Rectangle
----@param bounds table
----@param textLeft string|nil
----@param textRight string|nil
----@param value number
----@param minValue number
----@param maxValue number
----@return any result
----@return any value
----@return any textLeftBounds
----@return any textRightBounds
-function RL.GuiSlider( bounds, textLeft, textRight, value, minValue, maxValue ) end
-
----Slider Bar control, returns selected value
----- Success return int, float, Rectangle, Rectangle
----@param bounds table
----@param textLeft string|nil
----@param textRight string|nil
----@param value number
----@param minValue number
----@param maxValue number
----@return any result
----@return any value
----@return any textLeftBounds
----@return any textRightBounds
-function RL.GuiSliderBar( bounds, textLeft, textRight, value, minValue, maxValue ) end
-
----Progress Bar control, shows current progress value
----- Success return int, float, Rectangle, Rectangle
----@param bounds table
----@param textLeft string|nil
----@param textRight string|nil
----@param value number
----@param minValue number
----@param maxValue number
----@return any result
----@return any value
----@return any textLeftBounds
----@return any textRightBounds
-function RL.GuiProgressBar( bounds, textLeft, textRight, value, minValue, maxValue ) end
-
----Status Bar control, shows info text
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiStatusBar( bounds, text ) end
-
----Dummy control for placeholders
----- Success return int
----@param bounds table
----@param text string|nil
----@return any result
-function RL.GuiDummyRec( bounds, text ) end
-
----Grid control, returns mouse cell position
----- Success return int, Vector2
----@param bounds table
----@param text string|nil
----@param spacing number
----@param subdivs integer
----@param mouseCell table
----@return any result
----@return any mouseCell
-function RL.GuiGrid( bounds, text, spacing, subdivs, mouseCell ) end
-
----Scroll bar control
----- Success return int
----@param bounds table
----@param value integer
----@param minValue integer
----@param maxValue integer
----@return any value
-function RL.GuiScrollBar( bounds, value, minValue, maxValue ) end
-
--- Gui - Advance controls set
-
----List View control, returns selected list item index
----- Success return int, int, int
----@param bounds table
----@param text string|nil
----@param scrollIndex integer
----@param active integer
----@return any result
----@return any scrollIndex
----@return any active
-function RL.GuiListView( bounds, text, scrollIndex, active ) end
-
----List View with extended parameters
----- Success return int, int, int, int
----@param bounds table
----@param text string
----@param scrollIndex integer
----@param active integer
----@param focus integer
----@return any result
----@return any scrollIndex
----@return any active
----@return any focus
-function RL.GuiListViewEx( bounds, text, scrollIndex, active, focus ) end
-
----Message Box control, displays a message
----- Success return int
----@param bounds table
----@param title string|nil
----@param message string
----@param buttons string
----@return any result
-function RL.GuiMessageBox( bounds, title, message, buttons ) end
-
----Text Input Box control, ask for text, supports secret
----- Success return int, string, bool
----@param bounds table
----@param title string
----@param message string
----@param buttons string
----@param text string
----@param textMaxSize integer
----@param secretViewActive boolean
----@return any result
----@return any text
----@return any secretViewActive
-function RL.GuiTextInputBox( bounds, title, message, buttons, text, textMaxSize, secretViewActive ) end
-
----Color Picker control (multiple color controls)
----- Success return int, Color
----@param bounds table
----@param text string|nil
----@param color table
----@return any result
----@return any color
-function RL.GuiColorPicker( bounds, text, color ) end
-
----Color Panel control
----- Success return int, Color
----@param bounds table
----@param text string|nil
----@param color table
----@return any result
----@return any color
-function RL.GuiColorPanel( bounds, text, color ) end
-
----Color Bar Alpha control
----- Success return int, float
----@param bounds table
----@param text string|nil
----@param alpha number
----@return any result
----@return any alpha
-function RL.GuiColorBarAlpha( bounds, text, alpha ) end
-
----Color Bar Hue control
----- Success return int, float
----@param bounds table
----@param text string|nil
----@param value number
----@return any result
----@return any value
-function RL.GuiColorBarHue( bounds, text, value ) end
-
----Color Picker control that avoids conversion to RGB on each call (multiple color controls)
----- Success return int, Vector3
----@param bounds table
----@param text string|nil
----@param colorHsv table
----@return any result
----@return any colorHsv
-function RL.GuiColorPickerHSV( bounds, text, colorHsv ) end
-
----Color Panel control that returns HSV color value, used by GuiColorPickerHSV()
----- Success return int, Vector3
----@param bounds table
----@param text string|nil
----@param colorHsv table
----@return any result
----@return any colorHsv
-function RL.GuiColorPanelHSV( bounds, text, colorHsv ) end
-
--- Lights - Light management functions
-
----Create a light and get shader locations
----- Success return Light
----@param type integer
----@param position table
----@param target table
----@param color table
----@param shader any
----@return any light
-function RL.CreateLight( type, position, target, color, shader ) end
-
----Send light properties to shader
----@param shader any
----@param light any
----@return any RL.UpdateLightValues
-function RL.UpdateLightValues( shader, light ) end
-
----Set light type
----@param light any
----@param type integer
----@return any RL.SetLightType
-function RL.SetLightType( light, type ) end
-
----Set light position
----@param light any
----@param position table
----@return any RL.SetLightPosition
-function RL.SetLightPosition( light, position ) end
-
----Set light target
----@param light any
----@param target table
----@return any RL.SetLightTarget
-function RL.SetLightTarget( light, target ) end
-
----Set light color
----@param light any
----@param color table
----@return any RL.SetLightColor
-function RL.SetLightColor( light, color ) end
-
----Set light enabled
----@param light any
----@param enabled boolean
----@return any RL.SetLightEnabled
-function RL.SetLightEnabled( light, enabled ) end
-
----Get light type
----- Success return int
----@param light any
----@return any type
-function RL.GetLightType( light ) end
-
----Get light position
----- Success return Vector3
----@param light any
----@return any position
-function RL.GetLightPosition( light ) end
-
----Get light target
----- Success return Vector3
----@param light any
----@return any target
-function RL.GetLightTarget( light ) end
-
----Get light color
----- Success return Color
----@param light any
----@return any color
-function RL.GetLightColor( light ) end
-
----Get light enabled
----- Success return bool
----@param light any
----@return any enabled
-function RL.IsLightEnabled( light ) end
-
--- RLGL - Matrix operations
-
----Choose the current matrix to be transformed
----@param mode integer
----@return any RL.rlMatrixMode
-function RL.rlMatrixMode( mode ) end
-
----Push the current matrix to stack
----@return any RL.rlPushMatrix
-function RL.rlPushMatrix() end
-
----Pop latest inserted matrix from stack
----@return any RL.rlPopMatrix
-function RL.rlPopMatrix() end
-
----Reset current matrix to identity matrix
----@return any RL.rlLoadIdentity
-function RL.rlLoadIdentity() end
-
----Multiply the current matrix by a translation matrix
----@param translation table
----@return any RL.rlTranslatef
-function RL.rlTranslatef( translation ) end
-
----Multiply the current matrix by a rotation matrix
----@param angle number
----@param rotation table
----@return any RL.rlRotatef
-function RL.rlRotatef( angle, rotation ) end
-
----Multiply the current matrix by a scaling matrix
----@param scale table
----@return any RL.rlScalef
-function RL.rlScalef( scale ) end
-
----Multiply the current matrix by another matrix
----@param matrix table
----@return any RL.rlMultMatrixf
-function RL.rlMultMatrixf( matrix ) end
-
----Multiply the current matrix by a perspective matrix generated by parameters
----@param left number
----@param right number
----@param bottom number
----@param top number
----@param znear number
----@param zfar number
----@return any RL.rlFrustum
-function RL.rlFrustum( left, right, bottom, top, znear, zfar ) end
-
----Multiply the current matrix by an orthographic matrix generated by parameters
----@param left number
----@param right number
----@param bottom number
----@param top number
----@param znear number
----@param zfar number
----@return any RL.rlOrtho
-function RL.rlOrtho( left, right, bottom, top, znear, zfar ) end
-
----Set the viewport area (transformation from normalized device coordinates to window coordinates)
----NOTE: We store current viewport dimensions
----@param viewport table
----@return any RL.rlViewport
-function RL.rlViewport( viewport ) end
-
----Set clip planes distances
----@param nearPlane number
----@param farPlane number
----@return any RL.rlSetClipPlanes
-function RL.rlSetClipPlanes( nearPlane, farPlane ) end
-
----Get cull plane distance near
----- Success return float
----@return any distance
-function RL.rlGetCullDistanceNear() end
-
----Get cull plane distance far
----- Success return float
----@return any distance
-function RL.rlGetCullDistanceFar() end
-
--- RLGL - Vertex level operations
-
----Initialize drawing mode (how to organize vertex)
----@param mode integer
----@return any RL.rlBegin
-function RL.rlBegin( mode ) end
-
----Finish vertex providing
----@return any RL.rlEnd
-function RL.rlEnd() end
-
----Define one vertex (position)
----@param position table
----@return any RL.rlVertex2f
-function RL.rlVertex2f( position ) end
-
----Define one vertex (position)
----@param position table
----@return any RL.rlVertex3f
-function RL.rlVertex3f( position ) end
-
----Define one vertex (texture coordinate) - 2 float
----@param texCoord table
----@return any RL.rlTexCoord2f
-function RL.rlTexCoord2f( texCoord ) end
-
----Define one vertex (normal) - 3 float
----@param normal table
----@return any RL.rlNormal3f
-function RL.rlNormal3f( normal ) end
-
----Define one vertex (color) - 4 byte
----@param color table
----@return any RL.rlColor4ub
-function RL.rlColor4ub( color ) end
-
----Define one vertex (color) - 3 float
----@param color table
----@return any RL.rlColor3f
-function RL.rlColor3f( color ) end
-
----Define one vertex (color) - 4 float
----@param color table
----@return any RL.rlColor4f
-function RL.rlColor4f( color ) end
-
--- RLGL - Vertex buffers state
-
----Enable vertex array (VAO, if supported)
----- Success return bool
----@param vaoId integer
----@return any supported
-function RL.rlEnableVertexArray( vaoId ) end
-
----Disable vertex array (VAO, if supported)
----@return any RL.rlDisableVertexArray
-function RL.rlDisableVertexArray() end
-
----Enable vertex buffer (VBO)
----- Failure return false
----- Success return true
----@param id integer
----@return any RL.rlEnableVertexBuffer
-function RL.rlEnableVertexBuffer( id ) end
-
----Disable vertex buffer (VBO)
----@return any RL.rlDisableVertexBuffer
-function RL.rlDisableVertexBuffer() end
-
----Enable vertex buffer element (VBO element)
----@param id integer
----@return any RL.rlEnableVertexBufferElement
-function RL.rlEnableVertexBufferElement( id ) end
-
----Disable vertex buffer element (VBO element)
----@return any RL.rlDisableVertexBufferElement
-function RL.rlDisableVertexBufferElement() end
-
----Enable vertex attribute index
----@param index integer
----@return any RL.rlEnableVertexAttribute
-function RL.rlEnableVertexAttribute( index ) end
-
----Disable vertex attribute index
----@param index integer
----@return any RL.rlDisableVertexAttribute
-function RL.rlDisableVertexAttribute( index ) end
-
----Enable attribute state pointer
----@param vertexAttribType integer
----@param buffer any
----@return any RL.rlEnableStatePointer
-function RL.rlEnableStatePointer( vertexAttribType, buffer ) end
-
----Disable attribute state pointer
----@param vertexAttribType integer
----@return any RL.rlDisableStatePointer
-function RL.rlDisableStatePointer( vertexAttribType ) end
-
--- RLGL - Textures state
-
----Select and active a texture slot
----@param slot integer
----@return any RL.rlActiveTextureSlot
-function RL.rlActiveTextureSlot( slot ) end
-
----Enable texture
----@param id integer
----@return any RL.rlEnableTexture
-function RL.rlEnableTexture( id ) end
-
----Disable texture
----@return any RL.rlDisableTexture
-function RL.rlDisableTexture() end
-
----Enable texture cubemap
----@param id integer
----@return any RL.rlEnableTextureCubemap
-function RL.rlEnableTextureCubemap( id ) end
-
----Disable texture cubemap
----@return any RL.rlDisableTextureCubemap
-function RL.rlDisableTextureCubemap() end
-
----Set texture parameters (filter, wrap)
----@param id integer
----@param param integer
----@param value integer
----@return any RL.rlTextureParameters
-function RL.rlTextureParameters( id, param, value ) end
-
----Set cubemap parameters (filter, wrap)
----@param id integer
----@param param integer
----@param value integer
----@return any RL.rlCubemapParameters
-function RL.rlCubemapParameters( id, param, value ) end
-
--- RLGL - Shader state
-
----Enable shader program
----@param id integer
----@return any RL.rlEnableShader
-function RL.rlEnableShader( id ) end
-
----Disable shader program
----@return any RL.rlDisableShader
-function RL.rlDisableShader() end
-
--- RLGL - Framebuffer state
-
----Enable render texture (fbo)
----@param id integer
----@return any RL.rlEnableFramebuffer
-function RL.rlEnableFramebuffer( id ) end
-
----Disable render texture (fbo), return to default framebuffer
----@return any RL.rlDisableFramebuffer
-function RL.rlDisableFramebuffer() end
-
----Get the currently active render texture (fbo), 0 for default framebuffer
----- Success return int
----@return any framebuffer
-function RL.rlGetActiveFramebuffer() end
-
----Activate multiple draw color buffers
----@param count integer
----@return any RL.rlActiveDrawBuffers
-function RL.rlActiveDrawBuffers( count ) end
-
----Blit active framebuffer to main framebuffer
----@param srcRect table
----@param dstRect table
----@param bufferMask integer
----@return any RL.rlBlitFramebuffer
-function RL.rlBlitFramebuffer( srcRect, dstRect, bufferMask ) end
-
----Bind framebuffer (FBO)
----@param target integer
----@param framebuffer integer
----@return any RL.rlBindFramebuffer
-function RL.rlBindFramebuffer( target, framebuffer ) end
-
--- RLGL - General render state
-
----Enable color blending
----@return any RL.rlEnableColorBlend
-function RL.rlEnableColorBlend() end
-
----Disable color blending
----@return any RL.rlDisableColorBlend
-function RL.rlDisableColorBlend() end
-
----Enable depth test
----@return any RL.rlEnableDepthTest
-function RL.rlEnableDepthTest() end
-
----Disable depth test
----@return any RL.rlDisableDepthTest
-function RL.rlDisableDepthTest() end
-
----Enable depth write
----@return any RL.rlEnableDepthMask
-function RL.rlEnableDepthMask() end
-
----Disable depth write
----@return any RL.rlDisableDepthMask
-function RL.rlDisableDepthMask() end
-
----Enable backface culling
----@return any RL.rlEnableBackfaceCulling
-function RL.rlEnableBackfaceCulling() end
-
----Disable backface culling
----@return any RL.rlDisableBackfaceCulling
-function RL.rlDisableBackfaceCulling() end
-
----Color mask control
----@param r boolean
----@param g boolean
----@param b boolean
----@param a boolean
----@return any RL.rlColorMask
-function RL.rlColorMask( r, g, b, a ) end
-
----Set face culling mode
----@param mode integer
----@return any RL.rlSetCullFace
-function RL.rlSetCullFace( mode ) end
-
----Enable scissor test
----@return any RL.rlEnableScissorTest
-function RL.rlEnableScissorTest() end
-
----Disable scissor test
----@return any RL.rlDisableScissorTest
-function RL.rlDisableScissorTest() end
-
----Scissor test
----@param area table
----@return any RL.rlScissor
-function RL.rlScissor( area ) end
-
----Enable wire mode
----@return any RL.rlEnableWireMode
-function RL.rlEnableWireMode() end
-
----Enable point mode
----@return any RL.rlEnablePointMode
-function RL.rlEnablePointMode() end
-
----Disable wire mode
----@return any RL.rlDisableWireMode
-function RL.rlDisableWireMode() end
-
----Set the line drawing width
----@param width number
----@return any RL.rlSetLineWidth
-function RL.rlSetLineWidth( width ) end
-
----Get the line drawing width
----- Success return float
----@return any width
-function RL.rlGetLineWidth() end
-
----Enable line aliasing
----@return any RL.rlEnableSmoothLines
-function RL.rlEnableSmoothLines() end
-
----Disable line aliasing
----@return any RL.rlDisableSmoothLines
-function RL.rlDisableSmoothLines() end
-
----Enable stereo rendering
----@return any RL.rlEnableStereoRender
-function RL.rlEnableStereoRender() end
-
----Enable stereo rendering
----@return any RL.rlDisableStereoRender
-function RL.rlDisableStereoRender() end
-
----Check if stereo render is enabled
----- Success return bool
----@return any enabled
-function RL.rlIsStereoRenderEnabled() end
-
----Clear color buffer with color
----@param color table
----@return any RL.rlClearColor
-function RL.rlClearColor( color ) end
-
----Clear used screen buffers (color and depth)
----@return any RL.rlClearScreenBuffers
-function RL.rlClearScreenBuffers() end
-
----Check and log OpenGL error codes
----@return any RL.rlCheckErrors
-function RL.rlCheckErrors() end
-
----Set blending mode
----@param mode integer
----@return any RL.rlSetBlendMode
-function RL.rlSetBlendMode( mode ) end
-
----Set blending mode factor and equation (using OpenGL factors)
----@param glSrcFactor integer
----@param glDstFactor integer
----@param glEquation integer
----@return any RL.rlSetBlendFactors
-function RL.rlSetBlendFactors( glSrcFactor, glDstFactor, glEquation ) end
-
----Set blending mode factors and equations separately (using OpenGL factors)
----@param glSrcRGB integer
----@param glDstRGB integer
----@param glSrcAlpha integer
----@param glDstAlpha integer
----@param glEqRGB integer
----@param glEqAlpha integer
----@return any RL.rlSetBlendFactorsSeparate
-function RL.rlSetBlendFactorsSeparate( glSrcRGB, glDstRGB, glSrcAlpha, glDstAlpha, glEqRGB, glEqAlpha ) end
-
--- RLGL - Initialization functions
-
----Get current OpenGL version
----- Success return int
----@return any version
-function RL.rlGetVersion() end
-
----Set current framebuffer width
----@param width integer
----@return any version
-function RL.rlSetFramebufferWidth( width ) end
-
----Get default framebuffer width
----- Success return int
----@return any width
-function RL.rlGetFramebufferWidth() end
-
----Set current framebuffer height
----@param height integer
----@return any version
-function RL.rlSetFramebufferHeight( height ) end
-
----Get default framebuffer height
----- Success return int
----@return any height
-function RL.rlGetFramebufferHeight() end
-
----Get default texture id
----- Success return int
----@return any id
-function RL.rlGetTextureIdDefault() end
-
----Get default shader id
----- Success return int
----@return any id
-function RL.rlGetShaderIdDefault() end
-
----Get default shader locations
----- Success return int{}
----@return any locations
-function RL.rlGetShaderLocsDefault() end
-
--- RLGL - Render batch management
-
----Load a render batch system
----- Success return rlRenderBatch
----@param numBuffers integer
----@param bufferElements integer
----@return any renderBatch
-function RL.rlLoadRenderBatch( numBuffers, bufferElements ) end
-
----Unload render batch system
----@param renderBatch any
----@return any RL.rlUnloadRenderBatch
-function RL.rlUnloadRenderBatch( renderBatch ) end
-
----Draw render batch data (Update->Draw->Reset)
----@param renderBatch any
----@return any RL.rlDrawRenderBatch
-function RL.rlDrawRenderBatch( renderBatch ) end
-
----Set the active render batch for rlgl (nil for default internal)
----@param renderBatch any
----@return any RL.rlSetRenderBatchActive
-function RL.rlSetRenderBatchActive( renderBatch ) end
-
----Update and draw internal render batch
----@return any RL.rlDrawRenderBatchActive
-function RL.rlDrawRenderBatchActive() end
-
----Check internal buffer overflow for a given number of vertex and force a rlRenderBatch draw call if required
----- Success return bool
----@param vCount integer
----@return any overflow
-function RL.rlCheckRenderBatchLimit( vCount ) end
-
----Set current texture for render batch and check buffers limits
----@param id integer
----@return any RL.rlSetTexture
-function RL.rlSetTexture( id ) end
-
--- RLGL - Vertex buffers management
-
----Load vertex array (vao) if supported
----- Success return int
----@return any vaoId
-function RL.rlLoadVertexArray() end
-
----Load a vertex buffer attribute
----- Success return int
----@param buffer any
----@param dynamic boolean
----@return any vboId
-function RL.rlLoadVertexBuffer( buffer, dynamic ) end
-
----Load a new attributes element buffer
----- Success return int
----@param buffer any
----@param dynamic boolean
----@return any vboId
-function RL.rlLoadVertexBufferElement( buffer, dynamic ) end
-
----Update GPU buffer with new data
----@param bufferId integer
----@param buffer any
----@param offset integer
----@return any RL.rlUpdateVertexBuffer
-function RL.rlUpdateVertexBuffer( bufferId, buffer, offset ) end
-
----Update vertex buffer elements with new data
----@param id integer
----@param buffer any
----@param offset integer
----@return any RL.rlUpdateVertexBufferElements
-function RL.rlUpdateVertexBufferElements( id, buffer, offset ) end
-
----Unload vertex array object (VAO)
----@param vaoId integer
----@return any RL.rlUnloadVertexArray
-function RL.rlUnloadVertexArray( vaoId ) end
-
----Unload vertex buffer (VBO)
----@param vboId integer
----@return any RL.rlUnloadVertexBuffer
-function RL.rlUnloadVertexBuffer( vboId ) end
-
----Set vertex attribute data configuration
----@param index integer
----@param compSize integer
----@param type integer
----@param normalized boolean
----@param stride integer
----@param offset integer
----@return any RL.rlSetVertexAttribute
-function RL.rlSetVertexAttribute( index, compSize, type, normalized, stride, offset ) end
-
----Set vertex attribute divisor
----@param index integer
----@param divisor integer
----@return any RL.rlSetVertexAttributeDivisor
-function RL.rlSetVertexAttributeDivisor( index, divisor ) end
-
----Set vertex attribute default value
----@param locIndex integer
----@param value table
----@param attribType integer
----@return any RL.rlSetVertexAttributeDefault
-function RL.rlSetVertexAttributeDefault( locIndex, value, attribType ) end
-
----Draw vertex array
----@param offset integer
----@param count integer
----@return any RL.rlDrawVertexArray
-function RL.rlDrawVertexArray( offset, count ) end
-
----Draw vertex array elements
----@param offset integer
----@param count integer
----@param buffer any
----@return any RL.rlDrawVertexArrayElements
-function RL.rlDrawVertexArrayElements( offset, count, buffer ) end
-
----Draw vertex array instanced
----@param offset integer
----@param count integer
----@param instances integer
----@return any RL.rlDrawVertexArrayInstanced
-function RL.rlDrawVertexArrayInstanced( offset, count, instances ) end
-
----Draw vertex array elements instanced
----@param offset integer
----@param count integer
----@param buffer any
----@param instances integer
----@return any RL.rlDrawVertexArrayElementsInstanced
-function RL.rlDrawVertexArrayElementsInstanced( offset, count, buffer, instances ) end
-
--- RLGL - Textures management
-
----Load texture in GPU
----- Success return int
----@param data any
----@param size table
----@param format integer
----@param mipmapCount integer
----@return any id
-function RL.rlLoadTexture( data, size, format, mipmapCount ) end
-
----Load depth texture/renderbuffer (to be attached to fbo)
----- Success return int
----@param size table
----@param useRenderBuffer boolean
----@return any id
-function RL.rlLoadTextureDepth( size, useRenderBuffer ) end
-
----Load texture cubemap data
----- Success return int
----@param data any
----@param size integer
----@param format integer
----@param mipmapCount integer
----@return any id
-function RL.rlLoadTextureCubemap( data, size, format, mipmapCount ) end
-
----Update GPU texture with new data
----@param id integer
----@param offset table
----@param size table
----@param format integer
----@param data any
----@return any RL.rlUpdateTexture
-function RL.rlUpdateTexture( id, offset, size, format, data ) end
-
----Get OpenGL internal formats
----- Success return int, int, int
----@param format integer
----@return any glInternalFormat
----@return any glFormat
----@return any glType
-function RL.rlGetGlTextureFormats( format ) end
-
----Get name string for pixel format
----- Success return string
----@param format integer
----@return any name
-function RL.rlGetPixelFormatName( format ) end
-
----Unload texture from GPU memory
----@param id integer
----@return any RL.rlUnloadTexture
-function RL.rlUnloadTexture( id ) end
-
----Generate mipmap data for selected texture
----- Success return int
----@param id integer
----@param size table
----@param format integer
----@return any mipmapCount
-function RL.rlGenTextureMipmaps( id, size, format ) end
-
----Read texture pixel data
----- Success return Buffer
----@param id integer
----@param size table
----@param format integer
----@return any data
-function RL.rlReadTexturePixels( id, size, format ) end
-
----Read screen pixel data (color buffer)
----- Success return Buffer
----@param size table
----@return any data
-function RL.rlReadScreenPixels( size ) end
-
--- RLGL - Framebuffer management (fbo)
-
----Load an empty framebuffer
----- Success return int
----@return any fboId
-function RL.rlLoadFramebuffer() end
-
----Attach texture/renderbuffer to a framebuffer
----@param fboId integer
----@param texId integer
----@param attachType integer
----@param texType integer
----@param mipLevel integer
----@return any RL.rlFramebufferAttach
-function RL.rlFramebufferAttach( fboId, texId, attachType, texType, mipLevel ) end
-
----Verify framebuffer is complete
----- Success return bool
----@param id integer
----@return any isComplete
-function RL.rlFramebufferComplete( id ) end
-
----Delete framebuffer from GPU
----@param id integer
----@return any RL.rlUnloadFramebuffer
-function RL.rlUnloadFramebuffer( id ) end
-
--- RLGL - Shaders management
-
----Load shader from code strings
----- Success return int
----@param vsCode string
----@param fsCode string
----@return any shaderId
-function RL.rlLoadShaderCode( vsCode, fsCode ) end
-
----Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)
----- Success return int
----@param shaderCode string
----@param type integer
----@return any shaderId
-function RL.rlCompileShader( shaderCode, type ) end
-
----Load custom shader program
----- Success return int
----@param vShaderId integer
----@param fShaderId integer
----@return any shaderProgramId
-function RL.rlLoadShaderProgram( vShaderId, fShaderId ) end
-
----Unload shader program
----@param id integer
----@return any RL.rlUnloadShaderProgram
-function RL.rlUnloadShaderProgram( id ) end
-
----Get shader location uniform
----- Success return int
----@param shaderId integer
----@param uniformName string
----@return any location
-function RL.rlGetLocationUniform( shaderId, uniformName ) end
-
----Get shader location attribute
----- Success return int
----@param shaderId integer
----@param attribName string
----@return any location
-function RL.rlGetLocationAttrib( shaderId, attribName ) end
-
----Set shader value uniform
----@param locIndex integer
----@param value any
----@param uniformType integer
----@param count integer
----@return any RL.rlSetUniform
-function RL.rlSetUniform( locIndex, value, uniformType, count ) end
-
----Set shader value matrix
----@param locIndex integer
----@param mat table
----@return any RL.rlSetUniformMatrix
-function RL.rlSetUniformMatrix( locIndex, mat ) end
-
----Set shader value matrices
----@param locIndex integer
----@param mat table
----@return any RL.rlSetUniformMatrices
-function RL.rlSetUniformMatrices( locIndex, mat ) end
-
----Set shader value sampler
----@param locIndex integer
----@param textureId integer
----@return any RL.rlSetUniformSampler
-function RL.rlSetUniformSampler( locIndex, textureId ) end
-
----Set shader currently active (id and locations)
----@param id integer
----@param locs table
----@return any RL.rlSetShader
-function RL.rlSetShader( id, locs ) end
-
--- RLGL - Compute shader management
-
----Load compute shader program
----- Success return int
----@param shaderId integer
----@return any programId
-function RL.rlLoadComputeShaderProgram( shaderId ) end
-
----Dispatch compute shader (equivalent to *draw* for graphics pipeline)
----@param groupX integer
----@param groupY integer
----@param groupZ integer
----@return any RL.rlComputeShaderDispatch
-function RL.rlComputeShaderDispatch( groupX, groupY, groupZ ) end
-
--- RLGL - Shader buffer storage object management (ssbo)
-
----Load shader storage buffer object (SSBO)
----- Success return int
----@param size integer
----@param data any
----@param usageHint integer
----@return any buffer
-function RL.rlLoadShaderBuffer( size, data, usageHint ) end
-
----Unload shader storage buffer object (SSBO)
----@param ssboId integer
----@return any RL.rlUnloadShaderBuffer
-function RL.rlUnloadShaderBuffer( ssboId ) end
-
----Update SSBO buffer data
----@param id integer
----@param data any
----@param offset integer
----@return any RL.rlUpdateShaderBuffer
-function RL.rlUpdateShaderBuffer( id, data, offset ) end
-
----Bind SSBO buffer
----@param id integer
----@param index integer
----@return any RL.rlBindShaderBuffer
-function RL.rlBindShaderBuffer( id, index ) end
-
----Read SSBO buffer data (GPU->CPU)
----- Success return Buffer
----@param id integer
----@param count integer
----@param offset integer
----@return any data
-function RL.rlReadShaderBuffer( id, count, offset ) end
-
----Copy SSBO data between buffers
----@param destId integer
----@param srcId integer
----@param destOffset integer
----@param srcOffset integer
----@param count integer
----@return any RL.rlCopyShaderBuffer
-function RL.rlCopyShaderBuffer( destId, srcId, destOffset, srcOffset, count ) end
-
----Get SSBO buffer size
----- Success return int
----@param id integer
----@return any size
-function RL.rlGetShaderBufferSize( id ) end
-
--- RLGL - Buffer management
-
----Bind image texture
----@param id integer
----@param index integer
----@param format integer
----@param readonly boolean
----@return any RL.rlBindImageTexture
-function RL.rlBindImageTexture( id, index, format, readonly ) end
-
--- RLGL - Matrix state management
-
----Get internal modelview matrix
----- Success return Matrix
----@return any modelview
-function RL.rlGetMatrixModelview() end
-
----Get internal projection matrix
----- Success return Matrix
----@return any projection
-function RL.rlGetMatrixProjection() end
-
----Get internal accumulated transform matrix
----- Success return Matrix
----@return any transform
-function RL.rlGetMatrixTransform() end
-
----Get internal projection matrix for stereo render (selected eye)
----- Success return Matrix
----@param eye integer
----@return any projection
-function RL.rlGetMatrixProjectionStereo( eye ) end
-
----Get internal view offset matrix for stereo render (selected eye)
----- Success return Matrix
----@param eye integer
----@return any viewOffset
-function RL.rlGetMatrixViewOffsetStereo( eye ) end
-
----Set a custom projection matrix (replaces internal projection matrix)
----@param proj table
----@return any RL.rlSetMatrixProjection
-function RL.rlSetMatrixProjection( proj ) end
-
----Set a custom modelview matrix (replaces internal modelview matrix)
----@param view table
----@return any RL.rlSetMatrixModelview
-function RL.rlSetMatrixModelview( view ) end
-
----Set eyes projection matrices for stereo rendering
----@param right table
----@param left table
----@return any RL.rlSetMatrixProjectionStereo
-function RL.rlSetMatrixProjectionStereo( right, left ) end
-
----Set eyes view offsets matrices for stereo rendering
----@param right table
----@param left table
----@return any RL.rlSetMatrixViewOffsetStereo
-function RL.rlSetMatrixViewOffsetStereo( right, left ) end
-
--- OpenGL - Rendering
-
----Clear buffers to preset values
----@param mask integer
----@return any RL.glClear
-function RL.glClear( mask ) end
-
--- OpenGL - Frame Buffers
-
----Copy a block of pixels from one framebuffer object to another.
----Use nil RenderTexture for window framebuffer
----@param srcTex any
----@param dstTex any
----@param srcRect table
----@param dstRect table
----@param mask integer
----@param filter integer
----@return any RL.glBlitFramebuffer
-function RL.glBlitFramebuffer( srcTex, dstTex, srcRect, dstRect, mask, filter ) end
-
--- OpenGL - State Management
-
----Specify mapping of depth values from normalized device coordinates to window coordinates
----@param nearVal number
----@param farVal number
----@return any RL.glDepthRange
-function RL.glDepthRange( nearVal, farVal ) end
-
----Enable server-side GL capabilities
----@param cap integer
----@return any RL.glEnable
-function RL.glEnable( cap ) end
-
----Disable server-side GL capabilities
----@param cap integer
----@return any RL.glDisable
-function RL.glDisable( cap ) end
-
----Set the scale and units used to calculate depth values
----@param factor number
----@param units number
----@return any RL.glPolygonOffset
-function RL.glPolygonOffset( factor, units ) end
-
----Set front and back function and reference value for stencil testing
----@param func integer
----@param ref integer
----@param mask integer
----@return any RL.glStencilFunc
-function RL.glStencilFunc( func, ref, mask ) end
-
----Set front and/or back function and reference value for stencil testing
----@param face integer
----@param func integer
----@param ref integer
----@param mask integer
----@return any RL.glStencilFuncSeparate
-function RL.glStencilFuncSeparate( face, func, ref, mask ) end
-
----Control the front and back writing of individual bits in the stencil planes
----@param mask integer
----@return any RL.glStencilMask
-function RL.glStencilMask( mask ) end
-
----Control the front and/or back writing of individual bits in the stencil planes
----@param face integer
----@param mask integer
----@return any RL.glStencilMaskSeparate
-function RL.glStencilMaskSeparate( face, mask ) end
-
----Set front and back stencil test actions
----@param sfail integer
----@param dpfail integer
----@param dppass integer
----@return any RL.glStencilOp
-function RL.glStencilOp( sfail, dpfail, dppass ) end
-
----Set front and back stencil test actions
----@param face integer
----@param sfail integer
----@param dpfail integer
----@param dppass integer
----@return any RL.glStencilOpSeparate
-function RL.glStencilOpSeparate( face, sfail, dpfail, dppass ) end
-
--- OpenGL - Utility
-
----Return a string describing the current GL connection. GL_EXTENSIONS returns the extension string supported by the implementation at index
----- Success return string
----@param name integer
----@param index integer|nil
----@return any connection
-function RL.glGetString( name, index ) end
-
--- Easings - Linear Easing functions
-
----Ease linear
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseLinear( t, b, c, d ) end
-
--- Easings - Sine Easing functions
-
----Ease sine in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseSineIn( t, b, c, d ) end
-
----Ease sine out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseSineOut( t, b, c, d ) end
-
----Ease sine in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseSineInOut( t, b, c, d ) end
-
--- Easings - Circular Easing functions
-
----Ease circle in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCircIn( t, b, c, d ) end
-
----Ease circle out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCircOut( t, b, c, d ) end
-
----Ease circle in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCircInOut( t, b, c, d ) end
-
--- Easings - Cubic Easing functions
-
----Ease cubic in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCubicIn( t, b, c, d ) end
-
----Ease cubic out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCubicOut( t, b, c, d ) end
-
----Ease cubic in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseCubicInOut( t, b, c, d ) end
-
--- Easings - Quadratic Easing functions
-
----Ease quadratic in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseQuadIn( t, b, c, d ) end
-
----Ease quadratic out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseQuadOut( t, b, c, d ) end
-
----Ease quadratic in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseQuadInOut( t, b, c, d ) end
-
--- Easings - Exponential Easing functions
-
----Ease exponential in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseExpoIn( t, b, c, d ) end
-
----Ease exponential out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseExpoOut( t, b, c, d ) end
-
----Ease exponential in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseExpoInOut( t, b, c, d ) end
-
--- Easings - Back Easing functions
-
----Ease back in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBackIn( t, b, c, d ) end
-
----Ease back out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBackOut( t, b, c, d ) end
-
----Ease back in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBackInOut( t, b, c, d ) end
-
--- Easings - Bounce Easing functions
-
----Ease bounce in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBounceIn( t, b, c, d ) end
-
----Ease bounce out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBounceOut( t, b, c, d ) end
-
----Ease bounce in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseBounceInOut( t, b, c, d ) end
-
--- Easings - Elastic Easing functions
-
----Ease elastic in
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseElasticIn( t, b, c, d ) end
-
----Ease elastic out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseElasticOut( t, b, c, d ) end
-
----Ease elastic in out
----- Success return float
----@param t number
----@param b number
----@param c number
----@param d number
----@return any value
-function RL.EaseElasticInOut( t, b, c, d ) end
-
--- Bitwise Operations - Arithmetic
-
----Equivalent to a & b in C
----- Success return int
----@param a integer
----@param b integer
----@return any result
-function RL.BitAnd( a, b ) end
-
----Equivalent to a | b in C
----- Success return int
----@param a integer
----@param b integer
----@return any result
-function RL.BitOr( a, b ) end
-
----Equivalent to a ^ b in C
----- Success return int
----@param a integer
----@param b integer
----@return any result
-function RL.BitXor( a, b ) end
-
----Equivalent to ~v in C
----- Success return int
----@param v integer
----@return any result
-function RL.BitNot( v ) end
-
----Equivalent to v << n in C
----- Success return int
----@param v integer
----@param n integer
----@return any result
-function RL.BitShiftLeft( v, n ) end
-
----Equivalent to v >> n in C
----- Success return int
----@param v integer
----@param n integer
----@return any result
-function RL.BitShiftRight( v, n ) end
-
----Set bit in index i to state b in value v
----- Success return int
----@param v integer
----@param i integer
----@param b boolean
----@return any result
-function RL.BitSet( v, i, b ) end
-
----Get bit in index i from value v
----- Success return bool
----@param v integer
----@param i integer
----@return any bit
-function RL.BitGet( v, i ) end
-
----Toggle bit in index i in value v
----- Success return int
----@param v integer
----@param i integer
----@return any result
-function RL.BitToggle( v, i ) end
-
--- GLFW Core - Input-related functions: keyboard
-
----This function returns the name of the specified printable key, encoded as UTF-8.
----If the key is KEY_UNKNOWN, the scancode is used to identify the key,
----otherwise the scancode is ignored. If you specify a non-printable key,
----or KEY_UNKNOWN and a scancode that maps to a non-printable key,
----this function returns nil but does not emit an error.
----- Success return string or nil
----@param key integer
----@param scancode integer
----@return any keyName
-function RL.GetKeyName( key, scancode ) end
-
----This function returns the platform-specific scancode of the specified key.
----If the key is KEY_UNKNOWN or does not exist on the keyboard this method will return -1.
----- Success return int
----@param key integer
----@return any scancode
-function RL.GetKeyScancode( key ) end
-