From 38049eff4c23b0148a8b279c1c7f582193da2b4d Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Sat, 9 May 2026 15:43:18 +0100 Subject: [PATCH 1/3] Update bindings for raylib 6.0 Update raylib, raygui, and LuaJIT submodules, regenerate the raylib/raymath/rlgl/rcamera/raygui bindings and autocomplete metadata, and bump the reported raylua/raylib versions. Remove physac from the build and generated API because it is no longer part of the raylib tree. Update examples for renamed rlgl compute shader entry points and fix the raygui portable window close/drag behavior under Lua truthiness. --- .gitmodules | 6 +- README.md | 4 +- Saphirefile.lua | 6 +- build/buildRaylib.lua | 2 +- examples/gui_portable_window.lua | 6 +- examples/physics_demo.lua | 88 - examples/shaders_compute_shader.lua | 8 +- luajit | 2 +- makefile | 7 +- physac | 1 - raygui | 2 +- raylib | 2 +- src/raylib.lua | 2946 ++-- src/raylua.c | 4 - src/raylua.lua | 2 +- tools/api.h | 1170 +- tools/autocomplete/api/easings_api.lua | 56 +- tools/autocomplete/api/physac_api.lua | 555 - tools/autocomplete/api/raygui_api.lua | 5846 ++++---- tools/autocomplete/api/raylib_api.lua | 16778 ++++++++++++----------- tools/autocomplete/api/rcamera_api.lua | 780 +- tools/autocomplete/api/rlgl_api.lua | 1805 ++- tools/autocomplete/genapi.sh | 4 +- tools/autocomplete/generator.lua | 33 +- tools/autocomplete/plugin.lua | 13309 +++++++++--------- tools/genbind.lua | 6 +- tools/physac.h | 19 - tools/raygui.h | 112 +- tools/raymath.h | 260 +- tools/rcamera.h | 24 +- tools/rlgl.h | 316 +- 31 files changed, 21991 insertions(+), 22168 deletions(-) delete mode 100644 examples/physics_demo.lua delete mode 160000 physac delete mode 100644 tools/autocomplete/api/physac_api.lua delete mode 100644 tools/physac.h diff --git a/.gitmodules b/.gitmodules index 29eb6e5..a37d003 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,10 +10,6 @@ url = https://github.com/raysan5/raylib path = raygui url = https://github.com/raysan5/raygui -[submodule "physac"] -path = physac -url = https://github.com/raysan5/physac - [submodule "examples/lynx"] path = examples/lynx -url = https://gitlab.com/TSnake41/lynx \ No newline at end of file +url = https://gitlab.com/TSnake41/lynx diff --git a/README.md b/README.md index dfecfb1..7582c68 100644 --- a/README.md +++ b/README.md @@ -148,9 +148,9 @@ rl.CloseWindow() ### Compatibility -raylib-lua (raylua) currently uses raylib 5.5 API. See [compat.lua](https://github.com/TSnake41/raylib-lua/blob/master/src/compat.lua) for more info. +raylib-lua (raylua) currently uses raylib 6.0 API. See [compat.lua](https://github.com/TSnake41/raylib-lua/blob/master/src/compat.lua) for more info. -[physac](https://github.com/victorfisac/Physac) and [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) modules are also built-in by default. +[rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h) is also built-in by default. [raygui](https://github.com/raysan5/raygui) is supported, but is minimally tested. Please report any issues you have with raygui with raylib-lua (raylua) on GitHub or on the #raylib-lua subchannel of [the raylib Discord server](https://discord.gg/raylib). To find the #raylib-lua page, join the raylib Discord server by clicking the above link, then scroll down on the left side of Discord's list of channels until you find #raylib-lua and click it. You can chat and ask questions there. diff --git a/Saphirefile.lua b/Saphirefile.lua index 719c33d..593fa86 100644 --- a/Saphirefile.lua +++ b/Saphirefile.lua @@ -32,10 +32,10 @@ local cflags = os.getenv "CFLAGS" or "-O2 -s" local ldflags = os.getenv "LDFLAGS" or "-O2 -s -lm" local ldflags_r = os.getenv "LDFLAGS_R" or "" -local modules = "raymath rlgl gestures physac raygui rcamera" +local modules = "raymath rlgl gestures raygui rcamera" local graphics = os.getenv "GRAPHICS" or "GRAPHICS_API_OPENGL_43" -cflags = cflags .. " -Iluajit/src -Iraygui/src -Iphysac/src -Iraylib/src".. " -D" .. graphics +cflags = cflags .. " -Iluajit/src -Iraygui/src -Iraylib/src".. " -D" .. graphics local raylua_so_path = "raylua.so" -- assume unix-like by default local so_ldflags = ldflags @@ -61,7 +61,7 @@ if saphire.targets.clean then } else libluajit = { - command = string.format("make -C luajit amalg CC=%s BUILDMODE=static MACOSX_DEPLOYMENT_TARGET=10.13", cc), + command = string.format("make -C luajit amalg CC=%s BUILDMODE=static HOST_MSYS=1 HOST_LUA=host/minilua.exe GIT_RELVER='[ -e ../.git ] && git show -s --format=%%ct >luajit_relver.txt 2>/dev/null || cat ../.relver >luajit_relver.txt 2>/dev/null || :' MACOSX_DEPLOYMENT_TARGET=10.13", cc), name = "LuaJIT" } end diff --git a/build/buildRaylib.lua b/build/buildRaylib.lua index 9936df3..167ff1b 100644 --- a/build/buildRaylib.lua +++ b/build/buildRaylib.lua @@ -17,7 +17,7 @@ if los.type() == "linux" then end local consts = { - RAYLIB_VERSION = "5.5.0", + RAYLIB_VERSION = "6.0.0", RAYLIB_API_VERSION = "550", } diff --git a/examples/gui_portable_window.lua b/examples/gui_portable_window.lua index 3301062..addee3a 100644 --- a/examples/gui_portable_window.lua +++ b/examples/gui_portable_window.lua @@ -24,7 +24,7 @@ while not exit_window and not rl.WindowShouldClose() do if drag_window then window_pos = window_pos + mouse_pos - pan_offset - if rl.IsMouseButtonReleased(rl.MOUSE_BUTTON_RIGHT) then + if rl.IsMouseButtonReleased(rl.MOUSE_BUTTON_LEFT) then drag_window = false end @@ -34,11 +34,11 @@ while not exit_window and not rl.WindowShouldClose() do rl.BeginDrawing() rl.ClearBackground(rl.RAYWHITE) - exit_window = rl.GuiWindowBox(rl.new("Rectangle", 0, 0, width, height), "PORTABLE WINDOW") + exit_window = rl.GuiWindowBox(rl.new("Rectangle", 0, 0, width, height), "PORTABLE WINDOW") ~= 0 rl.DrawText(string.format("Mouse Position: [ %.0f, %.0f ]", mouse_pos.x, mouse_pos.y), 10, 40, 10, rl.DARKGRAY) rl.EndDrawing() end -rl.CloseWindow() \ No newline at end of file +rl.CloseWindow() diff --git a/examples/physics_demo.lua b/examples/physics_demo.lua deleted file mode 100644 index 931b3ab..0000000 --- a/examples/physics_demo.lua +++ /dev/null @@ -1,88 +0,0 @@ -local screenWidth = 800 -local screenHeight = 450 - -rl.SetConfigFlags(rl.FLAG_MSAA_4X_HINT) - -rl.InitWindow(screenWidth, screenHeight, "Physac [raylua] - Physics demo") -local logoX = screenWidth - rl.MeasureText("Physac", 30) - 10 -local logoY = 15 - -local needsReset = false - -rl.InitPhysics() - -local floor = rl.CreatePhysicsBodyRectangle({ screenWidth/2, screenHeight }, 500, 100, 10) -floor.enabled = false - -local circle = rl.CreatePhysicsBodyCircle({ screenWidth/2, screenHeight/2 }, 45, 10) -circle.enabled = false - -rl.SetTargetFPS(60) - -while not rl.WindowShouldClose() do - rl.UpdatePhysics() - - if needsReset then - floor = rl.CreatePhysicsBodyRectangle({ screenWidth/2, screenHeight }, 500, 100, 10) - circle = rl.CreatePhysicsBodyCircle({ screenWidth/2, screenHeight/2 }, 45, 10) - - floor.enabled = false - circle.enabled = false - - needsReset = false - end - - if rl.IsKeyPressed(string.byte("R")) then - rl.ResetPhysics() - needsReset = true - end - - if rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_LEFT) then - rl.CreatePhysicsBodyPolygon(rl.GetMousePosition(), rl.GetRandomValue(20, 80), rl.GetRandomValue(3, 8), 10); - elseif rl.IsMouseButtonPressed(rl.MOUSE_BUTTON_RIGHT) then - rl.CreatePhysicsBodyCircle(rl.GetMousePosition(), rl.GetRandomValue(10, 45), 10) - end - - local bodiesCount = rl.GetPhysicsBodiesCount() - - for i=0,bodiesCount do - local body = rl.GetPhysicsBody(i) - - if body ~= nil and (body.position.y > screenHeight*2) then - print("Destroyed " .. tostring(body)) - rl.DestroyPhysicsBody(body) - end - end - - rl.BeginDrawing() - rl.ClearBackground(rl.BLACK) - - bodiesCount = rl.GetPhysicsBodiesCount() - for i=0,bodiesCount-1 do - local body = rl.GetPhysicsBody(i) - - if body ~= nil then - local vertexCount = rl.GetPhysicsShapeVerticesCount(i) - for j=0,vertexCount-1 do - local vertexA = rl.GetPhysicsShapeVertex(body, j); - - local jj = ((j + 1) < vertexCount) and (j + 1) or 0 - local vertexB = rl.GetPhysicsShapeVertex(body, jj); - - rl.DrawLineV(vertexA, vertexB, rl.GREEN) - end - end - end - - rl.DrawText("Left mouse button to create a polygon", 10, 10, 10, rl.WHITE); - rl.DrawText("Right mouse button to create a circle", 10, 25, 10, rl.WHITE); - rl.DrawText("Press 'R' to reset example", 10, 40, 10, rl.WHITE); - - rl.DrawText("Physac", logoX, logoY, 30, rl.WHITE); - rl.DrawText("Powered by", logoX + 50, logoY - 7, 10, rl.WHITE); - - rl.EndDrawing() -end - -rl.ClosePhysics() -rl.CloseWindow() diff --git a/examples/shaders_compute_shader.lua b/examples/shaders_compute_shader.lua index 5c94538..c3ab359 100644 --- a/examples/shaders_compute_shader.lua +++ b/examples/shaders_compute_shader.lua @@ -30,8 +30,8 @@ local brushSize = 8 -- Game of Life logic compute shader local golLogicCode = rl.LoadFileText("resources/glsl430/gol.glsl") -local golLogicShader = rl.rlCompileShader(golLogicCode, rl.RL_COMPUTE_SHADER); -local golLogicProgram = rl.rlLoadComputeShaderProgram(golLogicShader); +local golLogicShader = rl.rlLoadShader(golLogicCode, rl.RL_COMPUTE_SHADER); +local golLogicProgram = rl.rlLoadShaderProgramCompute(golLogicShader); rl.UnloadFileText(golLogicCode); -- Game of Life rendering compute shader @@ -39,8 +39,8 @@ local golRenderShader = rl.LoadShader(nil, "resources/glsl430/gol_render.glsl") local resUniformLoc = rl.GetShaderLocation(golRenderShader, "resolution") local golTransfertCode = rl.LoadFileText("resources/glsl430/gol_transfert.glsl"); -local golTransfertShader = rl.rlCompileShader(golTransfertCode, rl.RL_COMPUTE_SHADER); -local golTransfertProgram = rl.rlLoadComputeShaderProgram(golTransfertShader); +local golTransfertShader = rl.rlLoadShader(golTransfertCode, rl.RL_COMPUTE_SHADER); +local golTransfertProgram = rl.rlLoadShaderProgramCompute(golTransfertShader); rl.UnloadFileText(golTransfertCode); local ssboSize = ffi.sizeof("int[?]", GOL_WIDTH * GOL_WIDTH) diff --git a/luajit b/luajit index 43d0a19..18b087c 160000 --- a/luajit +++ b/luajit @@ -1 +1 @@ -Subproject commit 43d0a19158ceabaa51b0462c1ebc97612b420a2e +Subproject commit 18b087cd2cd4ddc4a79782bf155383a689d5093d diff --git a/makefile b/makefile index 6073556..ca345d2 100644 --- a/makefile +++ b/makefile @@ -6,10 +6,10 @@ LUA ?= luajit/src/luajit WINDRES ?= windres -CFLAGS += -Iluajit/src -Iraylib/src -Iraygui/src -Iphysac/src +CFLAGS += -Iluajit/src -Iraylib/src -Iraygui/src LDFLAGS += luajit/src/libluajit.a raylib/src/libraylib.a -MODULES := raymath rlgl gestures physac raygui rcamera +MODULES := raymath rlgl gestures raygui rcamera # raylib settings PLATFORM ?= PLATFORM_DESKTOP @@ -53,6 +53,9 @@ all: raylua_s raylua_e raylua_r luajit raylib luajit: $(MAKE) -C luajit amalg \ CC=$(CC) BUILDMODE=static \ + HOST_MSYS=1 \ + HOST_LUA=host/minilua.exe \ + GIT_RELVER='[ -e ../.git ] && git show -s --format=%ct >luajit_relver.txt 2>/dev/null || cat ../.relver >luajit_relver.txt 2>/dev/null || :' \ MACOSX_DEPLOYMENT_TARGET=10.13 raylib: diff --git a/physac b/physac deleted file mode 160000 index 4a8e17f..0000000 --- a/physac +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4a8e17f263fb8e1150b3fbafc96f880c7d7a4833 diff --git a/raygui b/raygui index 141ae0c..25c8c65 160000 --- a/raygui +++ b/raygui @@ -1 +1 @@ -Subproject commit 141ae0cd312656b7764b01079e43fc887aaaf4ce +Subproject commit 25c8c65a6e5f0f4d4b564a0343861898c6f2778b diff --git a/raylib b/raylib index c1ab645..dbc56a8 160000 --- a/raylib +++ b/raylib @@ -1 +1 @@ -Subproject commit c1ab645ca298a2801097931d1079b10ff7eb9df8 +Subproject commit dbc56a87da87d973a9c5baa4e7438a9d20121d28 diff --git a/src/raylib.lua b/src/raylib.lua index 9f0df54..cbe5363 100644 --- a/src/raylib.lua +++ b/src/raylib.lua @@ -1,1499 +1,1461 @@ ---[[ - Copyright (C) 2020 Astie Teddy - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted, provided that the above - copyright notice and this permission notice appear in all copies. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION - OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN - CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -]] - -print "RAYLUA: Raylua boot script" -print("RAYLUA: Lua Version: " .. _VERSION) - -if jit then - print("RAYLUA: Lua JIT: " .. jit.version) -end - -local ffi = require "ffi" -local C = ffi.C - -local rl = {} -setmetatable(rl, rl) - --- structs definition -ffi.cdef [[ - typedef struct Vector2 { - float x; - float y; - } Vector2; - - typedef struct Vector3 { - float x; - float y; - float z; - } Vector3; - - typedef struct Vector4 { - float x; - float y; - float z; - float w; - } Vector4; - - typedef Vector4 Quaternion; - - typedef struct Matrix { - float m0, m4, m8, m12; - float m1, m5, m9, m13; - float m2, m6, m10, m14; - float m3, m7, m11, m15; - } Matrix; - - typedef struct Color { - unsigned char r; - unsigned char g; - unsigned char b; - unsigned char a; - } Color; - - typedef struct Rectangle { - float x; - float y; - float width; - float height; - } Rectangle; - - typedef struct Image { - void *data; - int width; - int height; - int mipmaps; - int format; - } Image; - - typedef struct Texture { - unsigned int id; - int width; - int height; - int mipmaps; - int format; - } Texture; - typedef Texture Texture2D; - typedef Texture TextureCubemap; - - typedef struct RenderTexture { - unsigned int id; - Texture texture; - Texture depth; - } RenderTexture; - typedef RenderTexture RenderTexture2D; - - typedef struct NPatchInfo { - Rectangle sourceRec; - int left; - int top; - int right; - int bottom; - int layout; - } NPatchInfo; - - typedef struct GlyphInfo { - int value; - int offsetX; - int offsetY; - int advanceX; - Image image; - } GlyphInfo; - - typedef struct Font { - int baseSize; - int glyphCount; - int glyphPadding; - Texture2D texture; - Rectangle *recs; - GlyphInfo *glyphs; - } Font; - - typedef Font SpriteFont; - typedef struct Camera3D { - Vector3 position; - Vector3 target; - Vector3 up; - float fovy; - int projection; - } Camera3D; - - typedef Camera3D Camera; - typedef struct Camera2D { - Vector2 offset; - Vector2 target; - float rotation; - float zoom; - } Camera2D; - - typedef struct Mesh { - int vertexCount; - int triangleCount; - float *vertices; - float *texcoords; - float *texcoords2; - float *normals; - float *tangents; - unsigned char *colors; - unsigned short *indices; - float *animVertices; - float *animNormals; - int *boneIds; - float *boneWeights; - unsigned int vaoId; - unsigned int *vboId; - } Mesh; - - typedef struct Shader { - unsigned int id; - int *locs; - } Shader; - - typedef struct MaterialMap { - Texture2D texture; - Color color; - float value; - } MaterialMap; - - typedef struct Material { - Shader shader; - MaterialMap *maps; - float params[4]; - } Material; - - typedef struct Transform { - Vector3 translation; - Quaternion rotation; - Vector3 scale; - } Transform; - - typedef struct BoneInfo { - char name[32]; - int parent; - } BoneInfo; - - typedef struct Model { - Matrix transform; - - int meshCount; - - int materialCount; - Mesh *meshes; - Material *materials; - int *meshMaterial; - int boneCount; - BoneInfo *bones; - Transform *bindPose; - } Model; - - typedef struct ModelAnimation { - int boneCount; - int frameCount; - BoneInfo *bones; - Transform **framePoses; - char name[32]; - } ModelAnimation; - - typedef struct Ray { - Vector3 position; - Vector3 direction; - } Ray; - - typedef struct RayCollision { - bool hit; - float distance; - Vector3 point; - Vector3 normal; - } RayCollision; - - typedef struct BoundingBox { - Vector3 min; - Vector3 max; - } BoundingBox; - - typedef struct Wave { - unsigned int frameCount; - unsigned int sampleRate; - unsigned int sampleSize; - unsigned int channels; - void *data; - } Wave; - - typedef struct rAudioBuffer rAudioBuffer; - typedef struct rAudioProcessor rAudioProcessor; - - typedef struct AudioStream { - rAudioBuffer *buffer; - rAudioProcessor *processor; - - unsigned int sampleRate; - unsigned int sampleSize; - unsigned int channels; - } AudioStream; - - typedef struct Sound { - AudioStream stream; - unsigned int frameCount; - } Sound; - - typedef struct Music { - AudioStream stream; - unsigned int frameCount; - bool looping; - - int ctxType; - void *ctxData; - } Music; - - typedef struct VrDeviceInfo { - int hResolution; - int vResolution; - float hScreenSize; - float vScreenSize; - float vScreenCenter; - float eyeToScreenDistance; - float lensSeparationDistance; - float interpupillaryDistance; - float lensDistortionValues[4]; - float chromaAbCorrection[4]; - } VrDeviceInfo; - - typedef struct VrStereoConfig { - Matrix projection[2]; - Matrix viewOffset[2]; - float leftLensCenter[2]; - float rightLensCenter[2]; - float leftScreenCenter[2]; - float rightScreenCenter[2]; - float scale[2]; - float scaleIn[2]; - } VrStereoConfig; - - typedef struct FilePathList { - unsigned int capacity; - unsigned int count; - char **paths; - } FilePathList; - - typedef struct AutomationEvent { - unsigned int frame; - unsigned int type; - int params[4]; - } AutomationEvent; - - typedef struct AutomationEventList { - unsigned int capacity; - unsigned int count; - AutomationEvent *events; - } AutomationEventList; - - typedef enum { - FLAG_VSYNC_HINT = 0x00000040, - FLAG_FULLSCREEN_MODE = 0x00000002, - FLAG_WINDOW_RESIZABLE = 0x00000004, - FLAG_WINDOW_UNDECORATED = 0x00000008, - FLAG_WINDOW_HIDDEN = 0x00000080, - FLAG_WINDOW_MINIMIZED = 0x00000200, - FLAG_WINDOW_MAXIMIZED = 0x00000400, - FLAG_WINDOW_UNFOCUSED = 0x00000800, - FLAG_WINDOW_TOPMOST = 0x00001000, - FLAG_WINDOW_ALWAYS_RUN = 0x00000100, - FLAG_WINDOW_TRANSPARENT = 0x00000010, - FLAG_WINDOW_HIGHDPI = 0x00002000, - FLAG_WINDOW_MOUSE_PASSTHROUGH = 0x00004000, - FLAG_BORDERLESS_WINDOWED_MODE = 0x00008000, - FLAG_MSAA_4X_HINT = 0x00000020, - FLAG_INTERLACED_HINT = 0x00010000 - } ConfigFlags; - - typedef enum { - LOG_ALL = 0, - LOG_TRACE, - LOG_DEBUG, - LOG_INFO, - LOG_WARNING, - LOG_ERROR, - LOG_FATAL, - LOG_NONE - } TraceLogLevel; - - typedef enum { - KEY_NULL = 0, - KEY_APOSTROPHE = 39, - KEY_COMMA = 44, - KEY_MINUS = 45, - KEY_PERIOD = 46, - KEY_SLASH = 47, - KEY_ZERO = 48, - KEY_ONE = 49, - KEY_TWO = 50, - KEY_THREE = 51, - KEY_FOUR = 52, - KEY_FIVE = 53, - KEY_SIX = 54, - KEY_SEVEN = 55, - KEY_EIGHT = 56, - KEY_NINE = 57, - KEY_SEMICOLON = 59, - KEY_EQUAL = 61, - KEY_A = 65, - KEY_B = 66, - KEY_C = 67, - KEY_D = 68, - KEY_E = 69, - KEY_F = 70, - KEY_G = 71, - KEY_H = 72, - KEY_I = 73, - KEY_J = 74, - KEY_K = 75, - KEY_L = 76, - KEY_M = 77, - KEY_N = 78, - KEY_O = 79, - KEY_P = 80, - KEY_Q = 81, - KEY_R = 82, - KEY_S = 83, - KEY_T = 84, - KEY_U = 85, - KEY_V = 86, - KEY_W = 87, - KEY_X = 88, - KEY_Y = 89, - KEY_Z = 90, - KEY_LEFT_BRACKET = 91, - KEY_BACKSLASH = 92, - KEY_RIGHT_BRACKET = 93, - KEY_GRAVE = 96, - KEY_SPACE = 32, - KEY_ESCAPE = 256, - KEY_ENTER = 257, - KEY_TAB = 258, - KEY_BACKSPACE = 259, - KEY_INSERT= 260, - KEY_DELETE= 261, - KEY_RIGHT = 262, - KEY_LEFT = 263, - KEY_DOWN = 264, - KEY_UP = 265, - KEY_PAGE_UP = 266, - KEY_PAGE_DOWN = 267, - KEY_HOME = 268, - KEY_END = 269, - KEY_CAPS_LOCK = 280, - KEY_SCROLL_LOCK = 281, - KEY_NUM_LOCK = 282, - KEY_PRINT_SCREEN = 283, - KEY_PAUSE = 284, - KEY_F1 = 290, - KEY_F2 = 291, - KEY_F3 = 292, - KEY_F4 = 293, - KEY_F5 = 294, - KEY_F6 = 295, - KEY_F7 = 296, - KEY_F8 = 297, - KEY_F9 = 298, - KEY_F10 = 299, - KEY_F11 = 300, - KEY_F12 = 301, - KEY_LEFT_SHIFT = 340, - KEY_LEFT_CONTROL = 341, - KEY_LEFT_ALT = 342, - KEY_LEFT_SUPER = 343, - KEY_RIGHT_SHIFT = 344, - KEY_RIGHT_CONTROL = 345, - KEY_RIGHT_ALT = 346, - KEY_RIGHT_SUPER = 347, - KEY_KB_MENU = 348, - KEY_KP_0 = 320, - KEY_KP_1 = 321, - KEY_KP_2 = 322, - KEY_KP_3 = 323, - KEY_KP_4 = 324, - KEY_KP_5 = 325, - KEY_KP_6 = 326, - KEY_KP_7 = 327, - KEY_KP_8 = 328, - KEY_KP_9 = 329, - KEY_KP_DECIMAL = 330, - KEY_KP_DIVIDE = 331, - KEY_KP_MULTIPLY = 332, - KEY_KP_SUBTRACT = 333, - KEY_KP_ADD = 334, - KEY_KP_ENTER = 335, - KEY_KP_EQUAL = 336, - /* Android key buttons */ - KEY_BACK = 4, - KEY_MENU = 82, - KEY_VOLUME_UP = 24, - KEY_VOLUME_DOWN = 25 - } KeyboardKey; - - typedef enum { - MOUSE_BUTTON_LEFT = 0, - MOUSE_BUTTON_RIGHT = 1, - MOUSE_BUTTON_MIDDLE = 2, - MOUSE_BUTTON_SIDE = 3, - MOUSE_BUTTON_EXTRA = 4, - MOUSE_BUTTON_FORWARD = 5, - MOUSE_BUTTON_BACK = 6 - } MouseButton; - - typedef enum { - MOUSE_CURSOR_DEFAULT = 0, - MOUSE_CURSOR_ARROW = 1, - MOUSE_CURSOR_IBEAM = 2, - MOUSE_CURSOR_CROSSHAIR = 3, - MOUSE_CURSOR_POINTING_HAND = 4, - MOUSE_CURSOR_RESIZE_EW = 5, - MOUSE_CURSOR_RESIZE_NS = 6, - MOUSE_CURSOR_RESIZE_NWSE = 7, - MOUSE_CURSOR_RESIZE_NESW = 8, - MOUSE_CURSOR_RESIZE_ALL = 9, - MOUSE_CURSOR_NOT_ALLOWED = 10 - } MouseCursor; - - typedef enum { - GAMEPAD_BUTTON_UNKNOWN = 0, - GAMEPAD_BUTTON_LEFT_FACE_UP, - GAMEPAD_BUTTON_LEFT_FACE_RIGHT, - GAMEPAD_BUTTON_LEFT_FACE_DOWN, - GAMEPAD_BUTTON_LEFT_FACE_LEFT, - GAMEPAD_BUTTON_RIGHT_FACE_UP, - GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, - GAMEPAD_BUTTON_RIGHT_FACE_DOWN, - GAMEPAD_BUTTON_RIGHT_FACE_LEFT, - GAMEPAD_BUTTON_LEFT_TRIGGER_1, - GAMEPAD_BUTTON_LEFT_TRIGGER_2, - GAMEPAD_BUTTON_RIGHT_TRIGGER_1, - GAMEPAD_BUTTON_RIGHT_TRIGGER_2, - GAMEPAD_BUTTON_MIDDLE_LEFT, - GAMEPAD_BUTTON_MIDDLE, - GAMEPAD_BUTTON_MIDDLE_RIGHT, - GAMEPAD_BUTTON_LEFT_THUMB, - GAMEPAD_BUTTON_RIGHT_THUMB - } GamepadButton; - - typedef enum { - GAMEPAD_AXIS_UNKNOWN = 0, - GAMEPAD_AXIS_LEFT_X, - GAMEPAD_AXIS_LEFT_Y, - GAMEPAD_AXIS_RIGHT_X, - GAMEPAD_AXIS_RIGHT_Y, - GAMEPAD_AXIS_LEFT_TRIGGER, - GAMEPAD_AXIS_RIGHT_TRIGGER - } GamepadAxis; - - typedef enum { - MATERIAL_MAP_ALBEDO = 0, - MATERIAL_MAP_METALNESS, - MATERIAL_MAP_NORMAL, - MATERIAL_MAP_ROUGHNESS, - MATERIAL_MAP_OCCLUSION, - MATERIAL_MAP_EMISSION, - MATERIAL_MAP_HEIGHT, - MATERIAL_MAP_CUBEMAP, - MATERIAL_MAP_IRRADIANCE, - MATERIAL_MAP_PREFILTER, - MATERIAL_MAP_BRDF, - } MaterialMapIndex; - - typedef enum { - SHADER_LOC_VERTEX_POSITION = 0, - SHADER_LOC_VERTEX_TEXCOORD01, - SHADER_LOC_VERTEX_TEXCOORD02, - SHADER_LOC_VERTEX_NORMAL, - SHADER_LOC_VERTEX_TANGENT, - SHADER_LOC_VERTEX_COLOR, - SHADER_LOC_MATRIX_MVP, - SHADER_LOC_MATRIX_VIEW, - SHADER_LOC_MATRIX_PROJECTION, - SHADER_LOC_MATRIX_MODEL, - SHADER_LOC_MATRIX_NORMAL, - SHADER_LOC_VECTOR_VIEW, - SHADER_LOC_COLOR_DIFFUSE, - SHADER_LOC_COLOR_SPECULAR, - SHADER_LOC_COLOR_AMBIENT, - SHADER_LOC_MAP_ALBEDO, - SHADER_LOC_MAP_METALNESS, - SHADER_LOC_MAP_NORMAL, - SHADER_LOC_MAP_ROUGHNESS, - SHADER_LOC_MAP_OCCLUSION, - SHADER_LOC_MAP_EMISSION, - SHADER_LOC_MAP_HEIGHT, - SHADER_LOC_MAP_CUBEMAP, - SHADER_LOC_MAP_IRRADIANCE, - SHADER_LOC_MAP_PREFILTER, - SHADER_LOC_MAP_BRDF - } ShaderLocationIndex; - - typedef enum { - SHADER_UNIFORM_FLOAT = 0, - SHADER_UNIFORM_VEC2, - SHADER_UNIFORM_VEC3, - SHADER_UNIFORM_VEC4, - SHADER_UNIFORM_INT, - SHADER_UNIFORM_IVEC2, - SHADER_UNIFORM_IVEC3, - SHADER_UNIFORM_IVEC4, - SHADER_UNIFORM_SAMPLER2D - } ShaderUniformDataType; - - typedef enum { - SHADER_ATTRIB_FLOAT = 0, - SHADER_ATTRIB_VEC2, - SHADER_ATTRIB_VEC3, - SHADER_ATTRIB_VEC4 - } ShaderAttributeDataType; - - typedef enum { - PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, - PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, - PIXELFORMAT_UNCOMPRESSED_R5G6B5, - PIXELFORMAT_UNCOMPRESSED_R8G8B8, - PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, - PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, - PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, - PIXELFORMAT_UNCOMPRESSED_R32, - PIXELFORMAT_UNCOMPRESSED_R32G32B32, - PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, - PIXELFORMAT_UNCOMPRESSED_R16, - PIXELFORMAT_UNCOMPRESSED_R16G16B16, - PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, - PIXELFORMAT_COMPRESSED_DXT1_RGB, - PIXELFORMAT_COMPRESSED_DXT1_RGBA, - PIXELFORMAT_COMPRESSED_DXT3_RGBA, - PIXELFORMAT_COMPRESSED_DXT5_RGBA, - PIXELFORMAT_COMPRESSED_ETC1_RGB, - PIXELFORMAT_COMPRESSED_ETC2_RGB, - PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, - PIXELFORMAT_COMPRESSED_PVRT_RGB, - PIXELFORMAT_COMPRESSED_PVRT_RGBA, - PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, - PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA - } PixelFormat; - - typedef enum { - TEXTURE_FILTER_POINT = 0, - TEXTURE_FILTER_BILINEAR, - TEXTURE_FILTER_TRILINEAR, - TEXTURE_FILTER_ANISOTROPIC_4X, - TEXTURE_FILTER_ANISOTROPIC_8X, - TEXTURE_FILTER_ANISOTROPIC_16X, - } TextureFilter; - - typedef enum { - TEXTURE_WRAP_REPEAT = 0, - TEXTURE_WRAP_CLAMP, - TEXTURE_WRAP_MIRROR_REPEAT, - TEXTURE_WRAP_MIRROR_CLAMP - } TextureWrapMode; - - typedef enum { - CUBEMAP_LAYOUT_AUTO_DETECT = 0, - CUBEMAP_LAYOUT_LINE_VERTICAL, - CUBEMAP_LAYOUT_LINE_HORIZONTAL, - CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR, - CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE, - CUBEMAP_LAYOUT_PANORAMA - } CubemapLayout; - - typedef enum { - FONT_DEFAULT = 0, - FONT_BITMAP, - FONT_SDF - } FontType; - - typedef enum { - BLEND_ALPHA = 0, - BLEND_ADDITIVE, - BLEND_MULTIPLIED, - BLEND_ADD_COLORS, - BLEND_SUBTRACT_COLORS, - BLEND_ALPHA_PREMULTIPLY, - BLEND_CUSTOM, - BLEND_CUSTOM_SEPARATE - } BlendMode; - - typedef enum { - GESTURE_NONE = 0, - GESTURE_TAP = 1, - GESTURE_DOUBLETAP = 2, - GESTURE_HOLD = 4, - GESTURE_DRAG = 8, - GESTURE_SWIPE_RIGHT = 16, - GESTURE_SWIPE_LEFT = 32, - GESTURE_SWIPE_UP = 64, - GESTURE_SWIPE_DOWN = 128, - GESTURE_PINCH_IN = 256, - GESTURE_PINCH_OUT = 512 - } Gesture; - - typedef enum { - CAMERA_CUSTOM = 0, - CAMERA_FREE, - CAMERA_ORBITAL, - CAMERA_FIRST_PERSON, - CAMERA_THIRD_PERSON - } CameraMode; - - typedef enum { - CAMERA_PERSPECTIVE = 0, - CAMERA_ORTHOGRAPHIC - } CameraProjection; - - typedef enum { - NPATCH_NINE_PATCH = 0, - NPATCH_THREE_PATCH_VERTICAL, - NPATCH_THREE_PATCH_HORIZONTAL - } NPatchLayout; - - typedef void (*TraceLogCallback)(int logLevel, const char *text, va_list args); - typedef void (*AudioCallback)(void *bufferData, unsigned int frames); -]] - --- raymath cdef -ffi.cdef [[ - typedef struct float3 { float v[3]; } float3; - typedef struct float16 { float v[16]; } float16; -]] - --- rlgl cdef -ffi.cdef [[ - typedef enum { - RL_OPENGL_11 = 1, - RL_OPENGL_21, - RL_OPENGL_33, - RL_OPENGL_43, - RL_OPENGL_ES_20, - RL_OPENGL_ES_30 - } rlGlVersion; - - typedef enum { - RL_LOG_ALL = 0, - RL_LOG_TRACE, - RL_LOG_DEBUG, - RL_LOG_INFO, - RL_LOG_WARNING, - RL_LOG_ERROR, - RL_LOG_FATAL, - RL_LOG_NONE - } rlTraceLogLevel; - - typedef enum { - RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, - RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, - RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5, - RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8, - RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, - RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, - RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, - RL_PIXELFORMAT_UNCOMPRESSED_R32, - RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32, - RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, - RL_PIXELFORMAT_UNCOMPRESSED_R16, - RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16, - RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, - RL_PIXELFORMAT_COMPRESSED_DXT1_RGB, - RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA, - RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA, - RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA, - RL_PIXELFORMAT_COMPRESSED_ETC1_RGB, - RL_PIXELFORMAT_COMPRESSED_ETC2_RGB, - RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, - RL_PIXELFORMAT_COMPRESSED_PVRT_RGB, - RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA, - RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, - RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA - } rlPixelFormat; - - typedef enum { - RL_TEXTURE_FILTER_POINT = 0, - RL_TEXTURE_FILTER_BILINEAR, - RL_TEXTURE_FILTER_TRILINEAR, - RL_TEXTURE_FILTER_ANISOTROPIC_4X, - RL_TEXTURE_FILTER_ANISOTROPIC_8X, - RL_TEXTURE_FILTER_ANISOTROPIC_16X, - } rlTextureFilter; - - typedef enum { - RL_BLEND_ALPHA = 0, - RL_BLEND_ADDITIVE, - RL_BLEND_MULTIPLIED, - RL_BLEND_ADD_COLORS, - RL_BLEND_SUBTRACT_COLORS, - RL_BLEND_ALPHA_PREMULTIPLY, - RL_BLEND_CUSTOM - } rlBlendMode; - - typedef enum { - RL_SHADER_LOC_VERTEX_POSITION = 0, - RL_SHADER_LOC_VERTEX_TEXCOORD01, - RL_SHADER_LOC_VERTEX_TEXCOORD02, - RL_SHADER_LOC_VERTEX_NORMAL, - RL_SHADER_LOC_VERTEX_TANGENT, - RL_SHADER_LOC_VERTEX_COLOR, - RL_SHADER_LOC_MATRIX_MVP, - RL_SHADER_LOC_MATRIX_VIEW, - RL_SHADER_LOC_MATRIX_PROJECTION, - RL_SHADER_LOC_MATRIX_MODEL, - RL_SHADER_LOC_MATRIX_NORMAL, - RL_SHADER_LOC_VECTOR_VIEW, - RL_SHADER_LOC_COLOR_DIFFUSE, - RL_SHADER_LOC_COLOR_SPECULAR, - RL_SHADER_LOC_COLOR_AMBIENT, - RL_SHADER_LOC_MAP_ALBEDO, - RL_SHADER_LOC_MAP_METALNESS, - RL_SHADER_LOC_MAP_NORMAL, - RL_SHADER_LOC_MAP_ROUGHNESS, - RL_SHADER_LOC_MAP_OCCLUSION, - RL_SHADER_LOC_MAP_EMISSION, - RL_SHADER_LOC_MAP_HEIGHT, - RL_SHADER_LOC_MAP_CUBEMAP, - RL_SHADER_LOC_MAP_IRRADIANCE, - RL_SHADER_LOC_MAP_PREFILTER, - RL_SHADER_LOC_MAP_BRDF - } rlShaderLocationIndex; - - typedef enum { - RL_SHADER_UNIFORM_FLOAT = 0, - RL_SHADER_UNIFORM_VEC2, - RL_SHADER_UNIFORM_VEC3, - RL_SHADER_UNIFORM_VEC4, - RL_SHADER_UNIFORM_INT, - RL_SHADER_UNIFORM_IVEC2, - RL_SHADER_UNIFORM_IVEC3, - RL_SHADER_UNIFORM_IVEC4, - RL_SHADER_UNIFORM_SAMPLER2D - } rlShaderUniformDataType; - - typedef enum { - RL_SHADER_ATTRIB_FLOAT = 0, - RL_SHADER_ATTRIB_VEC2, - RL_SHADER_ATTRIB_VEC3, - RL_SHADER_ATTRIB_VEC4 - } rlShaderAttributeDataType; - - typedef enum { - RL_ATTACHMENT_COLOR_CHANNEL0 = 0, - RL_ATTACHMENT_COLOR_CHANNEL1 = 1, - RL_ATTACHMENT_COLOR_CHANNEL2 = 2, - RL_ATTACHMENT_COLOR_CHANNEL3 = 3, - RL_ATTACHMENT_COLOR_CHANNEL4 = 4, - RL_ATTACHMENT_COLOR_CHANNEL5 = 5, - RL_ATTACHMENT_COLOR_CHANNEL6 = 6, - RL_ATTACHMENT_COLOR_CHANNEL7 = 7, - RL_ATTACHMENT_DEPTH = 100, - RL_ATTACHMENT_STENCIL = 200, - } rlFramebufferAttachType; - - typedef enum { - RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, - RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1, - RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2, - RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3, - RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4, - RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5, - RL_ATTACHMENT_TEXTURE2D = 100, - RL_ATTACHMENT_RENDERBUFFER = 200, - } rlFramebufferAttachTextureType; - +--[[ + Copyright (C) 2020 Astie Teddy + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION + OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +]] + +print "RAYLUA: Raylua boot script" +print("RAYLUA: Lua Version: " .. _VERSION) + +if jit then + print("RAYLUA: Lua JIT: " .. jit.version) +end + +local ffi = require "ffi" +local C = ffi.C + +local rl = {} +setmetatable(rl, rl) + +-- structs definition +ffi.cdef [[ + typedef void *va_list; + typedef struct Vector2 { + float x; + float y; + } Vector2; + + typedef struct Vector3 { + float x; + float y; + float z; + } Vector3; + + typedef struct Vector4 { + float x; + float y; + float z; + float w; + } Vector4; + + typedef Vector4 Quaternion; + + typedef struct Matrix { + float m0, m4, m8, m12; + float m1, m5, m9, m13; + float m2, m6, m10, m14; + float m3, m7, m11, m15; + } Matrix; + + typedef struct Color { + unsigned char r; + unsigned char g; + unsigned char b; + unsigned char a; + } Color; + + typedef struct Rectangle { + float x; + float y; + float width; + float height; + } Rectangle; + + typedef struct Image { + void *data; + int width; + int height; + int mipmaps; + int format; + } Image; + + typedef struct Texture { + unsigned int id; + int width; + int height; + int mipmaps; + int format; + } Texture; + + typedef Texture Texture2D; + + typedef Texture TextureCubemap; + + typedef struct RenderTexture { + unsigned int id; + Texture texture; + Texture depth; + } RenderTexture; + + typedef RenderTexture RenderTexture2D; + + typedef struct NPatchInfo { + Rectangle source; + int left; + int top; + int right; + int bottom; + int layout; + } NPatchInfo; + + typedef struct GlyphInfo { + int value; + int offsetX; + int offsetY; + int advanceX; + Image image; + } GlyphInfo; + + typedef struct Font { + int baseSize; + int glyphCount; + int glyphPadding; + Texture2D texture; + Rectangle *recs; + GlyphInfo *glyphs; + } Font; + + typedef struct Camera3D { + Vector3 position; + Vector3 target; + Vector3 up; + float fovy; + int projection; + } Camera3D; + + typedef Camera3D Camera; + + typedef struct Camera2D { + Vector2 offset; + Vector2 target; + float rotation; + float zoom; + } Camera2D; + + typedef struct Mesh { + int vertexCount; + int triangleCount; + float *vertices; + float *texcoords; + float *texcoords2; + float *normals; + float *tangents; + unsigned char *colors; + unsigned short *indices; + int boneCount; + unsigned char *boneIndices; + float *boneWeights; + float *animVertices; + float *animNormals; + unsigned int vaoId; + unsigned int *vboId; + } Mesh; + + typedef struct Shader { + unsigned int id; + int *locs; + } Shader; + + typedef struct MaterialMap { + Texture2D texture; + Color color; + float value; + } MaterialMap; + + typedef struct Material { + Shader shader; + MaterialMap *maps; + float params[4]; + } Material; + + typedef struct Transform { + Vector3 translation; + Quaternion rotation; + Vector3 scale; + } Transform; + + typedef Transform *ModelAnimPose; + + typedef struct BoneInfo { + char name[32]; + int parent; + } BoneInfo; + + typedef struct ModelSkeleton { + int boneCount; + BoneInfo *bones; + ModelAnimPose bindPose; + } ModelSkeleton; + + typedef struct Model { + Matrix transform; + int meshCount; + int materialCount; + Mesh *meshes; + Material *materials; + int *meshMaterial; + ModelSkeleton skeleton; + ModelAnimPose currentPose; + Matrix *boneMatrices; + } Model; + + typedef struct ModelAnimation { + char name[32]; + int boneCount; + int keyframeCount; + ModelAnimPose *keyframePoses; + } ModelAnimation; + + typedef struct Ray { + Vector3 position; + Vector3 direction; + } Ray; + + typedef struct RayCollision { + bool hit; + float distance; + Vector3 point; + Vector3 normal; + } RayCollision; + + typedef struct BoundingBox { + Vector3 min; + Vector3 max; + } BoundingBox; + + typedef struct Wave { + unsigned int frameCount; + unsigned int sampleRate; + unsigned int sampleSize; + unsigned int channels; + void *data; + } Wave; + + typedef struct rAudioBuffer rAudioBuffer; + + typedef struct rAudioProcessor rAudioProcessor; + + typedef struct AudioStream { + rAudioBuffer *buffer; + rAudioProcessor *processor; + unsigned int sampleRate; + unsigned int sampleSize; + unsigned int channels; + } AudioStream; + + typedef struct Sound { + AudioStream stream; + unsigned int frameCount; + } Sound; + + typedef struct Music { + AudioStream stream; + unsigned int frameCount; + bool looping; + int ctxType; + void *ctxData; + } Music; + + typedef struct VrDeviceInfo { + int hResolution; + int vResolution; + float hScreenSize; + float vScreenSize; + float eyeToScreenDistance; + float lensSeparationDistance; + float interpupillaryDistance; + float lensDistortionValues[4]; + float chromaAbCorrection[4]; + } VrDeviceInfo; + + typedef struct VrStereoConfig { + Matrix projection[2]; + Matrix viewOffset[2]; + float leftLensCenter[2]; + float rightLensCenter[2]; + float leftScreenCenter[2]; + float rightScreenCenter[2]; + float scale[2]; + float scaleIn[2]; + } VrStereoConfig; + + typedef struct FilePathList { + unsigned int count; + char **paths; + } FilePathList; + + typedef struct AutomationEvent { + unsigned int frame; + unsigned int type; + int params[4]; + } AutomationEvent; + + typedef struct AutomationEventList { + unsigned int capacity; + unsigned int count; + AutomationEvent *events; + } AutomationEventList; + + typedef enum { + FLAG_VSYNC_HINT = 0x00000040, + FLAG_FULLSCREEN_MODE = 0x00000002, + FLAG_WINDOW_RESIZABLE = 0x00000004, + FLAG_WINDOW_UNDECORATED = 0x00000008, + FLAG_WINDOW_HIDDEN = 0x00000080, + FLAG_WINDOW_MINIMIZED = 0x00000200, + FLAG_WINDOW_MAXIMIZED = 0x00000400, + FLAG_WINDOW_UNFOCUSED = 0x00000800, + FLAG_WINDOW_TOPMOST = 0x00001000, + FLAG_WINDOW_ALWAYS_RUN = 0x00000100, + FLAG_WINDOW_TRANSPARENT = 0x00000010, + FLAG_WINDOW_HIGHDPI = 0x00002000, + FLAG_WINDOW_MOUSE_PASSTHROUGH = 0x00004000, + FLAG_BORDERLESS_WINDOWED_MODE = 0x00008000, + FLAG_MSAA_4X_HINT = 0x00000020, + FLAG_INTERLACED_HINT = 0x00010000 + } ConfigFlags; + + typedef enum { + LOG_ALL = 0, + LOG_TRACE, + LOG_DEBUG, + LOG_INFO, + LOG_WARNING, + LOG_ERROR, + LOG_FATAL, + LOG_NONE + } TraceLogLevel; + + typedef enum { + KEY_NULL = 0, + KEY_APOSTROPHE = 39, + KEY_COMMA = 44, + KEY_MINUS = 45, + KEY_PERIOD = 46, + KEY_SLASH = 47, + KEY_ZERO = 48, + KEY_ONE = 49, + KEY_TWO = 50, + KEY_THREE = 51, + KEY_FOUR = 52, + KEY_FIVE = 53, + KEY_SIX = 54, + KEY_SEVEN = 55, + KEY_EIGHT = 56, + KEY_NINE = 57, + KEY_SEMICOLON = 59, + KEY_EQUAL = 61, + KEY_A = 65, + KEY_B = 66, + KEY_C = 67, + KEY_D = 68, + KEY_E = 69, + KEY_F = 70, + KEY_G = 71, + KEY_H = 72, + KEY_I = 73, + KEY_J = 74, + KEY_K = 75, + KEY_L = 76, + KEY_M = 77, + KEY_N = 78, + KEY_O = 79, + KEY_P = 80, + KEY_Q = 81, + KEY_R = 82, + KEY_S = 83, + KEY_T = 84, + KEY_U = 85, + KEY_V = 86, + KEY_W = 87, + KEY_X = 88, + KEY_Y = 89, + KEY_Z = 90, + KEY_LEFT_BRACKET = 91, + KEY_BACKSLASH = 92, + KEY_RIGHT_BRACKET = 93, + KEY_GRAVE = 96, + KEY_SPACE = 32, + KEY_ESCAPE = 256, + KEY_ENTER = 257, + KEY_TAB = 258, + KEY_BACKSPACE = 259, + KEY_INSERT = 260, + KEY_DELETE = 261, + KEY_RIGHT = 262, + KEY_LEFT = 263, + KEY_DOWN = 264, + KEY_UP = 265, + KEY_PAGE_UP = 266, + KEY_PAGE_DOWN = 267, + KEY_HOME = 268, + KEY_END = 269, + KEY_CAPS_LOCK = 280, + KEY_SCROLL_LOCK = 281, + KEY_NUM_LOCK = 282, + KEY_PRINT_SCREEN = 283, + KEY_PAUSE = 284, + KEY_F1 = 290, + KEY_F2 = 291, + KEY_F3 = 292, + KEY_F4 = 293, + KEY_F5 = 294, + KEY_F6 = 295, + KEY_F7 = 296, + KEY_F8 = 297, + KEY_F9 = 298, + KEY_F10 = 299, + KEY_F11 = 300, + KEY_F12 = 301, + KEY_LEFT_SHIFT = 340, + KEY_LEFT_CONTROL = 341, + KEY_LEFT_ALT = 342, + KEY_LEFT_SUPER = 343, + KEY_RIGHT_SHIFT = 344, + KEY_RIGHT_CONTROL = 345, + KEY_RIGHT_ALT = 346, + KEY_RIGHT_SUPER = 347, + KEY_KB_MENU = 348, + KEY_KP_0 = 320, + KEY_KP_1 = 321, + KEY_KP_2 = 322, + KEY_KP_3 = 323, + KEY_KP_4 = 324, + KEY_KP_5 = 325, + KEY_KP_6 = 326, + KEY_KP_7 = 327, + KEY_KP_8 = 328, + KEY_KP_9 = 329, + KEY_KP_DECIMAL = 330, + KEY_KP_DIVIDE = 331, + KEY_KP_MULTIPLY = 332, + KEY_KP_SUBTRACT = 333, + KEY_KP_ADD = 334, + KEY_KP_ENTER = 335, + KEY_KP_EQUAL = 336, + KEY_BACK = 4, + KEY_MENU = 5, + KEY_VOLUME_UP = 24, + KEY_VOLUME_DOWN = 25 + } KeyboardKey; + + typedef enum { + MOUSE_BUTTON_LEFT = 0, + MOUSE_BUTTON_RIGHT = 1, + MOUSE_BUTTON_MIDDLE = 2, + MOUSE_BUTTON_SIDE = 3, + MOUSE_BUTTON_EXTRA = 4, + MOUSE_BUTTON_FORWARD = 5, + MOUSE_BUTTON_BACK = 6, + } MouseButton; + + typedef enum { + MOUSE_CURSOR_DEFAULT = 0, + MOUSE_CURSOR_ARROW = 1, + MOUSE_CURSOR_IBEAM = 2, + MOUSE_CURSOR_CROSSHAIR = 3, + MOUSE_CURSOR_POINTING_HAND = 4, + MOUSE_CURSOR_RESIZE_EW = 5, + MOUSE_CURSOR_RESIZE_NS = 6, + MOUSE_CURSOR_RESIZE_NWSE = 7, + MOUSE_CURSOR_RESIZE_NESW = 8, + MOUSE_CURSOR_RESIZE_ALL = 9, + MOUSE_CURSOR_NOT_ALLOWED = 10 + } MouseCursor; + + typedef enum { + GAMEPAD_BUTTON_UNKNOWN = 0, + GAMEPAD_BUTTON_LEFT_FACE_UP, + GAMEPAD_BUTTON_LEFT_FACE_RIGHT, + GAMEPAD_BUTTON_LEFT_FACE_DOWN, + GAMEPAD_BUTTON_LEFT_FACE_LEFT, + GAMEPAD_BUTTON_RIGHT_FACE_UP, + GAMEPAD_BUTTON_RIGHT_FACE_RIGHT, + GAMEPAD_BUTTON_RIGHT_FACE_DOWN, + GAMEPAD_BUTTON_RIGHT_FACE_LEFT, + GAMEPAD_BUTTON_LEFT_TRIGGER_1, + GAMEPAD_BUTTON_LEFT_TRIGGER_2, + GAMEPAD_BUTTON_RIGHT_TRIGGER_1, + GAMEPAD_BUTTON_RIGHT_TRIGGER_2, + GAMEPAD_BUTTON_MIDDLE_LEFT, + GAMEPAD_BUTTON_MIDDLE, + GAMEPAD_BUTTON_MIDDLE_RIGHT, + GAMEPAD_BUTTON_LEFT_THUMB, + GAMEPAD_BUTTON_RIGHT_THUMB + } GamepadButton; + + typedef enum { + GAMEPAD_AXIS_LEFT_X = 0, + GAMEPAD_AXIS_LEFT_Y = 1, + GAMEPAD_AXIS_RIGHT_X = 2, + GAMEPAD_AXIS_RIGHT_Y = 3, + GAMEPAD_AXIS_LEFT_TRIGGER = 4, + GAMEPAD_AXIS_RIGHT_TRIGGER = 5 + } GamepadAxis; + + typedef enum { + MATERIAL_MAP_ALBEDO = 0, + MATERIAL_MAP_METALNESS, + MATERIAL_MAP_NORMAL, + MATERIAL_MAP_ROUGHNESS, + MATERIAL_MAP_OCCLUSION, + MATERIAL_MAP_EMISSION, + MATERIAL_MAP_HEIGHT, + MATERIAL_MAP_CUBEMAP, + MATERIAL_MAP_IRRADIANCE, + MATERIAL_MAP_PREFILTER, + MATERIAL_MAP_BRDF + } MaterialMapIndex; + + typedef enum { + SHADER_LOC_VERTEX_POSITION = 0, + SHADER_LOC_VERTEX_TEXCOORD01, + SHADER_LOC_VERTEX_TEXCOORD02, + SHADER_LOC_VERTEX_NORMAL, + SHADER_LOC_VERTEX_TANGENT, + SHADER_LOC_VERTEX_COLOR, + SHADER_LOC_MATRIX_MVP, + SHADER_LOC_MATRIX_VIEW, + SHADER_LOC_MATRIX_PROJECTION, + SHADER_LOC_MATRIX_MODEL, + SHADER_LOC_MATRIX_NORMAL, + SHADER_LOC_VECTOR_VIEW, + SHADER_LOC_COLOR_DIFFUSE, + SHADER_LOC_COLOR_SPECULAR, + SHADER_LOC_COLOR_AMBIENT, + SHADER_LOC_MAP_ALBEDO, + SHADER_LOC_MAP_METALNESS, + SHADER_LOC_MAP_NORMAL, + SHADER_LOC_MAP_ROUGHNESS, + SHADER_LOC_MAP_OCCLUSION, + SHADER_LOC_MAP_EMISSION, + SHADER_LOC_MAP_HEIGHT, + SHADER_LOC_MAP_CUBEMAP, + SHADER_LOC_MAP_IRRADIANCE, + SHADER_LOC_MAP_PREFILTER, + SHADER_LOC_MAP_BRDF, + SHADER_LOC_VERTEX_BONEIDS, + SHADER_LOC_VERTEX_BONEWEIGHTS, + SHADER_LOC_MATRIX_BONETRANSFORMS, + SHADER_LOC_VERTEX_INSTANCETRANSFORM + } ShaderLocationIndex; + + typedef enum { + SHADER_UNIFORM_FLOAT = 0, + SHADER_UNIFORM_VEC2, + SHADER_UNIFORM_VEC3, + SHADER_UNIFORM_VEC4, + SHADER_UNIFORM_INT, + SHADER_UNIFORM_IVEC2, + SHADER_UNIFORM_IVEC3, + SHADER_UNIFORM_IVEC4, + SHADER_UNIFORM_UINT, + SHADER_UNIFORM_UIVEC2, + SHADER_UNIFORM_UIVEC3, + SHADER_UNIFORM_UIVEC4, + SHADER_UNIFORM_SAMPLER2D + } ShaderUniformDataType; + + typedef enum { + SHADER_ATTRIB_FLOAT = 0, + SHADER_ATTRIB_VEC2, + SHADER_ATTRIB_VEC3, + SHADER_ATTRIB_VEC4 + } ShaderAttributeDataType; + + typedef enum { + PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, + PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, + PIXELFORMAT_UNCOMPRESSED_R5G6B5, + PIXELFORMAT_UNCOMPRESSED_R8G8B8, + PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, + PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, + PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, + PIXELFORMAT_UNCOMPRESSED_R32, + PIXELFORMAT_UNCOMPRESSED_R32G32B32, + PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, + PIXELFORMAT_UNCOMPRESSED_R16, + PIXELFORMAT_UNCOMPRESSED_R16G16B16, + PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, + PIXELFORMAT_COMPRESSED_DXT1_RGB, + PIXELFORMAT_COMPRESSED_DXT1_RGBA, + PIXELFORMAT_COMPRESSED_DXT3_RGBA, + PIXELFORMAT_COMPRESSED_DXT5_RGBA, + PIXELFORMAT_COMPRESSED_ETC1_RGB, + PIXELFORMAT_COMPRESSED_ETC2_RGB, + PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, + PIXELFORMAT_COMPRESSED_PVRT_RGB, + PIXELFORMAT_COMPRESSED_PVRT_RGBA, + PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, + PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA + } PixelFormat; + + typedef enum { + TEXTURE_FILTER_POINT = 0, + TEXTURE_FILTER_BILINEAR, + TEXTURE_FILTER_TRILINEAR, + TEXTURE_FILTER_ANISOTROPIC_4X, + TEXTURE_FILTER_ANISOTROPIC_8X, + TEXTURE_FILTER_ANISOTROPIC_16X, + } TextureFilter; + + typedef enum { + TEXTURE_WRAP_REPEAT = 0, + TEXTURE_WRAP_CLAMP, + TEXTURE_WRAP_MIRROR_REPEAT, + TEXTURE_WRAP_MIRROR_CLAMP + } TextureWrap; + + typedef enum { + CUBEMAP_LAYOUT_AUTO_DETECT = 0, + CUBEMAP_LAYOUT_LINE_VERTICAL, + CUBEMAP_LAYOUT_LINE_HORIZONTAL, + CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR, + CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE + } CubemapLayout; + + typedef enum { + FONT_DEFAULT = 0, + FONT_BITMAP, + FONT_SDF + } FontType; + + typedef enum { + BLEND_ALPHA = 0, + BLEND_ADDITIVE, + BLEND_MULTIPLIED, + BLEND_ADD_COLORS, + BLEND_SUBTRACT_COLORS, + BLEND_ALPHA_PREMULTIPLY, + BLEND_CUSTOM, + BLEND_CUSTOM_SEPARATE + } BlendMode; + + typedef enum { + GESTURE_NONE = 0, + GESTURE_TAP = 1, + GESTURE_DOUBLETAP = 2, + GESTURE_HOLD = 4, + GESTURE_DRAG = 8, + GESTURE_SWIPE_RIGHT = 16, + GESTURE_SWIPE_LEFT = 32, + GESTURE_SWIPE_UP = 64, + GESTURE_SWIPE_DOWN = 128, + GESTURE_PINCH_IN = 256, + GESTURE_PINCH_OUT = 512 + } Gesture; + + typedef enum { + CAMERA_CUSTOM = 0, + CAMERA_FREE, + CAMERA_ORBITAL, + CAMERA_FIRST_PERSON, + CAMERA_THIRD_PERSON + } CameraMode; + + typedef enum { + CAMERA_PERSPECTIVE = 0, + CAMERA_ORTHOGRAPHIC + } CameraProjection; + + typedef enum { + NPATCH_NINE_PATCH = 0, + NPATCH_THREE_PATCH_VERTICAL, + NPATCH_THREE_PATCH_HORIZONTAL + } NPatchLayout; + + typedef void (*TraceLogCallback)(int logLevel, const char *text, va_list args); + + typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, int *dataSize); + + typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, int dataSize); + + typedef char *(*LoadFileTextCallback)(const char *fileName); + + typedef bool (*SaveFileTextCallback)(const char *fileName, const char *text); + + typedef void (*AudioCallback)(void *bufferData, unsigned int frames); + +]] + +ffi.cdef [[ + typedef struct float3 { float v[3]; } float3; + typedef struct float16 { float v[16]; } float16; +]] + +-- rlgl cdef +ffi.cdef [[ typedef enum { - RL_CULL_FACE_FRONT = 0, - RL_CULL_FACE_BACK - } rlCullMode; - - /* NOTE: Assumes non-ES OpenGL. */ - typedef struct rlVertexBuffer { - int elementCount; - + RL_OPENGL_SOFTWARE = 0, + RL_OPENGL_11, + RL_OPENGL_21, + RL_OPENGL_33, + RL_OPENGL_43, + RL_OPENGL_ES_20, + RL_OPENGL_ES_30 + } rlGlVersion; + + typedef enum { + RL_LOG_ALL = 0, + RL_LOG_TRACE, + RL_LOG_DEBUG, + RL_LOG_INFO, + RL_LOG_WARNING, + RL_LOG_ERROR, + RL_LOG_FATAL, + RL_LOG_NONE + } rlTraceLogLevel; + + typedef enum { + RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1, + RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA, + RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5, + RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8, + RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1, + RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4, + RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8, + RL_PIXELFORMAT_UNCOMPRESSED_R32, + RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32, + RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32, + RL_PIXELFORMAT_UNCOMPRESSED_R16, + RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16, + RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16, + RL_PIXELFORMAT_COMPRESSED_DXT1_RGB, + RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA, + RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA, + RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA, + RL_PIXELFORMAT_COMPRESSED_ETC1_RGB, + RL_PIXELFORMAT_COMPRESSED_ETC2_RGB, + RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA, + RL_PIXELFORMAT_COMPRESSED_PVRT_RGB, + RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA, + RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA, + RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA + } rlPixelFormat; + + typedef enum { + RL_TEXTURE_FILTER_POINT = 0, + RL_TEXTURE_FILTER_BILINEAR, + RL_TEXTURE_FILTER_TRILINEAR, + RL_TEXTURE_FILTER_ANISOTROPIC_4X, + RL_TEXTURE_FILTER_ANISOTROPIC_8X, + RL_TEXTURE_FILTER_ANISOTROPIC_16X, + } rlTextureFilter; + + typedef enum { + RL_BLEND_ALPHA = 0, + RL_BLEND_ADDITIVE, + RL_BLEND_MULTIPLIED, + RL_BLEND_ADD_COLORS, + RL_BLEND_SUBTRACT_COLORS, + RL_BLEND_ALPHA_PREMULTIPLY, + RL_BLEND_CUSTOM, + RL_BLEND_CUSTOM_SEPARATE + } rlBlendMode; + + typedef enum { + RL_SHADER_LOC_VERTEX_POSITION = 0, + RL_SHADER_LOC_VERTEX_TEXCOORD01, + RL_SHADER_LOC_VERTEX_TEXCOORD02, + RL_SHADER_LOC_VERTEX_NORMAL, + RL_SHADER_LOC_VERTEX_TANGENT, + RL_SHADER_LOC_VERTEX_COLOR, + RL_SHADER_LOC_MATRIX_MVP, + RL_SHADER_LOC_MATRIX_VIEW, + RL_SHADER_LOC_MATRIX_PROJECTION, + RL_SHADER_LOC_MATRIX_MODEL, + RL_SHADER_LOC_MATRIX_NORMAL, + RL_SHADER_LOC_VECTOR_VIEW, + RL_SHADER_LOC_COLOR_DIFFUSE, + RL_SHADER_LOC_COLOR_SPECULAR, + RL_SHADER_LOC_COLOR_AMBIENT, + RL_SHADER_LOC_MAP_ALBEDO, + RL_SHADER_LOC_MAP_METALNESS, + RL_SHADER_LOC_MAP_NORMAL, + RL_SHADER_LOC_MAP_ROUGHNESS, + RL_SHADER_LOC_MAP_OCCLUSION, + RL_SHADER_LOC_MAP_EMISSION, + RL_SHADER_LOC_MAP_HEIGHT, + RL_SHADER_LOC_MAP_CUBEMAP, + RL_SHADER_LOC_MAP_IRRADIANCE, + RL_SHADER_LOC_MAP_PREFILTER, + RL_SHADER_LOC_MAP_BRDF + } rlShaderLocationIndex; + + typedef enum { + RL_SHADER_UNIFORM_FLOAT = 0, + RL_SHADER_UNIFORM_VEC2, + RL_SHADER_UNIFORM_VEC3, + RL_SHADER_UNIFORM_VEC4, + RL_SHADER_UNIFORM_INT, + RL_SHADER_UNIFORM_IVEC2, + RL_SHADER_UNIFORM_IVEC3, + RL_SHADER_UNIFORM_IVEC4, + RL_SHADER_UNIFORM_SAMPLER2D + } rlShaderUniformDataType; + + typedef enum { + RL_SHADER_ATTRIB_FLOAT = 0, + RL_SHADER_ATTRIB_VEC2, + RL_SHADER_ATTRIB_VEC3, + RL_SHADER_ATTRIB_VEC4 + } rlShaderAttributeDataType; + + typedef enum { + RL_ATTACHMENT_COLOR_CHANNEL0 = 0, + RL_ATTACHMENT_COLOR_CHANNEL1 = 1, + RL_ATTACHMENT_COLOR_CHANNEL2 = 2, + RL_ATTACHMENT_COLOR_CHANNEL3 = 3, + RL_ATTACHMENT_COLOR_CHANNEL4 = 4, + RL_ATTACHMENT_COLOR_CHANNEL5 = 5, + RL_ATTACHMENT_COLOR_CHANNEL6 = 6, + RL_ATTACHMENT_COLOR_CHANNEL7 = 7, + RL_ATTACHMENT_DEPTH = 100, + RL_ATTACHMENT_STENCIL = 200, + } rlFramebufferAttachType; + + typedef enum { + RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3, + RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4, + RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5, + RL_ATTACHMENT_TEXTURE2D = 100, + RL_ATTACHMENT_RENDERBUFFER = 200, + } rlFramebufferAttachTextureType; + + typedef enum { + RL_CULL_FACE_FRONT = 0, + RL_CULL_FACE_BACK + } rlCullMode; + + /* NOTE: Assumes non-ES OpenGL. */ + typedef struct rlVertexBuffer { + int elementCount; + float *vertices; float *texcoords; + float *normals; unsigned char *colors; unsigned int *indices; unsigned int vaoId; - unsigned int vboId[4]; - } rlVertexBuffer; - - typedef struct rlDrawCall { - int mode; - int vertexCount; - int vertexAlignment; - //unsigned int vaoId; - //unsigned int shaderId; - unsigned int textureId; - - //Matrix projection; - //Matrix modelview; - } rlDrawCall; - - typedef struct rlRenderBatch { - int bufferCount; - int currentBuffer; - rlVertexBuffer *vertexBuffer; - - rlDrawCall *draws; - int drawCounter; - float currentDepth; - } rlRenderBatch; -]] - --- rlgl defines -rl.RL_TEXTURE_WRAP_S = 0x2802 -rl.RL_TEXTURE_WRAP_T = 0x2803 -rl.RL_TEXTURE_MAG_FILTER = 0x2800 -rl.RL_TEXTURE_MIN_FILTER = 0x2801 -rl.RL_TEXTURE_FILTER_NEAREST = 0x2600 -rl.RL_TEXTURE_FILTER_LINEAR = 0x2601 -rl.RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 -rl.RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 -rl.RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 -rl.RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 -rl.RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 -rl.RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 -rl.RL_TEXTURE_WRAP_REPEAT = 0x2901 -rl.RL_TEXTURE_WRAP_CLAMP = 0x812F -rl.RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 -rl.RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 - -rl.RL_MODELVIEW = 0x1700 -rl.RL_PROJECTION = 0x1701 -rl.RL_TEXTURE = 0x1702 -rl.RL_LINES = 0x0001 -rl.RL_TRIANGLES = 0x0004 -rl.RL_QUADS = 0x0007 - -rl.RL_UNSIGNED_BYTE = 0x1401 -rl.RL_FLOAT = 0x1406 - -rl.RL_STREAM_DRAW = 0x88E0 -rl.RL_STREAM_READ = 0x88E1 -rl.RL_STREAM_COPY = 0x88E2 -rl.RL_STATIC_DRAW = 0x88E4 -rl.RL_STATIC_READ = 0x88E5 -rl.RL_STATIC_COPY = 0x88E6 -rl.RL_DYNAMIC_DRAW = 0x88E8 -rl.RL_DYNAMIC_READ = 0x88E9 -rl.RL_DYNAMIC_COPY = 0x88EA - -rl.RL_FRAGMENT_SHADER = 0x8B30 -rl.RL_VERTEX_SHADER = 0x8B31 -rl.RL_COMPUTE_SHADER = 0x91B9 - -rl.RL_ZERO = 0 -rl.RL_ONE = 1 -rl.RL_SRC_COLOR = 0x0300 -rl.RL_ONE_MINUS_SRC_COLOR = 0x0301 -rl.RL_SRC_ALPHA = 0x0302 -rl.RL_ONE_MINUS_SRC_ALPHA = 0x0303 -rl.RL_DST_ALPHA = 0x0304 -rl.RL_ONE_MINUS_DST_ALPHA = 0x0305 -rl.RL_DST_COLOR = 0x0306 -rl.RL_ONE_MINUS_DST_COLOR = 0x0307 -rl.RL_SRC_ALPHA_SATURATE = 0x0308 -rl.RL_CONSTANT_COLOR = 0x8001 -rl.RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 -rl.RL_CONSTANT_ALPHA = 0x8003 -rl.RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 -rl.RL_FUNC_ADD = 0x8006 -rl.RL_MIN = 0x8007 -rl.RL_MAX = 0x8008 -rl.RL_FUNC_SUBTRACT = 0x800A -rl.RL_FUNC_REVERSE_SUBTRACT = 0x800B -rl.RL_BLEND_EQUATION = 0x8009 -rl.RL_BLEND_EQUATION_RGB = 0x8009 -rl.RL_BLEND_EQUATION_ALPHA = 0x883D -rl.RL_BLEND_DST_RGB = 0x80C8 -rl.RL_BLEND_SRC_RGB = 0x80C9 -rl.RL_BLEND_DST_ALPHA = 0x80CA -rl.RL_BLEND_SRC_ALPHA = 0x80CB -rl.RL_BLEND_COLOR = 0x8005 - --- Physac cdef -ffi.cdef [[ - typedef enum PhysicsShapeType { PHYSICS_CIRCLE = 0, PHYSICS_POLYGON } PhysicsShapeType; - typedef struct PhysicsBodyData *PhysicsBody; - - typedef struct Matrix2x2 { - float m00; - float m01; - float m10; - float m11; - } Matrix2x2; - - typedef struct PhysicsVertexData { - unsigned int vertexCount; - Vector2 positions[24]; - Vector2 normals[24]; -} PhysicsVertexData; - - typedef struct PhysicsShape { - PhysicsShapeType type; - PhysicsBody body; - PhysicsVertexData vertexData; - float radius; - Matrix2x2 transform; - } PhysicsShape; - - typedef struct PhysicsBodyData { - unsigned int id; - bool enabled; - Vector2 position; - Vector2 velocity; - Vector2 force; - float angularVelocity; - float torque; - float orient; - float inertia; - float inverseInertia; - float mass; - float inverseMass; - float staticFriction; - float dynamicFriction; - float restitution; - bool useGravity; - bool isGrounded; - bool freezeOrient; - PhysicsShape shape; - } PhysicsBodyData; - - typedef struct PhysicsManifoldData { - unsigned int id; - PhysicsBody bodyA; - PhysicsBody bodyB; - float penetration; - Vector2 normal; - Vector2 contacts[2]; - unsigned int contactsCount; - float restitution; - float dynamicFriction; - float staticFriction; - } PhysicsManifoldData, *PhysicsManifold; -]] - --- gestures cdef -ffi.cdef [[ - typedef enum { - TOUCH_ACTION_UP = 0, - TOUCH_ACTION_DOWN, - TOUCH_ACTION_MOVE, - TOUCH_ACTION_CANCEL - } TouchAction; - - typedef struct { - int touchAction; - int pointCount; - int pointerId[8]; // CONST - Vector2 position[8]; // CONST - } GestureEvent; -]] - --- raygui cdef -ffi.cdef [[ - typedef struct GuiStyleProp { - unsigned short controlId; - unsigned short propertyId; - int propertyValue; - } GuiStyleProp; - - typedef enum { - GUI_STATE_NORMAL = 0, - GUI_STATE_FOCUSED, - GUI_STATE_PRESSED, - GUI_STATE_DISABLED, - } GuiControlState; - - typedef enum { - GUI_TEXT_ALIGN_LEFT = 0, - GUI_TEXT_ALIGN_CENTER, - GUI_TEXT_ALIGN_RIGHT, - } GuiTextAlignment; - - typedef enum { - TEXT_ALIGN_TOP = 0, - TEXT_ALIGN_MIDDLE, - TEXT_ALIGN_BOTTOM - } GuiTextAlignmentVertical; - - typedef enum { - TEXT_WRAP_NONE = 0, - TEXT_WRAP_CHAR, - TEXT_WRAP_WORD - } GuiTextWrapMode; - - typedef enum { - DEFAULT = 0, - LABEL, - BUTTON, - TOGGLE, - SLIDER, - PROGRESSBAR, - CHECKBOX, - COMBOBOX, - DROPDOWNBOX, - TEXTBOX, - VALUEBOX, - SPINNER, - LISTVIEW, - COLORPICKER, - SCROLLBAR, - STATUSBAR - } GuiControl; - - typedef enum { - BORDER_COLOR_NORMAL = 0, - BASE_COLOR_NORMAL, - TEXT_COLOR_NORMAL, - BORDER_COLOR_FOCUSED, - BASE_COLOR_FOCUSED, - TEXT_COLOR_FOCUSED, - BORDER_COLOR_PRESSED, - BASE_COLOR_PRESSED, - TEXT_COLOR_PRESSED, - BORDER_COLOR_DISABLED, - BASE_COLOR_DISABLED, - TEXT_COLOR_DISABLED, - BORDER_WIDTH, - TEXT_PADDING, - TEXT_ALIGNMENT, - } GuiControlProperty; - - typedef enum { - TEXT_SIZE = 16, - TEXT_SPACING, - LINE_COLOR, - BACKGROUND_COLOR, - TEXT_LINE_SPACING, - TEXT_ALIGNMENT_VERTICAL, - TEXT_WRAP_MODE - } GuiDefaultProperty; - - typedef enum { - GROUP_PADDING = 16, - } GuiToggleProperty; - - typedef enum { - SLIDER_WIDTH = 16, - SLIDER_PADDING - } GuiSliderProperty; - - typedef enum { - PROGRESS_PADDING = 16, - } GuiProgressBarProperty; - - typedef enum { - ARROWS_SIZE = 16, - ARROWS_VISIBLE, - SCROLL_SLIDER_PADDING, - SCROLL_SLIDER_SIZE, - SCROLL_PADDING, - SCROLL_SPEED, - } GuiScrollBarProperty; - - typedef enum { - CHECK_PADDING = 16 - } GuiCheckBoxProperty; - - typedef enum { - COMBO_BUTTON_WIDTH = 16, - COMBO_BUTTON_PADDING - } GuiComboBoxProperty; - - typedef enum { - ARROW_PADDING = 16, - DROPDOWN_ITEMS_SPACING - } GuiDropdownBoxProperty; - - typedef enum { - TEXT_READONLY = 16 - } GuiTextBoxProperty; - - typedef enum { - SPIN_BUTTON_WIDTH = 16, - SPIN_BUTTON_SPACING, - } GuiSpinnerProperty; - - typedef enum { - SCROLLBAR_LEFT_SIDE = 0, - SCROLLBAR_RIGHT_SIDE - } GuiScrollBarSide; - - typedef enum { - LIST_ITEMS_HEIGHT = 16, - LIST_ITEMS_SPACING, - SCROLLBAR_WIDTH, - SCROLLBAR_SIDE, - } GuiListViewProperty; - - typedef enum { - COLOR_SELECTOR_SIZE = 16, - HUEBAR_WIDTH, - HUEBAR_PADDING, - HUEBAR_SELECTOR_HEIGHT, - HUEBAR_SELECTOR_OVERFLOW - } GuiColorPickerProperty; - - typedef struct GuiTextBoxState { - int cursor; - int start; - int index; - int select; - } GuiTextBoxState; - - typedef enum { - ICON_NONE = 0, - ICON_FOLDER_FILE_OPEN = 1, - ICON_FILE_SAVE_CLASSIC = 2, - ICON_FOLDER_OPEN = 3, - ICON_FOLDER_SAVE = 4, - ICON_FILE_OPEN = 5, - ICON_FILE_SAVE = 6, - ICON_FILE_EXPORT = 7, - ICON_FILE_ADD = 8, - ICON_FILE_DELETE = 9, - ICON_FILETYPE_TEXT = 10, - ICON_FILETYPE_AUDIO = 11, - ICON_FILETYPE_IMAGE = 12, - ICON_FILETYPE_PLAY = 13, - ICON_FILETYPE_VIDEO = 14, - ICON_FILETYPE_INFO = 15, - ICON_FILE_COPY = 16, - ICON_FILE_CUT = 17, - ICON_FILE_PASTE = 18, - ICON_CURSOR_HAND = 19, - ICON_CURSOR_POINTER = 20, - ICON_CURSOR_CLASSIC = 21, - ICON_PENCIL = 22, - ICON_PENCIL_BIG = 23, - ICON_BRUSH_CLASSIC = 24, - ICON_BRUSH_PAINTER = 25, - ICON_WATER_DROP = 26, - ICON_COLOR_PICKER = 27, - ICON_RUBBER = 28, - ICON_COLOR_BUCKET = 29, - ICON_TEXT_T = 30, - ICON_TEXT_A = 31, - ICON_SCALE = 32, - ICON_RESIZE = 33, - ICON_FILTER_POINT = 34, - ICON_FILTER_BILINEAR = 35, - ICON_CROP = 36, - ICON_CROP_ALPHA = 37, - ICON_SQUARE_TOGGLE = 38, - ICON_SYMMETRY = 39, - ICON_SYMMETRY_HORIZONTAL = 40, - ICON_SYMMETRY_VERTICAL = 41, - ICON_LENS = 42, - ICON_LENS_BIG = 43, - ICON_EYE_ON = 44, - ICON_EYE_OFF = 45, - ICON_FILTER_TOP = 46, - ICON_FILTER = 47, - ICON_TARGET_POINT = 48, - ICON_TARGET_SMALL = 49, - ICON_TARGET_BIG = 50, - ICON_TARGET_MOVE = 51, - ICON_CURSOR_MOVE = 52, - ICON_CURSOR_SCALE = 53, - ICON_CURSOR_SCALE_RIGHT = 54, - ICON_CURSOR_SCALE_LEFT = 55, - ICON_UNDO = 56, - ICON_REDO = 57, - ICON_REREDO = 58, - ICON_MUTATE = 59, - ICON_ROTATE = 60, - ICON_REPEAT = 61, - ICON_SHUFFLE = 62, - ICON_EMPTYBOX = 63, - ICON_TARGET = 64, - ICON_TARGET_SMALL_FILL = 65, - ICON_TARGET_BIG_FILL = 66, - ICON_TARGET_MOVE_FILL = 67, - ICON_CURSOR_MOVE_FILL = 68, - ICON_CURSOR_SCALE_FILL = 69, - ICON_CURSOR_SCALE_RIGHT_FILL = 70, - ICON_CURSOR_SCALE_LEFT_FILL = 71, - ICON_UNDO_FILL = 72, - ICON_REDO_FILL = 73, - ICON_REREDO_FILL = 74, - ICON_MUTATE_FILL = 75, - ICON_ROTATE_FILL = 76, - ICON_REPEAT_FILL = 77, - ICON_SHUFFLE_FILL = 78, - ICON_EMPTYBOX_SMALL = 79, - ICON_BOX = 80, - ICON_BOX_TOP = 81, - ICON_BOX_TOP_RIGHT = 82, - ICON_BOX_RIGHT = 83, - ICON_BOX_BOTTOM_RIGHT = 84, - ICON_BOX_BOTTOM = 85, - ICON_BOX_BOTTOM_LEFT = 86, - ICON_BOX_LEFT = 87, - ICON_BOX_TOP_LEFT = 88, - ICON_BOX_CENTER = 89, - ICON_BOX_CIRCLE_MASK = 90, - ICON_POT = 91, - ICON_ALPHA_MULTIPLY = 92, - ICON_ALPHA_CLEAR = 93, - ICON_DITHERING = 94, - ICON_MIPMAPS = 95, - ICON_BOX_GRID = 96, - ICON_GRID = 97, - ICON_BOX_CORNERS_SMALL = 98, - ICON_BOX_CORNERS_BIG = 99, - ICON_FOUR_BOXES = 100, - ICON_GRID_FILL = 101, - ICON_BOX_MULTISIZE = 102, - ICON_ZOOM_SMALL = 103, - ICON_ZOOM_MEDIUM = 104, - ICON_ZOOM_BIG = 105, - ICON_ZOOM_ALL = 106, - ICON_ZOOM_CENTER = 107, - ICON_BOX_DOTS_SMALL = 108, - ICON_BOX_DOTS_BIG = 109, - ICON_BOX_CONCENTRIC = 110, - ICON_BOX_GRID_BIG = 111, - ICON_OK_TICK = 112, - ICON_CROSS = 113, - ICON_ARROW_LEFT = 114, - ICON_ARROW_RIGHT = 115, - ICON_ARROW_DOWN = 116, - ICON_ARROW_UP = 117, - ICON_ARROW_LEFT_FILL = 118, - ICON_ARROW_RIGHT_FILL = 119, - ICON_ARROW_DOWN_FILL = 120, - ICON_ARROW_UP_FILL = 121, - ICON_AUDIO = 122, - ICON_FX = 123, - ICON_WAVE = 124, - ICON_WAVE_SINUS = 125, - ICON_WAVE_SQUARE = 126, - ICON_WAVE_TRIANGULAR = 127, - ICON_CROSS_SMALL = 128, - ICON_PLAYER_PREVIOUS = 129, - ICON_PLAYER_PLAY_BACK = 130, - ICON_PLAYER_PLAY = 131, - ICON_PLAYER_PAUSE = 132, - ICON_PLAYER_STOP = 133, - ICON_PLAYER_NEXT = 134, - ICON_PLAYER_RECORD = 135, - ICON_MAGNET = 136, - ICON_LOCK_CLOSE = 137, - ICON_LOCK_OPEN = 138, - ICON_CLOCK = 139, - ICON_TOOLS = 140, - ICON_GEAR = 141, - ICON_GEAR_BIG = 142, - ICON_BIN = 143, - ICON_HAND_POINTER = 144, - ICON_LASER = 145, - ICON_COIN = 146, - ICON_EXPLOSION = 147, - ICON_1UP = 148, - ICON_PLAYER = 149, - ICON_PLAYER_JUMP = 150, - ICON_KEY = 151, - ICON_DEMON = 152, - ICON_TEXT_POPUP = 153, - ICON_GEAR_EX = 154, - ICON_CRACK = 155, - ICON_CRACK_POINTS = 156, - ICON_STAR = 157, - ICON_DOOR = 158, - ICON_EXIT = 159, - ICON_MODE_2D = 160, - ICON_MODE_3D = 161, - ICON_CUBE = 162, - ICON_CUBE_FACE_TOP = 163, - ICON_CUBE_FACE_LEFT = 164, - ICON_CUBE_FACE_FRONT = 165, - ICON_CUBE_FACE_BOTTOM = 166, - ICON_CUBE_FACE_RIGHT = 167, - ICON_CUBE_FACE_BACK = 168, - ICON_CAMERA = 169, - ICON_SPECIAL = 170, - ICON_LINK_NET = 171, - ICON_LINK_BOXES = 172, - ICON_LINK_MULTI = 173, - ICON_LINK = 174, - ICON_LINK_BROKE = 175, - ICON_TEXT_NOTES = 176, - ICON_NOTEBOOK = 177, - ICON_SUITCASE = 178, - ICON_SUITCASE_ZIP = 179, - ICON_MAILBOX = 180, - ICON_MONITOR = 181, - ICON_PRINTER = 182, - ICON_PHOTO_CAMERA = 183, - ICON_PHOTO_CAMERA_FLASH = 184, - ICON_HOUSE = 185, - ICON_HEART = 186, - ICON_CORNER = 187, - ICON_VERTICAL_BARS = 188, - ICON_VERTICAL_BARS_FILL = 189, - ICON_LIFE_BARS = 190, - ICON_INFO = 191, - ICON_CROSSLINE = 192, - ICON_HELP = 193, - ICON_FILETYPE_ALPHA = 194, - ICON_FILETYPE_HOME = 195, - ICON_LAYERS_VISIBLE = 196, - ICON_LAYERS = 197, - ICON_WINDOW = 198, - ICON_HIDPI = 199, - ICON_FILETYPE_BINARY = 200, - ICON_HEX = 201, - ICON_SHIELD = 202, - ICON_FILE_NEW = 203, - ICON_FOLDER_ADD = 204, - ICON_ALARM = 205, - ICON_CPU = 206, - ICON_ROM = 207, - ICON_STEP_OVER = 208, - ICON_STEP_INTO = 209, - ICON_STEP_OUT = 210, - ICON_RESTART = 211, - ICON_BREAKPOINT_ON = 212, - ICON_BREAKPOINT_OFF = 213, - ICON_BURGER_MENU = 214, - ICON_CASE_SENSITIVE = 215, - ICON_REG_EXP = 216, - ICON_FOLDER = 217, - ICON_FILE = 218, - ICON_219 = 219, - ICON_220 = 220, - ICON_221 = 221, - ICON_222 = 222, - ICON_223 = 223, - ICON_224 = 224, - ICON_225 = 225, - ICON_226 = 226, - ICON_227 = 227, - ICON_228 = 228, - ICON_229 = 229, - ICON_230 = 230, - ICON_231 = 231, - ICON_232 = 232, - ICON_233 = 233, - ICON_234 = 234, - ICON_235 = 235, - ICON_236 = 236, - ICON_237 = 237, - ICON_238 = 238, - ICON_239 = 239, - ICON_240 = 240, - ICON_241 = 241, - ICON_242 = 242, - ICON_243 = 243, - ICON_244 = 244, - ICON_245 = 245, - ICON_246 = 246, - ICON_247 = 247, - ICON_248 = 248, - ICON_249 = 249, - ICON_250 = 250, - ICON_251 = 251, - ICON_252 = 252, - ICON_253 = 253, - ICON_254 = 254, - ICON_255 = 255, - } GuiIconName; -]] - --- Load bind entry -ffi.cdef [[ - struct raylua_bind_entry { - const char *name; - const char *proto; - void *ptr; - }; -]] - -do - local entries = ffi.cast("struct raylua_bind_entry *", raylua.bind_entries) - local i = ffi.new("size_t", 0) - local NULL = ffi.new("void *", nil) - - print "RAYLUA: Loading FFI binding entries." - - while entries[i].name ~= NULL do - local name, proto = ffi.string(entries[i].name), ffi.string(entries[i].proto) - - if rl[name] then - print("RAYLUA: Warn: Duplicated FFI entry : " .. name) - end - - rl[name] = ffi.cast(proto, entries[i].ptr) - i = i + 1 - end - - print("RAYLUA: Loaded " .. tonumber(i) .. " FFI entries.") -end - --- colors -local function new_color(r, g, b, a) - return ffi.new("Color", r, g, b, a) -end - -rl.LIGHTGRAY = new_color(200, 200, 200, 255) -rl.GRAY = new_color(130, 130, 130, 255) -rl.DARKGRAY = new_color(80, 80, 80, 255) -rl.YELLOW = new_color(253, 249, 0, 255) -rl.GOLD = new_color(255, 203, 0, 255) -rl.ORANGE = new_color(255, 161, 0, 255) -rl.PINK = new_color(255, 109, 194, 255) -rl.RED = new_color(230, 41, 55, 255) -rl.MAROON = new_color(190, 33, 55, 255) -rl.GREEN = new_color(0, 228, 48, 255) -rl.LIME = new_color(0, 158, 47, 255) -rl.DARKGREEN = new_color(0, 117, 44, 255) -rl.SKYBLUE = new_color(102, 191, 255, 255) -rl.BLUE = new_color(0, 121, 241, 255) -rl.DARKBLUE = new_color(0, 82, 172, 255) -rl.PURPLE = new_color(200, 122, 255, 255) -rl.VIOLET = new_color(135, 60, 190, 255) -rl.DARKPURPLE = new_color(112, 31, 126, 255) -rl.BEIGE = new_color(211, 176, 131, 255) -rl.BROWN = new_color(127, 106, 79, 255) -rl.DARKBROWN = new_color(76, 63, 47, 255) -rl.WHITE = new_color(255, 255, 255, 255) -rl.BLACK = new_color(0, 0, 0, 255) -rl.BLANK = new_color(0, 0, 0, 0) -rl.MAGENTA = new_color(255, 0, 255, 255) -rl.RAYWHITE = new_color(245, 245, 245, 255) - -rl.SHADER_LOC_MAP_DIFFUSE = C.SHADER_LOC_MAP_ALBEDO -rl.SHADER_LOC_MAP_SPECULAR = C.SHADER_LOC_MAP_METALNESS -rl.MATERIAL_MAP_DIFFUSE = C.MATERIAL_MAP_ALBEDO -rl.MATERIAL_MAP_SPECULAR = C.MATERIAL_MAP_METALNESS - -function rl.ref(obj) - return ffi.cast(ffi.typeof("$ *", obj), obj) -end - -rl.new = ffi.new - -rl.__index = function (self, key) - return C[key] -end - -rl.__newindex = function () - error "rl table is readonly" -end - -_G.rl = rl + unsigned int vboId[5]; + } rlVertexBuffer; + + typedef struct rlDrawCall { + int mode; + int vertexCount; + int vertexAlignment; + //unsigned int vaoId; + //unsigned int shaderId; + unsigned int textureId; + + //Matrix projection; + //Matrix modelview; + } rlDrawCall; + + typedef struct rlRenderBatch { + int bufferCount; + int currentBuffer; + rlVertexBuffer *vertexBuffer; + + rlDrawCall *draws; + int drawCounter; + float currentDepth; + } rlRenderBatch; +]] + +-- rlgl defines +rl.RL_TEXTURE_WRAP_S = 0x2802 +rl.RL_TEXTURE_WRAP_T = 0x2803 +rl.RL_TEXTURE_MAG_FILTER = 0x2800 +rl.RL_TEXTURE_MIN_FILTER = 0x2801 +rl.RL_TEXTURE_FILTER_NEAREST = 0x2600 +rl.RL_TEXTURE_FILTER_LINEAR = 0x2601 +rl.RL_TEXTURE_FILTER_MIP_NEAREST = 0x2700 +rl.RL_TEXTURE_FILTER_NEAREST_MIP_LINEAR = 0x2702 +rl.RL_TEXTURE_FILTER_LINEAR_MIP_NEAREST = 0x2701 +rl.RL_TEXTURE_FILTER_MIP_LINEAR = 0x2703 +rl.RL_TEXTURE_FILTER_ANISOTROPIC = 0x3000 +rl.RL_TEXTURE_MIPMAP_BIAS_RATIO = 0x4000 +rl.RL_TEXTURE_WRAP_REPEAT = 0x2901 +rl.RL_TEXTURE_WRAP_CLAMP = 0x812F +rl.RL_TEXTURE_WRAP_MIRROR_REPEAT = 0x8370 +rl.RL_TEXTURE_WRAP_MIRROR_CLAMP = 0x8742 + +rl.RL_MODELVIEW = 0x1700 +rl.RL_PROJECTION = 0x1701 +rl.RL_TEXTURE = 0x1702 +rl.RL_LINES = 0x0001 +rl.RL_TRIANGLES = 0x0004 +rl.RL_QUADS = 0x0007 + +rl.RL_UNSIGNED_BYTE = 0x1401 +rl.RL_FLOAT = 0x1406 + +rl.RL_STREAM_DRAW = 0x88E0 +rl.RL_STREAM_READ = 0x88E1 +rl.RL_STREAM_COPY = 0x88E2 +rl.RL_STATIC_DRAW = 0x88E4 +rl.RL_STATIC_READ = 0x88E5 +rl.RL_STATIC_COPY = 0x88E6 +rl.RL_DYNAMIC_DRAW = 0x88E8 +rl.RL_DYNAMIC_READ = 0x88E9 +rl.RL_DYNAMIC_COPY = 0x88EA + +rl.RL_FRAGMENT_SHADER = 0x8B30 +rl.RL_VERTEX_SHADER = 0x8B31 +rl.RL_COMPUTE_SHADER = 0x91B9 + +rl.RL_ZERO = 0 +rl.RL_ONE = 1 +rl.RL_SRC_COLOR = 0x0300 +rl.RL_ONE_MINUS_SRC_COLOR = 0x0301 +rl.RL_SRC_ALPHA = 0x0302 +rl.RL_ONE_MINUS_SRC_ALPHA = 0x0303 +rl.RL_DST_ALPHA = 0x0304 +rl.RL_ONE_MINUS_DST_ALPHA = 0x0305 +rl.RL_DST_COLOR = 0x0306 +rl.RL_ONE_MINUS_DST_COLOR = 0x0307 +rl.RL_SRC_ALPHA_SATURATE = 0x0308 +rl.RL_CONSTANT_COLOR = 0x8001 +rl.RL_ONE_MINUS_CONSTANT_COLOR = 0x8002 +rl.RL_CONSTANT_ALPHA = 0x8003 +rl.RL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 +rl.RL_FUNC_ADD = 0x8006 +rl.RL_MIN = 0x8007 +rl.RL_MAX = 0x8008 +rl.RL_FUNC_SUBTRACT = 0x800A +rl.RL_FUNC_REVERSE_SUBTRACT = 0x800B +rl.RL_BLEND_EQUATION = 0x8009 +rl.RL_BLEND_EQUATION_RGB = 0x8009 +rl.RL_BLEND_EQUATION_ALPHA = 0x883D +rl.RL_BLEND_DST_RGB = 0x80C8 +rl.RL_BLEND_SRC_RGB = 0x80C9 +rl.RL_BLEND_DST_ALPHA = 0x80CA +rl.RL_BLEND_SRC_ALPHA = 0x80CB +rl.RL_BLEND_COLOR = 0x8005 + +-- gestures cdef +ffi.cdef [[ + typedef enum { + TOUCH_ACTION_UP = 0, + TOUCH_ACTION_DOWN, + TOUCH_ACTION_MOVE, + TOUCH_ACTION_CANCEL + } TouchAction; + + typedef struct { + int touchAction; + int pointCount; + int pointerId[8]; // CONST + Vector2 position[8]; // CONST + } GestureEvent; +]] + +-- raygui cdef +ffi.cdef [[ + typedef struct GuiStyleProp { + unsigned short controlId; + unsigned short propertyId; + int propertyValue; + } GuiStyleProp; + + typedef enum { + GUI_STATE_NORMAL = 0, + GUI_STATE_FOCUSED, + GUI_STATE_PRESSED, + GUI_STATE_DISABLED, + } GuiControlState; + + typedef enum { + GUI_TEXT_ALIGN_LEFT = 0, + GUI_TEXT_ALIGN_CENTER, + GUI_TEXT_ALIGN_RIGHT, + } GuiTextAlignment; + + typedef enum { + TEXT_ALIGN_TOP = 0, + TEXT_ALIGN_MIDDLE, + TEXT_ALIGN_BOTTOM + } GuiTextAlignmentVertical; + + typedef enum { + TEXT_WRAP_NONE = 0, + TEXT_WRAP_CHAR, + TEXT_WRAP_WORD + } GuiTextWrapMode; + + typedef enum { + DEFAULT = 0, + LABEL, + BUTTON, + TOGGLE, + SLIDER, + PROGRESSBAR, + CHECKBOX, + COMBOBOX, + DROPDOWNBOX, + TEXTBOX, + VALUEBOX, + SPINNER, + LISTVIEW, + COLORPICKER, + SCROLLBAR, + STATUSBAR + } GuiControl; + + typedef enum { + BORDER_COLOR_NORMAL = 0, + BASE_COLOR_NORMAL, + TEXT_COLOR_NORMAL, + BORDER_COLOR_FOCUSED, + BASE_COLOR_FOCUSED, + TEXT_COLOR_FOCUSED, + BORDER_COLOR_PRESSED, + BASE_COLOR_PRESSED, + TEXT_COLOR_PRESSED, + BORDER_COLOR_DISABLED, + BASE_COLOR_DISABLED, + TEXT_COLOR_DISABLED, + BORDER_WIDTH, + TEXT_PADDING, + TEXT_ALIGNMENT, + } GuiControlProperty; + + typedef enum { + TEXT_SIZE = 16, + TEXT_SPACING, + LINE_COLOR, + BACKGROUND_COLOR, + TEXT_LINE_SPACING, + TEXT_ALIGNMENT_VERTICAL, + TEXT_WRAP_MODE + } GuiDefaultProperty; + + typedef enum { + GROUP_PADDING = 16, + } GuiToggleProperty; + + typedef enum { + SLIDER_WIDTH = 16, + SLIDER_PADDING + } GuiSliderProperty; + + typedef enum { + PROGRESS_PADDING = 16, + } GuiProgressBarProperty; + + typedef enum { + ARROWS_SIZE = 16, + ARROWS_VISIBLE, + SCROLL_SLIDER_PADDING, + SCROLL_SLIDER_SIZE, + SCROLL_PADDING, + SCROLL_SPEED, + } GuiScrollBarProperty; + + typedef enum { + CHECK_PADDING = 16 + } GuiCheckBoxProperty; + + typedef enum { + COMBO_BUTTON_WIDTH = 16, + COMBO_BUTTON_PADDING + } GuiComboBoxProperty; + + typedef enum { + ARROW_PADDING = 16, + DROPDOWN_ITEMS_SPACING + } GuiDropdownBoxProperty; + + typedef enum { + TEXT_READONLY = 16 + } GuiTextBoxProperty; + + typedef enum { + SPIN_BUTTON_WIDTH = 16, + SPIN_BUTTON_SPACING, + } GuiSpinnerProperty; + + typedef enum { + SCROLLBAR_LEFT_SIDE = 0, + SCROLLBAR_RIGHT_SIDE + } GuiScrollBarSide; + + typedef enum { + LIST_ITEMS_HEIGHT = 16, + LIST_ITEMS_SPACING, + SCROLLBAR_WIDTH, + SCROLLBAR_SIDE, + } GuiListViewProperty; + + typedef enum { + COLOR_SELECTOR_SIZE = 16, + HUEBAR_WIDTH, + HUEBAR_PADDING, + HUEBAR_SELECTOR_HEIGHT, + HUEBAR_SELECTOR_OVERFLOW + } GuiColorPickerProperty; + + typedef struct GuiTextBoxState { + int cursor; + int start; + int index; + int select; + } GuiTextBoxState; + + typedef enum { + ICON_NONE = 0, + ICON_FOLDER_FILE_OPEN = 1, + ICON_FILE_SAVE_CLASSIC = 2, + ICON_FOLDER_OPEN = 3, + ICON_FOLDER_SAVE = 4, + ICON_FILE_OPEN = 5, + ICON_FILE_SAVE = 6, + ICON_FILE_EXPORT = 7, + ICON_FILE_ADD = 8, + ICON_FILE_DELETE = 9, + ICON_FILETYPE_TEXT = 10, + ICON_FILETYPE_AUDIO = 11, + ICON_FILETYPE_IMAGE = 12, + ICON_FILETYPE_PLAY = 13, + ICON_FILETYPE_VIDEO = 14, + ICON_FILETYPE_INFO = 15, + ICON_FILE_COPY = 16, + ICON_FILE_CUT = 17, + ICON_FILE_PASTE = 18, + ICON_CURSOR_HAND = 19, + ICON_CURSOR_POINTER = 20, + ICON_CURSOR_CLASSIC = 21, + ICON_PENCIL = 22, + ICON_PENCIL_BIG = 23, + ICON_BRUSH_CLASSIC = 24, + ICON_BRUSH_PAINTER = 25, + ICON_WATER_DROP = 26, + ICON_COLOR_PICKER = 27, + ICON_RUBBER = 28, + ICON_COLOR_BUCKET = 29, + ICON_TEXT_T = 30, + ICON_TEXT_A = 31, + ICON_SCALE = 32, + ICON_RESIZE = 33, + ICON_FILTER_POINT = 34, + ICON_FILTER_BILINEAR = 35, + ICON_CROP = 36, + ICON_CROP_ALPHA = 37, + ICON_SQUARE_TOGGLE = 38, + ICON_SYMMETRY = 39, + ICON_SYMMETRY_HORIZONTAL = 40, + ICON_SYMMETRY_VERTICAL = 41, + ICON_LENS = 42, + ICON_LENS_BIG = 43, + ICON_EYE_ON = 44, + ICON_EYE_OFF = 45, + ICON_FILTER_TOP = 46, + ICON_FILTER = 47, + ICON_TARGET_POINT = 48, + ICON_TARGET_SMALL = 49, + ICON_TARGET_BIG = 50, + ICON_TARGET_MOVE = 51, + ICON_CURSOR_MOVE = 52, + ICON_CURSOR_SCALE = 53, + ICON_CURSOR_SCALE_RIGHT = 54, + ICON_CURSOR_SCALE_LEFT = 55, + ICON_UNDO = 56, + ICON_REDO = 57, + ICON_REREDO = 58, + ICON_MUTATE = 59, + ICON_ROTATE = 60, + ICON_REPEAT = 61, + ICON_SHUFFLE = 62, + ICON_EMPTYBOX = 63, + ICON_TARGET = 64, + ICON_TARGET_SMALL_FILL = 65, + ICON_TARGET_BIG_FILL = 66, + ICON_TARGET_MOVE_FILL = 67, + ICON_CURSOR_MOVE_FILL = 68, + ICON_CURSOR_SCALE_FILL = 69, + ICON_CURSOR_SCALE_RIGHT_FILL = 70, + ICON_CURSOR_SCALE_LEFT_FILL = 71, + ICON_UNDO_FILL = 72, + ICON_REDO_FILL = 73, + ICON_REREDO_FILL = 74, + ICON_MUTATE_FILL = 75, + ICON_ROTATE_FILL = 76, + ICON_REPEAT_FILL = 77, + ICON_SHUFFLE_FILL = 78, + ICON_EMPTYBOX_SMALL = 79, + ICON_BOX = 80, + ICON_BOX_TOP = 81, + ICON_BOX_TOP_RIGHT = 82, + ICON_BOX_RIGHT = 83, + ICON_BOX_BOTTOM_RIGHT = 84, + ICON_BOX_BOTTOM = 85, + ICON_BOX_BOTTOM_LEFT = 86, + ICON_BOX_LEFT = 87, + ICON_BOX_TOP_LEFT = 88, + ICON_BOX_CENTER = 89, + ICON_BOX_CIRCLE_MASK = 90, + ICON_POT = 91, + ICON_ALPHA_MULTIPLY = 92, + ICON_ALPHA_CLEAR = 93, + ICON_DITHERING = 94, + ICON_MIPMAPS = 95, + ICON_BOX_GRID = 96, + ICON_GRID = 97, + ICON_BOX_CORNERS_SMALL = 98, + ICON_BOX_CORNERS_BIG = 99, + ICON_FOUR_BOXES = 100, + ICON_GRID_FILL = 101, + ICON_BOX_MULTISIZE = 102, + ICON_ZOOM_SMALL = 103, + ICON_ZOOM_MEDIUM = 104, + ICON_ZOOM_BIG = 105, + ICON_ZOOM_ALL = 106, + ICON_ZOOM_CENTER = 107, + ICON_BOX_DOTS_SMALL = 108, + ICON_BOX_DOTS_BIG = 109, + ICON_BOX_CONCENTRIC = 110, + ICON_BOX_GRID_BIG = 111, + ICON_OK_TICK = 112, + ICON_CROSS = 113, + ICON_ARROW_LEFT = 114, + ICON_ARROW_RIGHT = 115, + ICON_ARROW_DOWN = 116, + ICON_ARROW_UP = 117, + ICON_ARROW_LEFT_FILL = 118, + ICON_ARROW_RIGHT_FILL = 119, + ICON_ARROW_DOWN_FILL = 120, + ICON_ARROW_UP_FILL = 121, + ICON_AUDIO = 122, + ICON_FX = 123, + ICON_WAVE = 124, + ICON_WAVE_SINUS = 125, + ICON_WAVE_SQUARE = 126, + ICON_WAVE_TRIANGULAR = 127, + ICON_CROSS_SMALL = 128, + ICON_PLAYER_PREVIOUS = 129, + ICON_PLAYER_PLAY_BACK = 130, + ICON_PLAYER_PLAY = 131, + ICON_PLAYER_PAUSE = 132, + ICON_PLAYER_STOP = 133, + ICON_PLAYER_NEXT = 134, + ICON_PLAYER_RECORD = 135, + ICON_MAGNET = 136, + ICON_LOCK_CLOSE = 137, + ICON_LOCK_OPEN = 138, + ICON_CLOCK = 139, + ICON_TOOLS = 140, + ICON_GEAR = 141, + ICON_GEAR_BIG = 142, + ICON_BIN = 143, + ICON_HAND_POINTER = 144, + ICON_LASER = 145, + ICON_COIN = 146, + ICON_EXPLOSION = 147, + ICON_1UP = 148, + ICON_PLAYER = 149, + ICON_PLAYER_JUMP = 150, + ICON_KEY = 151, + ICON_DEMON = 152, + ICON_TEXT_POPUP = 153, + ICON_GEAR_EX = 154, + ICON_CRACK = 155, + ICON_CRACK_POINTS = 156, + ICON_STAR = 157, + ICON_DOOR = 158, + ICON_EXIT = 159, + ICON_MODE_2D = 160, + ICON_MODE_3D = 161, + ICON_CUBE = 162, + ICON_CUBE_FACE_TOP = 163, + ICON_CUBE_FACE_LEFT = 164, + ICON_CUBE_FACE_FRONT = 165, + ICON_CUBE_FACE_BOTTOM = 166, + ICON_CUBE_FACE_RIGHT = 167, + ICON_CUBE_FACE_BACK = 168, + ICON_CAMERA = 169, + ICON_SPECIAL = 170, + ICON_LINK_NET = 171, + ICON_LINK_BOXES = 172, + ICON_LINK_MULTI = 173, + ICON_LINK = 174, + ICON_LINK_BROKE = 175, + ICON_TEXT_NOTES = 176, + ICON_NOTEBOOK = 177, + ICON_SUITCASE = 178, + ICON_SUITCASE_ZIP = 179, + ICON_MAILBOX = 180, + ICON_MONITOR = 181, + ICON_PRINTER = 182, + ICON_PHOTO_CAMERA = 183, + ICON_PHOTO_CAMERA_FLASH = 184, + ICON_HOUSE = 185, + ICON_HEART = 186, + ICON_CORNER = 187, + ICON_VERTICAL_BARS = 188, + ICON_VERTICAL_BARS_FILL = 189, + ICON_LIFE_BARS = 190, + ICON_INFO = 191, + ICON_CROSSLINE = 192, + ICON_HELP = 193, + ICON_FILETYPE_ALPHA = 194, + ICON_FILETYPE_HOME = 195, + ICON_LAYERS_VISIBLE = 196, + ICON_LAYERS = 197, + ICON_WINDOW = 198, + ICON_HIDPI = 199, + ICON_FILETYPE_BINARY = 200, + ICON_HEX = 201, + ICON_SHIELD = 202, + ICON_FILE_NEW = 203, + ICON_FOLDER_ADD = 204, + ICON_ALARM = 205, + ICON_CPU = 206, + ICON_ROM = 207, + ICON_STEP_OVER = 208, + ICON_STEP_INTO = 209, + ICON_STEP_OUT = 210, + ICON_RESTART = 211, + ICON_BREAKPOINT_ON = 212, + ICON_BREAKPOINT_OFF = 213, + ICON_BURGER_MENU = 214, + ICON_CASE_SENSITIVE = 215, + ICON_REG_EXP = 216, + ICON_FOLDER = 217, + ICON_FILE = 218, + ICON_219 = 219, + ICON_220 = 220, + ICON_221 = 221, + ICON_222 = 222, + ICON_223 = 223, + ICON_224 = 224, + ICON_225 = 225, + ICON_226 = 226, + ICON_227 = 227, + ICON_228 = 228, + ICON_229 = 229, + ICON_230 = 230, + ICON_231 = 231, + ICON_232 = 232, + ICON_233 = 233, + ICON_234 = 234, + ICON_235 = 235, + ICON_236 = 236, + ICON_237 = 237, + ICON_238 = 238, + ICON_239 = 239, + ICON_240 = 240, + ICON_241 = 241, + ICON_242 = 242, + ICON_243 = 243, + ICON_244 = 244, + ICON_245 = 245, + ICON_246 = 246, + ICON_247 = 247, + ICON_248 = 248, + ICON_249 = 249, + ICON_250 = 250, + ICON_251 = 251, + ICON_252 = 252, + ICON_253 = 253, + ICON_254 = 254, + ICON_255 = 255, + } GuiIconName; +]] + +-- Load bind entry +ffi.cdef [[ + struct raylua_bind_entry { + const char *name; + const char *proto; + void *ptr; + }; +]] + +do + local entries = ffi.cast("struct raylua_bind_entry *", raylua.bind_entries) + local i = ffi.new("size_t", 0) + local NULL = ffi.new("void *", nil) + + print "RAYLUA: Loading FFI binding entries." + + while entries[i].name ~= NULL do + local name, proto = ffi.string(entries[i].name), ffi.string(entries[i].proto) + + if rl[name] then + print("RAYLUA: Warn: Duplicated FFI entry : " .. name) + end + + rl[name] = ffi.cast(proto, entries[i].ptr) + i = i + 1 + end + + print("RAYLUA: Loaded " .. tonumber(i) .. " FFI entries.") +end + +-- colors +local function new_color(r, g, b, a) + return ffi.new("Color", r, g, b, a) +end + +rl.LIGHTGRAY = new_color(200, 200, 200, 255) +rl.GRAY = new_color(130, 130, 130, 255) +rl.DARKGRAY = new_color(80, 80, 80, 255) +rl.YELLOW = new_color(253, 249, 0, 255) +rl.GOLD = new_color(255, 203, 0, 255) +rl.ORANGE = new_color(255, 161, 0, 255) +rl.PINK = new_color(255, 109, 194, 255) +rl.RED = new_color(230, 41, 55, 255) +rl.MAROON = new_color(190, 33, 55, 255) +rl.GREEN = new_color(0, 228, 48, 255) +rl.LIME = new_color(0, 158, 47, 255) +rl.DARKGREEN = new_color(0, 117, 44, 255) +rl.SKYBLUE = new_color(102, 191, 255, 255) +rl.BLUE = new_color(0, 121, 241, 255) +rl.DARKBLUE = new_color(0, 82, 172, 255) +rl.PURPLE = new_color(200, 122, 255, 255) +rl.VIOLET = new_color(135, 60, 190, 255) +rl.DARKPURPLE = new_color(112, 31, 126, 255) +rl.BEIGE = new_color(211, 176, 131, 255) +rl.BROWN = new_color(127, 106, 79, 255) +rl.DARKBROWN = new_color(76, 63, 47, 255) +rl.WHITE = new_color(255, 255, 255, 255) +rl.BLACK = new_color(0, 0, 0, 255) +rl.BLANK = new_color(0, 0, 0, 0) +rl.MAGENTA = new_color(255, 0, 255, 255) +rl.RAYWHITE = new_color(245, 245, 245, 255) + +rl.SHADER_LOC_MAP_DIFFUSE = C.SHADER_LOC_MAP_ALBEDO +rl.SHADER_LOC_MAP_SPECULAR = C.SHADER_LOC_MAP_METALNESS +rl.MATERIAL_MAP_DIFFUSE = C.MATERIAL_MAP_ALBEDO +rl.MATERIAL_MAP_SPECULAR = C.MATERIAL_MAP_METALNESS + +function rl.ref(obj) + return ffi.cast(ffi.typeof("$ *", obj), obj) +end + +rl.new = ffi.new + +rl.__index = function (self, key) + return C[key] +end + +rl.__newindex = function () + error "rl table is readonly" +end + +_G.rl = rl diff --git a/src/raylua.c b/src/raylua.c index 2e626f5..c75afb9 100644 --- a/src/raylua.c +++ b/src/raylua.c @@ -31,10 +31,6 @@ #define RAYGUIAPI static #include -#define PHYSAC_IMPLEMENTATION -#define PHYSACDEF static -#include - #include "autogen/bind.c" #include "autogen/boot.c" diff --git a/src/raylua.lua b/src/raylua.lua index c8fbace..7f0c702 100644 --- a/src/raylua.lua +++ b/src/raylua.lua @@ -16,7 +16,7 @@ local load = loadstring -raylua.version = "v5.5-dev" +raylua.version = "v6.0" function raylua.repl() print("> raylua " .. raylua.version .. " <") diff --git a/tools/api.h b/tools/api.h index d8629fe..3da30d2 100644 --- a/tools/api.h +++ b/tools/api.h @@ -1,570 +1,600 @@ -void InitWindow(int width, int height, const char *title) -void CloseWindow(void) -bool WindowShouldClose(void) -bool IsWindowReady(void) -bool IsWindowFullscreen(void) -bool IsWindowHidden(void) -bool IsWindowMinimized(void) -bool IsWindowMaximized(void) -bool IsWindowFocused(void) -bool IsWindowResized(void) -bool IsWindowState(unsigned int flag) -void SetWindowState(unsigned int flags) -void ClearWindowState(unsigned int flags) -void ToggleFullscreen(void) -void ToggleBorderlessWindowed(void) -void MaximizeWindow(void) -void MinimizeWindow(void) -void RestoreWindow(void) -void SetWindowIcon(Image image) -void SetWindowIcons(Image *images, int count) -void SetWindowTitle(const char *title) -void SetWindowPosition(int x, int y) -void SetWindowMonitor(int monitor) -void SetWindowMinSize(int width, int height) -void SetWindowMaxSize(int width, int height) -void SetWindowSize(int width, int height) -void SetWindowOpacity(float opacity) -void SetWindowFocused() -void *GetWindowHandle(void) -int GetScreenWidth(void) -int GetScreenHeight(void) -int GetRenderWidth(void) -int GetRenderHeight(void) -int GetMonitorCount(void) -int GetCurrentMonitor(void) -Vector2 GetMonitorPosition(int monitor) -int GetMonitorWidth(int monitor) -int GetMonitorHeight(int monitor) -int GetMonitorPhysicalWidth(int monitor) -int GetMonitorPhysicalHeight(int monitor) -int GetMonitorRefreshRate(int monitor) -Vector2 GetWindowPosition(void) -Vector2 GetWindowScaleDPI(void) -const char *GetMonitorName(int monitor) -void SetClipboardText(const char *text) -const char *GetClipboardText(void) -Image GetClipboardImage(void) -void EnableEventWaiting(void) -void DisableEventWaiting(void) -void ShowCursor(void) -void HideCursor(void) -bool IsCursorHidden(void) -void EnableCursor(void) -void DisableCursor(void) -bool IsCursorOnScreen(void) -void ClearBackground(Color color) -void BeginDrawing(void) -void EndDrawing(void) -void BeginMode2D(Camera2D camera) -void EndMode2D(void) -void BeginMode3D(Camera3D camera) -void EndMode3D(void) -void BeginTextureMode(RenderTexture2D target) -void EndTextureMode(void) -void BeginShaderMode(Shader shader) -void EndShaderMode(void) -void BeginBlendMode(int mode) -void EndBlendMode(void) -void BeginScissorMode(int x, int y, int width, int height) -void EndScissorMode(void) -void BeginVrStereoMode(VrStereoConfig config) -void EndVrStereoMode(void) -VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device) -void UnloadVrStereoConfig(VrStereoConfig config) -Shader LoadShader(const char *vsFileName, const char *fsFileName) -Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode) -bool IsShaderValid(Shader shader) -int GetShaderLocation(Shader shader, const char *uniformName) -int GetShaderLocationAttrib(Shader shader, const char *attribName) -void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType) -void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count) -void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat) -void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) -void UnloadShader(Shader shader) -Ray GetMouseRay(Vector2 mousePosition, Camera camera) -Matrix GetCameraMatrix(Camera camera) -Matrix GetCameraMatrix2D(Camera2D camera) -Ray GetScreenToWorldRay(Vector2 position, Camera camera) -Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height) -Vector2 GetWorldToScreen(Vector3 position, Camera camera) -Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera) -Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height) -Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera) -void SetTargetFPS(int fps) -float GetFrameTime(void) -double GetTime(void) -int GetFPS(void) -void SwapScreenBuffer(void) -void PollInputEvents(void) -void WaitTime(double seconds) -void SetRandomSeed(unsigned int seed) -int GetRandomValue(int min, int max) -int *LoadRandomSequence(unsigned int count, int min, int max) -void UnloadRandomSequence(int *sequence) -void TakeScreenshot(const char *fileName) -void SetConfigFlags(unsigned int flags) -void OpenURL(const char *url) -void TraceLog(int logLevel, const char *text, ...) -void SetTraceLogLevel(int logLevel) -void *MemAlloc(int size) -void *MemRealloc(void *ptr, int size) -void MemFree(void *ptr) -void SetTraceLogCallback(TraceLogCallback callback) -unsigned char *LoadFileData(const char *fileName, int *dataSize) -void UnloadFileData(unsigned char *data) -bool SaveFileData(const char *fileName, void *data, int dataSize) -bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName) -char *LoadFileText(const char *fileName) -void UnloadFileText(char *text) -bool SaveFileText(const char *fileName, const char *text) -bool FileExists(const char *fileName) -bool DirectoryExists(const char *dirPath) -bool IsFileExtension(const char *fileName, const char *ext) -int GetFileLength(const char *fileName) -const char *GetFileExtension(const char *fileName) -const char *GetFileName(const char *filePath) -const char *GetFileNameWithoutExt(const char *filePath) -const char *GetDirectoryPath(const char *filePath) -const char *GetPrevDirectoryPath(const char *dirPath) -const char *GetWorkingDirectory(void) -const char *GetApplicationDirectory(void) -int MakeDirectory(const char *dirPath) -bool IsPathFile(const char *path) -bool IsFileNameValid(const char *fileName) -FilePathList LoadDirectoryFiles(const char *dirPath) -FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs) -void UnloadDirectoryFiles(FilePathList files) -bool IsFileDropped(void) -FilePathList LoadDroppedFiles(void) -void UnloadDroppedFiles(FilePathList files) -long GetFileModTime(const char *fileName) -unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize) -unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize) -char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize) -unsigned char *DecodeDataBase64(const unsigned char *data, int *outputSize) -unsigned int ComputeCRC32(unsigned char *data, int dataSize) -unsigned int *ComputeMD5(unsigned char *data, int dataSize) -unsigned int *ComputeSHA1(unsigned char *data, int dataSize) -AutomationEventList LoadAutomationEventList(const char *fileName) -void UnloadAutomationEventList(AutomationEventList *list) -bool ExportAutomationEventList(AutomationEventList list, const char *fileName) -void SetAutomationEventList(AutomationEventList *list) -void SetAutomationEventBaseFrame(int frame) -void StartAutomationEventRecording(void) -void StopAutomationEventRecording(void) -void PlayAutomationEvent(AutomationEvent event) -bool IsKeyPressed(int key) -bool IsKeyPressedRepeat(int key) -bool IsKeyDown(int key) -bool IsKeyReleased(int key) -bool IsKeyUp(int key) -int GetKeyPressed(void) -int GetCharPressed(void) -void SetExitKey(int key) -bool IsGamepadAvailable(int gamepad) -const char *GetGamepadName(int gamepad) -bool IsGamepadButtonPressed(int gamepad, int button) -bool IsGamepadButtonDown(int gamepad, int button) -bool IsGamepadButtonReleased(int gamepad, int button) -bool IsGamepadButtonUp(int gamepad, int button) -int GetGamepadButtonPressed(void) -int GetGamepadAxisCount(int gamepad) -float GetGamepadAxisMovement(int gamepad, int axis) -int SetGamepadMappings(const char *mappings) -bool IsMouseButtonPressed(int button) -bool IsMouseButtonDown(int button) -bool IsMouseButtonReleased(int button) -bool IsMouseButtonUp(int button) -int GetMouseX(void) -int GetMouseY(void) -Vector2 GetMousePosition(void) -Vector2 GetMouseDelta(void) -void SetMousePosition(int x, int y) -void SetMouseOffset(int offsetX, int offsetY) -void SetMouseScale(float scaleX, float scaleY) -float GetMouseWheelMove(void) -Vector2 GetMouseWheelMoveV(void) -void SetMouseCursor(int cursor) -int GetTouchX(void) -int GetTouchY(void) -Vector2 GetTouchPosition(int index) -int GetTouchPointId(int index) -int GetTouchPointCount(void) -void SetGesturesEnabled(unsigned int flags) -bool IsGestureDetected(unsigned int gesture) -int GetGestureDetected(void) -float GetGestureHoldDuration(void) -Vector2 GetGestureDragVector(void) -float GetGestureDragAngle(void) -Vector2 GetGesturePinchVector(void) -float GetGesturePinchAngle(void) -void UpdateCamera(Camera *camera, int mode) -void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom) -void SetShapesTexture(Texture2D texture, Rectangle source) -void DrawPixel(int posX, int posY, Color color) -void DrawPixelV(Vector2 position, Color color) -void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color) -void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) -void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color) -void DrawLineStrip(Vector2 *points, int pointCount, Color color) -void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color) -void DrawCircle(int centerX, int centerY, float radius, Color color) -void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) -void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) -void DrawCircleGradient(int centerX, int centerY, float radius, Color color1, Color color2) -void DrawCircleV(Vector2 center, float radius, Color color) -void DrawCircleLines(int centerX, int centerY, float radius, Color color) -void DrawCircleLinesV(Vector2 center, float radius, Color color) -void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color) -void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color) -void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) -void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) -void DrawRectangle(int posX, int posY, int width, int height, Color color) -void DrawRectangleV(Vector2 position, Vector2 size, Color color) -void DrawRectangleRec(Rectangle rec, Color color) -void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color) -void DrawRectangleGradientV(int posX, int posY, int width, int height, Color color1, Color color2) -void DrawRectangleGradientH(int posX, int posY, int width, int height, Color color1, Color color2) -void DrawRectangleGradientEx(Rectangle rec, Color col1, Color col2, Color col3, Color col4) -void DrawRectangleLines(int posX, int posY, int width, int height, Color color) -void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color) -void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color) -void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, float lineThick, Color color) -void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color) -void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color) -void DrawTriangleFan(Vector2 *points, int pointCount, Color color) -void DrawTriangleStrip(Vector2 *points, int pointCount, Color color) -void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color) -void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color) -void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color) -void DrawSplineLinear(Vector2 *points, int pointCount, float thick, Color color) -void DrawSplineBasis(Vector2 *points, int pointCount, float thick, Color color) -void DrawSplineCatmullRom(Vector2 *points, int pointCount, float thick, Color color) -void DrawSplineBezierQuadratic(Vector2 *points, int pointCount, float thick, Color color) -void DrawSplineBezierCubic(Vector2 *points, int pointCount, float thick, Color color) -void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color) -void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) -void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) -void DrawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color) -void DrawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color) -Vector2 GetSplinePointLinear(Vector2 startPos, Vector2 endPos, float t) -Vector2 GetSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) -Vector2 GetSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) -Vector2 GetSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t) -Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t) -bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2) -bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2) -bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec) -bool CheckCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2) -bool CheckCollisionPointRec(Vector2 point, Rectangle rec) -bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius) -bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3) -bool CheckCollisionPointPoly(Vector2 point, Vector2 *points, int pointCount) -bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint) -bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold) -Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2) -Image LoadImage(const char *fileName) -Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) -Image LoadImageAnim(const char *fileName, int *frames) -Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int *frames) -Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) -Image LoadImageFromTexture(Texture2D texture) -Image LoadImageFromScreen(void) -bool IsImageValid(Image image) -void UnloadImage(Image image) -bool ExportImage(Image image, const char *fileName) -unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize) -bool ExportImageAsCode(Image image, const char *fileName) -Image GenImageColor(int width, int height, Color color) -Image GenImageGradientLinear(int width, int height, int direction, Color start, Color endc) -Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer) -Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer) -Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2) -Image GenImageWhiteNoise(int width, int height, float factor) -Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale) -Image GenImageCellular(int width, int height, int tileSize) -Image GenImageText(int width, int height, const char *text) -Image ImageCopy(Image image) -Image ImageFromImage(Image image, Rectangle rec) -Image ImageFromChannel(Image image, int selectedChannel) -Image ImageText(const char *text, int fontSize, Color color) -Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint) -void ImageFormat(Image *image, int newFormat) -void ImageToPOT(Image *image, Color fill) -void ImageCrop(Image *image, Rectangle crop) -void ImageAlphaCrop(Image *image, float threshold) -void ImageAlphaClear(Image *image, Color color, float threshold) -void ImageAlphaMask(Image *image, Image alphaMask) -void ImageAlphaPremultiply(Image *image) -void ImageBlurGaussian(Image *image, int blurSize) -void ImageKernelConvolution(Image *image, const float *kernel, int kernelSize) -void ImageResize(Image *image, int newWidth, int newHeight) -void ImageResizeNN(Image *image, int newWidth,int newHeight) -void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill) -void ImageMipmaps(Image *image) -void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) -void ImageFlipVertical(Image *image) -void ImageFlipHorizontal(Image *image) -void ImageRotate(Image *image, int degrees) -void ImageRotateCW(Image *image) -void ImageRotateCCW(Image *image) -void ImageColorTint(Image *image, Color color) -void ImageColorInvert(Image *image) -void ImageColorGrayscale(Image *image) -void ImageColorContrast(Image *image, float contrast) -void ImageColorBrightness(Image *image, int brightness) -void ImageColorReplace(Image *image, Color color, Color replace) -Color *LoadImageColors(Image image) -Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount) -void UnloadImageColors(Color *colors) -void UnloadImagePalette(Color *colors) -Rectangle GetImageAlphaBorder(Image image, float threshold) -Color GetImageColor(Image image, int x, int y) -void ImageClearBackground(Image *dst, Color color) -void ImageDrawPixel(Image *dst, int posX, int posY, Color color) -void ImageDrawPixelV(Image *dst, Vector2 position, Color color) -void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color) -void ImageDrawLineV(Image *dst, Vector2 start, Vector2 endv, Color color) -void ImageDrawLineEx(Image *dst, Vector2 start, Vector2 end, int thick, Color color) -void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color) -void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color) -void ImageDrawCircleLines(Image *dst, int centerX, int centerY, int radius, Color color) -void ImageDrawCircleLinesV(Image *dst, Vector2 center, int radius, Color color) -void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color) -void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color) -void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color) -void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color) -void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) -void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3) -void ImageDrawTriangleLines(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) -void ImageDrawTriangleFan(Image *dst, Vector2 *points, int pointCount, Color color) -void ImageDrawTriangleStrip(Image *dst, Vector2 *points, int pointCount, Color color) -void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint) -void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color) -void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) -Texture2D LoadTexture(const char *fileName) -Texture2D LoadTextureFromImage(Image image) -TextureCubemap LoadTextureCubemap(Image image, int layout) -RenderTexture2D LoadRenderTexture(int width, int height) -bool IsTextureValid(Texture2D texture) -void UnloadTexture(Texture2D texture) -bool IsRenderTextureValid(RenderTexture2D target) -void UnloadRenderTexture(RenderTexture2D target) -void UpdateTexture(Texture2D texture, const void *pixels) -void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels) -void GenTextureMipmaps(Texture2D *texture) -void SetTextureFilter(Texture2D texture, int filter) -void SetTextureWrap(Texture2D texture, int wrap) -void DrawTexture(Texture2D texture, int posX, int posY, Color tint) -void DrawTextureV(Texture2D texture, Vector2 position, Color tint) -void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint) -void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint) -void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint) -void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint) -bool ColorIsEqual(Color col1, Color col2) -Color Fade(Color color, float alpha) -int ColorToInt(Color color) -Vector4 ColorNormalize(Color color) -Color ColorFromNormalized(Vector4 normalized) -Vector3 ColorToHSV(Color color) -Color ColorFromHSV(float hue, float saturation, float value) -Color ColorTint(Color color, Color tint) -Color ColorBrightness(Color color, float factor) -Color ColorContrast(Color color, float contrast) -Color ColorAlpha(Color color, float alpha) -Color ColorAlphaBlend(Color dst, Color src, Color tint) -Color ColorLerp(Color color1, Color color2, float factor) -Color GetColor(int hexValue) -Color GetPixelColor(void *srcPtr, int format) -void SetPixelColor(void *dstPtr, Color color, int format) -int GetPixelDataSize(int width, int height, int format) -Font GetFontDefault(void) -Font LoadFont(const char *fileName) -Font LoadFontEx(const char *fileName, int fontSize, int *codepoints, int codepointCount) -Font LoadFontFromImage(Image image, Color key, int firstChar) -Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount) -bool IsFontValid(Font font) -GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type) -Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod) -void UnloadFontData(GlyphInfo *glyphs, int glyphCount) -void UnloadFont(Font font) -bool ExportFontAsCode(Font font, const char *fileName) -void DrawFPS(int posX, int posY) -void DrawText(const char *text, int posX, int posY, int fontSize, Color color) -void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) -void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint) -void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint) -void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint) -int MeasureText(const char *text, int fontSize) -Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing) -int GetGlyphIndex(Font font, int codepoint) -GlyphInfo GetGlyphInfo(Font font, int codepoint) -Rectangle GetGlyphAtlasRec(Font font, int codepoint) -char *LoadUTF8(const int *codepoints, int length) -void UnloadUTF8(char *text) -int *LoadCodepoints(const char *text, int *count) -void UnloadCodepoints(int *codepoints) -int GetCodepointCount(const char *text) -int GetCodepoint(const char *text, int *codepointSize) -int GetCodepointNext(const char *text, int *codepointSize) -int GetCodepointPrevious(const char *text, int *codepointSize) -const char *CodepointToUTF8(int codepoint, int *utf8Size) -int TextCopy(char *dst, const char *src) -bool TextIsEqual(const char *text1, const char *text2) -unsigned int TextLength(const char *text) -const char *TextFormat(const char *text, ...) -const char *TextSubtext(const char *text, int position, int length) -char *TextReplace(char *text, const char *replace, const char *by) -char *TextInsert(const char *text, const char *insert, int position) -const char *TextJoin(const char **textList, int count, const char *delimiter) -const char **TextSplit(const char *text, char delimiter, int *count) -void TextAppend(char *text, const char *append, int *position) -int TextFindIndex(const char *text, const char *find) -const char *TextToUpper(const char *text) -const char *TextToLower(const char *text) -const char *TextToPascal(const char *text) -const char *TextToSnake(const char *text) -const char *TextToCamel(const char *text) -int TextToInteger(const char *text) -float TextToFloat(const char *text) -void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color) -void DrawPoint3D(Vector3 position, Color color) -void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color) -void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color) -void DrawTriangleStrip3D(Vector3 *points, int pointCount, Color color) -void DrawCube(Vector3 position, float width, float height, float length, Color color) -void DrawCubeV(Vector3 position, Vector3 size, Color color) -void DrawCubeWires(Vector3 position, float width, float height, float length, Color color) -void DrawCubeWiresV(Vector3 position, Vector3 size, Color color) -void DrawSphere(Vector3 centerPos, float radius, Color color) -void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color) -void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color) -void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) -void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) -void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) -void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) -void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) -void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) -void DrawPlane(Vector3 centerPos, Vector2 size, Color color) -void DrawRay(Ray ray, Color color) -void DrawGrid(int slices, float spacing) -Model LoadModel(const char *fileName) -bool IsModelValid(Model model) -Model LoadModelFromMesh(Mesh mesh) -void UnloadModel(Model model) -BoundingBox GetModelBoundingBox(Model model) -void DrawModel(Model model, Vector3 position, float scale, Color tint) -void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) -void DrawModelWires(Model model, Vector3 position, float scale, Color tint) -void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) -void DrawModelPoints(Model model, Vector3 position, float scale, Color tint) -void DrawModelPointsEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) -void DrawBoundingBox(BoundingBox box, Color color) -void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float size, Color tint) -void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) -void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint) -void UploadMesh(Mesh *mesh, bool dynamic) -void UpdateMeshBuffer(Mesh mesh, int index, const void *data, int dataSize, int offset) -void UnloadMesh(Mesh mesh) -void DrawMesh(Mesh mesh, Material material, Matrix transform) -void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, int instances) -bool ExportMesh(Mesh mesh, const char *fileName) -bool ExportMeshAsCode(Mesh mesh, const char *fileName) -BoundingBox GetMeshBoundingBox(Mesh mesh) -void GenMeshTangents(Mesh *mesh) -Mesh GenMeshPoly(int sides, float radius) -Mesh GenMeshPlane(float width, float length, int resX, int resZ) -Mesh GenMeshCube(float width, float height, float length) -Mesh GenMeshSphere(float radius, int rings, int slices) -Mesh GenMeshHemiSphere(float radius, int rings, int slices) -Mesh GenMeshCylinder(float radius, float height, int slices) -Mesh GenMeshCone(float radius, float height, int slices) -Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) -Mesh GenMeshKnot(float radius, float size, int radSeg, int sides) -Mesh GenMeshHeightmap(Image heightmap, Vector3 size) -Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) -Material *LoadMaterials(const char *fileName, int *materialCount) -Material LoadMaterialDefault(void) -bool IsMaterialValid(Material material) -void UnloadMaterial(Material material) -void SetMaterialTexture(Material *material, int mapType, Texture2D texture) -void SetModelMeshMaterial(Model *model, int meshId, int materialId) -ModelAnimation *LoadModelAnimations(const char *fileName, int *animCount) -void UpdateModelAnimation(Model model, ModelAnimation anim, int frame) -void UnloadModelAnimation(ModelAnimation anim) -void UnloadModelAnimations(ModelAnimation* animations, int animCount) -bool IsModelAnimationValid(Model model, ModelAnimation anim) -bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2) -bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2) -bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius) -RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius) -RayCollision GetRayCollisionBox(Ray ray, BoundingBox box) -RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform) -RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3) -RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4) -void InitAudioDevice(void) -void CloseAudioDevice(void) -bool IsAudioDeviceReady(void) -void SetMasterVolume(float volume) -Wave LoadWave(const char *fileName) -Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) -bool IsWaveValid(Wave wave) -Sound LoadSound(const char *fileName) -Sound LoadSoundFromWave(Wave wave) -Sound LoadSoundAlias(Sound source) -bool IsSoundValid(Sound sound) -void UpdateSound(Sound sound, const void *data, int sampleCount) -void UnloadWave(Wave wave) -void UnloadSound(Sound sound) -void UnloadSoundAlias(Sound alias) -bool ExportWave(Wave wave, const char *fileName) -bool ExportWaveAsCode(Wave wave, const char *fileName) -void PlaySound(Sound sound) -void StopSound(Sound sound) -void PauseSound(Sound sound) -void ResumeSound(Sound sound) -bool IsSoundPlaying(Sound sound) -void SetSoundVolume(Sound sound, float volume) -void SetSoundPitch(Sound sound, float pitch) -void SetSoundPan(Sound sound, float pan) -Wave WaveCopy(Wave wave) -void WaveCrop(Wave *wave, int initSample, int finalSample) -void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) -float *LoadWaveSamples(Wave wave) -void UnloadWaveSamples(float *samples) -Music LoadMusicStream(const char *fileName) -Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char* data, int dataSize) -bool IsMusicValid(Music music) -void UnloadMusicStream(Music music) -void PlayMusicStream(Music music) -bool IsMusicStreamPlaying(Music music) -void UpdateMusicStream(Music music) -void StopMusicStream(Music music) -void PauseMusicStream(Music music) -void ResumeMusicStream(Music music) -void SeekMusicStream(Music music, float position) -void SetMusicVolume(Music music, float volume) -void SetMusicPan(Music music, float pan) -void SetMusicPitch(Music music, float pitch) -float GetMusicTimeLength(Music music) -float GetMusicTimePlayed(Music music) -AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) -bool IsAudioStreamValid(AudioStream stream) -void UnloadAudioStream(AudioStream stream) -void UpdateAudioStream(AudioStream stream, const void *data, int frameCount) -bool IsAudioStreamProcessed(AudioStream stream) -void PlayAudioStream(AudioStream stream) -void PauseAudioStream(AudioStream stream) -void ResumeAudioStream(AudioStream stream) -bool IsAudioStreamPlaying(AudioStream stream) -void StopAudioStream(AudioStream stream) -void SetAudioStreamVolume(AudioStream stream, float volume) -void SetAudioStreamPitch(AudioStream stream, float pitch) -void SetAudioStreamPan(AudioStream stream, float pan) -void SetAudioStreamBufferSizeDefault(int size) -void SetAudioStreamCallback(AudioStream stream, AudioCallback callback) -void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor) -void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor) -void AttachAudioMixedProcessor(AudioCallback processor) -void DetachAudioMixedProcessor(AudioCallback processor) +void InitWindow(int width, int height, const char *title) +void CloseWindow(void) +bool WindowShouldClose(void) +bool IsWindowReady(void) +bool IsWindowFullscreen(void) +bool IsWindowHidden(void) +bool IsWindowMinimized(void) +bool IsWindowMaximized(void) +bool IsWindowFocused(void) +bool IsWindowResized(void) +bool IsWindowState(unsigned int flag) +void SetWindowState(unsigned int flags) +void ClearWindowState(unsigned int flags) +void ToggleFullscreen(void) +void ToggleBorderlessWindowed(void) +void MaximizeWindow(void) +void MinimizeWindow(void) +void RestoreWindow(void) +void SetWindowIcon(Image image) +void SetWindowIcons(Image *images, int count) +void SetWindowTitle(const char *title) +void SetWindowPosition(int x, int y) +void SetWindowMonitor(int monitor) +void SetWindowMinSize(int width, int height) +void SetWindowMaxSize(int width, int height) +void SetWindowSize(int width, int height) +void SetWindowOpacity(float opacity) +void SetWindowFocused(void) +void *GetWindowHandle(void) +int GetScreenWidth(void) +int GetScreenHeight(void) +int GetRenderWidth(void) +int GetRenderHeight(void) +int GetMonitorCount(void) +int GetCurrentMonitor(void) +Vector2 GetMonitorPosition(int monitor) +int GetMonitorWidth(int monitor) +int GetMonitorHeight(int monitor) +int GetMonitorPhysicalWidth(int monitor) +int GetMonitorPhysicalHeight(int monitor) +int GetMonitorRefreshRate(int monitor) +Vector2 GetWindowPosition(void) +Vector2 GetWindowScaleDPI(void) +const char *GetMonitorName(int monitor) +void SetClipboardText(const char *text) +const char *GetClipboardText(void) +Image GetClipboardImage(void) +void EnableEventWaiting(void) +void DisableEventWaiting(void) +void ShowCursor(void) +void HideCursor(void) +bool IsCursorHidden(void) +void EnableCursor(void) +void DisableCursor(void) +bool IsCursorOnScreen(void) +void ClearBackground(Color color) +void BeginDrawing(void) +void EndDrawing(void) +void BeginMode2D(Camera2D camera) +void EndMode2D(void) +void BeginMode3D(Camera3D camera) +void EndMode3D(void) +void BeginTextureMode(RenderTexture2D target) +void EndTextureMode(void) +void BeginShaderMode(Shader shader) +void EndShaderMode(void) +void BeginBlendMode(int mode) +void EndBlendMode(void) +void BeginScissorMode(int x, int y, int width, int height) +void EndScissorMode(void) +void BeginVrStereoMode(VrStereoConfig config) +void EndVrStereoMode(void) +VrStereoConfig LoadVrStereoConfig(VrDeviceInfo device) +void UnloadVrStereoConfig(VrStereoConfig config) +Shader LoadShader(const char *vsFileName, const char *fsFileName) +Shader LoadShaderFromMemory(const char *vsCode, const char *fsCode) +bool IsShaderValid(Shader shader) +int GetShaderLocation(Shader shader, const char *uniformName) +int GetShaderLocationAttrib(Shader shader, const char *attribName) +void SetShaderValue(Shader shader, int locIndex, const void *value, int uniformType) +void SetShaderValueV(Shader shader, int locIndex, const void *value, int uniformType, int count) +void SetShaderValueMatrix(Shader shader, int locIndex, Matrix mat) +void SetShaderValueTexture(Shader shader, int locIndex, Texture2D texture) +void UnloadShader(Shader shader) +Ray GetScreenToWorldRay(Vector2 position, Camera camera) +Ray GetScreenToWorldRayEx(Vector2 position, Camera camera, int width, int height) +Vector2 GetWorldToScreen(Vector3 position, Camera camera) +Vector2 GetWorldToScreenEx(Vector3 position, Camera camera, int width, int height) +Vector2 GetWorldToScreen2D(Vector2 position, Camera2D camera) +Vector2 GetScreenToWorld2D(Vector2 position, Camera2D camera) +Matrix GetCameraMatrix(Camera camera) +Matrix GetCameraMatrix2D(Camera2D camera) +void SetTargetFPS(int fps) +float GetFrameTime(void) +double GetTime(void) +int GetFPS(void) +void SwapScreenBuffer(void) +void PollInputEvents(void) +void WaitTime(double seconds) +void SetRandomSeed(unsigned int seed) +int GetRandomValue(int min, int max) +int *LoadRandomSequence(unsigned int count, int min, int max) +void UnloadRandomSequence(int *sequence) +void TakeScreenshot(const char *fileName) +void SetConfigFlags(unsigned int flags) +void OpenURL(const char *url) +void SetTraceLogLevel(int logLevel) +void TraceLog(int logLevel, const char *text, ...) +void SetTraceLogCallback(TraceLogCallback callback) +void *MemAlloc(unsigned int size) +void *MemRealloc(void *ptr, unsigned int size) +void MemFree(void *ptr) +unsigned char *LoadFileData(const char *fileName, int *dataSize) +void UnloadFileData(unsigned char *data) +bool SaveFileData(const char *fileName, void *data, int dataSize) +bool ExportDataAsCode(const unsigned char *data, int dataSize, const char *fileName) +char *LoadFileText(const char *fileName) +void UnloadFileText(char *text) +bool SaveFileText(const char *fileName, const char *text) +void SetLoadFileDataCallback(LoadFileDataCallback callback) +void SetSaveFileDataCallback(SaveFileDataCallback callback) +void SetLoadFileTextCallback(LoadFileTextCallback callback) +void SetSaveFileTextCallback(SaveFileTextCallback callback) +int FileRename(const char *fileName, const char *fileRename) +int FileRemove(const char *fileName) +int FileCopy(const char *srcPath, const char *dstPath) +int FileMove(const char *srcPath, const char *dstPath) +int FileTextReplace(const char *fileName, const char *search, const char *replacement) +int FileTextFindIndex(const char *fileName, const char *search) +bool FileExists(const char *fileName) +bool DirectoryExists(const char *dirPath) +bool IsFileExtension(const char *fileName, const char *ext) +int GetFileLength(const char *fileName) +long GetFileModTime(const char *fileName) +const char *GetFileExtension(const char *fileName) +const char *GetFileName(const char *filePath) +const char *GetFileNameWithoutExt(const char *filePath) +const char *GetDirectoryPath(const char *filePath) +const char *GetPrevDirectoryPath(const char *dirPath) +const char *GetWorkingDirectory(void) +const char *GetApplicationDirectory(void) +int MakeDirectory(const char *dirPath) +bool ChangeDirectory(const char *dirPath) +bool IsPathFile(const char *path) +bool IsFileNameValid(const char *fileName) +FilePathList LoadDirectoryFiles(const char *dirPath) +FilePathList LoadDirectoryFilesEx(const char *basePath, const char *filter, bool scanSubdirs) +void UnloadDirectoryFiles(FilePathList files) +bool IsFileDropped(void) +FilePathList LoadDroppedFiles(void) +void UnloadDroppedFiles(FilePathList files) +unsigned int GetDirectoryFileCount(const char *dirPath) +unsigned int GetDirectoryFileCountEx(const char *basePath, const char *filter, bool scanSubdirs) +unsigned char *CompressData(const unsigned char *data, int dataSize, int *compDataSize) +unsigned char *DecompressData(const unsigned char *compData, int compDataSize, int *dataSize) +char *EncodeDataBase64(const unsigned char *data, int dataSize, int *outputSize) +unsigned char *DecodeDataBase64(const char *text, int *outputSize) +unsigned int ComputeCRC32(unsigned char *data, int dataSize) +unsigned int *ComputeMD5(unsigned char *data, int dataSize) +unsigned int *ComputeSHA1(unsigned char *data, int dataSize) +unsigned int *ComputeSHA256(unsigned char *data, int dataSize) +AutomationEventList LoadAutomationEventList(const char *fileName) +void UnloadAutomationEventList(AutomationEventList list) +bool ExportAutomationEventList(AutomationEventList list, const char *fileName) +void SetAutomationEventList(AutomationEventList *list) +void SetAutomationEventBaseFrame(int frame) +void StartAutomationEventRecording(void) +void StopAutomationEventRecording(void) +void PlayAutomationEvent(AutomationEvent event) +bool IsKeyPressed(int key) +bool IsKeyPressedRepeat(int key) +bool IsKeyDown(int key) +bool IsKeyReleased(int key) +bool IsKeyUp(int key) +int GetKeyPressed(void) +int GetCharPressed(void) +const char *GetKeyName(int key) +void SetExitKey(int key) +bool IsGamepadAvailable(int gamepad) +const char *GetGamepadName(int gamepad) +bool IsGamepadButtonPressed(int gamepad, int button) +bool IsGamepadButtonDown(int gamepad, int button) +bool IsGamepadButtonReleased(int gamepad, int button) +bool IsGamepadButtonUp(int gamepad, int button) +int GetGamepadButtonPressed(void) +int GetGamepadAxisCount(int gamepad) +float GetGamepadAxisMovement(int gamepad, int axis) +int SetGamepadMappings(const char *mappings) +void SetGamepadVibration(int gamepad, float leftMotor, float rightMotor, float duration) +bool IsMouseButtonPressed(int button) +bool IsMouseButtonDown(int button) +bool IsMouseButtonReleased(int button) +bool IsMouseButtonUp(int button) +int GetMouseX(void) +int GetMouseY(void) +Vector2 GetMousePosition(void) +Vector2 GetMouseDelta(void) +void SetMousePosition(int x, int y) +void SetMouseOffset(int offsetX, int offsetY) +void SetMouseScale(float scaleX, float scaleY) +float GetMouseWheelMove(void) +Vector2 GetMouseWheelMoveV(void) +void SetMouseCursor(int cursor) +int GetTouchX(void) +int GetTouchY(void) +Vector2 GetTouchPosition(int index) +int GetTouchPointId(int index) +int GetTouchPointCount(void) +void SetGesturesEnabled(unsigned int flags) +bool IsGestureDetected(unsigned int gesture) +int GetGestureDetected(void) +float GetGestureHoldDuration(void) +Vector2 GetGestureDragVector(void) +float GetGestureDragAngle(void) +Vector2 GetGesturePinchVector(void) +float GetGesturePinchAngle(void) +void UpdateCamera(Camera *camera, int mode) +void UpdateCameraPro(Camera *camera, Vector3 movement, Vector3 rotation, float zoom) +void SetShapesTexture(Texture2D texture, Rectangle source) +Texture2D GetShapesTexture(void) +Rectangle GetShapesTextureRectangle(void) +void DrawPixel(int posX, int posY, Color color) +void DrawPixelV(Vector2 position, Color color) +void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, Color color) +void DrawLineV(Vector2 startPos, Vector2 endPos, Color color) +void DrawLineEx(Vector2 startPos, Vector2 endPos, float thick, Color color) +void DrawLineStrip(const Vector2 *points, int pointCount, Color color) +void DrawLineBezier(Vector2 startPos, Vector2 endPos, float thick, Color color) +void DrawLineDashed(Vector2 startPos, Vector2 endPos, int dashSize, int spaceSize, Color color) +void DrawCircle(int centerX, int centerY, float radius, Color color) +void DrawCircleV(Vector2 center, float radius, Color color) +void DrawCircleGradient(Vector2 center, float radius, Color inner, Color outer) +void DrawCircleSector(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) +void DrawCircleSectorLines(Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) +void DrawCircleLines(int centerX, int centerY, float radius, Color color) +void DrawCircleLinesV(Vector2 center, float radius, Color color) +void DrawEllipse(int centerX, int centerY, float radiusH, float radiusV, Color color) +void DrawEllipseV(Vector2 center, float radiusH, float radiusV, Color color) +void DrawEllipseLines(int centerX, int centerY, float radiusH, float radiusV, Color color) +void DrawEllipseLinesV(Vector2 center, float radiusH, float radiusV, Color color) +void DrawRing(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) +void DrawRingLines(Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) +void DrawRectangle(int posX, int posY, int width, int height, Color color) +void DrawRectangleV(Vector2 position, Vector2 size, Color color) +void DrawRectangleRec(Rectangle rec, Color color) +void DrawRectanglePro(Rectangle rec, Vector2 origin, float rotation, Color color) +void DrawRectangleGradientV(int posX, int posY, int width, int height, Color top, Color bottom) +void DrawRectangleGradientH(int posX, int posY, int width, int height, Color left, Color right) +void DrawRectangleGradientEx(Rectangle rec, Color topLeft, Color bottomLeft, Color bottomRight, Color topRight) +void DrawRectangleLines(int posX, int posY, int width, int height, Color color) +void DrawRectangleLinesEx(Rectangle rec, float lineThick, Color color) +void DrawRectangleRounded(Rectangle rec, float roundness, int segments, Color color) +void DrawRectangleRoundedLines(Rectangle rec, float roundness, int segments, Color color) +void DrawRectangleRoundedLinesEx(Rectangle rec, float roundness, int segments, float lineThick, Color color) +void DrawTriangle(Vector2 v1, Vector2 v2, Vector2 v3, Color color) +void DrawTriangleLines(Vector2 v1, Vector2 v2, Vector2 v3, Color color) +void DrawTriangleFan(const Vector2 *points, int pointCount, Color color) +void DrawTriangleStrip(const Vector2 *points, int pointCount, Color color) +void DrawPoly(Vector2 center, int sides, float radius, float rotation, Color color) +void DrawPolyLines(Vector2 center, int sides, float radius, float rotation, Color color) +void DrawPolyLinesEx(Vector2 center, int sides, float radius, float rotation, float lineThick, Color color) +void DrawSplineLinear(const Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBasis(const Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineCatmullRom(const Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBezierQuadratic(const Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineBezierCubic(const Vector2 *points, int pointCount, float thick, Color color) +void DrawSplineSegmentLinear(Vector2 p1, Vector2 p2, float thick, Color color) +void DrawSplineSegmentBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) +void DrawSplineSegmentCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) +void DrawSplineSegmentBezierQuadratic(Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color) +void DrawSplineSegmentBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color) +Vector2 GetSplinePointLinear(Vector2 startPos, Vector2 endPos, float t) +Vector2 GetSplinePointBasis(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) +Vector2 GetSplinePointCatmullRom(Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) +Vector2 GetSplinePointBezierQuad(Vector2 p1, Vector2 c2, Vector2 p3, float t) +Vector2 GetSplinePointBezierCubic(Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t) +bool CheckCollisionRecs(Rectangle rec1, Rectangle rec2) +bool CheckCollisionCircles(Vector2 center1, float radius1, Vector2 center2, float radius2) +bool CheckCollisionCircleRec(Vector2 center, float radius, Rectangle rec) +bool CheckCollisionCircleLine(Vector2 center, float radius, Vector2 p1, Vector2 p2) +bool CheckCollisionPointRec(Vector2 point, Rectangle rec) +bool CheckCollisionPointCircle(Vector2 point, Vector2 center, float radius) +bool CheckCollisionPointTriangle(Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3) +bool CheckCollisionPointLine(Vector2 point, Vector2 p1, Vector2 p2, int threshold) +bool CheckCollisionPointPoly(Vector2 point, const Vector2 *points, int pointCount) +bool CheckCollisionLines(Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint) +Rectangle GetCollisionRec(Rectangle rec1, Rectangle rec2) +Image LoadImage(const char *fileName) +Image LoadImageRaw(const char *fileName, int width, int height, int format, int headerSize) +Image LoadImageAnim(const char *fileName, int *frames) +Image LoadImageAnimFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int *frames) +Image LoadImageFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) +Image LoadImageFromTexture(Texture2D texture) +Image LoadImageFromScreen(void) +bool IsImageValid(Image image) +void UnloadImage(Image image) +bool ExportImage(Image image, const char *fileName) +unsigned char *ExportImageToMemory(Image image, const char *fileType, int *fileSize) +bool ExportImageAsCode(Image image, const char *fileName) +Image GenImageColor(int width, int height, Color color) +Image GenImageGradientLinear(int width, int height, int direction, Color start, Color end) +Image GenImageGradientRadial(int width, int height, float density, Color inner, Color outer) +Image GenImageGradientSquare(int width, int height, float density, Color inner, Color outer) +Image GenImageChecked(int width, int height, int checksX, int checksY, Color col1, Color col2) +Image GenImageWhiteNoise(int width, int height, float factor) +Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale) +Image GenImageCellular(int width, int height, int tileSize) +Image GenImageText(int width, int height, const char *text) +Image ImageCopy(Image image) +Image ImageFromImage(Image image, Rectangle rec) +Image ImageFromChannel(Image image, int selectedChannel) +Image ImageText(const char *text, int fontSize, Color color) +Image ImageTextEx(Font font, const char *text, float fontSize, float spacing, Color tint) +void ImageFormat(Image *image, int newFormat) +void ImageToPOT(Image *image, Color fill) +void ImageCrop(Image *image, Rectangle crop) +void ImageAlphaCrop(Image *image, float threshold) +void ImageAlphaClear(Image *image, Color color, float threshold) +void ImageAlphaMask(Image *image, Image alphaMask) +void ImageAlphaPremultiply(Image *image) +void ImageBlurGaussian(Image *image, int blurSize) +void ImageKernelConvolution(Image *image, const float *kernel, int kernelSize) +void ImageResize(Image *image, int newWidth, int newHeight) +void ImageResizeNN(Image *image, int newWidth, int newHeight) +void ImageResizeCanvas(Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill) +void ImageMipmaps(Image *image) +void ImageDither(Image *image, int rBpp, int gBpp, int bBpp, int aBpp) +void ImageFlipVertical(Image *image) +void ImageFlipHorizontal(Image *image) +void ImageRotate(Image *image, int degrees) +void ImageRotateCW(Image *image) +void ImageRotateCCW(Image *image) +void ImageColorTint(Image *image, Color color) +void ImageColorInvert(Image *image) +void ImageColorGrayscale(Image *image) +void ImageColorContrast(Image *image, float contrast) +void ImageColorBrightness(Image *image, int brightness) +void ImageColorReplace(Image *image, Color color, Color replace) +Color *LoadImageColors(Image image) +Color *LoadImagePalette(Image image, int maxPaletteSize, int *colorCount) +void UnloadImageColors(Color *colors) +void UnloadImagePalette(Color *colors) +Rectangle GetImageAlphaBorder(Image image, float threshold) +Color GetImageColor(Image image, int x, int y) +void ImageClearBackground(Image *dst, Color color) +void ImageDrawPixel(Image *dst, int posX, int posY, Color color) +void ImageDrawPixelV(Image *dst, Vector2 position, Color color) +void ImageDrawLine(Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color) +void ImageDrawLineV(Image *dst, Vector2 start, Vector2 end, Color color) +void ImageDrawLineEx(Image *dst, Vector2 start, Vector2 end, int thick, Color color) +void ImageDrawCircle(Image *dst, int centerX, int centerY, int radius, Color color) +void ImageDrawCircleV(Image *dst, Vector2 center, int radius, Color color) +void ImageDrawCircleLines(Image *dst, int centerX, int centerY, int radius, Color color) +void ImageDrawCircleLinesV(Image *dst, Vector2 center, int radius, Color color) +void ImageDrawRectangle(Image *dst, int posX, int posY, int width, int height, Color color) +void ImageDrawRectangleV(Image *dst, Vector2 position, Vector2 size, Color color) +void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color) +void ImageDrawRectangleLines(Image *dst, Rectangle rec, int thick, Color color) +void ImageDrawTriangle(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) +void ImageDrawTriangleEx(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color c1, Color c2, Color c3) +void ImageDrawTriangleLines(Image *dst, Vector2 v1, Vector2 v2, Vector2 v3, Color color) +void ImageDrawTriangleFan(Image *dst, const Vector2 *points, int pointCount, Color color) +void ImageDrawTriangleStrip(Image *dst, const Vector2 *points, int pointCount, Color color) +void ImageDraw(Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint) +void ImageDrawText(Image *dst, const char *text, int posX, int posY, int fontSize, Color color) +void ImageDrawTextEx(Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) +Texture2D LoadTexture(const char *fileName) +Texture2D LoadTextureFromImage(Image image) +TextureCubemap LoadTextureCubemap(Image image, int layout) +RenderTexture2D LoadRenderTexture(int width, int height) +bool IsTextureValid(Texture2D texture) +void UnloadTexture(Texture2D texture) +bool IsRenderTextureValid(RenderTexture2D target) +void UnloadRenderTexture(RenderTexture2D target) +void UpdateTexture(Texture2D texture, const void *pixels) +void UpdateTextureRec(Texture2D texture, Rectangle rec, const void *pixels) +void GenTextureMipmaps(Texture2D *texture) +void SetTextureFilter(Texture2D texture, int filter) +void SetTextureWrap(Texture2D texture, int wrap) +void DrawTexture(Texture2D texture, int posX, int posY, Color tint) +void DrawTextureV(Texture2D texture, Vector2 position, Color tint) +void DrawTextureEx(Texture2D texture, Vector2 position, float rotation, float scale, Color tint) +void DrawTextureRec(Texture2D texture, Rectangle source, Vector2 position, Color tint) +void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint) +void DrawTextureNPatch(Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint) +bool ColorIsEqual(Color col1, Color col2) +Color Fade(Color color, float alpha) +int ColorToInt(Color color) +Vector4 ColorNormalize(Color color) +Color ColorFromNormalized(Vector4 normalized) +Vector3 ColorToHSV(Color color) +Color ColorFromHSV(float hue, float saturation, float value) +Color ColorTint(Color color, Color tint) +Color ColorBrightness(Color color, float factor) +Color ColorContrast(Color color, float contrast) +Color ColorAlpha(Color color, float alpha) +Color ColorAlphaBlend(Color dst, Color src, Color tint) +Color ColorLerp(Color color1, Color color2, float factor) +Color GetColor(unsigned int hexValue) +Color GetPixelColor(void *srcPtr, int format) +void SetPixelColor(void *dstPtr, Color color, int format) +int GetPixelDataSize(int width, int height, int format) +Font GetFontDefault(void) +Font LoadFont(const char *fileName) +Font LoadFontEx(const char *fileName, int fontSize, const int *codepoints, int codepointCount) +Font LoadFontFromImage(Image image, Color key, int firstChar) +Font LoadFontFromMemory(const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, const int *codepoints, int codepointCount) +bool IsFontValid(Font font) +GlyphInfo *LoadFontData(const unsigned char *fileData, int dataSize, int fontSize, const int *codepoints, int codepointCount, int type, int *glyphCount) +Image GenImageFontAtlas(const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod) +void UnloadFontData(GlyphInfo *glyphs, int glyphCount) +void UnloadFont(Font font) +bool ExportFontAsCode(Font font, const char *fileName) +void DrawFPS(int posX, int posY) +void DrawText(const char *text, int posX, int posY, int fontSize, Color color) +void DrawTextEx(Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) +void DrawTextPro(Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint) +void DrawTextCodepoint(Font font, int codepoint, Vector2 position, float fontSize, Color tint) +void DrawTextCodepoints(Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint) +void SetTextLineSpacing(int spacing) +int MeasureText(const char *text, int fontSize) +Vector2 MeasureTextEx(Font font, const char *text, float fontSize, float spacing) +Vector2 MeasureTextCodepoints(Font font, const int *codepoints, int length, float fontSize, float spacing) +int GetGlyphIndex(Font font, int codepoint) +GlyphInfo GetGlyphInfo(Font font, int codepoint) +Rectangle GetGlyphAtlasRec(Font font, int codepoint) +char *LoadUTF8(const int *codepoints, int length) +void UnloadUTF8(char *text) +int *LoadCodepoints(const char *text, int *count) +void UnloadCodepoints(int *codepoints) +int GetCodepointCount(const char *text) +int GetCodepoint(const char *text, int *codepointSize) +int GetCodepointNext(const char *text, int *codepointSize) +int GetCodepointPrevious(const char *text, int *codepointSize) +const char *CodepointToUTF8(int codepoint, int *utf8Size) +char **LoadTextLines(const char *text, int *count) +void UnloadTextLines(char **text, int lineCount) +int TextCopy(char *dst, const char *src) +bool TextIsEqual(const char *text1, const char *text2) +unsigned int TextLength(const char *text) +const char *TextFormat(const char *text, ...) +const char *TextSubtext(const char *text, int position, int length) +const char *TextRemoveSpaces(const char *text) +char *GetTextBetween(const char *text, const char *begin, const char *end) +char *TextReplace(const char *text, const char *search, const char *replacement) +char *TextReplaceAlloc(const char *text, const char *search, const char *replacement) +char *TextReplaceBetween(const char *text, const char *begin, const char *end, const char *replacement) +char *TextReplaceBetweenAlloc(const char *text, const char *begin, const char *end, const char *replacement) +char *TextInsert(const char *text, const char *insert, int position) +char *TextInsertAlloc(const char *text, const char *insert, int position) +char *TextJoin(char **textList, int count, const char *delimiter) +char **TextSplit(const char *text, char delimiter, int *count) +void TextAppend(char *text, const char *append, int *position) +int TextFindIndex(const char *text, const char *search) +char *TextToUpper(const char *text) +char *TextToLower(const char *text) +char *TextToPascal(const char *text) +char *TextToSnake(const char *text) +char *TextToCamel(const char *text) +int TextToInteger(const char *text) +float TextToFloat(const char *text) +void DrawLine3D(Vector3 startPos, Vector3 endPos, Color color) +void DrawPoint3D(Vector3 position, Color color) +void DrawCircle3D(Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color) +void DrawTriangle3D(Vector3 v1, Vector3 v2, Vector3 v3, Color color) +void DrawTriangleStrip3D(const Vector3 *points, int pointCount, Color color) +void DrawCube(Vector3 position, float width, float height, float length, Color color) +void DrawCubeV(Vector3 position, Vector3 size, Color color) +void DrawCubeWires(Vector3 position, float width, float height, float length, Color color) +void DrawCubeWiresV(Vector3 position, Vector3 size, Color color) +void DrawSphere(Vector3 centerPos, float radius, Color color) +void DrawSphereEx(Vector3 centerPos, float radius, int rings, int slices, Color color) +void DrawSphereWires(Vector3 centerPos, float radius, int rings, int slices, Color color) +void DrawCylinder(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) +void DrawCylinderEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) +void DrawCylinderWires(Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) +void DrawCylinderWiresEx(Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) +void DrawCapsule(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) +void DrawCapsuleWires(Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) +void DrawPlane(Vector3 centerPos, Vector2 size, Color color) +void DrawRay(Ray ray, Color color) +void DrawGrid(int slices, float spacing) +Model LoadModel(const char *fileName) +Model LoadModelFromMesh(Mesh mesh) +bool IsModelValid(Model model) +void UnloadModel(Model model) +BoundingBox GetModelBoundingBox(Model model) +void DrawModel(Model model, Vector3 position, float scale, Color tint) +void DrawModelEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) +void DrawModelWires(Model model, Vector3 position, float scale, Color tint) +void DrawModelWiresEx(Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) +void DrawBoundingBox(BoundingBox box, Color color) +void DrawBillboard(Camera camera, Texture2D texture, Vector3 position, float scale, Color tint) +void DrawBillboardRec(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) +void DrawBillboardPro(Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint) +void UploadMesh(Mesh *mesh, bool dynamic) +void UpdateMeshBuffer(Mesh mesh, int index, const void *data, int dataSize, int offset) +void UnloadMesh(Mesh mesh) +void DrawMesh(Mesh mesh, Material material, Matrix transform) +void DrawMeshInstanced(Mesh mesh, Material material, const Matrix *transforms, int instances) +BoundingBox GetMeshBoundingBox(Mesh mesh) +void GenMeshTangents(Mesh *mesh) +bool ExportMesh(Mesh mesh, const char *fileName) +bool ExportMeshAsCode(Mesh mesh, const char *fileName) +Mesh GenMeshPoly(int sides, float radius) +Mesh GenMeshPlane(float width, float length, int resX, int resZ) +Mesh GenMeshCube(float width, float height, float length) +Mesh GenMeshSphere(float radius, int rings, int slices) +Mesh GenMeshHemiSphere(float radius, int rings, int slices) +Mesh GenMeshCylinder(float radius, float height, int slices) +Mesh GenMeshCone(float radius, float height, int slices) +Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) +Mesh GenMeshKnot(float radius, float size, int radSeg, int sides) +Mesh GenMeshHeightmap(Image heightmap, Vector3 size) +Mesh GenMeshCubicmap(Image cubicmap, Vector3 cubeSize) +Material *LoadMaterials(const char *fileName, int *materialCount) +Material LoadMaterialDefault(void) +bool IsMaterialValid(Material material) +void UnloadMaterial(Material material) +void SetMaterialTexture(Material *material, int mapType, Texture2D texture) +void SetModelMeshMaterial(Model *model, int meshId, int materialId) +ModelAnimation *LoadModelAnimations(const char *fileName, int *animCount) +void UpdateModelAnimation(Model model, ModelAnimation anim, float frame) +void UpdateModelAnimationEx(Model model, ModelAnimation animA, float frameA, ModelAnimation animB, float frameB, float blend) +void UnloadModelAnimations(ModelAnimation *animations, int animCount) +bool IsModelAnimationValid(Model model, ModelAnimation anim) +bool CheckCollisionSpheres(Vector3 center1, float radius1, Vector3 center2, float radius2) +bool CheckCollisionBoxes(BoundingBox box1, BoundingBox box2) +bool CheckCollisionBoxSphere(BoundingBox box, Vector3 center, float radius) +RayCollision GetRayCollisionSphere(Ray ray, Vector3 center, float radius) +RayCollision GetRayCollisionBox(Ray ray, BoundingBox box) +RayCollision GetRayCollisionMesh(Ray ray, Mesh mesh, Matrix transform) +RayCollision GetRayCollisionTriangle(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3) +RayCollision GetRayCollisionQuad(Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4) +void InitAudioDevice(void) +void CloseAudioDevice(void) +bool IsAudioDeviceReady(void) +void SetMasterVolume(float volume) +float GetMasterVolume(void) +Wave LoadWave(const char *fileName) +Wave LoadWaveFromMemory(const char *fileType, const unsigned char *fileData, int dataSize) +bool IsWaveValid(Wave wave) +Sound LoadSound(const char *fileName) +Sound LoadSoundFromWave(Wave wave) +Sound LoadSoundAlias(Sound source) +bool IsSoundValid(Sound sound) +void UpdateSound(Sound sound, const void *data, int sampleCount) +void UnloadWave(Wave wave) +void UnloadSound(Sound sound) +void UnloadSoundAlias(Sound alias) +bool ExportWave(Wave wave, const char *fileName) +bool ExportWaveAsCode(Wave wave, const char *fileName) +void PlaySound(Sound sound) +void StopSound(Sound sound) +void PauseSound(Sound sound) +void ResumeSound(Sound sound) +bool IsSoundPlaying(Sound sound) +void SetSoundVolume(Sound sound, float volume) +void SetSoundPitch(Sound sound, float pitch) +void SetSoundPan(Sound sound, float pan) +Wave WaveCopy(Wave wave) +void WaveCrop(Wave *wave, int initFrame, int finalFrame) +void WaveFormat(Wave *wave, int sampleRate, int sampleSize, int channels) +float *LoadWaveSamples(Wave wave) +void UnloadWaveSamples(float *samples) +Music LoadMusicStream(const char *fileName) +Music LoadMusicStreamFromMemory(const char *fileType, const unsigned char *data, int dataSize) +bool IsMusicValid(Music music) +void UnloadMusicStream(Music music) +void PlayMusicStream(Music music) +bool IsMusicStreamPlaying(Music music) +void UpdateMusicStream(Music music) +void StopMusicStream(Music music) +void PauseMusicStream(Music music) +void ResumeMusicStream(Music music) +void SeekMusicStream(Music music, float position) +void SetMusicVolume(Music music, float volume) +void SetMusicPitch(Music music, float pitch) +void SetMusicPan(Music music, float pan) +float GetMusicTimeLength(Music music) +float GetMusicTimePlayed(Music music) +AudioStream LoadAudioStream(unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) +bool IsAudioStreamValid(AudioStream stream) +void UnloadAudioStream(AudioStream stream) +void UpdateAudioStream(AudioStream stream, const void *data, int frameCount) +bool IsAudioStreamProcessed(AudioStream stream) +void PlayAudioStream(AudioStream stream) +void PauseAudioStream(AudioStream stream) +void ResumeAudioStream(AudioStream stream) +bool IsAudioStreamPlaying(AudioStream stream) +void StopAudioStream(AudioStream stream) +void SetAudioStreamVolume(AudioStream stream, float volume) +void SetAudioStreamPitch(AudioStream stream, float pitch) +void SetAudioStreamPan(AudioStream stream, float pan) +void SetAudioStreamBufferSizeDefault(int size) +void SetAudioStreamCallback(AudioStream stream, AudioCallback callback) +void AttachAudioStreamProcessor(AudioStream stream, AudioCallback processor) +void DetachAudioStreamProcessor(AudioStream stream, AudioCallback processor) +void AttachAudioMixedProcessor(AudioCallback processor) +void DetachAudioMixedProcessor(AudioCallback processor) diff --git a/tools/autocomplete/api/easings_api.lua b/tools/autocomplete/api/easings_api.lua index 2828ae6..12add1d 100644 --- a/tools/autocomplete/api/easings_api.lua +++ b/tools/autocomplete/api/easings_api.lua @@ -36,7 +36,7 @@ return { functions = { { name = "EaseLinearNone", - description = "Ease: Linear", + description = [=[Ease: Linear]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -47,7 +47,7 @@ return { }, { name = "EaseLinearIn", - description = "Ease: Linear In", + description = [=[Ease: Linear In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -58,7 +58,7 @@ return { }, { name = "EaseLinearOut", - description = "Ease: Linear Out", + description = [=[Ease: Linear Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -69,7 +69,7 @@ return { }, { name = "EaseLinearInOut", - description = "Ease: Linear In Out", + description = [=[Ease: Linear In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -80,7 +80,7 @@ return { }, { name = "EaseSineIn", - description = "Ease: Sine In", + description = [=[Ease: Sine In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -91,7 +91,7 @@ return { }, { name = "EaseSineOut", - description = "Ease: Sine Out", + description = [=[Ease: Sine Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -102,7 +102,7 @@ return { }, { name = "EaseSineInOut", - description = "Ease: Sine Out", + description = [=[Ease: Sine Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -113,7 +113,7 @@ return { }, { name = "EaseCircIn", - description = "Ease: Circular In", + description = [=[Ease: Circular In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -124,7 +124,7 @@ return { }, { name = "EaseCircOut", - description = "Ease: Circular Out", + description = [=[Ease: Circular Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -135,7 +135,7 @@ return { }, { name = "EaseCircInOut", - description = "Ease: Circular In Out", + description = [=[Ease: Circular In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -146,7 +146,7 @@ return { }, { name = "EaseCubicIn", - description = "Ease: Cubic In", + description = [=[Ease: Cubic In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -157,7 +157,7 @@ return { }, { name = "EaseCubicOut", - description = "Ease: Cubic Out", + description = [=[Ease: Cubic Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -168,7 +168,7 @@ return { }, { name = "EaseCubicInOut", - description = "Ease: Cubic In Out", + description = [=[Ease: Cubic In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -179,7 +179,7 @@ return { }, { name = "EaseQuadIn", - description = "Ease: Quadratic In", + description = [=[Ease: Quadratic In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -190,7 +190,7 @@ return { }, { name = "EaseQuadOut", - description = "Ease: Quadratic Out", + description = [=[Ease: Quadratic Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -201,7 +201,7 @@ return { }, { name = "EaseQuadInOut", - description = "Ease: Quadratic In Out", + description = [=[Ease: Quadratic In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -212,7 +212,7 @@ return { }, { name = "EaseExpoIn", - description = "Ease: Exponential In", + description = [=[Ease: Exponential In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -223,7 +223,7 @@ return { }, { name = "EaseExpoOut", - description = "Ease: Exponential Out", + description = [=[Ease: Exponential Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -234,7 +234,7 @@ return { }, { name = "EaseExpoInOut", - description = "Ease: Exponential In Out", + description = [=[Ease: Exponential In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -245,7 +245,7 @@ return { }, { name = "EaseBackIn", - description = "Ease: Back In", + description = [=[Ease: Back In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -256,7 +256,7 @@ return { }, { name = "EaseBackOut", - description = "Ease: Back Out", + description = [=[Ease: Back Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -267,7 +267,7 @@ return { }, { name = "EaseBackInOut", - description = "Ease: Back In Out", + description = [=[Ease: Back In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -278,7 +278,7 @@ return { }, { name = "EaseBounceOut", - description = "Ease: Bounce Out", + description = [=[Ease: Bounce Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -289,7 +289,7 @@ return { }, { name = "EaseBounceIn", - description = "Ease: Bounce In", + description = [=[Ease: Bounce In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -300,7 +300,7 @@ return { }, { name = "EaseBounceInOut", - description = "Ease: Bounce In Out", + description = [=[Ease: Bounce In Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -311,7 +311,7 @@ return { }, { name = "EaseElasticIn", - description = "Ease: Elastic In", + description = [=[Ease: Elastic In]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -322,7 +322,7 @@ return { }, { name = "EaseElasticOut", - description = "Ease: Elastic Out", + description = [=[Ease: Elastic Out]=], returnType = "float", params = { {type = "float", name = "t"}, @@ -333,7 +333,7 @@ return { }, { name = "EaseElasticInOut", - description = "Ease: Elastic In Out", + description = [=[Ease: Elastic In Out]=], returnType = "float", params = { {type = "float", name = "t"}, diff --git a/tools/autocomplete/api/physac_api.lua b/tools/autocomplete/api/physac_api.lua deleted file mode 100644 index 884d5b3..0000000 --- a/tools/autocomplete/api/physac_api.lua +++ /dev/null @@ -1,555 +0,0 @@ -return { - defines = { - { - name = "PHYSAC_H", - type = "GUARD", - value = "", - description = "" - }, - { - name = "PHYSACDEF", - type = "UNKNOWN", - value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" - }, - { - name = "PHYSAC_MALLOC(size)", - type = "MACRO", - value = "malloc(size)", - description = "" - }, - { - name = "PHYSAC_CALLOC(size, n)", - type = "MACRO", - value = "calloc(size, n)", - description = "" - }, - { - name = "PHYSAC_FREE(ptr)", - type = "MACRO", - value = "free(ptr)", - description = "" - }, - { - name = "PHYSAC_MAX_BODIES", - type = "INT", - value = 64, - description = "Maximum number of physic bodies supported" - }, - { - name = "PHYSAC_MAX_MANIFOLDS", - type = "INT", - value = 4096, - description = "Maximum number of physic bodies interactions (64x64)" - }, - { - name = "PHYSAC_MAX_VERTICES", - type = "INT", - value = 24, - description = "Maximum number of vertex for polygons shapes" - }, - { - name = "PHYSAC_DEFAULT_CIRCLE_VERTICES", - type = "INT", - value = 24, - description = "Default number of vertices for circle shapes" - }, - { - name = "PHYSAC_COLLISION_ITERATIONS", - type = "INT", - value = 100, - description = "" - }, - { - name = "PHYSAC_PENETRATION_ALLOWANCE", - type = "FLOAT", - value = 0.05, - description = "" - }, - { - name = "PHYSAC_PENETRATION_CORRECTION", - type = "FLOAT", - value = 0.4, - description = "" - }, - { - name = "PHYSAC_PI", - type = "FLOAT", - value = 3.14159265358979323846, - description = "" - }, - { - name = "PHYSAC_DEG2RAD", - type = "FLOAT_MATH", - value = "(PHYSAC_PI/180.0f)", - description = "" - }, - { - name = "TRACELOG(...)", - type = "MACRO", - value = "printf(__VA_ARGS__)", - description = "" - }, - { - name = "_POSIX_C_SOURCE", - type = "LONG", - value = 199309, - description = "Required for CLOCK_MONOTONIC if compiled with c99 without gnu ext." - }, - { - name = "CLITERAL(type)", - type = "MACRO", - value = "type", - description = "" - }, - { - name = "PHYSAC_MIN(a,b)", - type = "MACRO", - value = "(((a)<(b))?(a):(b))", - description = "" - }, - { - name = "PHYSAC_MAX(a,b)", - type = "MACRO", - value = "(((a)>(b))?(a):(b))", - description = "" - }, - { - name = "PHYSAC_FLT_MAX", - type = "FLOAT", - value = 3.402823466e+38, - description = "" - }, - { - name = "PHYSAC_EPSILON", - type = "FLOAT", - value = 0.000001, - description = "" - }, - { - name = "PHYSAC_K", - type = "FLOAT_MATH", - value = "1.0f/3.0f", - description = "" - }, - { - name = "PHYSAC_VECTOR_ZERO", - type = "UNKNOWN", - value = "CLITERAL(Vector2){ 0.0f, 0.0f }", - description = "" - } - }, - structs = { - { - name = "Vector2", - description = "Vector2 type", - fields = { - { - type = "float", - name = "x", - description = "" - }, - { - type = "float", - name = "y", - description = "" - } - } - }, - { - name = "Matrix2x2", - description = "Matrix2x2 type (used for polygon shape rotation matrix)", - fields = { - { - type = "float", - name = "m00", - description = "" - }, - { - type = "float", - name = "m01", - description = "" - }, - { - type = "float", - name = "m10", - description = "" - }, - { - type = "float", - name = "m11", - description = "" - } - } - }, - { - name = "PhysicsVertexData", - description = "", - fields = { - { - type = "unsigned int", - name = "vertexCount", - description = "Vertex count (positions and normals)" - }, - { - type = "Vector2[PHYSAC_MAX_VERTICES]", - name = "positions", - description = "Vertex positions vectors" - }, - { - type = "Vector2[PHYSAC_MAX_VERTICES]", - name = "normals", - description = "Vertex normals vectors" - } - } - }, - { - name = "PhysicsShape", - description = "", - fields = { - { - type = "PhysicsShapeType", - name = "type", - description = "Shape type (circle or polygon)" - }, - { - type = "PhysicsBody", - name = "body", - description = "Shape physics body data pointer" - }, - { - type = "PhysicsVertexData", - name = "vertexData", - description = "Shape vertices data (used for polygon shapes)" - }, - { - type = "float", - name = "radius", - description = "Shape radius (used for circle shapes)" - }, - { - type = "Matrix2x2", - name = "transform", - description = "Vertices transform matrix 2x2" - } - } - }, - { - name = "PhysicsBodyData", - description = "", - fields = { - { - type = "unsigned int", - name = "id", - description = "Unique identifier" - }, - { - type = "bool", - name = "enabled", - description = "Enabled dynamics state (collisions are calculated anyway)" - }, - { - type = "Vector2", - name = "position", - description = "Physics body shape pivot" - }, - { - type = "Vector2", - name = "velocity", - description = "Current linear velocity applied to position" - }, - { - type = "Vector2", - name = "force", - description = "Current linear force (reset to 0 every step)" - }, - { - type = "float", - name = "angularVelocity", - description = "Current angular velocity applied to orient" - }, - { - type = "float", - name = "torque", - description = "Current angular force (reset to 0 every step)" - }, - { - type = "float", - name = "orient", - description = "Rotation in radians" - }, - { - type = "float", - name = "inertia", - description = "Moment of inertia" - }, - { - type = "float", - name = "inverseInertia", - description = "Inverse value of inertia" - }, - { - type = "float", - name = "mass", - description = "Physics body mass" - }, - { - type = "float", - name = "inverseMass", - description = "Inverse value of mass" - }, - { - type = "float", - name = "staticFriction", - description = "Friction when the body has not movement (0 to 1)" - }, - { - type = "float", - name = "dynamicFriction", - description = "Friction when the body has movement (0 to 1)" - }, - { - type = "float", - name = "restitution", - description = "Restitution coefficient of the body (0 to 1)" - }, - { - type = "bool", - name = "useGravity", - description = "Apply gravity force to dynamics" - }, - { - type = "bool", - name = "isGrounded", - description = "Physics grounded on other body state" - }, - { - type = "bool", - name = "freezeOrient", - description = "Physics rotation constraint" - }, - { - type = "PhysicsShape", - name = "shape", - description = "Physics body shape information (type, radius, vertices, transform)" - } - } - }, - { - name = "PhysicsManifoldData", - description = "", - fields = { - { - type = "unsigned int", - name = "id", - description = "Unique identifier" - }, - { - type = "PhysicsBody", - name = "bodyA", - description = "Manifold first physics body reference" - }, - { - type = "PhysicsBody", - name = "bodyB", - description = "Manifold second physics body reference" - }, - { - type = "float", - name = "penetration", - description = "Depth of penetration from collision" - }, - { - type = "Vector2", - name = "normal", - description = "Normal direction vector from 'a' to 'b'" - }, - { - type = "Vector2[2]", - name = "contacts", - description = "Points of contact during collision" - }, - { - type = "unsigned int", - name = "contactsCount", - description = "Current collision number of contacts" - }, - { - type = "float", - name = "restitution", - description = "Mixed restitution during collision" - }, - { - type = "float", - name = "dynamicFriction", - description = "Mixed dynamic friction during collision" - }, - { - type = "float", - name = "staticFriction", - description = "Mixed static friction during collision" - } - } - } - }, - aliases = { - }, - enums = { - }, - callbacks = { - }, - functions = { - { - name = "InitPhysics", - description = "Initializes physics system", - returnType = "void" - }, - { - name = "UpdatePhysics", - description = "Update physics system", - returnType = "void" - }, - { - name = "ResetPhysics", - description = "Reset physics system (global variables)", - returnType = "void" - }, - { - name = "ClosePhysics", - description = "Close physics system and unload used memory", - returnType = "void" - }, - { - name = "SetPhysicsTimeStep", - description = "Sets physics fixed time step in milliseconds. 1.666666 by default", - returnType = "void", - params = { - {type = "double", name = "delta"} - } - }, - { - name = "SetPhysicsGravity", - description = "Sets physics global gravity force", - returnType = "void", - params = { - {type = "float", name = "x"}, - {type = "float", name = "y"} - } - }, - { - name = "CreatePhysicsBodyCircle", - description = "Creates a new circle physics body with generic parameters", - returnType = "PhysicsBody", - params = { - {type = "Vector2", name = "pos"}, - {type = "float", name = "radius"}, - {type = "float", name = "density"} - } - }, - { - name = "CreatePhysicsBodyRectangle", - description = "Creates a new rectangle physics body with generic parameters", - returnType = "PhysicsBody", - params = { - {type = "Vector2", name = "pos"}, - {type = "float", name = "width"}, - {type = "float", name = "height"}, - {type = "float", name = "density"} - } - }, - { - name = "CreatePhysicsBodyPolygon", - description = "Creates a new polygon physics body with generic parameters", - returnType = "PhysicsBody", - params = { - {type = "Vector2", name = "pos"}, - {type = "float", name = "radius"}, - {type = "int", name = "sides"}, - {type = "float", name = "density"} - } - }, - { - name = "DestroyPhysicsBody", - description = "Destroy a physics body", - returnType = "void", - params = { - {type = "PhysicsBody", name = "body"} - } - }, - { - name = "PhysicsAddForce", - description = "Adds a force to a physics body", - returnType = "void", - params = { - {type = "PhysicsBody", name = "body"}, - {type = "Vector2", name = "force"} - } - }, - { - name = "PhysicsAddTorque", - description = "Adds an angular force to a physics body", - returnType = "void", - params = { - {type = "PhysicsBody", name = "body"}, - {type = "float", name = "amount"} - } - }, - { - name = "PhysicsShatter", - description = "Shatters a polygon shape physics body to little physics bodies with explosion force", - returnType = "void", - params = { - {type = "PhysicsBody", name = "body"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "force"} - } - }, - { - name = "SetPhysicsBodyRotation", - description = "Sets physics body shape transform based on radians parameter", - returnType = "void", - params = { - {type = "PhysicsBody", name = "body"}, - {type = "float", name = "radians"} - } - }, - { - name = "GetPhysicsBody", - description = "Returns a physics body of the bodies pool at a specific index", - returnType = "PhysicsBody", - params = { - {type = "int", name = "index"} - } - }, - { - name = "GetPhysicsBodiesCount", - description = "Returns the current amount of created physics bodies", - returnType = "int" - }, - { - name = "GetPhysicsShapeType", - description = "Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON)", - returnType = "int", - params = { - {type = "int", name = "index"} - } - }, - { - name = "GetPhysicsShapeVerticesCount", - description = "Returns the amount of vertices of a physics body shape", - returnType = "int", - params = { - {type = "int", name = "index"} - } - }, - { - name = "GetPhysicsShapeVertex", - description = "Returns transformed position of a body shape (body position + vertex transformed position)", - returnType = "Vector2", - params = { - {type = "PhysicsBody", name = "body"}, - {type = "int", name = "vertex"} - } - } - } -} diff --git a/tools/autocomplete/api/raygui_api.lua b/tools/autocomplete/api/raygui_api.lua index 42c4b2d..1d98d93 100644 --- a/tools/autocomplete/api/raygui_api.lua +++ b/tools/autocomplete/api/raygui_api.lua @@ -1,2923 +1,2923 @@ -return { - defines = { - { - name = "RAYGUI_H", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RAYGUI_VERSION_MAJOR", - type = "INT", - value = 4, - description = "" - }, - { - name = "RAYGUI_VERSION_MINOR", - type = "INT", - value = 0, - description = "" - }, - { - name = "RAYGUI_VERSION_PATCH", - type = "INT", - value = 0, - description = "" - }, - { - name = "RAYGUI_VERSION", - type = "STRING", - value = "4.0", - description = "" - }, - { - name = "RAYGUIAPI", - type = "UNKNOWN", - value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" - }, - { - name = "RAYGUI_MALLOC(sz)", - type = "MACRO", - value = "malloc(sz)", - description = "" - }, - { - name = "RAYGUI_CALLOC(n,sz)", - type = "MACRO", - value = "calloc(n,sz)", - description = "" - }, - { - name = "RAYGUI_FREE(p)", - type = "MACRO", - value = "free(p)", - description = "" - }, - { - name = "RAYGUI_SUPPORT_LOG_INFO", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RAYGUI_LOG(...)", - type = "MACRO", - value = "printf(__VA_ARGS__)", - description = "" - }, - { - name = "SCROLLBAR_LEFT_SIDE", - type = "INT", - value = 0, - description = "" - }, - { - name = "SCROLLBAR_RIGHT_SIDE", - type = "INT", - value = 1, - description = "" - }, - { - name = "RAYGUI_CLITERAL(name)", - type = "MACRO", - value = "name", - description = "" - }, - { - name = "CHECK_BOUNDS_ID(src, dst)", - type = "MACRO", - value = "((src.x == dst.x) && (src.y == dst.y) && (src.width == dst.width) && (src.height == dst.height))", - description = "" - }, - { - name = "RAYGUI_ICON_SIZE", - type = "INT", - value = 16, - description = "Size of icons in pixels (squared)" - }, - { - name = "RAYGUI_ICON_MAX_ICONS", - type = "INT", - value = 256, - description = "Maximum number of icons" - }, - { - name = "RAYGUI_ICON_MAX_NAME_LENGTH", - type = "INT", - value = 32, - description = "Maximum length of icon name id" - }, - { - name = "RAYGUI_ICON_DATA_ELEMENTS", - type = "INT_MATH", - value = "(RAYGUI_ICON_SIZE*RAYGUI_ICON_SIZE/32)", - description = "" - }, - { - name = "RAYGUI_MAX_CONTROLS", - type = "INT", - value = 16, - description = "Maximum number of controls" - }, - { - name = "RAYGUI_MAX_PROPS_BASE", - type = "INT", - value = 16, - description = "Maximum number of base properties" - }, - { - name = "RAYGUI_MAX_PROPS_EXTENDED", - type = "INT", - value = 8, - description = "Maximum number of extended properties" - }, - { - name = "KEY_RIGHT", - type = "INT", - value = 262, - description = "" - }, - { - name = "KEY_LEFT", - type = "INT", - value = 263, - description = "" - }, - { - name = "KEY_DOWN", - type = "INT", - value = 264, - description = "" - }, - { - name = "KEY_UP", - type = "INT", - value = 265, - description = "" - }, - { - name = "KEY_BACKSPACE", - type = "INT", - value = 259, - description = "" - }, - { - name = "KEY_ENTER", - type = "INT", - value = 257, - description = "" - }, - { - name = "MOUSE_LEFT_BUTTON", - type = "INT", - value = 0, - description = "" - }, - { - name = "RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT", - type = "INT", - value = 24, - description = "" - }, - { - name = "RAYGUI_GROUPBOX_LINE_THICK", - type = "INT", - value = 1, - description = "" - }, - { - name = "RAYGUI_LINE_MARGIN_TEXT", - type = "INT", - value = 12, - description = "" - }, - { - name = "RAYGUI_LINE_TEXT_PADDING", - type = "INT", - value = 4, - description = "" - }, - { - name = "RAYGUI_PANEL_BORDER_WIDTH", - type = "INT", - value = 1, - description = "" - }, - { - name = "RAYGUI_TABBAR_ITEM_WIDTH", - type = "INT", - value = 160, - description = "" - }, - { - name = "RAYGUI_MIN_SCROLLBAR_WIDTH", - type = "INT", - value = 40, - description = "" - }, - { - name = "RAYGUI_MIN_SCROLLBAR_HEIGHT", - type = "INT", - value = 40, - description = "" - }, - { - name = "RAYGUI_TOGGLEGROUP_MAX_ITEMS", - type = "INT", - value = 32, - description = "" - }, - { - name = "RAYGUI_TEXTBOX_AUTO_CURSOR_COOLDOWN", - type = "INT", - value = 40, - description = "Frames to wait for autocursor movement" - }, - { - name = "RAYGUI_TEXTBOX_AUTO_CURSOR_DELAY", - type = "INT", - value = 1, - description = "Frames delay for autocursor movement" - }, - { - name = "RAYGUI_VALUEBOX_MAX_CHARS", - type = "INT", - value = 32, - description = "" - }, - { - name = "RAYGUI_COLORBARALPHA_CHECKED_SIZE", - type = "INT", - value = 10, - description = "" - }, - { - name = "RAYGUI_MESSAGEBOX_BUTTON_HEIGHT", - type = "INT", - value = 24, - description = "" - }, - { - name = "RAYGUI_MESSAGEBOX_BUTTON_PADDING", - type = "INT", - value = 12, - description = "" - }, - { - name = "RAYGUI_TEXTINPUTBOX_BUTTON_HEIGHT", - type = "INT", - value = 24, - description = "" - }, - { - name = "RAYGUI_TEXTINPUTBOX_BUTTON_PADDING", - type = "INT", - value = 12, - description = "" - }, - { - name = "RAYGUI_TEXTINPUTBOX_HEIGHT", - type = "INT", - value = 26, - description = "" - }, - { - name = "RAYGUI_GRID_ALPHA", - type = "FLOAT", - value = 0.15, - description = "" - }, - { - name = "MAX_LINE_BUFFER_SIZE", - type = "INT", - value = 256, - description = "" - }, - { - name = "BIT_CHECK(a,b)", - type = "MACRO", - value = "((a) & (1u<<(b)))", - description = "" - }, - { - name = "ICON_TEXT_PADDING", - type = "INT", - value = 4, - description = "" - }, - { - name = "RAYGUI_MAX_TEXT_LINES", - type = "INT", - value = 128, - description = "" - }, - { - name = "TEXT_VALIGN_PIXEL_OFFSET(h)", - type = "MACRO", - value = "((int)h%2)", - description = "Vertical alignment for pixel perfect" - }, - { - name = "RAYGUI_TEXTSPLIT_MAX_ITEMS", - type = "INT", - value = 128, - description = "" - }, - { - name = "RAYGUI_TEXTSPLIT_MAX_TEXT_SIZE", - type = "INT", - value = 1024, - description = "" - }, - { - name = "RAYGUI_TEXTFORMAT_MAX_SIZE", - type = "INT", - value = 256, - description = "" - } - }, - structs = { - { - name = "Vector2", - description = "Vector2 type", - fields = { - { - type = "float", - name = "x", - description = "" - }, - { - type = "float", - name = "y", - description = "" - } - } - }, - { - name = "Vector3", - description = "Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV()", - fields = { - { - type = "float", - name = "x", - description = "" - }, - { - type = "float", - name = "y", - description = "" - }, - { - type = "float", - name = "z", - description = "" - } - } - }, - { - name = "Color", - description = "Color type, RGBA (32bit)", - fields = { - { - type = "unsigned char", - name = "r", - description = "" - }, - { - type = "unsigned char", - name = "g", - description = "" - }, - { - type = "unsigned char", - name = "b", - description = "" - }, - { - type = "unsigned char", - name = "a", - description = "" - } - } - }, - { - name = "Rectangle", - description = "Rectangle type", - fields = { - { - type = "float", - name = "x", - description = "" - }, - { - type = "float", - name = "y", - description = "" - }, - { - type = "float", - name = "width", - description = "" - }, - { - type = "float", - name = "height", - description = "" - } - } - }, - { - name = "Texture2D", - description = "It should be redesigned to be provided by user", - fields = { - { - type = "unsigned int", - name = "id", - description = "OpenGL texture id" - }, - { - type = "int", - name = "width", - description = "Texture base width" - }, - { - type = "int", - name = "height", - description = "Texture base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } - }, - { - name = "Image", - description = "Image, pixel data stored in CPU memory (RAM)", - fields = { - { - type = "void *", - name = "data", - description = "Image raw data" - }, - { - type = "int", - name = "width", - description = "Image base width" - }, - { - type = "int", - name = "height", - description = "Image base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } - }, - { - name = "GlyphInfo", - description = "GlyphInfo, font characters glyphs info", - fields = { - { - type = "int", - name = "value", - description = "Character value (Unicode)" - }, - { - type = "int", - name = "offsetX", - description = "Character offset X when drawing" - }, - { - type = "int", - name = "offsetY", - description = "Character offset Y when drawing" - }, - { - type = "int", - name = "advanceX", - description = "Character advance position X" - }, - { - type = "Image", - name = "image", - description = "Character image data" - } - } - }, - { - name = "Font", - description = "It should be redesigned to be provided by user", - fields = { - { - type = "int", - name = "baseSize", - description = "Base size (default chars height)" - }, - { - type = "int", - name = "glyphCount", - description = "Number of glyph characters" - }, - { - type = "int", - name = "glyphPadding", - description = "Padding around the glyph characters" - }, - { - type = "Texture2D", - name = "texture", - description = "Texture atlas containing the glyphs" - }, - { - type = "Rectangle *", - name = "recs", - description = "Rectangles in texture for the glyphs" - }, - { - type = "GlyphInfo *", - name = "glyphs", - description = "Glyphs info data" - } - } - }, - { - name = "GuiStyleProp", - description = "NOTE: Used when exporting style as code for convenience", - fields = { - { - type = "unsigned short", - name = "controlId", - description = "Control identifier" - }, - { - type = "unsigned short", - name = "propertyId", - description = "Property identifier" - }, - { - type = "int", - name = "propertyValue", - description = "Property value" - } - } - }, - { - name = "GuiTextStyle", - description = "NOTE: Text style is defined by control", - fields = { - { - type = "unsigned int", - name = "size", - description = "" - }, - { - type = "int", - name = "charSpacing", - description = "" - }, - { - type = "int", - name = "lineSpacing", - description = "" - }, - { - type = "int", - name = "alignmentH", - description = "" - }, - { - type = "int", - name = "alignmentV", - description = "" - }, - { - type = "int", - name = "padding", - description = "" - } - } - } - }, - aliases = { - }, - enums = { - { - name = "GuiState", - description = "Gui control state", - values = { - { - name = "STATE_NORMAL", - value = 0, - description = "" - }, - { - name = "STATE_FOCUSED", - value = 1, - description = "" - }, - { - name = "STATE_PRESSED", - value = 2, - description = "" - }, - { - name = "STATE_DISABLED", - value = 3, - description = "" - } - } - }, - { - name = "GuiTextAlignment", - description = "Gui control text alignment", - values = { - { - name = "TEXT_ALIGN_LEFT", - value = 0, - description = "" - }, - { - name = "TEXT_ALIGN_CENTER", - value = 1, - description = "" - }, - { - name = "TEXT_ALIGN_RIGHT", - value = 2, - description = "" - } - } - }, - { - name = "GuiTextAlignmentVertical", - description = "Gui control text alignment vertical", - values = { - { - name = "TEXT_ALIGN_TOP", - value = 0, - description = "" - }, - { - name = "TEXT_ALIGN_MIDDLE", - value = 1, - description = "" - }, - { - name = "TEXT_ALIGN_BOTTOM", - value = 2, - description = "" - } - } - }, - { - name = "GuiTextWrapMode", - description = "Gui control text wrap mode", - values = { - { - name = "TEXT_WRAP_NONE", - value = 0, - description = "" - }, - { - name = "TEXT_WRAP_CHAR", - value = 1, - description = "" - }, - { - name = "TEXT_WRAP_WORD", - value = 2, - description = "" - } - } - }, - { - name = "GuiControl", - description = "Gui controls", - values = { - { - name = "DEFAULT", - value = 0, - description = "" - }, - { - name = "LABEL", - value = 1, - description = "Used also for: LABELBUTTON" - }, - { - name = "BUTTON", - value = 2, - description = "" - }, - { - name = "TOGGLE", - value = 3, - description = "Used also for: TOGGLEGROUP" - }, - { - name = "SLIDER", - value = 4, - description = "Used also for: SLIDERBAR, TOGGLESLIDER" - }, - { - name = "PROGRESSBAR", - value = 5, - description = "" - }, - { - name = "CHECKBOX", - value = 6, - description = "" - }, - { - name = "COMBOBOX", - value = 7, - description = "" - }, - { - name = "DROPDOWNBOX", - value = 8, - description = "" - }, - { - name = "TEXTBOX", - value = 9, - description = "Used also for: TEXTBOXMULTI" - }, - { - name = "VALUEBOX", - value = 10, - description = "" - }, - { - name = "SPINNER", - value = 11, - description = "Uses: BUTTON, VALUEBOX" - }, - { - name = "LISTVIEW", - value = 12, - description = "" - }, - { - name = "COLORPICKER", - value = 13, - description = "" - }, - { - name = "SCROLLBAR", - value = 14, - description = "" - }, - { - name = "STATUSBAR", - value = 15, - description = "" - } - } - }, - { - name = "GuiControlProperty", - description = "Gui base properties for every control", - values = { - { - name = "BORDER_COLOR_NORMAL", - value = 0, - description = "Control border color in STATE_NORMAL" - }, - { - name = "BASE_COLOR_NORMAL", - value = 1, - description = "Control base color in STATE_NORMAL" - }, - { - name = "TEXT_COLOR_NORMAL", - value = 2, - description = "Control text color in STATE_NORMAL" - }, - { - name = "BORDER_COLOR_FOCUSED", - value = 3, - description = "Control border color in STATE_FOCUSED" - }, - { - name = "BASE_COLOR_FOCUSED", - value = 4, - description = "Control base color in STATE_FOCUSED" - }, - { - name = "TEXT_COLOR_FOCUSED", - value = 5, - description = "Control text color in STATE_FOCUSED" - }, - { - name = "BORDER_COLOR_PRESSED", - value = 6, - description = "Control border color in STATE_PRESSED" - }, - { - name = "BASE_COLOR_PRESSED", - value = 7, - description = "Control base color in STATE_PRESSED" - }, - { - name = "TEXT_COLOR_PRESSED", - value = 8, - description = "Control text color in STATE_PRESSED" - }, - { - name = "BORDER_COLOR_DISABLED", - value = 9, - description = "Control border color in STATE_DISABLED" - }, - { - name = "BASE_COLOR_DISABLED", - value = 10, - description = "Control base color in STATE_DISABLED" - }, - { - name = "TEXT_COLOR_DISABLED", - value = 11, - description = "Control text color in STATE_DISABLED" - }, - { - name = "BORDER_WIDTH", - value = 12, - description = "Control border size, 0 for no border" - }, - { - name = "TEXT_PADDING", - value = 13, - description = "Control text padding, not considering border" - }, - { - name = "TEXT_ALIGNMENT", - value = 14, - description = "Control text horizontal alignment inside control text bound (after border and padding)" - } - } - }, - { - name = "GuiDefaultProperty", - description = "DEFAULT extended properties", - values = { - { - name = "TEXT_SIZE", - value = 16, - description = "Text size (glyphs max height)" - }, - { - name = "TEXT_SPACING", - value = 17, - description = "Text spacing between glyphs" - }, - { - name = "LINE_COLOR", - value = 18, - description = "Line control color" - }, - { - name = "BACKGROUND_COLOR", - value = 19, - description = "Background color" - }, - { - name = "TEXT_LINE_SPACING", - value = 20, - description = "Text spacing between lines" - }, - { - name = "TEXT_ALIGNMENT_VERTICAL", - value = 21, - description = "Text vertical alignment inside text bounds (after border and padding)" - }, - { - name = "TEXT_WRAP_MODE", - value = 22, - description = "Text wrap-mode inside text bounds" - } - } - }, - { - name = "GuiToggleProperty", - description = "Toggle/ToggleGroup", - values = { - { - name = "GROUP_PADDING", - value = 16, - description = "ToggleGroup separation between toggles" - } - } - }, - { - name = "GuiSliderProperty", - description = "Slider/SliderBar", - values = { - { - name = "SLIDER_WIDTH", - value = 16, - description = "Slider size of internal bar" - }, - { - name = "SLIDER_PADDING", - value = 17, - description = "Slider/SliderBar internal bar padding" - } - } - }, - { - name = "GuiProgressBarProperty", - description = "ProgressBar", - values = { - { - name = "PROGRESS_PADDING", - value = 16, - description = "ProgressBar internal padding" - } - } - }, - { - name = "GuiScrollBarProperty", - description = "ScrollBar", - values = { - { - name = "ARROWS_SIZE", - value = 16, - description = "ScrollBar arrows size" - }, - { - name = "ARROWS_VISIBLE", - value = 17, - description = "ScrollBar arrows visible" - }, - { - name = "SCROLL_SLIDER_PADDING", - value = 18, - description = "ScrollBar slider internal padding" - }, - { - name = "SCROLL_SLIDER_SIZE", - value = 19, - description = "ScrollBar slider size" - }, - { - name = "SCROLL_PADDING", - value = 20, - description = "ScrollBar scroll padding from arrows" - }, - { - name = "SCROLL_SPEED", - value = 21, - description = "ScrollBar scrolling speed" - } - } - }, - { - name = "GuiCheckBoxProperty", - description = "CheckBox", - values = { - { - name = "CHECK_PADDING", - value = 16, - description = "CheckBox internal check padding" - } - } - }, - { - name = "GuiComboBoxProperty", - description = "ComboBox", - values = { - { - name = "COMBO_BUTTON_WIDTH", - value = 16, - description = "ComboBox right button width" - }, - { - name = "COMBO_BUTTON_SPACING", - value = 17, - description = "ComboBox button separation" - } - } - }, - { - name = "GuiDropdownBoxProperty", - description = "DropdownBox", - values = { - { - name = "ARROW_PADDING", - value = 16, - description = "DropdownBox arrow separation from border and items" - }, - { - name = "DROPDOWN_ITEMS_SPACING", - value = 17, - description = "DropdownBox items separation" - } - } - }, - { - name = "GuiTextBoxProperty", - description = "TextBox/TextBoxMulti/ValueBox/Spinner", - values = { - { - name = "TEXT_READONLY", - value = 16, - description = "TextBox in read-only mode: 0-text editable, 1-text no-editable" - } - } - }, - { - name = "GuiSpinnerProperty", - description = "Spinner", - values = { - { - name = "SPIN_BUTTON_WIDTH", - value = 16, - description = "Spinner left/right buttons width" - }, - { - name = "SPIN_BUTTON_SPACING", - value = 17, - description = "Spinner buttons separation" - } - } - }, - { - name = "GuiListViewProperty", - description = "ListView", - values = { - { - name = "LIST_ITEMS_HEIGHT", - value = 16, - description = "ListView items height" - }, - { - name = "LIST_ITEMS_SPACING", - value = 17, - description = "ListView items separation" - }, - { - name = "SCROLLBAR_WIDTH", - value = 18, - description = "ListView scrollbar size (usually width)" - }, - { - name = "SCROLLBAR_SIDE", - value = 19, - description = "ListView scrollbar side (0-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE)" - } - } - }, - { - name = "GuiColorPickerProperty", - description = "ColorPicker", - values = { - { - name = "COLOR_SELECTOR_SIZE", - value = 16, - description = "" - }, - { - name = "HUEBAR_WIDTH", - value = 17, - description = "ColorPicker right hue bar width" - }, - { - name = "HUEBAR_PADDING", - value = 18, - description = "ColorPicker right hue bar separation from panel" - }, - { - name = "HUEBAR_SELECTOR_HEIGHT", - value = 19, - description = "ColorPicker right hue bar selector height" - }, - { - name = "HUEBAR_SELECTOR_OVERFLOW", - value = 20, - description = "ColorPicker right hue bar selector overflow" - } - } - }, - { - name = "GuiIconName", - description = "", - values = { - { - name = "ICON_NONE", - value = 0, - description = "" - }, - { - name = "ICON_FOLDER_FILE_OPEN", - value = 1, - description = "" - }, - { - name = "ICON_FILE_SAVE_CLASSIC", - value = 2, - description = "" - }, - { - name = "ICON_FOLDER_OPEN", - value = 3, - description = "" - }, - { - name = "ICON_FOLDER_SAVE", - value = 4, - description = "" - }, - { - name = "ICON_FILE_OPEN", - value = 5, - description = "" - }, - { - name = "ICON_FILE_SAVE", - value = 6, - description = "" - }, - { - name = "ICON_FILE_EXPORT", - value = 7, - description = "" - }, - { - name = "ICON_FILE_ADD", - value = 8, - description = "" - }, - { - name = "ICON_FILE_DELETE", - value = 9, - description = "" - }, - { - name = "ICON_FILETYPE_TEXT", - value = 10, - description = "" - }, - { - name = "ICON_FILETYPE_AUDIO", - value = 11, - description = "" - }, - { - name = "ICON_FILETYPE_IMAGE", - value = 12, - description = "" - }, - { - name = "ICON_FILETYPE_PLAY", - value = 13, - description = "" - }, - { - name = "ICON_FILETYPE_VIDEO", - value = 14, - description = "" - }, - { - name = "ICON_FILETYPE_INFO", - value = 15, - description = "" - }, - { - name = "ICON_FILE_COPY", - value = 16, - description = "" - }, - { - name = "ICON_FILE_CUT", - value = 17, - description = "" - }, - { - name = "ICON_FILE_PASTE", - value = 18, - description = "" - }, - { - name = "ICON_CURSOR_HAND", - value = 19, - description = "" - }, - { - name = "ICON_CURSOR_POINTER", - value = 20, - description = "" - }, - { - name = "ICON_CURSOR_CLASSIC", - value = 21, - description = "" - }, - { - name = "ICON_PENCIL", - value = 22, - description = "" - }, - { - name = "ICON_PENCIL_BIG", - value = 23, - description = "" - }, - { - name = "ICON_BRUSH_CLASSIC", - value = 24, - description = "" - }, - { - name = "ICON_BRUSH_PAINTER", - value = 25, - description = "" - }, - { - name = "ICON_WATER_DROP", - value = 26, - description = "" - }, - { - name = "ICON_COLOR_PICKER", - value = 27, - description = "" - }, - { - name = "ICON_RUBBER", - value = 28, - description = "" - }, - { - name = "ICON_COLOR_BUCKET", - value = 29, - description = "" - }, - { - name = "ICON_TEXT_T", - value = 30, - description = "" - }, - { - name = "ICON_TEXT_A", - value = 31, - description = "" - }, - { - name = "ICON_SCALE", - value = 32, - description = "" - }, - { - name = "ICON_RESIZE", - value = 33, - description = "" - }, - { - name = "ICON_FILTER_POINT", - value = 34, - description = "" - }, - { - name = "ICON_FILTER_BILINEAR", - value = 35, - description = "" - }, - { - name = "ICON_CROP", - value = 36, - description = "" - }, - { - name = "ICON_CROP_ALPHA", - value = 37, - description = "" - }, - { - name = "ICON_SQUARE_TOGGLE", - value = 38, - description = "" - }, - { - name = "ICON_SYMMETRY", - value = 39, - description = "" - }, - { - name = "ICON_SYMMETRY_HORIZONTAL", - value = 40, - description = "" - }, - { - name = "ICON_SYMMETRY_VERTICAL", - value = 41, - description = "" - }, - { - name = "ICON_LENS", - value = 42, - description = "" - }, - { - name = "ICON_LENS_BIG", - value = 43, - description = "" - }, - { - name = "ICON_EYE_ON", - value = 44, - description = "" - }, - { - name = "ICON_EYE_OFF", - value = 45, - description = "" - }, - { - name = "ICON_FILTER_TOP", - value = 46, - description = "" - }, - { - name = "ICON_FILTER", - value = 47, - description = "" - }, - { - name = "ICON_TARGET_POINT", - value = 48, - description = "" - }, - { - name = "ICON_TARGET_SMALL", - value = 49, - description = "" - }, - { - name = "ICON_TARGET_BIG", - value = 50, - description = "" - }, - { - name = "ICON_TARGET_MOVE", - value = 51, - description = "" - }, - { - name = "ICON_CURSOR_MOVE", - value = 52, - description = "" - }, - { - name = "ICON_CURSOR_SCALE", - value = 53, - description = "" - }, - { - name = "ICON_CURSOR_SCALE_RIGHT", - value = 54, - description = "" - }, - { - name = "ICON_CURSOR_SCALE_LEFT", - value = 55, - description = "" - }, - { - name = "ICON_UNDO", - value = 56, - description = "" - }, - { - name = "ICON_REDO", - value = 57, - description = "" - }, - { - name = "ICON_REREDO", - value = 58, - description = "" - }, - { - name = "ICON_MUTATE", - value = 59, - description = "" - }, - { - name = "ICON_ROTATE", - value = 60, - description = "" - }, - { - name = "ICON_REPEAT", - value = 61, - description = "" - }, - { - name = "ICON_SHUFFLE", - value = 62, - description = "" - }, - { - name = "ICON_EMPTYBOX", - value = 63, - description = "" - }, - { - name = "ICON_TARGET", - value = 64, - description = "" - }, - { - name = "ICON_TARGET_SMALL_FILL", - value = 65, - description = "" - }, - { - name = "ICON_TARGET_BIG_FILL", - value = 66, - description = "" - }, - { - name = "ICON_TARGET_MOVE_FILL", - value = 67, - description = "" - }, - { - name = "ICON_CURSOR_MOVE_FILL", - value = 68, - description = "" - }, - { - name = "ICON_CURSOR_SCALE_FILL", - value = 69, - description = "" - }, - { - name = "ICON_CURSOR_SCALE_RIGHT_FILL", - value = 70, - description = "" - }, - { - name = "ICON_CURSOR_SCALE_LEFT_FILL", - value = 71, - description = "" - }, - { - name = "ICON_UNDO_FILL", - value = 72, - description = "" - }, - { - name = "ICON_REDO_FILL", - value = 73, - description = "" - }, - { - name = "ICON_REREDO_FILL", - value = 74, - description = "" - }, - { - name = "ICON_MUTATE_FILL", - value = 75, - description = "" - }, - { - name = "ICON_ROTATE_FILL", - value = 76, - description = "" - }, - { - name = "ICON_REPEAT_FILL", - value = 77, - description = "" - }, - { - name = "ICON_SHUFFLE_FILL", - value = 78, - description = "" - }, - { - name = "ICON_EMPTYBOX_SMALL", - value = 79, - description = "" - }, - { - name = "ICON_BOX", - value = 80, - description = "" - }, - { - name = "ICON_BOX_TOP", - value = 81, - description = "" - }, - { - name = "ICON_BOX_TOP_RIGHT", - value = 82, - description = "" - }, - { - name = "ICON_BOX_RIGHT", - value = 83, - description = "" - }, - { - name = "ICON_BOX_BOTTOM_RIGHT", - value = 84, - description = "" - }, - { - name = "ICON_BOX_BOTTOM", - value = 85, - description = "" - }, - { - name = "ICON_BOX_BOTTOM_LEFT", - value = 86, - description = "" - }, - { - name = "ICON_BOX_LEFT", - value = 87, - description = "" - }, - { - name = "ICON_BOX_TOP_LEFT", - value = 88, - description = "" - }, - { - name = "ICON_BOX_CENTER", - value = 89, - description = "" - }, - { - name = "ICON_BOX_CIRCLE_MASK", - value = 90, - description = "" - }, - { - name = "ICON_POT", - value = 91, - description = "" - }, - { - name = "ICON_ALPHA_MULTIPLY", - value = 92, - description = "" - }, - { - name = "ICON_ALPHA_CLEAR", - value = 93, - description = "" - }, - { - name = "ICON_DITHERING", - value = 94, - description = "" - }, - { - name = "ICON_MIPMAPS", - value = 95, - description = "" - }, - { - name = "ICON_BOX_GRID", - value = 96, - description = "" - }, - { - name = "ICON_GRID", - value = 97, - description = "" - }, - { - name = "ICON_BOX_CORNERS_SMALL", - value = 98, - description = "" - }, - { - name = "ICON_BOX_CORNERS_BIG", - value = 99, - description = "" - }, - { - name = "ICON_FOUR_BOXES", - value = 100, - description = "" - }, - { - name = "ICON_GRID_FILL", - value = 101, - description = "" - }, - { - name = "ICON_BOX_MULTISIZE", - value = 102, - description = "" - }, - { - name = "ICON_ZOOM_SMALL", - value = 103, - description = "" - }, - { - name = "ICON_ZOOM_MEDIUM", - value = 104, - description = "" - }, - { - name = "ICON_ZOOM_BIG", - value = 105, - description = "" - }, - { - name = "ICON_ZOOM_ALL", - value = 106, - description = "" - }, - { - name = "ICON_ZOOM_CENTER", - value = 107, - description = "" - }, - { - name = "ICON_BOX_DOTS_SMALL", - value = 108, - description = "" - }, - { - name = "ICON_BOX_DOTS_BIG", - value = 109, - description = "" - }, - { - name = "ICON_BOX_CONCENTRIC", - value = 110, - description = "" - }, - { - name = "ICON_BOX_GRID_BIG", - value = 111, - description = "" - }, - { - name = "ICON_OK_TICK", - value = 112, - description = "" - }, - { - name = "ICON_CROSS", - value = 113, - description = "" - }, - { - name = "ICON_ARROW_LEFT", - value = 114, - description = "" - }, - { - name = "ICON_ARROW_RIGHT", - value = 115, - description = "" - }, - { - name = "ICON_ARROW_DOWN", - value = 116, - description = "" - }, - { - name = "ICON_ARROW_UP", - value = 117, - description = "" - }, - { - name = "ICON_ARROW_LEFT_FILL", - value = 118, - description = "" - }, - { - name = "ICON_ARROW_RIGHT_FILL", - value = 119, - description = "" - }, - { - name = "ICON_ARROW_DOWN_FILL", - value = 120, - description = "" - }, - { - name = "ICON_ARROW_UP_FILL", - value = 121, - description = "" - }, - { - name = "ICON_AUDIO", - value = 122, - description = "" - }, - { - name = "ICON_FX", - value = 123, - description = "" - }, - { - name = "ICON_WAVE", - value = 124, - description = "" - }, - { - name = "ICON_WAVE_SINUS", - value = 125, - description = "" - }, - { - name = "ICON_WAVE_SQUARE", - value = 126, - description = "" - }, - { - name = "ICON_WAVE_TRIANGULAR", - value = 127, - description = "" - }, - { - name = "ICON_CROSS_SMALL", - value = 128, - description = "" - }, - { - name = "ICON_PLAYER_PREVIOUS", - value = 129, - description = "" - }, - { - name = "ICON_PLAYER_PLAY_BACK", - value = 130, - description = "" - }, - { - name = "ICON_PLAYER_PLAY", - value = 131, - description = "" - }, - { - name = "ICON_PLAYER_PAUSE", - value = 132, - description = "" - }, - { - name = "ICON_PLAYER_STOP", - value = 133, - description = "" - }, - { - name = "ICON_PLAYER_NEXT", - value = 134, - description = "" - }, - { - name = "ICON_PLAYER_RECORD", - value = 135, - description = "" - }, - { - name = "ICON_MAGNET", - value = 136, - description = "" - }, - { - name = "ICON_LOCK_CLOSE", - value = 137, - description = "" - }, - { - name = "ICON_LOCK_OPEN", - value = 138, - description = "" - }, - { - name = "ICON_CLOCK", - value = 139, - description = "" - }, - { - name = "ICON_TOOLS", - value = 140, - description = "" - }, - { - name = "ICON_GEAR", - value = 141, - description = "" - }, - { - name = "ICON_GEAR_BIG", - value = 142, - description = "" - }, - { - name = "ICON_BIN", - value = 143, - description = "" - }, - { - name = "ICON_HAND_POINTER", - value = 144, - description = "" - }, - { - name = "ICON_LASER", - value = 145, - description = "" - }, - { - name = "ICON_COIN", - value = 146, - description = "" - }, - { - name = "ICON_EXPLOSION", - value = 147, - description = "" - }, - { - name = "ICON_1UP", - value = 148, - description = "" - }, - { - name = "ICON_PLAYER", - value = 149, - description = "" - }, - { - name = "ICON_PLAYER_JUMP", - value = 150, - description = "" - }, - { - name = "ICON_KEY", - value = 151, - description = "" - }, - { - name = "ICON_DEMON", - value = 152, - description = "" - }, - { - name = "ICON_TEXT_POPUP", - value = 153, - description = "" - }, - { - name = "ICON_GEAR_EX", - value = 154, - description = "" - }, - { - name = "ICON_CRACK", - value = 155, - description = "" - }, - { - name = "ICON_CRACK_POINTS", - value = 156, - description = "" - }, - { - name = "ICON_STAR", - value = 157, - description = "" - }, - { - name = "ICON_DOOR", - value = 158, - description = "" - }, - { - name = "ICON_EXIT", - value = 159, - description = "" - }, - { - name = "ICON_MODE_2D", - value = 160, - description = "" - }, - { - name = "ICON_MODE_3D", - value = 161, - description = "" - }, - { - name = "ICON_CUBE", - value = 162, - description = "" - }, - { - name = "ICON_CUBE_FACE_TOP", - value = 163, - description = "" - }, - { - name = "ICON_CUBE_FACE_LEFT", - value = 164, - description = "" - }, - { - name = "ICON_CUBE_FACE_FRONT", - value = 165, - description = "" - }, - { - name = "ICON_CUBE_FACE_BOTTOM", - value = 166, - description = "" - }, - { - name = "ICON_CUBE_FACE_RIGHT", - value = 167, - description = "" - }, - { - name = "ICON_CUBE_FACE_BACK", - value = 168, - description = "" - }, - { - name = "ICON_CAMERA", - value = 169, - description = "" - }, - { - name = "ICON_SPECIAL", - value = 170, - description = "" - }, - { - name = "ICON_LINK_NET", - value = 171, - description = "" - }, - { - name = "ICON_LINK_BOXES", - value = 172, - description = "" - }, - { - name = "ICON_LINK_MULTI", - value = 173, - description = "" - }, - { - name = "ICON_LINK", - value = 174, - description = "" - }, - { - name = "ICON_LINK_BROKE", - value = 175, - description = "" - }, - { - name = "ICON_TEXT_NOTES", - value = 176, - description = "" - }, - { - name = "ICON_NOTEBOOK", - value = 177, - description = "" - }, - { - name = "ICON_SUITCASE", - value = 178, - description = "" - }, - { - name = "ICON_SUITCASE_ZIP", - value = 179, - description = "" - }, - { - name = "ICON_MAILBOX", - value = 180, - description = "" - }, - { - name = "ICON_MONITOR", - value = 181, - description = "" - }, - { - name = "ICON_PRINTER", - value = 182, - description = "" - }, - { - name = "ICON_PHOTO_CAMERA", - value = 183, - description = "" - }, - { - name = "ICON_PHOTO_CAMERA_FLASH", - value = 184, - description = "" - }, - { - name = "ICON_HOUSE", - value = 185, - description = "" - }, - { - name = "ICON_HEART", - value = 186, - description = "" - }, - { - name = "ICON_CORNER", - value = 187, - description = "" - }, - { - name = "ICON_VERTICAL_BARS", - value = 188, - description = "" - }, - { - name = "ICON_VERTICAL_BARS_FILL", - value = 189, - description = "" - }, - { - name = "ICON_LIFE_BARS", - value = 190, - description = "" - }, - { - name = "ICON_INFO", - value = 191, - description = "" - }, - { - name = "ICON_CROSSLINE", - value = 192, - description = "" - }, - { - name = "ICON_HELP", - value = 193, - description = "" - }, - { - name = "ICON_FILETYPE_ALPHA", - value = 194, - description = "" - }, - { - name = "ICON_FILETYPE_HOME", - value = 195, - description = "" - }, - { - name = "ICON_LAYERS_VISIBLE", - value = 196, - description = "" - }, - { - name = "ICON_LAYERS", - value = 197, - description = "" - }, - { - name = "ICON_WINDOW", - value = 198, - description = "" - }, - { - name = "ICON_HIDPI", - value = 199, - description = "" - }, - { - name = "ICON_FILETYPE_BINARY", - value = 200, - description = "" - }, - { - name = "ICON_HEX", - value = 201, - description = "" - }, - { - name = "ICON_SHIELD", - value = 202, - description = "" - }, - { - name = "ICON_FILE_NEW", - value = 203, - description = "" - }, - { - name = "ICON_FOLDER_ADD", - value = 204, - description = "" - }, - { - name = "ICON_ALARM", - value = 205, - description = "" - }, - { - name = "ICON_CPU", - value = 206, - description = "" - }, - { - name = "ICON_ROM", - value = 207, - description = "" - }, - { - name = "ICON_STEP_OVER", - value = 208, - description = "" - }, - { - name = "ICON_STEP_INTO", - value = 209, - description = "" - }, - { - name = "ICON_STEP_OUT", - value = 210, - description = "" - }, - { - name = "ICON_RESTART", - value = 211, - description = "" - }, - { - name = "ICON_BREAKPOINT_ON", - value = 212, - description = "" - }, - { - name = "ICON_BREAKPOINT_OFF", - value = 213, - description = "" - }, - { - name = "ICON_BURGER_MENU", - value = 214, - description = "" - }, - { - name = "ICON_CASE_SENSITIVE", - value = 215, - description = "" - }, - { - name = "ICON_REG_EXP", - value = 216, - description = "" - }, - { - name = "ICON_FOLDER", - value = 217, - description = "" - }, - { - name = "ICON_FILE", - value = 218, - description = "" - }, - { - name = "ICON_SAND_TIMER", - value = 219, - description = "" - }, - { - name = "ICON_220", - value = 220, - description = "" - }, - { - name = "ICON_221", - value = 221, - description = "" - }, - { - name = "ICON_222", - value = 222, - description = "" - }, - { - name = "ICON_223", - value = 223, - description = "" - }, - { - name = "ICON_224", - value = 224, - description = "" - }, - { - name = "ICON_225", - value = 225, - description = "" - }, - { - name = "ICON_226", - value = 226, - description = "" - }, - { - name = "ICON_227", - value = 227, - description = "" - }, - { - name = "ICON_228", - value = 228, - description = "" - }, - { - name = "ICON_229", - value = 229, - description = "" - }, - { - name = "ICON_230", - value = 230, - description = "" - }, - { - name = "ICON_231", - value = 231, - description = "" - }, - { - name = "ICON_232", - value = 232, - description = "" - }, - { - name = "ICON_233", - value = 233, - description = "" - }, - { - name = "ICON_234", - value = 234, - description = "" - }, - { - name = "ICON_235", - value = 235, - description = "" - }, - { - name = "ICON_236", - value = 236, - description = "" - }, - { - name = "ICON_237", - value = 237, - description = "" - }, - { - name = "ICON_238", - value = 238, - description = "" - }, - { - name = "ICON_239", - value = 239, - description = "" - }, - { - name = "ICON_240", - value = 240, - description = "" - }, - { - name = "ICON_241", - value = 241, - description = "" - }, - { - name = "ICON_242", - value = 242, - description = "" - }, - { - name = "ICON_243", - value = 243, - description = "" - }, - { - name = "ICON_244", - value = 244, - description = "" - }, - { - name = "ICON_245", - value = 245, - description = "" - }, - { - name = "ICON_246", - value = 246, - description = "" - }, - { - name = "ICON_247", - value = 247, - description = "" - }, - { - name = "ICON_248", - value = 248, - description = "" - }, - { - name = "ICON_249", - value = 249, - description = "" - }, - { - name = "ICON_250", - value = 250, - description = "" - }, - { - name = "ICON_251", - value = 251, - description = "" - }, - { - name = "ICON_252", - value = 252, - description = "" - }, - { - name = "ICON_253", - value = 253, - description = "" - }, - { - name = "ICON_254", - value = 254, - description = "" - }, - { - name = "ICON_255", - value = 255, - description = "" - } - } - } - }, - callbacks = { - }, - functions = { - { - name = "GuiEnable", - description = "Enable gui controls (global state)", - returnType = "void" - }, - { - name = "GuiDisable", - description = "Disable gui controls (global state)", - returnType = "void" - }, - { - name = "GuiLock", - description = "Lock gui controls (global state)", - returnType = "void" - }, - { - name = "GuiUnlock", - description = "Unlock gui controls (global state)", - returnType = "void" - }, - { - name = "GuiIsLocked", - description = "Check if gui is locked (global state)", - returnType = "bool" - }, - { - name = "GuiSetAlpha", - description = "Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f", - returnType = "void", - params = { - {type = "float", name = "alpha"} - } - }, - { - name = "GuiSetState", - description = "Set gui state (global state)", - returnType = "void", - params = { - {type = "int", name = "state"} - } - }, - { - name = "GuiGetState", - description = "Get gui state (global state)", - returnType = "int" - }, - { - name = "GuiSetFont", - description = "Set gui custom font (global state)", - returnType = "void", - params = { - {type = "Font", name = "font"} - } - }, - { - name = "GuiGetFont", - description = "Get gui custom font (global state)", - returnType = "Font" - }, - { - name = "GuiSetStyle", - description = "Set one style property", - returnType = "void", - params = { - {type = "int", name = "control"}, - {type = "int", name = "property"}, - {type = "int", name = "value"} - } - }, - { - name = "GuiGetStyle", - description = "Get one style property", - returnType = "int", - params = { - {type = "int", name = "control"}, - {type = "int", name = "property"} - } - }, - { - name = "GuiLoadStyle", - description = "Load style file over global style variable (.rgs)", - returnType = "void", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "GuiLoadStyleDefault", - description = "Load style default over global style", - returnType = "void" - }, - { - name = "GuiEnableTooltip", - description = "Enable gui tooltips (global state)", - returnType = "void" - }, - { - name = "GuiDisableTooltip", - description = "Disable gui tooltips (global state)", - returnType = "void" - }, - { - name = "GuiSetTooltip", - description = "Set tooltip string", - returnType = "void", - params = { - {type = "const char *", name = "tooltip"} - } - }, - { - name = "GuiIconText", - description = "Get text with icon id prepended (if supported)", - returnType = "const char *", - params = { - {type = "int", name = "iconId"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiSetIconScale", - description = "Set default icon drawing size", - returnType = "void", - params = { - {type = "int", name = "scale"} - } - }, - { - name = "GuiGetIcons", - description = "Get raygui icons data pointer", - returnType = "unsigned int *" - }, - { - name = "GuiLoadIcons", - description = "Load raygui icons file (.rgi) into internal icons data", - returnType = "char **", - params = { - {type = "const char *", name = "fileName"}, - {type = "bool", name = "loadIconsName"} - } - }, - { - name = "GuiDrawIcon", - description = "Draw icon using pixel size at specified position", - returnType = "void", - params = { - {type = "int", name = "iconId"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "pixelSize"}, - {type = "Color", name = "color"} - } - }, - { - name = "GuiWindowBox", - description = "Window Box control, shows a window that can be closed", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "title"} - } - }, - { - name = "GuiGroupBox", - description = "Group Box control with text name", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiLine", - description = "Line separator control, could contain text", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiPanel", - description = "Panel control, useful to group controls", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiTabBar", - description = "Tab Bar control, returns TAB to be closed or -1", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char **", name = "text"}, - {type = "int", name = "count"}, - {type = "int *", name = "active"} - } - }, - { - name = "GuiScrollPanel", - description = "Scroll Panel control", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "Rectangle", name = "content"}, - {type = "Vector2 *", name = "scroll"}, - {type = "Rectangle *", name = "view"} - } - }, - { - name = "GuiLabel", - description = "Label control, shows text", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiButton", - description = "Button control, returns true when clicked", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiLabelButton", - description = "Label button control, show true when clicked", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiToggle", - description = "Toggle Button control, returns true when active", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "bool *", name = "active"} - } - }, - { - name = "GuiToggleGroup", - description = "Toggle Group control, returns active toggle index", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "active"} - } - }, - { - name = "GuiToggleSlider", - description = "Toggle Slider control, returns true when clicked", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "active"} - } - }, - { - name = "GuiCheckBox", - description = "Check Box control, returns true when active", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "bool *", name = "checked"} - } - }, - { - name = "GuiComboBox", - description = "Combo Box control, returns selected item index", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "active"} - } - }, - { - name = "GuiDropdownBox", - description = "Dropdown Box control, returns selected item", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "active"}, - {type = "bool", name = "editMode"} - } - }, - { - name = "GuiSpinner", - description = "Spinner control, returns selected value", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "value"}, - {type = "int", name = "minValue"}, - {type = "int", name = "maxValue"}, - {type = "bool", name = "editMode"} - } - }, - { - name = "GuiValueBox", - description = "Value Box control, updates input text with numbers", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "value"}, - {type = "int", name = "minValue"}, - {type = "int", name = "maxValue"}, - {type = "bool", name = "editMode"} - } - }, - { - name = "GuiTextBox", - description = "Text Box control, updates input text", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "char *", name = "text"}, - {type = "int", name = "textSize"}, - {type = "bool", name = "editMode"} - } - }, - { - name = "GuiSlider", - description = "Slider control, returns selected value", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "textLeft"}, - {type = "const char *", name = "textRight"}, - {type = "float *", name = "value"}, - {type = "float", name = "minValue"}, - {type = "float", name = "maxValue"} - } - }, - { - name = "GuiSliderBar", - description = "Slider Bar control, returns selected value", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "textLeft"}, - {type = "const char *", name = "textRight"}, - {type = "float *", name = "value"}, - {type = "float", name = "minValue"}, - {type = "float", name = "maxValue"} - } - }, - { - name = "GuiProgressBar", - description = "Progress Bar control, shows current progress value", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "textLeft"}, - {type = "const char *", name = "textRight"}, - {type = "float *", name = "value"}, - {type = "float", name = "minValue"}, - {type = "float", name = "maxValue"} - } - }, - { - name = "GuiStatusBar", - description = "Status Bar control, shows info text", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiDummyRec", - description = "Dummy control for placeholders", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"} - } - }, - { - name = "GuiGrid", - description = "Grid control, returns mouse cell position", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "float", name = "spacing"}, - {type = "int", name = "subdivs"}, - {type = "Vector2 *", name = "mouseCell"} - } - }, - { - name = "GuiListView", - description = "List View control, returns selected list item index", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "int *", name = "scrollIndex"}, - {type = "int *", name = "active"} - } - }, - { - name = "GuiListViewEx", - description = "List View with extended parameters", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char **", name = "text"}, - {type = "int", name = "count"}, - {type = "int *", name = "scrollIndex"}, - {type = "int *", name = "active"}, - {type = "int *", name = "focus"} - } - }, - { - name = "GuiMessageBox", - description = "Message Box control, displays a message", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "title"}, - {type = "const char *", name = "message"}, - {type = "const char *", name = "buttons"} - } - }, - { - name = "GuiTextInputBox", - description = "Text Input Box control, ask for text, supports secret", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "title"}, - {type = "const char *", name = "message"}, - {type = "const char *", name = "buttons"}, - {type = "char *", name = "text"}, - {type = "int", name = "textMaxSize"}, - {type = "bool *", name = "secretViewActive"} - } - }, - { - name = "GuiColorPicker", - description = "Color Picker control (multiple color controls)", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "Color *", name = "color"} - } - }, - { - name = "GuiColorPanel", - description = "Color Panel control", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "Color *", name = "color"} - } - }, - { - name = "GuiColorBarAlpha", - description = "Color Bar Alpha control", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "float *", name = "alpha"} - } - }, - { - name = "GuiColorBarHue", - description = "Color Bar Hue control", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "float *", name = "value"} - } - }, - { - name = "GuiColorPickerHSV", - description = "Color Picker control that avoids conversion to RGB on each call (multiple color controls)", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "Vector3 *", name = "colorHsv"} - } - }, - { - name = "GuiColorPanelHSV", - description = "Color Panel control that returns HSV color value, used by GuiColorPickerHSV()", - returnType = "int", - params = { - {type = "Rectangle", name = "bounds"}, - {type = "const char *", name = "text"}, - {type = "Vector3 *", name = "colorHsv"} - } - } - } -} +return { + defines = { + { + name = "RAYGUI_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYGUI_VERSION_MAJOR", + type = "INT", + value = 4, + description = "" + }, + { + name = "RAYGUI_VERSION_MINOR", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYGUI_VERSION_PATCH", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYGUI_VERSION", + type = "STRING", + value = "4.0", + description = "" + }, + { + name = "RAYGUIAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "We are building the library as a Win32 shared library (.dll)" + }, + { + name = "RAYGUI_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RAYGUI_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" + }, + { + name = "RAYGUI_FREE(p)", + type = "MACRO", + value = "free(p)", + description = "" + }, + { + name = "RAYGUI_SUPPORT_LOG_INFO", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYGUI_LOG(...)", + type = "MACRO", + value = "printf(__VA_ARGS__)", + description = "" + }, + { + name = "SCROLLBAR_LEFT_SIDE", + type = "INT", + value = 0, + description = "" + }, + { + name = "SCROLLBAR_RIGHT_SIDE", + type = "INT", + value = 1, + description = "" + }, + { + name = "RAYGUI_CLITERAL(name)", + type = "MACRO", + value = "name", + description = "" + }, + { + name = "CHECK_BOUNDS_ID(src, dst)", + type = "MACRO", + value = "((src.x == dst.x) && (src.y == dst.y) && (src.width == dst.width) && (src.height == dst.height))", + description = "" + }, + { + name = "RAYGUI_ICON_SIZE", + type = "INT", + value = 16, + description = "Size of icons in pixels (squared)" + }, + { + name = "RAYGUI_ICON_MAX_ICONS", + type = "INT", + value = 256, + description = "Maximum number of icons" + }, + { + name = "RAYGUI_ICON_MAX_NAME_LENGTH", + type = "INT", + value = 32, + description = "Maximum length of icon name id" + }, + { + name = "RAYGUI_ICON_DATA_ELEMENTS", + type = "INT_MATH", + value = "(RAYGUI_ICON_SIZE*RAYGUI_ICON_SIZE/32)", + description = "" + }, + { + name = "RAYGUI_MAX_CONTROLS", + type = "INT", + value = 16, + description = "Maximum number of controls" + }, + { + name = "RAYGUI_MAX_PROPS_BASE", + type = "INT", + value = 16, + description = "Maximum number of base properties" + }, + { + name = "RAYGUI_MAX_PROPS_EXTENDED", + type = "INT", + value = 8, + description = "Maximum number of extended properties" + }, + { + name = "KEY_RIGHT", + type = "INT", + value = 262, + description = "" + }, + { + name = "KEY_LEFT", + type = "INT", + value = 263, + description = "" + }, + { + name = "KEY_DOWN", + type = "INT", + value = 264, + description = "" + }, + { + name = "KEY_UP", + type = "INT", + value = 265, + description = "" + }, + { + name = "KEY_BACKSPACE", + type = "INT", + value = 259, + description = "" + }, + { + name = "KEY_ENTER", + type = "INT", + value = 257, + description = "" + }, + { + name = "MOUSE_LEFT_BUTTON", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT", + type = "INT", + value = 24, + description = "" + }, + { + name = "RAYGUI_GROUPBOX_LINE_THICK", + type = "INT", + value = 1, + description = "" + }, + { + name = "RAYGUI_LINE_MARGIN_TEXT", + type = "INT", + value = 12, + description = "" + }, + { + name = "RAYGUI_LINE_TEXT_PADDING", + type = "INT", + value = 4, + description = "" + }, + { + name = "RAYGUI_PANEL_BORDER_WIDTH", + type = "INT", + value = 1, + description = "" + }, + { + name = "RAYGUI_TABBAR_ITEM_WIDTH", + type = "INT", + value = 160, + description = "" + }, + { + name = "RAYGUI_MIN_SCROLLBAR_WIDTH", + type = "INT", + value = 40, + description = "" + }, + { + name = "RAYGUI_MIN_SCROLLBAR_HEIGHT", + type = "INT", + value = 40, + description = "" + }, + { + name = "RAYGUI_TOGGLEGROUP_MAX_ITEMS", + type = "INT", + value = 32, + description = "" + }, + { + name = "RAYGUI_TEXTBOX_AUTO_CURSOR_COOLDOWN", + type = "INT", + value = 40, + description = "Frames to wait for autocursor movement" + }, + { + name = "RAYGUI_TEXTBOX_AUTO_CURSOR_DELAY", + type = "INT", + value = 1, + description = "Frames delay for autocursor movement" + }, + { + name = "RAYGUI_VALUEBOX_MAX_CHARS", + type = "INT", + value = 32, + description = "" + }, + { + name = "RAYGUI_COLORBARALPHA_CHECKED_SIZE", + type = "INT", + value = 10, + description = "" + }, + { + name = "RAYGUI_MESSAGEBOX_BUTTON_HEIGHT", + type = "INT", + value = 24, + description = "" + }, + { + name = "RAYGUI_MESSAGEBOX_BUTTON_PADDING", + type = "INT", + value = 12, + description = "" + }, + { + name = "RAYGUI_TEXTINPUTBOX_BUTTON_HEIGHT", + type = "INT", + value = 24, + description = "" + }, + { + name = "RAYGUI_TEXTINPUTBOX_BUTTON_PADDING", + type = "INT", + value = 12, + description = "" + }, + { + name = "RAYGUI_TEXTINPUTBOX_HEIGHT", + type = "INT", + value = 26, + description = "" + }, + { + name = "RAYGUI_GRID_ALPHA", + type = "FLOAT", + value = 0.15, + description = "" + }, + { + name = "MAX_LINE_BUFFER_SIZE", + type = "INT", + value = 256, + description = "" + }, + { + name = "BIT_CHECK(a,b)", + type = "MACRO", + value = "((a) & (1u<<(b)))", + description = "" + }, + { + name = "ICON_TEXT_PADDING", + type = "INT", + value = 4, + description = "" + }, + { + name = "RAYGUI_MAX_TEXT_LINES", + type = "INT", + value = 128, + description = "" + }, + { + name = "TEXT_VALIGN_PIXEL_OFFSET(h)", + type = "MACRO", + value = "((int)h%2)", + description = "Vertical alignment for pixel perfect" + }, + { + name = "RAYGUI_TEXTSPLIT_MAX_ITEMS", + type = "INT", + value = 128, + description = "" + }, + { + name = "RAYGUI_TEXTSPLIT_MAX_TEXT_SIZE", + type = "INT", + value = 1024, + description = "" + }, + { + name = "RAYGUI_TEXTFORMAT_MAX_SIZE", + type = "INT", + value = 256, + description = "" + } + }, + structs = { + { + name = "Vector2", + description = [=[Vector2 type]=], + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + } + } + }, + { + name = "Vector3", + description = [=[Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV()]=], + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "z", + description = "" + } + } + }, + { + name = "Color", + description = [=[Color type, RGBA (32bit)]=], + fields = { + { + type = "unsigned char", + name = "r", + description = "" + }, + { + type = "unsigned char", + name = "g", + description = "" + }, + { + type = "unsigned char", + name = "b", + description = "" + }, + { + type = "unsigned char", + name = "a", + description = "" + } + } + }, + { + name = "Rectangle", + description = [=[Rectangle type]=], + fields = { + { + type = "float", + name = "x", + description = "" + }, + { + type = "float", + name = "y", + description = "" + }, + { + type = "float", + name = "width", + description = "" + }, + { + type = "float", + name = "height", + description = "" + } + } + }, + { + name = "Texture2D", + description = [=[It should be redesigned to be provided by user]=], + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL texture id" + }, + { + type = "int", + name = "width", + description = "Texture base width" + }, + { + type = "int", + name = "height", + description = "Texture base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "Image", + description = [=[Image, pixel data stored in CPU memory (RAM)]=], + fields = { + { + type = "void *", + name = "data", + description = "Image raw data" + }, + { + type = "int", + name = "width", + description = "Image base width" + }, + { + type = "int", + name = "height", + description = "Image base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "GlyphInfo", + description = [=[GlyphInfo, font characters glyphs info]=], + fields = { + { + type = "int", + name = "value", + description = "Character value (Unicode)" + }, + { + type = "int", + name = "offsetX", + description = "Character offset X when drawing" + }, + { + type = "int", + name = "offsetY", + description = "Character offset Y when drawing" + }, + { + type = "int", + name = "advanceX", + description = "Character advance position X" + }, + { + type = "Image", + name = "image", + description = "Character image data" + } + } + }, + { + name = "Font", + description = [=[It should be redesigned to be provided by user]=], + fields = { + { + type = "int", + name = "baseSize", + description = "Base size (default chars height)" + }, + { + type = "int", + name = "glyphCount", + description = "Number of glyph characters" + }, + { + type = "int", + name = "glyphPadding", + description = "Padding around the glyph characters" + }, + { + type = "Texture2D", + name = "texture", + description = "Texture atlas containing the glyphs" + }, + { + type = "Rectangle *", + name = "recs", + description = "Rectangles in texture for the glyphs" + }, + { + type = "GlyphInfo *", + name = "glyphs", + description = "Glyphs info data" + } + } + }, + { + name = "GuiStyleProp", + description = [=[NOTE: Used when exporting style as code for convenience]=], + fields = { + { + type = "unsigned short", + name = "controlId", + description = "Control identifier" + }, + { + type = "unsigned short", + name = "propertyId", + description = "Property identifier" + }, + { + type = "int", + name = "propertyValue", + description = "Property value" + } + } + }, + { + name = "GuiTextStyle", + description = [=[NOTE: Text style is defined by control]=], + fields = { + { + type = "unsigned int", + name = "size", + description = "" + }, + { + type = "int", + name = "charSpacing", + description = "" + }, + { + type = "int", + name = "lineSpacing", + description = "" + }, + { + type = "int", + name = "alignmentH", + description = "" + }, + { + type = "int", + name = "alignmentV", + description = "" + }, + { + type = "int", + name = "padding", + description = "" + } + } + } + }, + aliases = { + }, + enums = { + { + name = "GuiState", + description = [=[Gui control state]=], + values = { + { + name = "STATE_NORMAL", + value = 0, + description = "" + }, + { + name = "STATE_FOCUSED", + value = 1, + description = "" + }, + { + name = "STATE_PRESSED", + value = 2, + description = "" + }, + { + name = "STATE_DISABLED", + value = 3, + description = "" + } + } + }, + { + name = "GuiTextAlignment", + description = [=[Gui control text alignment]=], + values = { + { + name = "TEXT_ALIGN_LEFT", + value = 0, + description = "" + }, + { + name = "TEXT_ALIGN_CENTER", + value = 1, + description = "" + }, + { + name = "TEXT_ALIGN_RIGHT", + value = 2, + description = "" + } + } + }, + { + name = "GuiTextAlignmentVertical", + description = [=[Gui control text alignment vertical]=], + values = { + { + name = "TEXT_ALIGN_TOP", + value = 0, + description = "" + }, + { + name = "TEXT_ALIGN_MIDDLE", + value = 1, + description = "" + }, + { + name = "TEXT_ALIGN_BOTTOM", + value = 2, + description = "" + } + } + }, + { + name = "GuiTextWrapMode", + description = [=[Gui control text wrap mode]=], + values = { + { + name = "TEXT_WRAP_NONE", + value = 0, + description = "" + }, + { + name = "TEXT_WRAP_CHAR", + value = 1, + description = "" + }, + { + name = "TEXT_WRAP_WORD", + value = 2, + description = "" + } + } + }, + { + name = "GuiControl", + description = [=[Gui controls]=], + values = { + { + name = "DEFAULT", + value = 0, + description = "" + }, + { + name = "LABEL", + value = 1, + description = "Used also for: LABELBUTTON" + }, + { + name = "BUTTON", + value = 2, + description = "" + }, + { + name = "TOGGLE", + value = 3, + description = "Used also for: TOGGLEGROUP" + }, + { + name = "SLIDER", + value = 4, + description = "Used also for: SLIDERBAR, TOGGLESLIDER" + }, + { + name = "PROGRESSBAR", + value = 5, + description = "" + }, + { + name = "CHECKBOX", + value = 6, + description = "" + }, + { + name = "COMBOBOX", + value = 7, + description = "" + }, + { + name = "DROPDOWNBOX", + value = 8, + description = "" + }, + { + name = "TEXTBOX", + value = 9, + description = "Used also for: TEXTBOXMULTI" + }, + { + name = "VALUEBOX", + value = 10, + description = "" + }, + { + name = "SPINNER", + value = 11, + description = "Uses: BUTTON, VALUEBOX" + }, + { + name = "LISTVIEW", + value = 12, + description = "" + }, + { + name = "COLORPICKER", + value = 13, + description = "" + }, + { + name = "SCROLLBAR", + value = 14, + description = "" + }, + { + name = "STATUSBAR", + value = 15, + description = "" + } + } + }, + { + name = "GuiControlProperty", + description = [=[Gui base properties for every control]=], + values = { + { + name = "BORDER_COLOR_NORMAL", + value = 0, + description = "Control border color in STATE_NORMAL" + }, + { + name = "BASE_COLOR_NORMAL", + value = 1, + description = "Control base color in STATE_NORMAL" + }, + { + name = "TEXT_COLOR_NORMAL", + value = 2, + description = "Control text color in STATE_NORMAL" + }, + { + name = "BORDER_COLOR_FOCUSED", + value = 3, + description = "Control border color in STATE_FOCUSED" + }, + { + name = "BASE_COLOR_FOCUSED", + value = 4, + description = "Control base color in STATE_FOCUSED" + }, + { + name = "TEXT_COLOR_FOCUSED", + value = 5, + description = "Control text color in STATE_FOCUSED" + }, + { + name = "BORDER_COLOR_PRESSED", + value = 6, + description = "Control border color in STATE_PRESSED" + }, + { + name = "BASE_COLOR_PRESSED", + value = 7, + description = "Control base color in STATE_PRESSED" + }, + { + name = "TEXT_COLOR_PRESSED", + value = 8, + description = "Control text color in STATE_PRESSED" + }, + { + name = "BORDER_COLOR_DISABLED", + value = 9, + description = "Control border color in STATE_DISABLED" + }, + { + name = "BASE_COLOR_DISABLED", + value = 10, + description = "Control base color in STATE_DISABLED" + }, + { + name = "TEXT_COLOR_DISABLED", + value = 11, + description = "Control text color in STATE_DISABLED" + }, + { + name = "BORDER_WIDTH", + value = 12, + description = "Control border size, 0 for no border" + }, + { + name = "TEXT_PADDING", + value = 13, + description = "Control text padding, not considering border" + }, + { + name = "TEXT_ALIGNMENT", + value = 14, + description = "Control text horizontal alignment inside control text bound (after border and padding)" + } + } + }, + { + name = "GuiDefaultProperty", + description = [=[DEFAULT extended properties]=], + values = { + { + name = "TEXT_SIZE", + value = 16, + description = "Text size (glyphs max height)" + }, + { + name = "TEXT_SPACING", + value = 17, + description = "Text spacing between glyphs" + }, + { + name = "LINE_COLOR", + value = 18, + description = "Line control color" + }, + { + name = "BACKGROUND_COLOR", + value = 19, + description = "Background color" + }, + { + name = "TEXT_LINE_SPACING", + value = 20, + description = "Text spacing between lines" + }, + { + name = "TEXT_ALIGNMENT_VERTICAL", + value = 21, + description = "Text vertical alignment inside text bounds (after border and padding)" + }, + { + name = "TEXT_WRAP_MODE", + value = 22, + description = "Text wrap-mode inside text bounds" + } + } + }, + { + name = "GuiToggleProperty", + description = [=[Toggle/ToggleGroup]=], + values = { + { + name = "GROUP_PADDING", + value = 16, + description = "ToggleGroup separation between toggles" + } + } + }, + { + name = "GuiSliderProperty", + description = [=[Slider/SliderBar]=], + values = { + { + name = "SLIDER_WIDTH", + value = 16, + description = "Slider size of internal bar" + }, + { + name = "SLIDER_PADDING", + value = 17, + description = "Slider/SliderBar internal bar padding" + } + } + }, + { + name = "GuiProgressBarProperty", + description = [=[ProgressBar]=], + values = { + { + name = "PROGRESS_PADDING", + value = 16, + description = "ProgressBar internal padding" + } + } + }, + { + name = "GuiScrollBarProperty", + description = [=[ScrollBar]=], + values = { + { + name = "ARROWS_SIZE", + value = 16, + description = "ScrollBar arrows size" + }, + { + name = "ARROWS_VISIBLE", + value = 17, + description = "ScrollBar arrows visible" + }, + { + name = "SCROLL_SLIDER_PADDING", + value = 18, + description = "ScrollBar slider internal padding" + }, + { + name = "SCROLL_SLIDER_SIZE", + value = 19, + description = "ScrollBar slider size" + }, + { + name = "SCROLL_PADDING", + value = 20, + description = "ScrollBar scroll padding from arrows" + }, + { + name = "SCROLL_SPEED", + value = 21, + description = "ScrollBar scrolling speed" + } + } + }, + { + name = "GuiCheckBoxProperty", + description = [=[CheckBox]=], + values = { + { + name = "CHECK_PADDING", + value = 16, + description = "CheckBox internal check padding" + } + } + }, + { + name = "GuiComboBoxProperty", + description = [=[ComboBox]=], + values = { + { + name = "COMBO_BUTTON_WIDTH", + value = 16, + description = "ComboBox right button width" + }, + { + name = "COMBO_BUTTON_SPACING", + value = 17, + description = "ComboBox button separation" + } + } + }, + { + name = "GuiDropdownBoxProperty", + description = [=[DropdownBox]=], + values = { + { + name = "ARROW_PADDING", + value = 16, + description = "DropdownBox arrow separation from border and items" + }, + { + name = "DROPDOWN_ITEMS_SPACING", + value = 17, + description = "DropdownBox items separation" + } + } + }, + { + name = "GuiTextBoxProperty", + description = [=[TextBox/TextBoxMulti/ValueBox/Spinner]=], + values = { + { + name = "TEXT_READONLY", + value = 16, + description = "TextBox in read-only mode: 0-text editable, 1-text no-editable" + } + } + }, + { + name = "GuiSpinnerProperty", + description = [=[Spinner]=], + values = { + { + name = "SPIN_BUTTON_WIDTH", + value = 16, + description = "Spinner left/right buttons width" + }, + { + name = "SPIN_BUTTON_SPACING", + value = 17, + description = "Spinner buttons separation" + } + } + }, + { + name = "GuiListViewProperty", + description = [=[ListView]=], + values = { + { + name = "LIST_ITEMS_HEIGHT", + value = 16, + description = "ListView items height" + }, + { + name = "LIST_ITEMS_SPACING", + value = 17, + description = "ListView items separation" + }, + { + name = "SCROLLBAR_WIDTH", + value = 18, + description = "ListView scrollbar size (usually width)" + }, + { + name = "SCROLLBAR_SIDE", + value = 19, + description = "ListView scrollbar side (0-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE)" + } + } + }, + { + name = "GuiColorPickerProperty", + description = [=[ColorPicker]=], + values = { + { + name = "COLOR_SELECTOR_SIZE", + value = 16, + description = "" + }, + { + name = "HUEBAR_WIDTH", + value = 17, + description = "ColorPicker right hue bar width" + }, + { + name = "HUEBAR_PADDING", + value = 18, + description = "ColorPicker right hue bar separation from panel" + }, + { + name = "HUEBAR_SELECTOR_HEIGHT", + value = 19, + description = "ColorPicker right hue bar selector height" + }, + { + name = "HUEBAR_SELECTOR_OVERFLOW", + value = 20, + description = "ColorPicker right hue bar selector overflow" + } + } + }, + { + name = "GuiIconName", + description = [=[]=], + values = { + { + name = "ICON_NONE", + value = 0, + description = "" + }, + { + name = "ICON_FOLDER_FILE_OPEN", + value = 1, + description = "" + }, + { + name = "ICON_FILE_SAVE_CLASSIC", + value = 2, + description = "" + }, + { + name = "ICON_FOLDER_OPEN", + value = 3, + description = "" + }, + { + name = "ICON_FOLDER_SAVE", + value = 4, + description = "" + }, + { + name = "ICON_FILE_OPEN", + value = 5, + description = "" + }, + { + name = "ICON_FILE_SAVE", + value = 6, + description = "" + }, + { + name = "ICON_FILE_EXPORT", + value = 7, + description = "" + }, + { + name = "ICON_FILE_ADD", + value = 8, + description = "" + }, + { + name = "ICON_FILE_DELETE", + value = 9, + description = "" + }, + { + name = "ICON_FILETYPE_TEXT", + value = 10, + description = "" + }, + { + name = "ICON_FILETYPE_AUDIO", + value = 11, + description = "" + }, + { + name = "ICON_FILETYPE_IMAGE", + value = 12, + description = "" + }, + { + name = "ICON_FILETYPE_PLAY", + value = 13, + description = "" + }, + { + name = "ICON_FILETYPE_VIDEO", + value = 14, + description = "" + }, + { + name = "ICON_FILETYPE_INFO", + value = 15, + description = "" + }, + { + name = "ICON_FILE_COPY", + value = 16, + description = "" + }, + { + name = "ICON_FILE_CUT", + value = 17, + description = "" + }, + { + name = "ICON_FILE_PASTE", + value = 18, + description = "" + }, + { + name = "ICON_CURSOR_HAND", + value = 19, + description = "" + }, + { + name = "ICON_CURSOR_POINTER", + value = 20, + description = "" + }, + { + name = "ICON_CURSOR_CLASSIC", + value = 21, + description = "" + }, + { + name = "ICON_PENCIL", + value = 22, + description = "" + }, + { + name = "ICON_PENCIL_BIG", + value = 23, + description = "" + }, + { + name = "ICON_BRUSH_CLASSIC", + value = 24, + description = "" + }, + { + name = "ICON_BRUSH_PAINTER", + value = 25, + description = "" + }, + { + name = "ICON_WATER_DROP", + value = 26, + description = "" + }, + { + name = "ICON_COLOR_PICKER", + value = 27, + description = "" + }, + { + name = "ICON_RUBBER", + value = 28, + description = "" + }, + { + name = "ICON_COLOR_BUCKET", + value = 29, + description = "" + }, + { + name = "ICON_TEXT_T", + value = 30, + description = "" + }, + { + name = "ICON_TEXT_A", + value = 31, + description = "" + }, + { + name = "ICON_SCALE", + value = 32, + description = "" + }, + { + name = "ICON_RESIZE", + value = 33, + description = "" + }, + { + name = "ICON_FILTER_POINT", + value = 34, + description = "" + }, + { + name = "ICON_FILTER_BILINEAR", + value = 35, + description = "" + }, + { + name = "ICON_CROP", + value = 36, + description = "" + }, + { + name = "ICON_CROP_ALPHA", + value = 37, + description = "" + }, + { + name = "ICON_SQUARE_TOGGLE", + value = 38, + description = "" + }, + { + name = "ICON_SYMMETRY", + value = 39, + description = "" + }, + { + name = "ICON_SYMMETRY_HORIZONTAL", + value = 40, + description = "" + }, + { + name = "ICON_SYMMETRY_VERTICAL", + value = 41, + description = "" + }, + { + name = "ICON_LENS", + value = 42, + description = "" + }, + { + name = "ICON_LENS_BIG", + value = 43, + description = "" + }, + { + name = "ICON_EYE_ON", + value = 44, + description = "" + }, + { + name = "ICON_EYE_OFF", + value = 45, + description = "" + }, + { + name = "ICON_FILTER_TOP", + value = 46, + description = "" + }, + { + name = "ICON_FILTER", + value = 47, + description = "" + }, + { + name = "ICON_TARGET_POINT", + value = 48, + description = "" + }, + { + name = "ICON_TARGET_SMALL", + value = 49, + description = "" + }, + { + name = "ICON_TARGET_BIG", + value = 50, + description = "" + }, + { + name = "ICON_TARGET_MOVE", + value = 51, + description = "" + }, + { + name = "ICON_CURSOR_MOVE", + value = 52, + description = "" + }, + { + name = "ICON_CURSOR_SCALE", + value = 53, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_RIGHT", + value = 54, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_LEFT", + value = 55, + description = "" + }, + { + name = "ICON_UNDO", + value = 56, + description = "" + }, + { + name = "ICON_REDO", + value = 57, + description = "" + }, + { + name = "ICON_REREDO", + value = 58, + description = "" + }, + { + name = "ICON_MUTATE", + value = 59, + description = "" + }, + { + name = "ICON_ROTATE", + value = 60, + description = "" + }, + { + name = "ICON_REPEAT", + value = 61, + description = "" + }, + { + name = "ICON_SHUFFLE", + value = 62, + description = "" + }, + { + name = "ICON_EMPTYBOX", + value = 63, + description = "" + }, + { + name = "ICON_TARGET", + value = 64, + description = "" + }, + { + name = "ICON_TARGET_SMALL_FILL", + value = 65, + description = "" + }, + { + name = "ICON_TARGET_BIG_FILL", + value = 66, + description = "" + }, + { + name = "ICON_TARGET_MOVE_FILL", + value = 67, + description = "" + }, + { + name = "ICON_CURSOR_MOVE_FILL", + value = 68, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_FILL", + value = 69, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_RIGHT_FILL", + value = 70, + description = "" + }, + { + name = "ICON_CURSOR_SCALE_LEFT_FILL", + value = 71, + description = "" + }, + { + name = "ICON_UNDO_FILL", + value = 72, + description = "" + }, + { + name = "ICON_REDO_FILL", + value = 73, + description = "" + }, + { + name = "ICON_REREDO_FILL", + value = 74, + description = "" + }, + { + name = "ICON_MUTATE_FILL", + value = 75, + description = "" + }, + { + name = "ICON_ROTATE_FILL", + value = 76, + description = "" + }, + { + name = "ICON_REPEAT_FILL", + value = 77, + description = "" + }, + { + name = "ICON_SHUFFLE_FILL", + value = 78, + description = "" + }, + { + name = "ICON_EMPTYBOX_SMALL", + value = 79, + description = "" + }, + { + name = "ICON_BOX", + value = 80, + description = "" + }, + { + name = "ICON_BOX_TOP", + value = 81, + description = "" + }, + { + name = "ICON_BOX_TOP_RIGHT", + value = 82, + description = "" + }, + { + name = "ICON_BOX_RIGHT", + value = 83, + description = "" + }, + { + name = "ICON_BOX_BOTTOM_RIGHT", + value = 84, + description = "" + }, + { + name = "ICON_BOX_BOTTOM", + value = 85, + description = "" + }, + { + name = "ICON_BOX_BOTTOM_LEFT", + value = 86, + description = "" + }, + { + name = "ICON_BOX_LEFT", + value = 87, + description = "" + }, + { + name = "ICON_BOX_TOP_LEFT", + value = 88, + description = "" + }, + { + name = "ICON_BOX_CENTER", + value = 89, + description = "" + }, + { + name = "ICON_BOX_CIRCLE_MASK", + value = 90, + description = "" + }, + { + name = "ICON_POT", + value = 91, + description = "" + }, + { + name = "ICON_ALPHA_MULTIPLY", + value = 92, + description = "" + }, + { + name = "ICON_ALPHA_CLEAR", + value = 93, + description = "" + }, + { + name = "ICON_DITHERING", + value = 94, + description = "" + }, + { + name = "ICON_MIPMAPS", + value = 95, + description = "" + }, + { + name = "ICON_BOX_GRID", + value = 96, + description = "" + }, + { + name = "ICON_GRID", + value = 97, + description = "" + }, + { + name = "ICON_BOX_CORNERS_SMALL", + value = 98, + description = "" + }, + { + name = "ICON_BOX_CORNERS_BIG", + value = 99, + description = "" + }, + { + name = "ICON_FOUR_BOXES", + value = 100, + description = "" + }, + { + name = "ICON_GRID_FILL", + value = 101, + description = "" + }, + { + name = "ICON_BOX_MULTISIZE", + value = 102, + description = "" + }, + { + name = "ICON_ZOOM_SMALL", + value = 103, + description = "" + }, + { + name = "ICON_ZOOM_MEDIUM", + value = 104, + description = "" + }, + { + name = "ICON_ZOOM_BIG", + value = 105, + description = "" + }, + { + name = "ICON_ZOOM_ALL", + value = 106, + description = "" + }, + { + name = "ICON_ZOOM_CENTER", + value = 107, + description = "" + }, + { + name = "ICON_BOX_DOTS_SMALL", + value = 108, + description = "" + }, + { + name = "ICON_BOX_DOTS_BIG", + value = 109, + description = "" + }, + { + name = "ICON_BOX_CONCENTRIC", + value = 110, + description = "" + }, + { + name = "ICON_BOX_GRID_BIG", + value = 111, + description = "" + }, + { + name = "ICON_OK_TICK", + value = 112, + description = "" + }, + { + name = "ICON_CROSS", + value = 113, + description = "" + }, + { + name = "ICON_ARROW_LEFT", + value = 114, + description = "" + }, + { + name = "ICON_ARROW_RIGHT", + value = 115, + description = "" + }, + { + name = "ICON_ARROW_DOWN", + value = 116, + description = "" + }, + { + name = "ICON_ARROW_UP", + value = 117, + description = "" + }, + { + name = "ICON_ARROW_LEFT_FILL", + value = 118, + description = "" + }, + { + name = "ICON_ARROW_RIGHT_FILL", + value = 119, + description = "" + }, + { + name = "ICON_ARROW_DOWN_FILL", + value = 120, + description = "" + }, + { + name = "ICON_ARROW_UP_FILL", + value = 121, + description = "" + }, + { + name = "ICON_AUDIO", + value = 122, + description = "" + }, + { + name = "ICON_FX", + value = 123, + description = "" + }, + { + name = "ICON_WAVE", + value = 124, + description = "" + }, + { + name = "ICON_WAVE_SINUS", + value = 125, + description = "" + }, + { + name = "ICON_WAVE_SQUARE", + value = 126, + description = "" + }, + { + name = "ICON_WAVE_TRIANGULAR", + value = 127, + description = "" + }, + { + name = "ICON_CROSS_SMALL", + value = 128, + description = "" + }, + { + name = "ICON_PLAYER_PREVIOUS", + value = 129, + description = "" + }, + { + name = "ICON_PLAYER_PLAY_BACK", + value = 130, + description = "" + }, + { + name = "ICON_PLAYER_PLAY", + value = 131, + description = "" + }, + { + name = "ICON_PLAYER_PAUSE", + value = 132, + description = "" + }, + { + name = "ICON_PLAYER_STOP", + value = 133, + description = "" + }, + { + name = "ICON_PLAYER_NEXT", + value = 134, + description = "" + }, + { + name = "ICON_PLAYER_RECORD", + value = 135, + description = "" + }, + { + name = "ICON_MAGNET", + value = 136, + description = "" + }, + { + name = "ICON_LOCK_CLOSE", + value = 137, + description = "" + }, + { + name = "ICON_LOCK_OPEN", + value = 138, + description = "" + }, + { + name = "ICON_CLOCK", + value = 139, + description = "" + }, + { + name = "ICON_TOOLS", + value = 140, + description = "" + }, + { + name = "ICON_GEAR", + value = 141, + description = "" + }, + { + name = "ICON_GEAR_BIG", + value = 142, + description = "" + }, + { + name = "ICON_BIN", + value = 143, + description = "" + }, + { + name = "ICON_HAND_POINTER", + value = 144, + description = "" + }, + { + name = "ICON_LASER", + value = 145, + description = "" + }, + { + name = "ICON_COIN", + value = 146, + description = "" + }, + { + name = "ICON_EXPLOSION", + value = 147, + description = "" + }, + { + name = "ICON_1UP", + value = 148, + description = "" + }, + { + name = "ICON_PLAYER", + value = 149, + description = "" + }, + { + name = "ICON_PLAYER_JUMP", + value = 150, + description = "" + }, + { + name = "ICON_KEY", + value = 151, + description = "" + }, + { + name = "ICON_DEMON", + value = 152, + description = "" + }, + { + name = "ICON_TEXT_POPUP", + value = 153, + description = "" + }, + { + name = "ICON_GEAR_EX", + value = 154, + description = "" + }, + { + name = "ICON_CRACK", + value = 155, + description = "" + }, + { + name = "ICON_CRACK_POINTS", + value = 156, + description = "" + }, + { + name = "ICON_STAR", + value = 157, + description = "" + }, + { + name = "ICON_DOOR", + value = 158, + description = "" + }, + { + name = "ICON_EXIT", + value = 159, + description = "" + }, + { + name = "ICON_MODE_2D", + value = 160, + description = "" + }, + { + name = "ICON_MODE_3D", + value = 161, + description = "" + }, + { + name = "ICON_CUBE", + value = 162, + description = "" + }, + { + name = "ICON_CUBE_FACE_TOP", + value = 163, + description = "" + }, + { + name = "ICON_CUBE_FACE_LEFT", + value = 164, + description = "" + }, + { + name = "ICON_CUBE_FACE_FRONT", + value = 165, + description = "" + }, + { + name = "ICON_CUBE_FACE_BOTTOM", + value = 166, + description = "" + }, + { + name = "ICON_CUBE_FACE_RIGHT", + value = 167, + description = "" + }, + { + name = "ICON_CUBE_FACE_BACK", + value = 168, + description = "" + }, + { + name = "ICON_CAMERA", + value = 169, + description = "" + }, + { + name = "ICON_SPECIAL", + value = 170, + description = "" + }, + { + name = "ICON_LINK_NET", + value = 171, + description = "" + }, + { + name = "ICON_LINK_BOXES", + value = 172, + description = "" + }, + { + name = "ICON_LINK_MULTI", + value = 173, + description = "" + }, + { + name = "ICON_LINK", + value = 174, + description = "" + }, + { + name = "ICON_LINK_BROKE", + value = 175, + description = "" + }, + { + name = "ICON_TEXT_NOTES", + value = 176, + description = "" + }, + { + name = "ICON_NOTEBOOK", + value = 177, + description = "" + }, + { + name = "ICON_SUITCASE", + value = 178, + description = "" + }, + { + name = "ICON_SUITCASE_ZIP", + value = 179, + description = "" + }, + { + name = "ICON_MAILBOX", + value = 180, + description = "" + }, + { + name = "ICON_MONITOR", + value = 181, + description = "" + }, + { + name = "ICON_PRINTER", + value = 182, + description = "" + }, + { + name = "ICON_PHOTO_CAMERA", + value = 183, + description = "" + }, + { + name = "ICON_PHOTO_CAMERA_FLASH", + value = 184, + description = "" + }, + { + name = "ICON_HOUSE", + value = 185, + description = "" + }, + { + name = "ICON_HEART", + value = 186, + description = "" + }, + { + name = "ICON_CORNER", + value = 187, + description = "" + }, + { + name = "ICON_VERTICAL_BARS", + value = 188, + description = "" + }, + { + name = "ICON_VERTICAL_BARS_FILL", + value = 189, + description = "" + }, + { + name = "ICON_LIFE_BARS", + value = 190, + description = "" + }, + { + name = "ICON_INFO", + value = 191, + description = "" + }, + { + name = "ICON_CROSSLINE", + value = 192, + description = "" + }, + { + name = "ICON_HELP", + value = 193, + description = "" + }, + { + name = "ICON_FILETYPE_ALPHA", + value = 194, + description = "" + }, + { + name = "ICON_FILETYPE_HOME", + value = 195, + description = "" + }, + { + name = "ICON_LAYERS_VISIBLE", + value = 196, + description = "" + }, + { + name = "ICON_LAYERS", + value = 197, + description = "" + }, + { + name = "ICON_WINDOW", + value = 198, + description = "" + }, + { + name = "ICON_HIDPI", + value = 199, + description = "" + }, + { + name = "ICON_FILETYPE_BINARY", + value = 200, + description = "" + }, + { + name = "ICON_HEX", + value = 201, + description = "" + }, + { + name = "ICON_SHIELD", + value = 202, + description = "" + }, + { + name = "ICON_FILE_NEW", + value = 203, + description = "" + }, + { + name = "ICON_FOLDER_ADD", + value = 204, + description = "" + }, + { + name = "ICON_ALARM", + value = 205, + description = "" + }, + { + name = "ICON_CPU", + value = 206, + description = "" + }, + { + name = "ICON_ROM", + value = 207, + description = "" + }, + { + name = "ICON_STEP_OVER", + value = 208, + description = "" + }, + { + name = "ICON_STEP_INTO", + value = 209, + description = "" + }, + { + name = "ICON_STEP_OUT", + value = 210, + description = "" + }, + { + name = "ICON_RESTART", + value = 211, + description = "" + }, + { + name = "ICON_BREAKPOINT_ON", + value = 212, + description = "" + }, + { + name = "ICON_BREAKPOINT_OFF", + value = 213, + description = "" + }, + { + name = "ICON_BURGER_MENU", + value = 214, + description = "" + }, + { + name = "ICON_CASE_SENSITIVE", + value = 215, + description = "" + }, + { + name = "ICON_REG_EXP", + value = 216, + description = "" + }, + { + name = "ICON_FOLDER", + value = 217, + description = "" + }, + { + name = "ICON_FILE", + value = 218, + description = "" + }, + { + name = "ICON_SAND_TIMER", + value = 219, + description = "" + }, + { + name = "ICON_220", + value = 220, + description = "" + }, + { + name = "ICON_221", + value = 221, + description = "" + }, + { + name = "ICON_222", + value = 222, + description = "" + }, + { + name = "ICON_223", + value = 223, + description = "" + }, + { + name = "ICON_224", + value = 224, + description = "" + }, + { + name = "ICON_225", + value = 225, + description = "" + }, + { + name = "ICON_226", + value = 226, + description = "" + }, + { + name = "ICON_227", + value = 227, + description = "" + }, + { + name = "ICON_228", + value = 228, + description = "" + }, + { + name = "ICON_229", + value = 229, + description = "" + }, + { + name = "ICON_230", + value = 230, + description = "" + }, + { + name = "ICON_231", + value = 231, + description = "" + }, + { + name = "ICON_232", + value = 232, + description = "" + }, + { + name = "ICON_233", + value = 233, + description = "" + }, + { + name = "ICON_234", + value = 234, + description = "" + }, + { + name = "ICON_235", + value = 235, + description = "" + }, + { + name = "ICON_236", + value = 236, + description = "" + }, + { + name = "ICON_237", + value = 237, + description = "" + }, + { + name = "ICON_238", + value = 238, + description = "" + }, + { + name = "ICON_239", + value = 239, + description = "" + }, + { + name = "ICON_240", + value = 240, + description = "" + }, + { + name = "ICON_241", + value = 241, + description = "" + }, + { + name = "ICON_242", + value = 242, + description = "" + }, + { + name = "ICON_243", + value = 243, + description = "" + }, + { + name = "ICON_244", + value = 244, + description = "" + }, + { + name = "ICON_245", + value = 245, + description = "" + }, + { + name = "ICON_246", + value = 246, + description = "" + }, + { + name = "ICON_247", + value = 247, + description = "" + }, + { + name = "ICON_248", + value = 248, + description = "" + }, + { + name = "ICON_249", + value = 249, + description = "" + }, + { + name = "ICON_250", + value = 250, + description = "" + }, + { + name = "ICON_251", + value = 251, + description = "" + }, + { + name = "ICON_252", + value = 252, + description = "" + }, + { + name = "ICON_253", + value = 253, + description = "" + }, + { + name = "ICON_254", + value = 254, + description = "" + }, + { + name = "ICON_255", + value = 255, + description = "" + } + } + } + }, + callbacks = { + }, + functions = { + { + name = "GuiEnable", + description = [=[Enable gui controls (global state)]=], + returnType = "void" + }, + { + name = "GuiDisable", + description = [=[Disable gui controls (global state)]=], + returnType = "void" + }, + { + name = "GuiLock", + description = [=[Lock gui controls (global state)]=], + returnType = "void" + }, + { + name = "GuiUnlock", + description = [=[Unlock gui controls (global state)]=], + returnType = "void" + }, + { + name = "GuiIsLocked", + description = [=[Check if gui is locked (global state)]=], + returnType = "bool" + }, + { + name = "GuiSetAlpha", + description = [=[Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f]=], + returnType = "void", + params = { + {type = "float", name = "alpha"} + } + }, + { + name = "GuiSetState", + description = [=[Set gui state (global state)]=], + returnType = "void", + params = { + {type = "int", name = "state"} + } + }, + { + name = "GuiGetState", + description = [=[Get gui state (global state)]=], + returnType = "int" + }, + { + name = "GuiSetFont", + description = [=[Set gui custom font (global state)]=], + returnType = "void", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "GuiGetFont", + description = [=[Get gui custom font (global state)]=], + returnType = "Font" + }, + { + name = "GuiSetStyle", + description = [=[Set one style property]=], + returnType = "void", + params = { + {type = "int", name = "control"}, + {type = "int", name = "property"}, + {type = "int", name = "value"} + } + }, + { + name = "GuiGetStyle", + description = [=[Get one style property]=], + returnType = "int", + params = { + {type = "int", name = "control"}, + {type = "int", name = "property"} + } + }, + { + name = "GuiLoadStyle", + description = [=[Load style file over global style variable (.rgs)]=], + returnType = "void", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GuiLoadStyleDefault", + description = [=[Load style default over global style]=], + returnType = "void" + }, + { + name = "GuiEnableTooltip", + description = [=[Enable gui tooltips (global state)]=], + returnType = "void" + }, + { + name = "GuiDisableTooltip", + description = [=[Disable gui tooltips (global state)]=], + returnType = "void" + }, + { + name = "GuiSetTooltip", + description = [=[Set tooltip string]=], + returnType = "void", + params = { + {type = "const char *", name = "tooltip"} + } + }, + { + name = "GuiIconText", + description = [=[Get text with icon id prepended (if supported)]=], + returnType = "const char *", + params = { + {type = "int", name = "iconId"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiSetIconScale", + description = [=[Set default icon drawing size]=], + returnType = "void", + params = { + {type = "int", name = "scale"} + } + }, + { + name = "GuiGetIcons", + description = [=[Get raygui icons data pointer]=], + returnType = "unsigned int *" + }, + { + name = "GuiLoadIcons", + description = [=[Load raygui icons file (.rgi) into internal icons data]=], + returnType = "char **", + params = { + {type = "const char *", name = "fileName"}, + {type = "bool", name = "loadIconsName"} + } + }, + { + name = "GuiDrawIcon", + description = [=[Draw icon using pixel size at specified position]=], + returnType = "void", + params = { + {type = "int", name = "iconId"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "pixelSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "GuiWindowBox", + description = [=[Window Box control, shows a window that can be closed]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"} + } + }, + { + name = "GuiGroupBox", + description = [=[Group Box control with text name]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiLine", + description = [=[Line separator control, could contain text]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiPanel", + description = [=[Panel control, useful to group controls]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiTabBar", + description = [=[Tab Bar control, returns TAB to be closed or -1]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char **", name = "text"}, + {type = "int", name = "count"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiScrollPanel", + description = [=[Scroll Panel control]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Rectangle", name = "content"}, + {type = "Vector2 *", name = "scroll"}, + {type = "Rectangle *", name = "view"} + } + }, + { + name = "GuiLabel", + description = [=[Label control, shows text]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiButton", + description = [=[Button control, returns true when clicked]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiLabelButton", + description = [=[Label button control, show true when clicked]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiToggle", + description = [=[Toggle Button control, returns true when active]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "bool *", name = "active"} + } + }, + { + name = "GuiToggleGroup", + description = [=[Toggle Group control, returns active toggle index]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiToggleSlider", + description = [=[Toggle Slider control, returns true when clicked]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiCheckBox", + description = [=[Check Box control, returns true when active]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "bool *", name = "checked"} + } + }, + { + name = "GuiComboBox", + description = [=[Combo Box control, returns selected item index]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiDropdownBox", + description = [=[Dropdown Box control, returns selected item]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "active"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiSpinner", + description = [=[Spinner control, returns selected value]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "value"}, + {type = "int", name = "minValue"}, + {type = "int", name = "maxValue"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiValueBox", + description = [=[Value Box control, updates input text with numbers]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "value"}, + {type = "int", name = "minValue"}, + {type = "int", name = "maxValue"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiTextBox", + description = [=[Text Box control, updates input text]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "char *", name = "text"}, + {type = "int", name = "textSize"}, + {type = "bool", name = "editMode"} + } + }, + { + name = "GuiSlider", + description = [=[Slider control, returns selected value]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float *", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiSliderBar", + description = [=[Slider Bar control, returns selected value]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float *", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiProgressBar", + description = [=[Progress Bar control, shows current progress value]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "textLeft"}, + {type = "const char *", name = "textRight"}, + {type = "float *", name = "value"}, + {type = "float", name = "minValue"}, + {type = "float", name = "maxValue"} + } + }, + { + name = "GuiStatusBar", + description = [=[Status Bar control, shows info text]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiDummyRec", + description = [=[Dummy control for placeholders]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"} + } + }, + { + name = "GuiGrid", + description = [=[Grid control, returns mouse cell position]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float", name = "spacing"}, + {type = "int", name = "subdivs"}, + {type = "Vector2 *", name = "mouseCell"} + } + }, + { + name = "GuiListView", + description = [=[List View control, returns selected list item index]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "int *", name = "scrollIndex"}, + {type = "int *", name = "active"} + } + }, + { + name = "GuiListViewEx", + description = [=[List View with extended parameters]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char **", name = "text"}, + {type = "int", name = "count"}, + {type = "int *", name = "scrollIndex"}, + {type = "int *", name = "active"}, + {type = "int *", name = "focus"} + } + }, + { + name = "GuiMessageBox", + description = [=[Message Box control, displays a message]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"}, + {type = "const char *", name = "message"}, + {type = "const char *", name = "buttons"} + } + }, + { + name = "GuiTextInputBox", + description = [=[Text Input Box control, ask for text, supports secret]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "title"}, + {type = "const char *", name = "message"}, + {type = "const char *", name = "buttons"}, + {type = "char *", name = "text"}, + {type = "int", name = "textMaxSize"}, + {type = "bool *", name = "secretViewActive"} + } + }, + { + name = "GuiColorPicker", + description = [=[Color Picker control (multiple color controls)]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Color *", name = "color"} + } + }, + { + name = "GuiColorPanel", + description = [=[Color Panel control]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Color *", name = "color"} + } + }, + { + name = "GuiColorBarAlpha", + description = [=[Color Bar Alpha control]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float *", name = "alpha"} + } + }, + { + name = "GuiColorBarHue", + description = [=[Color Bar Hue control]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "float *", name = "value"} + } + }, + { + name = "GuiColorPickerHSV", + description = [=[Color Picker control that avoids conversion to RGB on each call (multiple color controls)]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Vector3 *", name = "colorHsv"} + } + }, + { + name = "GuiColorPanelHSV", + description = [=[Color Panel control that returns HSV color value, used by GuiColorPickerHSV()]=], + returnType = "int", + params = { + {type = "Rectangle", name = "bounds"}, + {type = "const char *", name = "text"}, + {type = "Vector3 *", name = "colorHsv"} + } + } + } +} diff --git a/tools/autocomplete/api/raylib_api.lua b/tools/autocomplete/api/raylib_api.lua index a8e242a..ecbb912 100644 --- a/tools/autocomplete/api/raylib_api.lua +++ b/tools/autocomplete/api/raylib_api.lua @@ -1,8279 +1,8499 @@ -return { - defines = { - { - name = "RAYLIB_H", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RAYLIB_VERSION_MAJOR", - type = "INT", - value = 5, - description = "" - }, - { - name = "RAYLIB_VERSION_MINOR", - type = "INT", - value = 5, - description = "" - }, - { - name = "RAYLIB_VERSION_PATCH", - type = "INT", - value = 0, - description = "" - }, - { - name = "RAYLIB_VERSION", - type = "STRING", - value = "5.5", - description = "" - }, - { - name = "__declspec(x)", - type = "MACRO", - value = "__attribute__((x))", - description = "" - }, - { - name = "RLAPI", - type = "UNKNOWN", - value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" - }, - { - name = "PI", - type = "FLOAT", - value = 3.14159265358979323846, - description = "" - }, - { - name = "DEG2RAD", - type = "FLOAT_MATH", - value = "(PI/180.0f)", - description = "" - }, - { - name = "RAD2DEG", - type = "FLOAT_MATH", - value = "(180.0f/PI)", - description = "" - }, - { - name = "RL_MALLOC(sz)", - type = "MACRO", - value = "malloc(sz)", - description = "" - }, - { - name = "RL_CALLOC(n,sz)", - type = "MACRO", - value = "calloc(n,sz)", - description = "" - }, - { - name = "RL_REALLOC(ptr,sz)", - type = "MACRO", - value = "realloc(ptr,sz)", - description = "" - }, - { - name = "RL_FREE(ptr)", - type = "MACRO", - value = "free(ptr)", - description = "" - }, - { - name = "CLITERAL(type)", - type = "MACRO", - value = "type", - description = "" - }, - { - name = "RL_COLOR_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_RECTANGLE_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR2_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR3_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_VECTOR4_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_QUATERNION_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "RL_MATRIX_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "LIGHTGRAY", - type = "COLOR", - value = "CLITERAL(Color){ 200, 200, 200, 255 }", - description = "Light Gray" - }, - { - name = "GRAY", - type = "COLOR", - value = "CLITERAL(Color){ 130, 130, 130, 255 }", - description = "Gray" - }, - { - name = "DARKGRAY", - type = "COLOR", - value = "CLITERAL(Color){ 80, 80, 80, 255 }", - description = "Dark Gray" - }, - { - name = "YELLOW", - type = "COLOR", - value = "CLITERAL(Color){ 253, 249, 0, 255 }", - description = "Yellow" - }, - { - name = "GOLD", - type = "COLOR", - value = "CLITERAL(Color){ 255, 203, 0, 255 }", - description = "Gold" - }, - { - name = "ORANGE", - type = "COLOR", - value = "CLITERAL(Color){ 255, 161, 0, 255 }", - description = "Orange" - }, - { - name = "PINK", - type = "COLOR", - value = "CLITERAL(Color){ 255, 109, 194, 255 }", - description = "Pink" - }, - { - name = "RED", - type = "COLOR", - value = "CLITERAL(Color){ 230, 41, 55, 255 }", - description = "Red" - }, - { - name = "MAROON", - type = "COLOR", - value = "CLITERAL(Color){ 190, 33, 55, 255 }", - description = "Maroon" - }, - { - name = "GREEN", - type = "COLOR", - value = "CLITERAL(Color){ 0, 228, 48, 255 }", - description = "Green" - }, - { - name = "LIME", - type = "COLOR", - value = "CLITERAL(Color){ 0, 158, 47, 255 }", - description = "Lime" - }, - { - name = "DARKGREEN", - type = "COLOR", - value = "CLITERAL(Color){ 0, 117, 44, 255 }", - description = "Dark Green" - }, - { - name = "SKYBLUE", - type = "COLOR", - value = "CLITERAL(Color){ 102, 191, 255, 255 }", - description = "Sky Blue" - }, - { - name = "BLUE", - type = "COLOR", - value = "CLITERAL(Color){ 0, 121, 241, 255 }", - description = "Blue" - }, - { - name = "DARKBLUE", - type = "COLOR", - value = "CLITERAL(Color){ 0, 82, 172, 255 }", - description = "Dark Blue" - }, - { - name = "PURPLE", - type = "COLOR", - value = "CLITERAL(Color){ 200, 122, 255, 255 }", - description = "Purple" - }, - { - name = "VIOLET", - type = "COLOR", - value = "CLITERAL(Color){ 135, 60, 190, 255 }", - description = "Violet" - }, - { - name = "DARKPURPLE", - type = "COLOR", - value = "CLITERAL(Color){ 112, 31, 126, 255 }", - description = "Dark Purple" - }, - { - name = "BEIGE", - type = "COLOR", - value = "CLITERAL(Color){ 211, 176, 131, 255 }", - description = "Beige" - }, - { - name = "BROWN", - type = "COLOR", - value = "CLITERAL(Color){ 127, 106, 79, 255 }", - description = "Brown" - }, - { - name = "DARKBROWN", - type = "COLOR", - value = "CLITERAL(Color){ 76, 63, 47, 255 }", - description = "Dark Brown" - }, - { - name = "WHITE", - type = "COLOR", - value = "CLITERAL(Color){ 255, 255, 255, 255 }", - description = "White" - }, - { - name = "BLACK", - type = "COLOR", - value = "CLITERAL(Color){ 0, 0, 0, 255 }", - description = "Black" - }, - { - name = "BLANK", - type = "COLOR", - value = "CLITERAL(Color){ 0, 0, 0, 0 }", - description = "Blank (Transparent)" - }, - { - name = "MAGENTA", - type = "COLOR", - value = "CLITERAL(Color){ 255, 0, 255, 255 }", - description = "Magenta" - }, - { - name = "RAYWHITE", - type = "COLOR", - value = "CLITERAL(Color){ 245, 245, 245, 255 }", - description = "My own White (raylib logo)" - }, - { - name = "RL_BOOL_TYPE", - type = "GUARD", - value = "", - description = "" - }, - { - name = "MOUSE_LEFT_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_LEFT", - description = "" - }, - { - name = "MOUSE_RIGHT_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_RIGHT", - description = "" - }, - { - name = "MOUSE_MIDDLE_BUTTON", - type = "UNKNOWN", - value = "MOUSE_BUTTON_MIDDLE", - description = "" - }, - { - name = "MATERIAL_MAP_DIFFUSE", - type = "UNKNOWN", - value = "MATERIAL_MAP_ALBEDO", - description = "" - }, - { - name = "MATERIAL_MAP_SPECULAR", - type = "UNKNOWN", - value = "MATERIAL_MAP_METALNESS", - description = "" - }, - { - name = "SHADER_LOC_MAP_DIFFUSE", - type = "UNKNOWN", - value = "SHADER_LOC_MAP_ALBEDO", - description = "" - }, - { - name = "SHADER_LOC_MAP_SPECULAR", - type = "UNKNOWN", - value = "SHADER_LOC_MAP_METALNESS", - description = "" - }, - { - name = "GetMouseRay", - type = "UNKNOWN", - value = "GetScreenToWorldRay", - description = "Compatibility hack for previous raylib versions" - } - }, - structs = { - { - name = "Vector2", - description = "Vector2, 2 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - } - } - }, - { - name = "Vector3", - description = "Vector3, 3 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - }, - { - type = "float", - name = "z", - description = "Vector z component" - } - } - }, - { - name = "Vector4", - description = "Vector4, 4 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - }, - { - type = "float", - name = "z", - description = "Vector z component" - }, - { - type = "float", - name = "w", - description = "Vector w component" - } - } - }, - { - name = "Matrix", - description = "Matrix, 4x4 components, column major, OpenGL style, right-handed", - fields = { - { - type = "float", - name = "m0", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m4", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m8", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m12", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m1", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m5", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m9", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m13", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m2", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m6", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m10", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m14", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m3", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m7", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m11", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m15", - description = "Matrix fourth row (4 components)" - } - } - }, - { - name = "Color", - description = "Color, 4 components, R8G8B8A8 (32bit)", - fields = { - { - type = "unsigned char", - name = "r", - description = "Color red value" - }, - { - type = "unsigned char", - name = "g", - description = "Color green value" - }, - { - type = "unsigned char", - name = "b", - description = "Color blue value" - }, - { - type = "unsigned char", - name = "a", - description = "Color alpha value" - } - } - }, - { - name = "Rectangle", - description = "Rectangle, 4 components", - fields = { - { - type = "float", - name = "x", - description = "Rectangle top-left corner position x" - }, - { - type = "float", - name = "y", - description = "Rectangle top-left corner position y" - }, - { - type = "float", - name = "width", - description = "Rectangle width" - }, - { - type = "float", - name = "height", - description = "Rectangle height" - } - } - }, - { - name = "Image", - description = "Image, pixel data stored in CPU memory (RAM)", - fields = { - { - type = "void *", - name = "data", - description = "Image raw data" - }, - { - type = "int", - name = "width", - description = "Image base width" - }, - { - type = "int", - name = "height", - description = "Image base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } - }, - { - name = "Texture", - description = "Texture, tex data stored in GPU memory (VRAM)", - fields = { - { - type = "unsigned int", - name = "id", - description = "OpenGL texture id" - }, - { - type = "int", - name = "width", - description = "Texture base width" - }, - { - type = "int", - name = "height", - description = "Texture base height" - }, - { - type = "int", - name = "mipmaps", - description = "Mipmap levels, 1 by default" - }, - { - type = "int", - name = "format", - description = "Data format (PixelFormat type)" - } - } - }, - { - name = "RenderTexture", - description = "RenderTexture, fbo for texture rendering", - fields = { - { - type = "unsigned int", - name = "id", - description = "OpenGL framebuffer object id" - }, - { - type = "Texture", - name = "texture", - description = "Color buffer attachment texture" - }, - { - type = "Texture", - name = "depth", - description = "Depth buffer attachment texture" - } - } - }, - { - name = "NPatchInfo", - description = "NPatchInfo, n-patch layout info", - fields = { - { - type = "Rectangle", - name = "source", - description = "Texture source rectangle" - }, - { - type = "int", - name = "left", - description = "Left border offset" - }, - { - type = "int", - name = "top", - description = "Top border offset" - }, - { - type = "int", - name = "right", - description = "Right border offset" - }, - { - type = "int", - name = "bottom", - description = "Bottom border offset" - }, - { - type = "int", - name = "layout", - description = "Layout of the n-patch: 3x3, 1x3 or 3x1" - } - } - }, - { - name = "GlyphInfo", - description = "GlyphInfo, font characters glyphs info", - fields = { - { - type = "int", - name = "value", - description = "Character value (Unicode)" - }, - { - type = "int", - name = "offsetX", - description = "Character offset X when drawing" - }, - { - type = "int", - name = "offsetY", - description = "Character offset Y when drawing" - }, - { - type = "int", - name = "advanceX", - description = "Character advance position X" - }, - { - type = "Image", - name = "image", - description = "Character image data" - } - } - }, - { - name = "Font", - description = "Font, font texture and GlyphInfo array data", - fields = { - { - type = "int", - name = "baseSize", - description = "Base size (default chars height)" - }, - { - type = "int", - name = "glyphCount", - description = "Number of glyph characters" - }, - { - type = "int", - name = "glyphPadding", - description = "Padding around the glyph characters" - }, - { - type = "Texture2D", - name = "texture", - description = "Texture atlas containing the glyphs" - }, - { - type = "Rectangle *", - name = "recs", - description = "Rectangles in texture for the glyphs" - }, - { - type = "GlyphInfo *", - name = "glyphs", - description = "Glyphs info data" - } - } - }, - { - name = "Camera3D", - description = "Camera, defines position/orientation in 3d space", - fields = { - { - type = "Vector3", - name = "position", - description = "Camera position" - }, - { - type = "Vector3", - name = "target", - description = "Camera target it looks-at" - }, - { - type = "Vector3", - name = "up", - description = "Camera up vector (rotation over its axis)" - }, - { - type = "float", - name = "fovy", - description = "Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic" - }, - { - type = "int", - name = "projection", - description = "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" - } - } - }, - { - name = "Camera2D", - description = "Camera2D, defines position/orientation in 2d space", - fields = { - { - type = "Vector2", - name = "offset", - description = "Camera offset (displacement from target)" - }, - { - type = "Vector2", - name = "target", - description = "Camera target (rotation and zoom origin)" - }, - { - type = "float", - name = "rotation", - description = "Camera rotation in degrees" - }, - { - type = "float", - name = "zoom", - description = "Camera zoom (scaling), should be 1.0f by default" - } - } - }, - { - name = "Mesh", - description = "Mesh, vertex data and vao/vbo", - fields = { - { - type = "int", - name = "vertexCount", - description = "Number of vertices stored in arrays" - }, - { - type = "int", - name = "triangleCount", - description = "Number of triangles stored (indexed or not)" - }, - { - type = "float *", - name = "vertices", - description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" - }, - { - type = "float *", - name = "texcoords", - description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" - }, - { - type = "float *", - name = "texcoords2", - description = "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" - }, - { - type = "float *", - name = "normals", - description = "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" - }, - { - type = "float *", - name = "tangents", - description = "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" - }, - { - type = "unsigned char *", - name = "colors", - description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" - }, - { - type = "unsigned short *", - name = "indices", - description = "Vertex indices (in case vertex data comes indexed)" - }, - { - type = "float *", - name = "animVertices", - description = "Animated vertex positions (after bones transformations)" - }, - { - type = "float *", - name = "animNormals", - description = "Animated normals (after bones transformations)" - }, - { - type = "unsigned char *", - name = "boneIds", - description = "Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) (shader-location = 6)" - }, - { - type = "float *", - name = "boneWeights", - description = "Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)" - }, - { - type = "Matrix *", - name = "boneMatrices", - description = "Bones animated transformation matrices" - }, - { - type = "int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "unsigned int", - name = "vaoId", - description = "OpenGL Vertex Array Object id" - }, - { - type = "unsigned int *", - name = "vboId", - description = "OpenGL Vertex Buffer Objects id (default vertex data)" - } - } - }, - { - name = "Shader", - description = "Shader", - fields = { - { - type = "unsigned int", - name = "id", - description = "Shader program id" - }, - { - type = "int *", - name = "locs", - description = "Shader locations array (RL_MAX_SHADER_LOCATIONS)" - } - } - }, - { - name = "MaterialMap", - description = "MaterialMap", - fields = { - { - type = "Texture2D", - name = "texture", - description = "Material map texture" - }, - { - type = "Color", - name = "color", - description = "Material map color" - }, - { - type = "float", - name = "value", - description = "Material map value" - } - } - }, - { - name = "Material", - description = "Material, includes shader and maps", - fields = { - { - type = "Shader", - name = "shader", - description = "Material shader" - }, - { - type = "MaterialMap *", - name = "maps", - description = "Material maps array (MAX_MATERIAL_MAPS)" - }, - { - type = "float[4]", - name = "params", - description = "Material generic parameters (if required)" - } - } - }, - { - name = "Transform", - description = "Transform, vertex transformation data", - fields = { - { - type = "Vector3", - name = "translation", - description = "Translation" - }, - { - type = "Quaternion", - name = "rotation", - description = "Rotation" - }, - { - type = "Vector3", - name = "scale", - description = "Scale" - } - } - }, - { - name = "BoneInfo", - description = "Bone, skeletal animation bone", - fields = { - { - type = "char[32]", - name = "name", - description = "Bone name" - }, - { - type = "int", - name = "parent", - description = "Bone parent" - } - } - }, - { - name = "Model", - description = "Model, meshes, materials and animation data", - fields = { - { - type = "Matrix", - name = "transform", - description = "Local transform matrix" - }, - { - type = "int", - name = "meshCount", - description = "Number of meshes" - }, - { - type = "int", - name = "materialCount", - description = "Number of materials" - }, - { - type = "Mesh *", - name = "meshes", - description = "Meshes array" - }, - { - type = "Material *", - name = "materials", - description = "Materials array" - }, - { - type = "int *", - name = "meshMaterial", - description = "Mesh material number" - }, - { - type = "int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "BoneInfo *", - name = "bones", - description = "Bones information (skeleton)" - }, - { - type = "Transform *", - name = "bindPose", - description = "Bones base transformation (pose)" - } - } - }, - { - name = "ModelAnimation", - description = "ModelAnimation", - fields = { - { - type = "int", - name = "boneCount", - description = "Number of bones" - }, - { - type = "int", - name = "frameCount", - description = "Number of animation frames" - }, - { - type = "BoneInfo *", - name = "bones", - description = "Bones information (skeleton)" - }, - { - type = "Transform **", - name = "framePoses", - description = "Poses array by frame" - }, - { - type = "char[32]", - name = "name", - description = "Animation name" - } - } - }, - { - name = "Ray", - description = "Ray, ray for raycasting", - fields = { - { - type = "Vector3", - name = "position", - description = "Ray position (origin)" - }, - { - type = "Vector3", - name = "direction", - description = "Ray direction (normalized)" - } - } - }, - { - name = "RayCollision", - description = "RayCollision, ray hit information", - fields = { - { - type = "bool", - name = "hit", - description = "Did the ray hit something?" - }, - { - type = "float", - name = "distance", - description = "Distance to the nearest hit" - }, - { - type = "Vector3", - name = "point", - description = "Point of the nearest hit" - }, - { - type = "Vector3", - name = "normal", - description = "Surface normal of hit" - } - } - }, - { - name = "BoundingBox", - description = "BoundingBox", - fields = { - { - type = "Vector3", - name = "min", - description = "Minimum vertex box-corner" - }, - { - type = "Vector3", - name = "max", - description = "Maximum vertex box-corner" - } - } - }, - { - name = "Wave", - description = "Wave, audio wave data", - fields = { - { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - }, - { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" - }, - { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" - }, - { - type = "void *", - name = "data", - description = "Buffer data pointer" - } - } - }, - { - name = "AudioStream", - description = "AudioStream, custom audio stream", - fields = { - { - type = "rAudioBuffer *", - name = "buffer", - description = "Pointer to internal data used by the audio system" - }, - { - type = "rAudioProcessor *", - name = "processor", - description = "Pointer to internal data processor, useful for audio effects" - }, - { - type = "unsigned int", - name = "sampleRate", - description = "Frequency (samples per second)" - }, - { - type = "unsigned int", - name = "sampleSize", - description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" - }, - { - type = "unsigned int", - name = "channels", - description = "Number of channels (1-mono, 2-stereo, ...)" - } - } - }, - { - name = "Sound", - description = "Sound", - fields = { - { - type = "AudioStream", - name = "stream", - description = "Audio stream" - }, - { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - } - } - }, - { - name = "Music", - description = "Music, audio stream, anything longer than ~10 seconds should be streamed", - fields = { - { - type = "AudioStream", - name = "stream", - description = "Audio stream" - }, - { - type = "unsigned int", - name = "frameCount", - description = "Total number of frames (considering channels)" - }, - { - type = "bool", - name = "looping", - description = "Music looping enable" - }, - { - type = "int", - name = "ctxType", - description = "Type of music context (audio filetype)" - }, - { - type = "void *", - name = "ctxData", - description = "Audio context data, depends on type" - } - } - }, - { - name = "VrDeviceInfo", - description = "VrDeviceInfo, Head-Mounted-Display device parameters", - fields = { - { - type = "int", - name = "hResolution", - description = "Horizontal resolution in pixels" - }, - { - type = "int", - name = "vResolution", - description = "Vertical resolution in pixels" - }, - { - type = "float", - name = "hScreenSize", - description = "Horizontal size in meters" - }, - { - type = "float", - name = "vScreenSize", - description = "Vertical size in meters" - }, - { - type = "float", - name = "eyeToScreenDistance", - description = "Distance between eye and display in meters" - }, - { - type = "float", - name = "lensSeparationDistance", - description = "Lens separation distance in meters" - }, - { - type = "float", - name = "interpupillaryDistance", - description = "IPD (distance between pupils) in meters" - }, - { - type = "float[4]", - name = "lensDistortionValues", - description = "Lens distortion constant parameters" - }, - { - type = "float[4]", - name = "chromaAbCorrection", - description = "Chromatic aberration correction parameters" - } - } - }, - { - name = "VrStereoConfig", - description = "VrStereoConfig, VR stereo rendering configuration for simulator", - fields = { - { - type = "Matrix[2]", - name = "projection", - description = "VR projection matrices (per eye)" - }, - { - type = "Matrix[2]", - name = "viewOffset", - description = "VR view offset matrices (per eye)" - }, - { - type = "float[2]", - name = "leftLensCenter", - description = "VR left lens center" - }, - { - type = "float[2]", - name = "rightLensCenter", - description = "VR right lens center" - }, - { - type = "float[2]", - name = "leftScreenCenter", - description = "VR left screen center" - }, - { - type = "float[2]", - name = "rightScreenCenter", - description = "VR right screen center" - }, - { - type = "float[2]", - name = "scale", - description = "VR distortion scale" - }, - { - type = "float[2]", - name = "scaleIn", - description = "VR distortion scale in" - } - } - }, - { - name = "FilePathList", - description = "File path list", - fields = { - { - type = "unsigned int", - name = "capacity", - description = "Filepaths max entries" - }, - { - type = "unsigned int", - name = "count", - description = "Filepaths entries count" - }, - { - type = "char **", - name = "paths", - description = "Filepaths entries" - } - } - }, - { - name = "AutomationEvent", - description = "Automation event", - fields = { - { - type = "unsigned int", - name = "frame", - description = "Event frame" - }, - { - type = "unsigned int", - name = "type", - description = "Event type (AutomationEventType)" - }, - { - type = "int[4]", - name = "params", - description = "Event parameters (if required)" - } - } - }, - { - name = "AutomationEventList", - description = "Automation event list", - fields = { - { - type = "unsigned int", - name = "capacity", - description = "Events max entries (MAX_AUTOMATION_EVENTS)" - }, - { - type = "unsigned int", - name = "count", - description = "Events entries count" - }, - { - type = "AutomationEvent *", - name = "events", - description = "Events entries" - } - } - } - }, - aliases = { - { - type = "Vector4", - name = "Quaternion", - description = "Quaternion, 4 components (Vector4 alias)" - }, - { - type = "Texture", - name = "Texture2D", - description = "Texture2D, same as Texture" - }, - { - type = "Texture", - name = "TextureCubemap", - description = "TextureCubemap, same as Texture" - }, - { - type = "RenderTexture", - name = "RenderTexture2D", - description = "RenderTexture2D, same as RenderTexture" - }, - { - type = "Camera3D", - name = "Camera", - description = "Camera type fallback, defaults to Camera3D" - } - }, - enums = { - { - name = "ConfigFlags", - description = "System/Window config flags", - values = { - { - name = "FLAG_VSYNC_HINT", - value = 64, - description = "Set to try enabling V-Sync on GPU" - }, - { - name = "FLAG_FULLSCREEN_MODE", - value = 2, - description = "Set to run program in fullscreen" - }, - { - name = "FLAG_WINDOW_RESIZABLE", - value = 4, - description = "Set to allow resizable window" - }, - { - name = "FLAG_WINDOW_UNDECORATED", - value = 8, - description = "Set to disable window decoration (frame and buttons)" - }, - { - name = "FLAG_WINDOW_HIDDEN", - value = 128, - description = "Set to hide window" - }, - { - name = "FLAG_WINDOW_MINIMIZED", - value = 512, - description = "Set to minimize window (iconify)" - }, - { - name = "FLAG_WINDOW_MAXIMIZED", - value = 1024, - description = "Set to maximize window (expanded to monitor)" - }, - { - name = "FLAG_WINDOW_UNFOCUSED", - value = 2048, - description = "Set to window non focused" - }, - { - name = "FLAG_WINDOW_TOPMOST", - value = 4096, - description = "Set to window always on top" - }, - { - name = "FLAG_WINDOW_ALWAYS_RUN", - value = 256, - description = "Set to allow windows running while minimized" - }, - { - name = "FLAG_WINDOW_TRANSPARENT", - value = 16, - description = "Set to allow transparent framebuffer" - }, - { - name = "FLAG_WINDOW_HIGHDPI", - value = 8192, - description = "Set to support HighDPI" - }, - { - name = "FLAG_WINDOW_MOUSE_PASSTHROUGH", - value = 16384, - description = "Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED" - }, - { - name = "FLAG_BORDERLESS_WINDOWED_MODE", - value = 32768, - description = "Set to run program in borderless windowed mode" - }, - { - name = "FLAG_MSAA_4X_HINT", - value = 32, - description = "Set to try enabling MSAA 4X" - }, - { - name = "FLAG_INTERLACED_HINT", - value = 65536, - description = "Set to try enabling interlaced video format (for V3D)" - } - } - }, - { - name = "TraceLogLevel", - description = "Trace log level", - values = { - { - name = "LOG_ALL", - value = 0, - description = "Display all logs" - }, - { - name = "LOG_TRACE", - value = 1, - description = "Trace logging, intended for internal use only" - }, - { - name = "LOG_DEBUG", - value = 2, - description = "Debug logging, used for internal debugging, it should be disabled on release builds" - }, - { - name = "LOG_INFO", - value = 3, - description = "Info logging, used for program execution info" - }, - { - name = "LOG_WARNING", - value = 4, - description = "Warning logging, used on recoverable failures" - }, - { - name = "LOG_ERROR", - value = 5, - description = "Error logging, used on unrecoverable failures" - }, - { - name = "LOG_FATAL", - value = 6, - description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" - }, - { - name = "LOG_NONE", - value = 7, - description = "Disable logging" - } - } - }, - { - name = "KeyboardKey", - description = "Keyboard keys (US keyboard layout)", - values = { - { - name = "KEY_NULL", - value = 0, - description = "Key: NULL, used for no key pressed" - }, - { - name = "KEY_APOSTROPHE", - value = 39, - description = "Key: '" - }, - { - name = "KEY_COMMA", - value = 44, - description = "Key: ," - }, - { - name = "KEY_MINUS", - value = 45, - description = "Key: -" - }, - { - name = "KEY_PERIOD", - value = 46, - description = "Key: ." - }, - { - name = "KEY_SLASH", - value = 47, - description = "Key: /" - }, - { - name = "KEY_ZERO", - value = 48, - description = "Key: 0" - }, - { - name = "KEY_ONE", - value = 49, - description = "Key: 1" - }, - { - name = "KEY_TWO", - value = 50, - description = "Key: 2" - }, - { - name = "KEY_THREE", - value = 51, - description = "Key: 3" - }, - { - name = "KEY_FOUR", - value = 52, - description = "Key: 4" - }, - { - name = "KEY_FIVE", - value = 53, - description = "Key: 5" - }, - { - name = "KEY_SIX", - value = 54, - description = "Key: 6" - }, - { - name = "KEY_SEVEN", - value = 55, - description = "Key: 7" - }, - { - name = "KEY_EIGHT", - value = 56, - description = "Key: 8" - }, - { - name = "KEY_NINE", - value = 57, - description = "Key: 9" - }, - { - name = "KEY_SEMICOLON", - value = 59, - description = "Key: ;" - }, - { - name = "KEY_EQUAL", - value = 61, - description = "Key: =" - }, - { - name = "KEY_A", - value = 65, - description = "Key: A | a" - }, - { - name = "KEY_B", - value = 66, - description = "Key: B | b" - }, - { - name = "KEY_C", - value = 67, - description = "Key: C | c" - }, - { - name = "KEY_D", - value = 68, - description = "Key: D | d" - }, - { - name = "KEY_E", - value = 69, - description = "Key: E | e" - }, - { - name = "KEY_F", - value = 70, - description = "Key: F | f" - }, - { - name = "KEY_G", - value = 71, - description = "Key: G | g" - }, - { - name = "KEY_H", - value = 72, - description = "Key: H | h" - }, - { - name = "KEY_I", - value = 73, - description = "Key: I | i" - }, - { - name = "KEY_J", - value = 74, - description = "Key: J | j" - }, - { - name = "KEY_K", - value = 75, - description = "Key: K | k" - }, - { - name = "KEY_L", - value = 76, - description = "Key: L | l" - }, - { - name = "KEY_M", - value = 77, - description = "Key: M | m" - }, - { - name = "KEY_N", - value = 78, - description = "Key: N | n" - }, - { - name = "KEY_O", - value = 79, - description = "Key: O | o" - }, - { - name = "KEY_P", - value = 80, - description = "Key: P | p" - }, - { - name = "KEY_Q", - value = 81, - description = "Key: Q | q" - }, - { - name = "KEY_R", - value = 82, - description = "Key: R | r" - }, - { - name = "KEY_S", - value = 83, - description = "Key: S | s" - }, - { - name = "KEY_T", - value = 84, - description = "Key: T | t" - }, - { - name = "KEY_U", - value = 85, - description = "Key: U | u" - }, - { - name = "KEY_V", - value = 86, - description = "Key: V | v" - }, - { - name = "KEY_W", - value = 87, - description = "Key: W | w" - }, - { - name = "KEY_X", - value = 88, - description = "Key: X | x" - }, - { - name = "KEY_Y", - value = 89, - description = "Key: Y | y" - }, - { - name = "KEY_Z", - value = 90, - description = "Key: Z | z" - }, - { - name = "KEY_LEFT_BRACKET", - value = 91, - description = "Key: [" - }, - { - name = "KEY_BACKSLASH", - value = 92, - description = "Key: '\\'" - }, - { - name = "KEY_RIGHT_BRACKET", - value = 93, - description = "Key: ]" - }, - { - name = "KEY_GRAVE", - value = 96, - description = "Key: `" - }, - { - name = "KEY_SPACE", - value = 32, - description = "Key: Space" - }, - { - name = "KEY_ESCAPE", - value = 256, - description = "Key: Esc" - }, - { - name = "KEY_ENTER", - value = 257, - description = "Key: Enter" - }, - { - name = "KEY_TAB", - value = 258, - description = "Key: Tab" - }, - { - name = "KEY_BACKSPACE", - value = 259, - description = "Key: Backspace" - }, - { - name = "KEY_INSERT", - value = 260, - description = "Key: Ins" - }, - { - name = "KEY_DELETE", - value = 261, - description = "Key: Del" - }, - { - name = "KEY_RIGHT", - value = 262, - description = "Key: Cursor right" - }, - { - name = "KEY_LEFT", - value = 263, - description = "Key: Cursor left" - }, - { - name = "KEY_DOWN", - value = 264, - description = "Key: Cursor down" - }, - { - name = "KEY_UP", - value = 265, - description = "Key: Cursor up" - }, - { - name = "KEY_PAGE_UP", - value = 266, - description = "Key: Page up" - }, - { - name = "KEY_PAGE_DOWN", - value = 267, - description = "Key: Page down" - }, - { - name = "KEY_HOME", - value = 268, - description = "Key: Home" - }, - { - name = "KEY_END", - value = 269, - description = "Key: End" - }, - { - name = "KEY_CAPS_LOCK", - value = 280, - description = "Key: Caps lock" - }, - { - name = "KEY_SCROLL_LOCK", - value = 281, - description = "Key: Scroll down" - }, - { - name = "KEY_NUM_LOCK", - value = 282, - description = "Key: Num lock" - }, - { - name = "KEY_PRINT_SCREEN", - value = 283, - description = "Key: Print screen" - }, - { - name = "KEY_PAUSE", - value = 284, - description = "Key: Pause" - }, - { - name = "KEY_F1", - value = 290, - description = "Key: F1" - }, - { - name = "KEY_F2", - value = 291, - description = "Key: F2" - }, - { - name = "KEY_F3", - value = 292, - description = "Key: F3" - }, - { - name = "KEY_F4", - value = 293, - description = "Key: F4" - }, - { - name = "KEY_F5", - value = 294, - description = "Key: F5" - }, - { - name = "KEY_F6", - value = 295, - description = "Key: F6" - }, - { - name = "KEY_F7", - value = 296, - description = "Key: F7" - }, - { - name = "KEY_F8", - value = 297, - description = "Key: F8" - }, - { - name = "KEY_F9", - value = 298, - description = "Key: F9" - }, - { - name = "KEY_F10", - value = 299, - description = "Key: F10" - }, - { - name = "KEY_F11", - value = 300, - description = "Key: F11" - }, - { - name = "KEY_F12", - value = 301, - description = "Key: F12" - }, - { - name = "KEY_LEFT_SHIFT", - value = 340, - description = "Key: Shift left" - }, - { - name = "KEY_LEFT_CONTROL", - value = 341, - description = "Key: Control left" - }, - { - name = "KEY_LEFT_ALT", - value = 342, - description = "Key: Alt left" - }, - { - name = "KEY_LEFT_SUPER", - value = 343, - description = "Key: Super left" - }, - { - name = "KEY_RIGHT_SHIFT", - value = 344, - description = "Key: Shift right" - }, - { - name = "KEY_RIGHT_CONTROL", - value = 345, - description = "Key: Control right" - }, - { - name = "KEY_RIGHT_ALT", - value = 346, - description = "Key: Alt right" - }, - { - name = "KEY_RIGHT_SUPER", - value = 347, - description = "Key: Super right" - }, - { - name = "KEY_KB_MENU", - value = 348, - description = "Key: KB menu" - }, - { - name = "KEY_KP_0", - value = 320, - description = "Key: Keypad 0" - }, - { - name = "KEY_KP_1", - value = 321, - description = "Key: Keypad 1" - }, - { - name = "KEY_KP_2", - value = 322, - description = "Key: Keypad 2" - }, - { - name = "KEY_KP_3", - value = 323, - description = "Key: Keypad 3" - }, - { - name = "KEY_KP_4", - value = 324, - description = "Key: Keypad 4" - }, - { - name = "KEY_KP_5", - value = 325, - description = "Key: Keypad 5" - }, - { - name = "KEY_KP_6", - value = 326, - description = "Key: Keypad 6" - }, - { - name = "KEY_KP_7", - value = 327, - description = "Key: Keypad 7" - }, - { - name = "KEY_KP_8", - value = 328, - description = "Key: Keypad 8" - }, - { - name = "KEY_KP_9", - value = 329, - description = "Key: Keypad 9" - }, - { - name = "KEY_KP_DECIMAL", - value = 330, - description = "Key: Keypad ." - }, - { - name = "KEY_KP_DIVIDE", - value = 331, - description = "Key: Keypad /" - }, - { - name = "KEY_KP_MULTIPLY", - value = 332, - description = "Key: Keypad *" - }, - { - name = "KEY_KP_SUBTRACT", - value = 333, - description = "Key: Keypad -" - }, - { - name = "KEY_KP_ADD", - value = 334, - description = "Key: Keypad +" - }, - { - name = "KEY_KP_ENTER", - value = 335, - description = "Key: Keypad Enter" - }, - { - name = "KEY_KP_EQUAL", - value = 336, - description = "Key: Keypad =" - }, - { - name = "KEY_BACK", - value = 4, - description = "Key: Android back button" - }, - { - name = "KEY_MENU", - value = 5, - description = "Key: Android menu button" - }, - { - name = "KEY_VOLUME_UP", - value = 24, - description = "Key: Android volume up button" - }, - { - name = "KEY_VOLUME_DOWN", - value = 25, - description = "Key: Android volume down button" - } - } - }, - { - name = "MouseButton", - description = "Mouse buttons", - values = { - { - name = "MOUSE_BUTTON_LEFT", - value = 0, - description = "Mouse button left" - }, - { - name = "MOUSE_BUTTON_RIGHT", - value = 1, - description = "Mouse button right" - }, - { - name = "MOUSE_BUTTON_MIDDLE", - value = 2, - description = "Mouse button middle (pressed wheel)" - }, - { - name = "MOUSE_BUTTON_SIDE", - value = 3, - description = "Mouse button side (advanced mouse device)" - }, - { - name = "MOUSE_BUTTON_EXTRA", - value = 4, - description = "Mouse button extra (advanced mouse device)" - }, - { - name = "MOUSE_BUTTON_FORWARD", - value = 5, - description = "Mouse button forward (advanced mouse device)" - }, - { - name = "MOUSE_BUTTON_BACK", - value = 6, - description = "Mouse button back (advanced mouse device)" - } - } - }, - { - name = "MouseCursor", - description = "Mouse cursor", - values = { - { - name = "MOUSE_CURSOR_DEFAULT", - value = 0, - description = "Default pointer shape" - }, - { - name = "MOUSE_CURSOR_ARROW", - value = 1, - description = "Arrow shape" - }, - { - name = "MOUSE_CURSOR_IBEAM", - value = 2, - description = "Text writing cursor shape" - }, - { - name = "MOUSE_CURSOR_CROSSHAIR", - value = 3, - description = "Cross shape" - }, - { - name = "MOUSE_CURSOR_POINTING_HAND", - value = 4, - description = "Pointing hand cursor" - }, - { - name = "MOUSE_CURSOR_RESIZE_EW", - value = 5, - description = "Horizontal resize/move arrow shape" - }, - { - name = "MOUSE_CURSOR_RESIZE_NS", - value = 6, - description = "Vertical resize/move arrow shape" - }, - { - name = "MOUSE_CURSOR_RESIZE_NWSE", - value = 7, - description = "Top-left to bottom-right diagonal resize/move arrow shape" - }, - { - name = "MOUSE_CURSOR_RESIZE_NESW", - value = 8, - description = "The top-right to bottom-left diagonal resize/move arrow shape" - }, - { - name = "MOUSE_CURSOR_RESIZE_ALL", - value = 9, - description = "The omnidirectional resize/move cursor shape" - }, - { - name = "MOUSE_CURSOR_NOT_ALLOWED", - value = 10, - description = "The operation-not-allowed shape" - } - } - }, - { - name = "GamepadButton", - description = "Gamepad buttons", - values = { - { - name = "GAMEPAD_BUTTON_UNKNOWN", - value = 0, - description = "Unknown button, just for error checking" - }, - { - name = "GAMEPAD_BUTTON_LEFT_FACE_UP", - value = 1, - description = "Gamepad left DPAD up button" - }, - { - name = "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", - value = 2, - description = "Gamepad left DPAD right button" - }, - { - name = "GAMEPAD_BUTTON_LEFT_FACE_DOWN", - value = 3, - description = "Gamepad left DPAD down button" - }, - { - name = "GAMEPAD_BUTTON_LEFT_FACE_LEFT", - value = 4, - description = "Gamepad left DPAD left button" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_FACE_UP", - value = 5, - description = "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", - value = 6, - description = "Gamepad right button right (i.e. PS3: Circle, Xbox: B)" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", - value = 7, - description = "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", - value = 8, - description = "Gamepad right button left (i.e. PS3: Square, Xbox: X)" - }, - { - name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", - value = 9, - description = "Gamepad top/back trigger left (first), it could be a trailing button" - }, - { - name = "GAMEPAD_BUTTON_LEFT_TRIGGER_2", - value = 10, - description = "Gamepad top/back trigger left (second), it could be a trailing button" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", - value = 11, - description = "Gamepad top/back trigger right (first), it could be a trailing button" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", - value = 12, - description = "Gamepad top/back trigger right (second), it could be a trailing button" - }, - { - name = "GAMEPAD_BUTTON_MIDDLE_LEFT", - value = 13, - description = "Gamepad center buttons, left one (i.e. PS3: Select)" - }, - { - name = "GAMEPAD_BUTTON_MIDDLE", - value = 14, - description = "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" - }, - { - name = "GAMEPAD_BUTTON_MIDDLE_RIGHT", - value = 15, - description = "Gamepad center buttons, right one (i.e. PS3: Start)" - }, - { - name = "GAMEPAD_BUTTON_LEFT_THUMB", - value = 16, - description = "Gamepad joystick pressed button left" - }, - { - name = "GAMEPAD_BUTTON_RIGHT_THUMB", - value = 17, - description = "Gamepad joystick pressed button right" - } - } - }, - { - name = "GamepadAxis", - description = "Gamepad axis", - values = { - { - name = "GAMEPAD_AXIS_LEFT_X", - value = 0, - description = "Gamepad left stick X axis" - }, - { - name = "GAMEPAD_AXIS_LEFT_Y", - value = 1, - description = "Gamepad left stick Y axis" - }, - { - name = "GAMEPAD_AXIS_RIGHT_X", - value = 2, - description = "Gamepad right stick X axis" - }, - { - name = "GAMEPAD_AXIS_RIGHT_Y", - value = 3, - description = "Gamepad right stick Y axis" - }, - { - name = "GAMEPAD_AXIS_LEFT_TRIGGER", - value = 4, - description = "Gamepad back trigger left, pressure level: [1..-1]" - }, - { - name = "GAMEPAD_AXIS_RIGHT_TRIGGER", - value = 5, - description = "Gamepad back trigger right, pressure level: [1..-1]" - } - } - }, - { - name = "MaterialMapIndex", - description = "Material map index", - values = { - { - name = "MATERIAL_MAP_ALBEDO", - value = 0, - description = "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" - }, - { - name = "MATERIAL_MAP_METALNESS", - value = 1, - description = "Metalness material (same as: MATERIAL_MAP_SPECULAR)" - }, - { - name = "MATERIAL_MAP_NORMAL", - value = 2, - description = "Normal material" - }, - { - name = "MATERIAL_MAP_ROUGHNESS", - value = 3, - description = "Roughness material" - }, - { - name = "MATERIAL_MAP_OCCLUSION", - value = 4, - description = "Ambient occlusion material" - }, - { - name = "MATERIAL_MAP_EMISSION", - value = 5, - description = "Emission material" - }, - { - name = "MATERIAL_MAP_HEIGHT", - value = 6, - description = "Heightmap material" - }, - { - name = "MATERIAL_MAP_CUBEMAP", - value = 7, - description = "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" - }, - { - name = "MATERIAL_MAP_IRRADIANCE", - value = 8, - description = "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" - }, - { - name = "MATERIAL_MAP_PREFILTER", - value = 9, - description = "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" - }, - { - name = "MATERIAL_MAP_BRDF", - value = 10, - description = "Brdf material" - } - } - }, - { - name = "ShaderLocationIndex", - description = "Shader location index", - values = { - { - name = "SHADER_LOC_VERTEX_POSITION", - value = 0, - description = "Shader location: vertex attribute: position" - }, - { - name = "SHADER_LOC_VERTEX_TEXCOORD01", - value = 1, - description = "Shader location: vertex attribute: texcoord01" - }, - { - name = "SHADER_LOC_VERTEX_TEXCOORD02", - value = 2, - description = "Shader location: vertex attribute: texcoord02" - }, - { - name = "SHADER_LOC_VERTEX_NORMAL", - value = 3, - description = "Shader location: vertex attribute: normal" - }, - { - name = "SHADER_LOC_VERTEX_TANGENT", - value = 4, - description = "Shader location: vertex attribute: tangent" - }, - { - name = "SHADER_LOC_VERTEX_COLOR", - value = 5, - description = "Shader location: vertex attribute: color" - }, - { - name = "SHADER_LOC_MATRIX_MVP", - value = 6, - description = "Shader location: matrix uniform: model-view-projection" - }, - { - name = "SHADER_LOC_MATRIX_VIEW", - value = 7, - description = "Shader location: matrix uniform: view (camera transform)" - }, - { - name = "SHADER_LOC_MATRIX_PROJECTION", - value = 8, - description = "Shader location: matrix uniform: projection" - }, - { - name = "SHADER_LOC_MATRIX_MODEL", - value = 9, - description = "Shader location: matrix uniform: model (transform)" - }, - { - name = "SHADER_LOC_MATRIX_NORMAL", - value = 10, - description = "Shader location: matrix uniform: normal" - }, - { - name = "SHADER_LOC_VECTOR_VIEW", - value = 11, - description = "Shader location: vector uniform: view" - }, - { - name = "SHADER_LOC_COLOR_DIFFUSE", - value = 12, - description = "Shader location: vector uniform: diffuse color" - }, - { - name = "SHADER_LOC_COLOR_SPECULAR", - value = 13, - description = "Shader location: vector uniform: specular color" - }, - { - name = "SHADER_LOC_COLOR_AMBIENT", - value = 14, - description = "Shader location: vector uniform: ambient color" - }, - { - name = "SHADER_LOC_MAP_ALBEDO", - value = 15, - description = "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" - }, - { - name = "SHADER_LOC_MAP_METALNESS", - value = 16, - description = "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" - }, - { - name = "SHADER_LOC_MAP_NORMAL", - value = 17, - description = "Shader location: sampler2d texture: normal" - }, - { - name = "SHADER_LOC_MAP_ROUGHNESS", - value = 18, - description = "Shader location: sampler2d texture: roughness" - }, - { - name = "SHADER_LOC_MAP_OCCLUSION", - value = 19, - description = "Shader location: sampler2d texture: occlusion" - }, - { - name = "SHADER_LOC_MAP_EMISSION", - value = 20, - description = "Shader location: sampler2d texture: emission" - }, - { - name = "SHADER_LOC_MAP_HEIGHT", - value = 21, - description = "Shader location: sampler2d texture: height" - }, - { - name = "SHADER_LOC_MAP_CUBEMAP", - value = 22, - description = "Shader location: samplerCube texture: cubemap" - }, - { - name = "SHADER_LOC_MAP_IRRADIANCE", - value = 23, - description = "Shader location: samplerCube texture: irradiance" - }, - { - name = "SHADER_LOC_MAP_PREFILTER", - value = 24, - description = "Shader location: samplerCube texture: prefilter" - }, - { - name = "SHADER_LOC_MAP_BRDF", - value = 25, - description = "Shader location: sampler2d texture: brdf" - }, - { - name = "SHADER_LOC_VERTEX_BONEIDS", - value = 26, - description = "Shader location: vertex attribute: boneIds" - }, - { - name = "SHADER_LOC_VERTEX_BONEWEIGHTS", - value = 27, - description = "Shader location: vertex attribute: boneWeights" - }, - { - name = "SHADER_LOC_BONE_MATRICES", - value = 28, - description = "Shader location: array of matrices uniform: boneMatrices" - } - } - }, - { - name = "ShaderUniformDataType", - description = "Shader uniform data type", - values = { - { - name = "SHADER_UNIFORM_FLOAT", - value = 0, - description = "Shader uniform type: float" - }, - { - name = "SHADER_UNIFORM_VEC2", - value = 1, - description = "Shader uniform type: vec2 (2 float)" - }, - { - name = "SHADER_UNIFORM_VEC3", - value = 2, - description = "Shader uniform type: vec3 (3 float)" - }, - { - name = "SHADER_UNIFORM_VEC4", - value = 3, - description = "Shader uniform type: vec4 (4 float)" - }, - { - name = "SHADER_UNIFORM_INT", - value = 4, - description = "Shader uniform type: int" - }, - { - name = "SHADER_UNIFORM_IVEC2", - value = 5, - description = "Shader uniform type: ivec2 (2 int)" - }, - { - name = "SHADER_UNIFORM_IVEC3", - value = 6, - description = "Shader uniform type: ivec3 (3 int)" - }, - { - name = "SHADER_UNIFORM_IVEC4", - value = 7, - description = "Shader uniform type: ivec4 (4 int)" - }, - { - name = "SHADER_UNIFORM_SAMPLER2D", - value = 8, - description = "Shader uniform type: sampler2d" - } - } - }, - { - name = "ShaderAttributeDataType", - description = "Shader attribute data types", - values = { - { - name = "SHADER_ATTRIB_FLOAT", - value = 0, - description = "Shader attribute type: float" - }, - { - name = "SHADER_ATTRIB_VEC2", - value = 1, - description = "Shader attribute type: vec2 (2 float)" - }, - { - name = "SHADER_ATTRIB_VEC3", - value = 2, - description = "Shader attribute type: vec3 (3 float)" - }, - { - name = "SHADER_ATTRIB_VEC4", - value = 3, - description = "Shader attribute type: vec4 (4 float)" - } - } - }, - { - name = "PixelFormat", - description = "Pixel formats", - values = { - { - name = "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", - value = 1, - description = "8 bit per pixel (no alpha)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", - value = 2, - description = "8*2 bpp (2 channels)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R5G6B5", - value = 3, - description = "16 bpp" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8", - value = 4, - description = "24 bpp" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", - value = 5, - description = "16 bpp (1 bit alpha)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", - value = 6, - description = "16 bpp (4 bit alpha)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", - value = 7, - description = "32 bpp" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R32", - value = 8, - description = "32 bpp (1 channel - float)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32", - value = 9, - description = "32*3 bpp (3 channels - float)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", - value = 10, - description = "32*4 bpp (4 channels - float)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R16", - value = 11, - description = "16 bpp (1 channel - half float)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16", - value = 12, - description = "16*3 bpp (3 channels - half float)" - }, - { - name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16A16", - value = 13, - description = "16*4 bpp (4 channels - half float)" - }, - { - name = "PIXELFORMAT_COMPRESSED_DXT1_RGB", - value = 14, - description = "4 bpp (no alpha)" - }, - { - name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA", - value = 15, - description = "4 bpp (1 bit alpha)" - }, - { - name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA", - value = 16, - description = "8 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA", - value = 17, - description = "8 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_ETC1_RGB", - value = 18, - description = "4 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_ETC2_RGB", - value = 19, - description = "4 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", - value = 20, - description = "8 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_PVRT_RGB", - value = 21, - description = "4 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA", - value = 22, - description = "4 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", - value = 23, - description = "8 bpp" - }, - { - name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", - value = 24, - description = "2 bpp" - } - } - }, - { - name = "TextureFilter", - description = "Texture parameters: filter mode", - values = { - { - name = "TEXTURE_FILTER_POINT", - value = 0, - description = "No filter, just pixel approximation" - }, - { - name = "TEXTURE_FILTER_BILINEAR", - value = 1, - description = "Linear filtering" - }, - { - name = "TEXTURE_FILTER_TRILINEAR", - value = 2, - description = "Trilinear filtering (linear with mipmaps)" - }, - { - name = "TEXTURE_FILTER_ANISOTROPIC_4X", - value = 3, - description = "Anisotropic filtering 4x" - }, - { - name = "TEXTURE_FILTER_ANISOTROPIC_8X", - value = 4, - description = "Anisotropic filtering 8x" - }, - { - name = "TEXTURE_FILTER_ANISOTROPIC_16X", - value = 5, - description = "Anisotropic filtering 16x" - } - } - }, - { - name = "TextureWrap", - description = "Texture parameters: wrap mode", - values = { - { - name = "TEXTURE_WRAP_REPEAT", - value = 0, - description = "Repeats texture in tiled mode" - }, - { - name = "TEXTURE_WRAP_CLAMP", - value = 1, - description = "Clamps texture to edge pixel in tiled mode" - }, - { - name = "TEXTURE_WRAP_MIRROR_REPEAT", - value = 2, - description = "Mirrors and repeats the texture in tiled mode" - }, - { - name = "TEXTURE_WRAP_MIRROR_CLAMP", - value = 3, - description = "Mirrors and clamps to border the texture in tiled mode" - } - } - }, - { - name = "CubemapLayout", - description = "Cubemap layouts", - values = { - { - name = "CUBEMAP_LAYOUT_AUTO_DETECT", - value = 0, - description = "Automatically detect layout type" - }, - { - name = "CUBEMAP_LAYOUT_LINE_VERTICAL", - value = 1, - description = "Layout is defined by a vertical line with faces" - }, - { - name = "CUBEMAP_LAYOUT_LINE_HORIZONTAL", - value = 2, - description = "Layout is defined by a horizontal line with faces" - }, - { - name = "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", - value = 3, - description = "Layout is defined by a 3x4 cross with cubemap faces" - }, - { - name = "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", - value = 4, - description = "Layout is defined by a 4x3 cross with cubemap faces" - } - } - }, - { - name = "FontType", - description = "Font type, defines generation method", - values = { - { - name = "FONT_DEFAULT", - value = 0, - description = "Default font generation, anti-aliased" - }, - { - name = "FONT_BITMAP", - value = 1, - description = "Bitmap font generation, no anti-aliasing" - }, - { - name = "FONT_SDF", - value = 2, - description = "SDF font generation, requires external shader" - } - } - }, - { - name = "BlendMode", - description = "Color blending modes (pre-defined)", - values = { - { - name = "BLEND_ALPHA", - value = 0, - description = "Blend textures considering alpha (default)" - }, - { - name = "BLEND_ADDITIVE", - value = 1, - description = "Blend textures adding colors" - }, - { - name = "BLEND_MULTIPLIED", - value = 2, - description = "Blend textures multiplying colors" - }, - { - name = "BLEND_ADD_COLORS", - value = 3, - description = "Blend textures adding colors (alternative)" - }, - { - name = "BLEND_SUBTRACT_COLORS", - value = 4, - description = "Blend textures subtracting colors (alternative)" - }, - { - name = "BLEND_ALPHA_PREMULTIPLY", - value = 5, - description = "Blend premultiplied textures considering alpha" - }, - { - name = "BLEND_CUSTOM", - value = 6, - description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())" - }, - { - name = "BLEND_CUSTOM_SEPARATE", - value = 7, - description = "Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())" - } - } - }, - { - name = "Gesture", - description = "Gesture", - values = { - { - name = "GESTURE_NONE", - value = 0, - description = "No gesture" - }, - { - name = "GESTURE_TAP", - value = 1, - description = "Tap gesture" - }, - { - name = "GESTURE_DOUBLETAP", - value = 2, - description = "Double tap gesture" - }, - { - name = "GESTURE_HOLD", - value = 4, - description = "Hold gesture" - }, - { - name = "GESTURE_DRAG", - value = 8, - description = "Drag gesture" - }, - { - name = "GESTURE_SWIPE_RIGHT", - value = 16, - description = "Swipe right gesture" - }, - { - name = "GESTURE_SWIPE_LEFT", - value = 32, - description = "Swipe left gesture" - }, - { - name = "GESTURE_SWIPE_UP", - value = 64, - description = "Swipe up gesture" - }, - { - name = "GESTURE_SWIPE_DOWN", - value = 128, - description = "Swipe down gesture" - }, - { - name = "GESTURE_PINCH_IN", - value = 256, - description = "Pinch in gesture" - }, - { - name = "GESTURE_PINCH_OUT", - value = 512, - description = "Pinch out gesture" - } - } - }, - { - name = "CameraMode", - description = "Camera system modes", - values = { - { - name = "CAMERA_CUSTOM", - value = 0, - description = "Camera custom, controlled by user (UpdateCamera() does nothing)" - }, - { - name = "CAMERA_FREE", - value = 1, - description = "Camera free mode" - }, - { - name = "CAMERA_ORBITAL", - value = 2, - description = "Camera orbital, around target, zoom supported" - }, - { - name = "CAMERA_FIRST_PERSON", - value = 3, - description = "Camera first person" - }, - { - name = "CAMERA_THIRD_PERSON", - value = 4, - description = "Camera third person" - } - } - }, - { - name = "CameraProjection", - description = "Camera projection", - values = { - { - name = "CAMERA_PERSPECTIVE", - value = 0, - description = "Perspective projection" - }, - { - name = "CAMERA_ORTHOGRAPHIC", - value = 1, - description = "Orthographic projection" - } - } - }, - { - name = "NPatchLayout", - description = "N-patch layout", - values = { - { - name = "NPATCH_NINE_PATCH", - value = 0, - description = "Npatch layout: 3x3 tiles" - }, - { - name = "NPATCH_THREE_PATCH_VERTICAL", - value = 1, - description = "Npatch layout: 1x3 tiles" - }, - { - name = "NPATCH_THREE_PATCH_HORIZONTAL", - value = 2, - description = "Npatch layout: 3x1 tiles" - } - } - } - }, - callbacks = { - { - name = "TraceLogCallback", - description = "Logging: Redirect trace log messages", - returnType = "void", - params = { - {type = "int", name = "logLevel"}, - {type = "const char *", name = "text"}, - {type = "va_list", name = "args"} - } - }, - { - name = "LoadFileDataCallback", - description = "FileIO: Load binary data", - returnType = "unsigned char *", - params = { - {type = "const char *", name = "fileName"}, - {type = "int *", name = "dataSize"} - } - }, - { - name = "SaveFileDataCallback", - description = "FileIO: Save binary data", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "void *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "LoadFileTextCallback", - description = "FileIO: Load text data", - returnType = "char *", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "SaveFileTextCallback", - description = "FileIO: Save text data", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "char *", name = "text"} - } - }, - { - name = "AudioCallback", - description = "", - returnType = "void", - params = { - {type = "void *", name = "bufferData"}, - {type = "unsigned int", name = "frames"} - } - } - }, - functions = { - { - name = "InitWindow", - description = "Initialize window and OpenGL context", - returnType = "void", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "const char *", name = "title"} - } - }, - { - name = "CloseWindow", - description = "Close window and unload OpenGL context", - returnType = "void" - }, - { - name = "WindowShouldClose", - description = "Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)", - returnType = "bool" - }, - { - name = "IsWindowReady", - description = "Check if window has been initialized successfully", - returnType = "bool" - }, - { - name = "IsWindowFullscreen", - description = "Check if window is currently fullscreen", - returnType = "bool" - }, - { - name = "IsWindowHidden", - description = "Check if window is currently hidden", - returnType = "bool" - }, - { - name = "IsWindowMinimized", - description = "Check if window is currently minimized", - returnType = "bool" - }, - { - name = "IsWindowMaximized", - description = "Check if window is currently maximized", - returnType = "bool" - }, - { - name = "IsWindowFocused", - description = "Check if window is currently focused", - returnType = "bool" - }, - { - name = "IsWindowResized", - description = "Check if window has been resized last frame", - returnType = "bool" - }, - { - name = "IsWindowState", - description = "Check if one specific window flag is enabled", - returnType = "bool", - params = { - {type = "unsigned int", name = "flag"} - } - }, - { - name = "SetWindowState", - description = "Set window configuration state using flags", - returnType = "void", - params = { - {type = "unsigned int", name = "flags"} - } - }, - { - name = "ClearWindowState", - description = "Clear window configuration state flags", - returnType = "void", - params = { - {type = "unsigned int", name = "flags"} - } - }, - { - name = "ToggleFullscreen", - description = "Toggle window state: fullscreen/windowed, resizes monitor to match window resolution", - returnType = "void" - }, - { - name = "ToggleBorderlessWindowed", - description = "Toggle window state: borderless windowed, resizes window to match monitor resolution", - returnType = "void" - }, - { - name = "MaximizeWindow", - description = "Set window state: maximized, if resizable", - returnType = "void" - }, - { - name = "MinimizeWindow", - description = "Set window state: minimized, if resizable", - returnType = "void" - }, - { - name = "RestoreWindow", - description = "Set window state: not minimized/maximized", - returnType = "void" - }, - { - name = "SetWindowIcon", - description = "Set icon for window (single image, RGBA 32bit)", - returnType = "void", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "SetWindowIcons", - description = "Set icon for window (multiple images, RGBA 32bit)", - returnType = "void", - params = { - {type = "Image *", name = "images"}, - {type = "int", name = "count"} - } - }, - { - name = "SetWindowTitle", - description = "Set title for window", - returnType = "void", - params = { - {type = "const char *", name = "title"} - } - }, - { - name = "SetWindowPosition", - description = "Set window position on screen", - returnType = "void", - params = { - {type = "int", name = "x"}, - {type = "int", name = "y"} - } - }, - { - name = "SetWindowMonitor", - description = "Set monitor for the current window", - returnType = "void", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "SetWindowMinSize", - description = "Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)", - returnType = "void", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "SetWindowMaxSize", - description = "Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)", - returnType = "void", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "SetWindowSize", - description = "Set window dimensions", - returnType = "void", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "SetWindowOpacity", - description = "Set window opacity [0.0f..1.0f]", - returnType = "void", - params = { - {type = "float", name = "opacity"} - } - }, - { - name = "SetWindowFocused", - description = "Set window focused", - returnType = "void" - }, - { - name = "GetWindowHandle", - description = "Get native window handle", - returnType = "void *" - }, - { - name = "GetScreenWidth", - description = "Get current screen width", - returnType = "int" - }, - { - name = "GetScreenHeight", - description = "Get current screen height", - returnType = "int" - }, - { - name = "GetRenderWidth", - description = "Get current render width (it considers HiDPI)", - returnType = "int" - }, - { - name = "GetRenderHeight", - description = "Get current render height (it considers HiDPI)", - returnType = "int" - }, - { - name = "GetMonitorCount", - description = "Get number of connected monitors", - returnType = "int" - }, - { - name = "GetCurrentMonitor", - description = "Get current monitor where window is placed", - returnType = "int" - }, - { - name = "GetMonitorPosition", - description = "Get specified monitor position", - returnType = "Vector2", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetMonitorWidth", - description = "Get specified monitor width (current video mode used by monitor)", - returnType = "int", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetMonitorHeight", - description = "Get specified monitor height (current video mode used by monitor)", - returnType = "int", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetMonitorPhysicalWidth", - description = "Get specified monitor physical width in millimetres", - returnType = "int", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetMonitorPhysicalHeight", - description = "Get specified monitor physical height in millimetres", - returnType = "int", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetMonitorRefreshRate", - description = "Get specified monitor refresh rate", - returnType = "int", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "GetWindowPosition", - description = "Get window position XY on monitor", - returnType = "Vector2" - }, - { - name = "GetWindowScaleDPI", - description = "Get window scale DPI factor", - returnType = "Vector2" - }, - { - name = "GetMonitorName", - description = "Get the human-readable, UTF-8 encoded name of the specified monitor", - returnType = "const char *", - params = { - {type = "int", name = "monitor"} - } - }, - { - name = "SetClipboardText", - description = "Set clipboard text content", - returnType = "void", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "GetClipboardText", - description = "Get clipboard text content", - returnType = "const char *" - }, - { - name = "GetClipboardImage", - description = "Get clipboard image content", - returnType = "Image" - }, - { - name = "EnableEventWaiting", - description = "Enable waiting for events on EndDrawing(), no automatic event polling", - returnType = "void" - }, - { - name = "DisableEventWaiting", - description = "Disable waiting for events on EndDrawing(), automatic events polling", - returnType = "void" - }, - { - name = "ShowCursor", - description = "Shows cursor", - returnType = "void" - }, - { - name = "HideCursor", - description = "Hides cursor", - returnType = "void" - }, - { - name = "IsCursorHidden", - description = "Check if cursor is not visible", - returnType = "bool" - }, - { - name = "EnableCursor", - description = "Enables cursor (unlock cursor)", - returnType = "void" - }, - { - name = "DisableCursor", - description = "Disables cursor (lock cursor)", - returnType = "void" - }, - { - name = "IsCursorOnScreen", - description = "Check if cursor is on the screen", - returnType = "bool" - }, - { - name = "ClearBackground", - description = "Set background color (framebuffer clear color)", - returnType = "void", - params = { - {type = "Color", name = "color"} - } - }, - { - name = "BeginDrawing", - description = "Setup canvas (framebuffer) to start drawing", - returnType = "void" - }, - { - name = "EndDrawing", - description = "End canvas drawing and swap buffers (double buffering)", - returnType = "void" - }, - { - name = "BeginMode2D", - description = "Begin 2D mode with custom camera (2D)", - returnType = "void", - params = { - {type = "Camera2D", name = "camera"} - } - }, - { - name = "EndMode2D", - description = "Ends 2D mode with custom camera", - returnType = "void" - }, - { - name = "BeginMode3D", - description = "Begin 3D mode with custom camera (3D)", - returnType = "void", - params = { - {type = "Camera3D", name = "camera"} - } - }, - { - name = "EndMode3D", - description = "Ends 3D mode and returns to default 2D orthographic mode", - returnType = "void" - }, - { - name = "BeginTextureMode", - description = "Begin drawing to render texture", - returnType = "void", - params = { - {type = "RenderTexture2D", name = "target"} - } - }, - { - name = "EndTextureMode", - description = "Ends drawing to render texture", - returnType = "void" - }, - { - name = "BeginShaderMode", - description = "Begin custom shader drawing", - returnType = "void", - params = { - {type = "Shader", name = "shader"} - } - }, - { - name = "EndShaderMode", - description = "End custom shader drawing (use default shader)", - returnType = "void" - }, - { - name = "BeginBlendMode", - description = "Begin blending mode (alpha, additive, multiplied, subtract, custom)", - returnType = "void", - params = { - {type = "int", name = "mode"} - } - }, - { - name = "EndBlendMode", - description = "End blending mode (reset to default: alpha blending)", - returnType = "void" - }, - { - name = "BeginScissorMode", - description = "Begin scissor mode (define screen area for following drawing)", - returnType = "void", - params = { - {type = "int", name = "x"}, - {type = "int", name = "y"}, - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "EndScissorMode", - description = "End scissor mode", - returnType = "void" - }, - { - name = "BeginVrStereoMode", - description = "Begin stereo rendering (requires VR simulator)", - returnType = "void", - params = { - {type = "VrStereoConfig", name = "config"} - } - }, - { - name = "EndVrStereoMode", - description = "End stereo rendering (requires VR simulator)", - returnType = "void" - }, - { - name = "LoadVrStereoConfig", - description = "Load VR stereo config for VR simulator device parameters", - returnType = "VrStereoConfig", - params = { - {type = "VrDeviceInfo", name = "device"} - } - }, - { - name = "UnloadVrStereoConfig", - description = "Unload VR stereo config", - returnType = "void", - params = { - {type = "VrStereoConfig", name = "config"} - } - }, - { - name = "LoadShader", - description = "Load shader from files and bind default locations", - returnType = "Shader", - params = { - {type = "const char *", name = "vsFileName"}, - {type = "const char *", name = "fsFileName"} - } - }, - { - name = "LoadShaderFromMemory", - description = "Load shader from code strings and bind default locations", - returnType = "Shader", - params = { - {type = "const char *", name = "vsCode"}, - {type = "const char *", name = "fsCode"} - } - }, - { - name = "IsShaderValid", - description = "Check if a shader is valid (loaded on GPU)", - returnType = "bool", - params = { - {type = "Shader", name = "shader"} - } - }, - { - name = "GetShaderLocation", - description = "Get shader uniform location", - returnType = "int", - params = { - {type = "Shader", name = "shader"}, - {type = "const char *", name = "uniformName"} - } - }, - { - name = "GetShaderLocationAttrib", - description = "Get shader attribute location", - returnType = "int", - params = { - {type = "Shader", name = "shader"}, - {type = "const char *", name = "attribName"} - } - }, - { - name = "SetShaderValue", - description = "Set shader uniform value", - returnType = "void", - params = { - {type = "Shader", name = "shader"}, - {type = "int", name = "locIndex"}, - {type = "const void *", name = "value"}, - {type = "int", name = "uniformType"} - } - }, - { - name = "SetShaderValueV", - description = "Set shader uniform value vector", - returnType = "void", - params = { - {type = "Shader", name = "shader"}, - {type = "int", name = "locIndex"}, - {type = "const void *", name = "value"}, - {type = "int", name = "uniformType"}, - {type = "int", name = "count"} - } - }, - { - name = "SetShaderValueMatrix", - description = "Set shader uniform value (matrix 4x4)", - returnType = "void", - params = { - {type = "Shader", name = "shader"}, - {type = "int", name = "locIndex"}, - {type = "Matrix", name = "mat"} - } - }, - { - name = "SetShaderValueTexture", - description = "Set shader uniform value for texture (sampler2d)", - returnType = "void", - params = { - {type = "Shader", name = "shader"}, - {type = "int", name = "locIndex"}, - {type = "Texture2D", name = "texture"} - } - }, - { - name = "UnloadShader", - description = "Unload shader from GPU memory (VRAM)", - returnType = "void", - params = { - {type = "Shader", name = "shader"} - } - }, - { - name = "GetScreenToWorldRay", - description = "Get a ray trace from screen position (i.e mouse)", - returnType = "Ray", - params = { - {type = "Vector2", name = "position"}, - {type = "Camera", name = "camera"} - } - }, - { - name = "GetScreenToWorldRayEx", - description = "Get a ray trace from screen position (i.e mouse) in a viewport", - returnType = "Ray", - params = { - {type = "Vector2", name = "position"}, - {type = "Camera", name = "camera"}, - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "GetWorldToScreen", - description = "Get the screen space position for a 3d world space position", - returnType = "Vector2", - params = { - {type = "Vector3", name = "position"}, - {type = "Camera", name = "camera"} - } - }, - { - name = "GetWorldToScreenEx", - description = "Get size position for a 3d world space position", - returnType = "Vector2", - params = { - {type = "Vector3", name = "position"}, - {type = "Camera", name = "camera"}, - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "GetWorldToScreen2D", - description = "Get the screen space position for a 2d camera world space position", - returnType = "Vector2", - params = { - {type = "Vector2", name = "position"}, - {type = "Camera2D", name = "camera"} - } - }, - { - name = "GetScreenToWorld2D", - description = "Get the world space position for a 2d camera screen space position", - returnType = "Vector2", - params = { - {type = "Vector2", name = "position"}, - {type = "Camera2D", name = "camera"} - } - }, - { - name = "GetCameraMatrix", - description = "Get camera transform matrix (view matrix)", - returnType = "Matrix", - params = { - {type = "Camera", name = "camera"} - } - }, - { - name = "GetCameraMatrix2D", - description = "Get camera 2d transform matrix", - returnType = "Matrix", - params = { - {type = "Camera2D", name = "camera"} - } - }, - { - name = "SetTargetFPS", - description = "Set target FPS (maximum)", - returnType = "void", - params = { - {type = "int", name = "fps"} - } - }, - { - name = "GetFrameTime", - description = "Get time in seconds for last frame drawn (delta time)", - returnType = "float" - }, - { - name = "GetTime", - description = "Get elapsed time in seconds since InitWindow()", - returnType = "double" - }, - { - name = "GetFPS", - description = "Get current FPS", - returnType = "int" - }, - { - name = "SwapScreenBuffer", - description = "Swap back buffer with front buffer (screen drawing)", - returnType = "void" - }, - { - name = "PollInputEvents", - description = "Register all input events", - returnType = "void" - }, - { - name = "WaitTime", - description = "Wait for some time (halt program execution)", - returnType = "void", - params = { - {type = "double", name = "seconds"} - } - }, - { - name = "SetRandomSeed", - description = "Set the seed for the random number generator", - returnType = "void", - params = { - {type = "unsigned int", name = "seed"} - } - }, - { - name = "GetRandomValue", - description = "Get a random value between min and max (both included)", - returnType = "int", - params = { - {type = "int", name = "min"}, - {type = "int", name = "max"} - } - }, - { - name = "LoadRandomSequence", - description = "Load random values sequence, no values repeated", - returnType = "int *", - params = { - {type = "unsigned int", name = "count"}, - {type = "int", name = "min"}, - {type = "int", name = "max"} - } - }, - { - name = "UnloadRandomSequence", - description = "Unload random values sequence", - returnType = "void", - params = { - {type = "int *", name = "sequence"} - } - }, - { - name = "TakeScreenshot", - description = "Takes a screenshot of current screen (filename extension defines format)", - returnType = "void", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "SetConfigFlags", - description = "Setup init configuration flags (view FLAGS)", - returnType = "void", - params = { - {type = "unsigned int", name = "flags"} - } - }, - { - name = "OpenURL", - description = "Open URL with default system browser (if available)", - returnType = "void", - params = { - {type = "const char *", name = "url"} - } - }, - { - name = "TraceLog", - description = "Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)", - returnType = "void", - params = { - {type = "int", name = "logLevel"}, - {type = "const char *", name = "text"}, - {type = "...", name = "args"} - } - }, - { - name = "SetTraceLogLevel", - description = "Set the current threshold (minimum) log level", - returnType = "void", - params = { - {type = "int", name = "logLevel"} - } - }, - { - name = "MemAlloc", - description = "Internal memory allocator", - returnType = "void *", - params = { - {type = "unsigned int", name = "size"} - } - }, - { - name = "MemRealloc", - description = "Internal memory reallocator", - returnType = "void *", - params = { - {type = "void *", name = "ptr"}, - {type = "unsigned int", name = "size"} - } - }, - { - name = "MemFree", - description = "Internal memory free", - returnType = "void", - params = { - {type = "void *", name = "ptr"} - } - }, - { - name = "SetTraceLogCallback", - description = "Set custom trace log", - returnType = "void", - params = { - {type = "TraceLogCallback", name = "callback"} - } - }, - { - name = "SetLoadFileDataCallback", - description = "Set custom file binary data loader", - returnType = "void", - params = { - {type = "LoadFileDataCallback", name = "callback"} - } - }, - { - name = "SetSaveFileDataCallback", - description = "Set custom file binary data saver", - returnType = "void", - params = { - {type = "SaveFileDataCallback", name = "callback"} - } - }, - { - name = "SetLoadFileTextCallback", - description = "Set custom file text data loader", - returnType = "void", - params = { - {type = "LoadFileTextCallback", name = "callback"} - } - }, - { - name = "SetSaveFileTextCallback", - description = "Set custom file text data saver", - returnType = "void", - params = { - {type = "SaveFileTextCallback", name = "callback"} - } - }, - { - name = "LoadFileData", - description = "Load file data as byte array (read)", - returnType = "unsigned char *", - params = { - {type = "const char *", name = "fileName"}, - {type = "int *", name = "dataSize"} - } - }, - { - name = "UnloadFileData", - description = "Unload file data allocated by LoadFileData()", - returnType = "void", - params = { - {type = "unsigned char *", name = "data"} - } - }, - { - name = "SaveFileData", - description = "Save data to file from byte array (write), returns true on success", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "void *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "ExportDataAsCode", - description = "Export data to code (.h), returns true on success", - returnType = "bool", - params = { - {type = "const unsigned char *", name = "data"}, - {type = "int", name = "dataSize"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadFileText", - description = "Load text data from file (read), returns a '\\0' terminated string", - returnType = "char *", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "UnloadFileText", - description = "Unload file text data allocated by LoadFileText()", - returnType = "void", - params = { - {type = "char *", name = "text"} - } - }, - { - name = "SaveFileText", - description = "Save text data to file (write), string must be '\\0' terminated, returns true on success", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "char *", name = "text"} - } - }, - { - name = "FileExists", - description = "Check if file exists", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "DirectoryExists", - description = "Check if a directory path exists", - returnType = "bool", - params = { - {type = "const char *", name = "dirPath"} - } - }, - { - name = "IsFileExtension", - description = "Check file extension (including point: .png, .wav)", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"}, - {type = "const char *", name = "ext"} - } - }, - { - name = "GetFileLength", - description = "Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)", - returnType = "int", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "GetFileExtension", - description = "Get pointer to extension for a filename string (includes dot: '.png')", - returnType = "const char *", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "GetFileName", - description = "Get pointer to filename for a path string", - returnType = "const char *", - params = { - {type = "const char *", name = "filePath"} - } - }, - { - name = "GetFileNameWithoutExt", - description = "Get filename string without extension (uses static string)", - returnType = "const char *", - params = { - {type = "const char *", name = "filePath"} - } - }, - { - name = "GetDirectoryPath", - description = "Get full path for a given fileName with path (uses static string)", - returnType = "const char *", - params = { - {type = "const char *", name = "filePath"} - } - }, - { - name = "GetPrevDirectoryPath", - description = "Get previous directory path for a given path (uses static string)", - returnType = "const char *", - params = { - {type = "const char *", name = "dirPath"} - } - }, - { - name = "GetWorkingDirectory", - description = "Get current working directory (uses static string)", - returnType = "const char *" - }, - { - name = "GetApplicationDirectory", - description = "Get the directory of the running application (uses static string)", - returnType = "const char *" - }, - { - name = "MakeDirectory", - description = "Create directories (including full path requested), returns 0 on success", - returnType = "int", - params = { - {type = "const char *", name = "dirPath"} - } - }, - { - name = "ChangeDirectory", - description = "Change working directory, return true on success", - returnType = "bool", - params = { - {type = "const char *", name = "dir"} - } - }, - { - name = "IsPathFile", - description = "Check if a given path is a file or a directory", - returnType = "bool", - params = { - {type = "const char *", name = "path"} - } - }, - { - name = "IsFileNameValid", - description = "Check if fileName is valid for the platform/OS", - returnType = "bool", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadDirectoryFiles", - description = "Load directory filepaths", - returnType = "FilePathList", - params = { - {type = "const char *", name = "dirPath"} - } - }, - { - name = "LoadDirectoryFilesEx", - description = "Load directory filepaths with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result", - returnType = "FilePathList", - params = { - {type = "const char *", name = "basePath"}, - {type = "const char *", name = "filter"}, - {type = "bool", name = "scanSubdirs"} - } - }, - { - name = "UnloadDirectoryFiles", - description = "Unload filepaths", - returnType = "void", - params = { - {type = "FilePathList", name = "files"} - } - }, - { - name = "IsFileDropped", - description = "Check if a file has been dropped into window", - returnType = "bool" - }, - { - name = "LoadDroppedFiles", - description = "Load dropped filepaths", - returnType = "FilePathList" - }, - { - name = "UnloadDroppedFiles", - description = "Unload dropped filepaths", - returnType = "void", - params = { - {type = "FilePathList", name = "files"} - } - }, - { - name = "GetFileModTime", - description = "Get file modification time (last write time)", - returnType = "long", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "CompressData", - description = "Compress data (DEFLATE algorithm), memory must be MemFree()", - returnType = "unsigned char *", - params = { - {type = "const unsigned char *", name = "data"}, - {type = "int", name = "dataSize"}, - {type = "int *", name = "compDataSize"} - } - }, - { - name = "DecompressData", - description = "Decompress data (DEFLATE algorithm), memory must be MemFree()", - returnType = "unsigned char *", - params = { - {type = "const unsigned char *", name = "compData"}, - {type = "int", name = "compDataSize"}, - {type = "int *", name = "dataSize"} - } - }, - { - name = "EncodeDataBase64", - description = "Encode data to Base64 string, memory must be MemFree()", - returnType = "char *", - params = { - {type = "const unsigned char *", name = "data"}, - {type = "int", name = "dataSize"}, - {type = "int *", name = "outputSize"} - } - }, - { - name = "DecodeDataBase64", - description = "Decode Base64 string data, memory must be MemFree()", - returnType = "unsigned char *", - params = { - {type = "const unsigned char *", name = "data"}, - {type = "int *", name = "outputSize"} - } - }, - { - name = "ComputeCRC32", - description = "Compute CRC32 hash code", - returnType = "unsigned int", - params = { - {type = "unsigned char *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "ComputeMD5", - description = "Compute MD5 hash code, returns static int[4] (16 bytes)", - returnType = "unsigned int *", - params = { - {type = "unsigned char *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "ComputeSHA1", - description = "Compute SHA1 hash code, returns static int[5] (20 bytes)", - returnType = "unsigned int *", - params = { - {type = "unsigned char *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "LoadAutomationEventList", - description = "Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS", - returnType = "AutomationEventList", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "UnloadAutomationEventList", - description = "Unload automation events list from file", - returnType = "void", - params = { - {type = "AutomationEventList", name = "list"} - } - }, - { - name = "ExportAutomationEventList", - description = "Export automation events list as text file", - returnType = "bool", - params = { - {type = "AutomationEventList", name = "list"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "SetAutomationEventList", - description = "Set automation event list to record to", - returnType = "void", - params = { - {type = "AutomationEventList *", name = "list"} - } - }, - { - name = "SetAutomationEventBaseFrame", - description = "Set automation event internal base frame to start recording", - returnType = "void", - params = { - {type = "int", name = "frame"} - } - }, - { - name = "StartAutomationEventRecording", - description = "Start recording automation events (AutomationEventList must be set)", - returnType = "void" - }, - { - name = "StopAutomationEventRecording", - description = "Stop recording automation events", - returnType = "void" - }, - { - name = "PlayAutomationEvent", - description = "Play a recorded automation event", - returnType = "void", - params = { - {type = "AutomationEvent", name = "event"} - } - }, - { - name = "IsKeyPressed", - description = "Check if a key has been pressed once", - returnType = "bool", - params = { - {type = "int", name = "key"} - } - }, - { - name = "IsKeyPressedRepeat", - description = "Check if a key has been pressed again", - returnType = "bool", - params = { - {type = "int", name = "key"} - } - }, - { - name = "IsKeyDown", - description = "Check if a key is being pressed", - returnType = "bool", - params = { - {type = "int", name = "key"} - } - }, - { - name = "IsKeyReleased", - description = "Check if a key has been released once", - returnType = "bool", - params = { - {type = "int", name = "key"} - } - }, - { - name = "IsKeyUp", - description = "Check if a key is NOT being pressed", - returnType = "bool", - params = { - {type = "int", name = "key"} - } - }, - { - name = "GetKeyPressed", - description = "Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty", - returnType = "int" - }, - { - name = "GetCharPressed", - description = "Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty", - returnType = "int" - }, - { - name = "SetExitKey", - description = "Set a custom key to exit program (default is ESC)", - returnType = "void", - params = { - {type = "int", name = "key"} - } - }, - { - name = "IsGamepadAvailable", - description = "Check if a gamepad is available", - returnType = "bool", - params = { - {type = "int", name = "gamepad"} - } - }, - { - name = "GetGamepadName", - description = "Get gamepad internal name id", - returnType = "const char *", - params = { - {type = "int", name = "gamepad"} - } - }, - { - name = "IsGamepadButtonPressed", - description = "Check if a gamepad button has been pressed once", - returnType = "bool", - params = { - {type = "int", name = "gamepad"}, - {type = "int", name = "button"} - } - }, - { - name = "IsGamepadButtonDown", - description = "Check if a gamepad button is being pressed", - returnType = "bool", - params = { - {type = "int", name = "gamepad"}, - {type = "int", name = "button"} - } - }, - { - name = "IsGamepadButtonReleased", - description = "Check if a gamepad button has been released once", - returnType = "bool", - params = { - {type = "int", name = "gamepad"}, - {type = "int", name = "button"} - } - }, - { - name = "IsGamepadButtonUp", - description = "Check if a gamepad button is NOT being pressed", - returnType = "bool", - params = { - {type = "int", name = "gamepad"}, - {type = "int", name = "button"} - } - }, - { - name = "GetGamepadButtonPressed", - description = "Get the last gamepad button pressed", - returnType = "int" - }, - { - name = "GetGamepadAxisCount", - description = "Get gamepad axis count for a gamepad", - returnType = "int", - params = { - {type = "int", name = "gamepad"} - } - }, - { - name = "GetGamepadAxisMovement", - description = "Get axis movement value for a gamepad axis", - returnType = "float", - params = { - {type = "int", name = "gamepad"}, - {type = "int", name = "axis"} - } - }, - { - name = "SetGamepadMappings", - description = "Set internal gamepad mappings (SDL_GameControllerDB)", - returnType = "int", - params = { - {type = "const char *", name = "mappings"} - } - }, - { - name = "SetGamepadVibration", - description = "Set gamepad vibration for both motors (duration in seconds)", - returnType = "void", - params = { - {type = "int", name = "gamepad"}, - {type = "float", name = "leftMotor"}, - {type = "float", name = "rightMotor"}, - {type = "float", name = "duration"} - } - }, - { - name = "IsMouseButtonPressed", - description = "Check if a mouse button has been pressed once", - returnType = "bool", - params = { - {type = "int", name = "button"} - } - }, - { - name = "IsMouseButtonDown", - description = "Check if a mouse button is being pressed", - returnType = "bool", - params = { - {type = "int", name = "button"} - } - }, - { - name = "IsMouseButtonReleased", - description = "Check if a mouse button has been released once", - returnType = "bool", - params = { - {type = "int", name = "button"} - } - }, - { - name = "IsMouseButtonUp", - description = "Check if a mouse button is NOT being pressed", - returnType = "bool", - params = { - {type = "int", name = "button"} - } - }, - { - name = "GetMouseX", - description = "Get mouse position X", - returnType = "int" - }, - { - name = "GetMouseY", - description = "Get mouse position Y", - returnType = "int" - }, - { - name = "GetMousePosition", - description = "Get mouse position XY", - returnType = "Vector2" - }, - { - name = "GetMouseDelta", - description = "Get mouse delta between frames", - returnType = "Vector2" - }, - { - name = "SetMousePosition", - description = "Set mouse position XY", - returnType = "void", - params = { - {type = "int", name = "x"}, - {type = "int", name = "y"} - } - }, - { - name = "SetMouseOffset", - description = "Set mouse offset", - returnType = "void", - params = { - {type = "int", name = "offsetX"}, - {type = "int", name = "offsetY"} - } - }, - { - name = "SetMouseScale", - description = "Set mouse scaling", - returnType = "void", - params = { - {type = "float", name = "scaleX"}, - {type = "float", name = "scaleY"} - } - }, - { - name = "GetMouseWheelMove", - description = "Get mouse wheel movement for X or Y, whichever is larger", - returnType = "float" - }, - { - name = "GetMouseWheelMoveV", - description = "Get mouse wheel movement for both X and Y", - returnType = "Vector2" - }, - { - name = "SetMouseCursor", - description = "Set mouse cursor", - returnType = "void", - params = { - {type = "int", name = "cursor"} - } - }, - { - name = "GetTouchX", - description = "Get touch position X for touch point 0 (relative to screen size)", - returnType = "int" - }, - { - name = "GetTouchY", - description = "Get touch position Y for touch point 0 (relative to screen size)", - returnType = "int" - }, - { - name = "GetTouchPosition", - description = "Get touch position XY for a touch point index (relative to screen size)", - returnType = "Vector2", - params = { - {type = "int", name = "index"} - } - }, - { - name = "GetTouchPointId", - description = "Get touch point identifier for given index", - returnType = "int", - params = { - {type = "int", name = "index"} - } - }, - { - name = "GetTouchPointCount", - description = "Get number of touch points", - returnType = "int" - }, - { - name = "SetGesturesEnabled", - description = "Enable a set of gestures using flags", - returnType = "void", - params = { - {type = "unsigned int", name = "flags"} - } - }, - { - name = "IsGestureDetected", - description = "Check if a gesture have been detected", - returnType = "bool", - params = { - {type = "unsigned int", name = "gesture"} - } - }, - { - name = "GetGestureDetected", - description = "Get latest detected gesture", - returnType = "int" - }, - { - name = "GetGestureHoldDuration", - description = "Get gesture hold time in seconds", - returnType = "float" - }, - { - name = "GetGestureDragVector", - description = "Get gesture drag vector", - returnType = "Vector2" - }, - { - name = "GetGestureDragAngle", - description = "Get gesture drag angle", - returnType = "float" - }, - { - name = "GetGesturePinchVector", - description = "Get gesture pinch delta", - returnType = "Vector2" - }, - { - name = "GetGesturePinchAngle", - description = "Get gesture pinch angle", - returnType = "float" - }, - { - name = "UpdateCamera", - description = "Update camera position for selected mode", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "int", name = "mode"} - } - }, - { - name = "UpdateCameraPro", - description = "Update camera movement/rotation", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "Vector3", name = "movement"}, - {type = "Vector3", name = "rotation"}, - {type = "float", name = "zoom"} - } - }, - { - name = "SetShapesTexture", - description = "Set texture and rectangle to be used on shapes drawing", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "source"} - } - }, - { - name = "GetShapesTexture", - description = "Get texture that is used for shapes drawing", - returnType = "Texture2D" - }, - { - name = "GetShapesTextureRectangle", - description = "Get texture source rectangle that is used for shapes drawing", - returnType = "Rectangle" - }, - { - name = "DrawPixel", - description = "Draw a pixel using geometry [Can be slow, use with care]", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPixelV", - description = "Draw a pixel using geometry (Vector version) [Can be slow, use with care]", - returnType = "void", - params = { - {type = "Vector2", name = "position"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawLine", - description = "Draw a line", - returnType = "void", - params = { - {type = "int", name = "startPosX"}, - {type = "int", name = "startPosY"}, - {type = "int", name = "endPosX"}, - {type = "int", name = "endPosY"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawLineV", - description = "Draw a line (using gl lines)", - returnType = "void", - params = { - {type = "Vector2", name = "startPos"}, - {type = "Vector2", name = "endPos"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawLineEx", - description = "Draw a line (using triangles/quads)", - returnType = "void", - params = { - {type = "Vector2", name = "startPos"}, - {type = "Vector2", name = "endPos"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawLineStrip", - description = "Draw lines sequence (using gl lines)", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawLineBezier", - description = "Draw line segment cubic-bezier in-out interpolation", - returnType = "void", - params = { - {type = "Vector2", name = "startPos"}, - {type = "Vector2", name = "endPos"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircle", - description = "Draw a color-filled circle", - returnType = "void", - params = { - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "float", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircleSector", - description = "Draw a piece of a circle", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "float", name = "startAngle"}, - {type = "float", name = "endAngle"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircleSectorLines", - description = "Draw circle sector outline", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "float", name = "startAngle"}, - {type = "float", name = "endAngle"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircleGradient", - description = "Draw a gradient-filled circle", - returnType = "void", - params = { - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "float", name = "radius"}, - {type = "Color", name = "inner"}, - {type = "Color", name = "outer"} - } - }, - { - name = "DrawCircleV", - description = "Draw a color-filled circle (Vector version)", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircleLines", - description = "Draw circle outline", - returnType = "void", - params = { - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "float", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircleLinesV", - description = "Draw circle outline (Vector version)", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawEllipse", - description = "Draw ellipse", - returnType = "void", - params = { - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "float", name = "radiusH"}, - {type = "float", name = "radiusV"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawEllipseLines", - description = "Draw ellipse outline", - returnType = "void", - params = { - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "float", name = "radiusH"}, - {type = "float", name = "radiusV"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRing", - description = "Draw ring", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "innerRadius"}, - {type = "float", name = "outerRadius"}, - {type = "float", name = "startAngle"}, - {type = "float", name = "endAngle"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRingLines", - description = "Draw ring outline", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "innerRadius"}, - {type = "float", name = "outerRadius"}, - {type = "float", name = "startAngle"}, - {type = "float", name = "endAngle"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangle", - description = "Draw a color-filled rectangle", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleV", - description = "Draw a color-filled rectangle (Vector version)", - returnType = "void", - params = { - {type = "Vector2", name = "position"}, - {type = "Vector2", name = "size"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleRec", - description = "Draw a color-filled rectangle", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectanglePro", - description = "Draw a color-filled rectangle with pro parameters", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "Vector2", name = "origin"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleGradientV", - description = "Draw a vertical-gradient-filled rectangle", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "top"}, - {type = "Color", name = "bottom"} - } - }, - { - name = "DrawRectangleGradientH", - description = "Draw a horizontal-gradient-filled rectangle", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "left"}, - {type = "Color", name = "right"} - } - }, - { - name = "DrawRectangleGradientEx", - description = "Draw a gradient-filled rectangle with custom vertex colors", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "Color", name = "topLeft"}, - {type = "Color", name = "bottomLeft"}, - {type = "Color", name = "topRight"}, - {type = "Color", name = "bottomRight"} - } - }, - { - name = "DrawRectangleLines", - description = "Draw rectangle outline", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleLinesEx", - description = "Draw rectangle outline with extended parameters", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "float", name = "lineThick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleRounded", - description = "Draw rectangle with rounded edges", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "float", name = "roundness"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleRoundedLines", - description = "Draw rectangle lines with rounded edges", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "float", name = "roundness"}, - {type = "int", name = "segments"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRectangleRoundedLinesEx", - description = "Draw rectangle with rounded edges outline", - returnType = "void", - params = { - {type = "Rectangle", name = "rec"}, - {type = "float", name = "roundness"}, - {type = "int", name = "segments"}, - {type = "float", name = "lineThick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangle", - description = "Draw a color-filled triangle (vertex in counter-clockwise order!)", - returnType = "void", - params = { - {type = "Vector2", name = "v1"}, - {type = "Vector2", name = "v2"}, - {type = "Vector2", name = "v3"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangleLines", - description = "Draw triangle outline (vertex in counter-clockwise order!)", - returnType = "void", - params = { - {type = "Vector2", name = "v1"}, - {type = "Vector2", name = "v2"}, - {type = "Vector2", name = "v3"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangleFan", - description = "Draw a triangle fan defined by points (first vertex is the center)", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangleStrip", - description = "Draw a triangle strip defined by points", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPoly", - description = "Draw a regular polygon (Vector version)", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "int", name = "sides"}, - {type = "float", name = "radius"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPolyLines", - description = "Draw a polygon outline of n sides", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "int", name = "sides"}, - {type = "float", name = "radius"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPolyLinesEx", - description = "Draw a polygon outline of n sides with extended parameters", - returnType = "void", - params = { - {type = "Vector2", name = "center"}, - {type = "int", name = "sides"}, - {type = "float", name = "radius"}, - {type = "float", name = "rotation"}, - {type = "float", name = "lineThick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineLinear", - description = "Draw spline: Linear, minimum 2 points", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineBasis", - description = "Draw spline: B-Spline, minimum 4 points", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineCatmullRom", - description = "Draw spline: Catmull-Rom, minimum 4 points", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineBezierQuadratic", - description = "Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineBezierCubic", - description = "Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]", - returnType = "void", - params = { - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineSegmentLinear", - description = "Draw spline segment: Linear, 2 points", - returnType = "void", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineSegmentBasis", - description = "Draw spline segment: B-Spline, 4 points", - returnType = "void", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "Vector2", name = "p3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineSegmentCatmullRom", - description = "Draw spline segment: Catmull-Rom, 4 points", - returnType = "void", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "Vector2", name = "p3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineSegmentBezierQuadratic", - description = "Draw spline segment: Quadratic Bezier, 2 points, 1 control point", - returnType = "void", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "c2"}, - {type = "Vector2", name = "p3"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSplineSegmentBezierCubic", - description = "Draw spline segment: Cubic Bezier, 2 points, 2 control points", - returnType = "void", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "c2"}, - {type = "Vector2", name = "c3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "GetSplinePointLinear", - description = "Get (evaluate) spline point: Linear", - returnType = "Vector2", - params = { - {type = "Vector2", name = "startPos"}, - {type = "Vector2", name = "endPos"}, - {type = "float", name = "t"} - } - }, - { - name = "GetSplinePointBasis", - description = "Get (evaluate) spline point: B-Spline", - returnType = "Vector2", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "Vector2", name = "p3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "t"} - } - }, - { - name = "GetSplinePointCatmullRom", - description = "Get (evaluate) spline point: Catmull-Rom", - returnType = "Vector2", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "Vector2", name = "p3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "t"} - } - }, - { - name = "GetSplinePointBezierQuad", - description = "Get (evaluate) spline point: Quadratic Bezier", - returnType = "Vector2", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "c2"}, - {type = "Vector2", name = "p3"}, - {type = "float", name = "t"} - } - }, - { - name = "GetSplinePointBezierCubic", - description = "Get (evaluate) spline point: Cubic Bezier", - returnType = "Vector2", - params = { - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "c2"}, - {type = "Vector2", name = "c3"}, - {type = "Vector2", name = "p4"}, - {type = "float", name = "t"} - } - }, - { - name = "CheckCollisionRecs", - description = "Check collision between two rectangles", - returnType = "bool", - params = { - {type = "Rectangle", name = "rec1"}, - {type = "Rectangle", name = "rec2"} - } - }, - { - name = "CheckCollisionCircles", - description = "Check collision between two circles", - returnType = "bool", - params = { - {type = "Vector2", name = "center1"}, - {type = "float", name = "radius1"}, - {type = "Vector2", name = "center2"}, - {type = "float", name = "radius2"} - } - }, - { - name = "CheckCollisionCircleRec", - description = "Check collision between circle and rectangle", - returnType = "bool", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "Rectangle", name = "rec"} - } - }, - { - name = "CheckCollisionCircleLine", - description = "Check if circle collides with a line created betweeen two points [p1] and [p2]", - returnType = "bool", - params = { - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"}, - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"} - } - }, - { - name = "CheckCollisionPointRec", - description = "Check if point is inside rectangle", - returnType = "bool", - params = { - {type = "Vector2", name = "point"}, - {type = "Rectangle", name = "rec"} - } - }, - { - name = "CheckCollisionPointCircle", - description = "Check if point is inside circle", - returnType = "bool", - params = { - {type = "Vector2", name = "point"}, - {type = "Vector2", name = "center"}, - {type = "float", name = "radius"} - } - }, - { - name = "CheckCollisionPointTriangle", - description = "Check if point is inside a triangle", - returnType = "bool", - params = { - {type = "Vector2", name = "point"}, - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "Vector2", name = "p3"} - } - }, - { - name = "CheckCollisionPointLine", - description = "Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]", - returnType = "bool", - params = { - {type = "Vector2", name = "point"}, - {type = "Vector2", name = "p1"}, - {type = "Vector2", name = "p2"}, - {type = "int", name = "threshold"} - } - }, - { - name = "CheckCollisionPointPoly", - description = "Check if point is within a polygon described by array of vertices", - returnType = "bool", - params = { - {type = "Vector2", name = "point"}, - {type = "const Vector2 *", name = "points"}, - {type = "int", name = "pointCount"} - } - }, - { - name = "CheckCollisionLines", - description = "Check the collision between two lines defined by two points each, returns collision point by reference", - returnType = "bool", - params = { - {type = "Vector2", name = "startPos1"}, - {type = "Vector2", name = "endPos1"}, - {type = "Vector2", name = "startPos2"}, - {type = "Vector2", name = "endPos2"}, - {type = "Vector2 *", name = "collisionPoint"} - } - }, - { - name = "GetCollisionRec", - description = "Get collision rectangle for two rectangles collision", - returnType = "Rectangle", - params = { - {type = "Rectangle", name = "rec1"}, - {type = "Rectangle", name = "rec2"} - } - }, - { - name = "LoadImage", - description = "Load image from file into CPU memory (RAM)", - returnType = "Image", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadImageRaw", - description = "Load image from RAW file data", - returnType = "Image", - params = { - {type = "const char *", name = "fileName"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "format"}, - {type = "int", name = "headerSize"} - } - }, - { - name = "LoadImageAnim", - description = "Load image sequence from file (frames appended to image.data)", - returnType = "Image", - params = { - {type = "const char *", name = "fileName"}, - {type = "int *", name = "frames"} - } - }, - { - name = "LoadImageAnimFromMemory", - description = "Load image sequence from memory buffer", - returnType = "Image", - params = { - {type = "const char *", name = "fileType"}, - {type = "const unsigned char *", name = "fileData"}, - {type = "int", name = "dataSize"}, - {type = "int *", name = "frames"} - } - }, - { - name = "LoadImageFromMemory", - description = "Load image from memory buffer, fileType refers to extension: i.e. '.png'", - returnType = "Image", - params = { - {type = "const char *", name = "fileType"}, - {type = "const unsigned char *", name = "fileData"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "LoadImageFromTexture", - description = "Load image from GPU texture data", - returnType = "Image", - params = { - {type = "Texture2D", name = "texture"} - } - }, - { - name = "LoadImageFromScreen", - description = "Load image from screen buffer and (screenshot)", - returnType = "Image" - }, - { - name = "IsImageValid", - description = "Check if an image is valid (data and parameters)", - returnType = "bool", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "UnloadImage", - description = "Unload image from CPU memory (RAM)", - returnType = "void", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "ExportImage", - description = "Export image data to file, returns true on success", - returnType = "bool", - params = { - {type = "Image", name = "image"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "ExportImageToMemory", - description = "Export image to memory buffer", - returnType = "unsigned char *", - params = { - {type = "Image", name = "image"}, - {type = "const char *", name = "fileType"}, - {type = "int *", name = "fileSize"} - } - }, - { - name = "ExportImageAsCode", - description = "Export image as code file defining an array of bytes, returns true on success", - returnType = "bool", - params = { - {type = "Image", name = "image"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "GenImageColor", - description = "Generate image: plain color", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "color"} - } - }, - { - name = "GenImageGradientLinear", - description = "Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "direction"}, - {type = "Color", name = "start"}, - {type = "Color", name = "end"} - } - }, - { - name = "GenImageGradientRadial", - description = "Generate image: radial gradient", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "float", name = "density"}, - {type = "Color", name = "inner"}, - {type = "Color", name = "outer"} - } - }, - { - name = "GenImageGradientSquare", - description = "Generate image: square gradient", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "float", name = "density"}, - {type = "Color", name = "inner"}, - {type = "Color", name = "outer"} - } - }, - { - name = "GenImageChecked", - description = "Generate image: checked", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "checksX"}, - {type = "int", name = "checksY"}, - {type = "Color", name = "col1"}, - {type = "Color", name = "col2"} - } - }, - { - name = "GenImageWhiteNoise", - description = "Generate image: white noise", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "float", name = "factor"} - } - }, - { - name = "GenImagePerlinNoise", - description = "Generate image: perlin noise", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "offsetX"}, - {type = "int", name = "offsetY"}, - {type = "float", name = "scale"} - } - }, - { - name = "GenImageCellular", - description = "Generate image: cellular algorithm, bigger tileSize means bigger cells", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "tileSize"} - } - }, - { - name = "GenImageText", - description = "Generate image: grayscale image from text data", - returnType = "Image", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "const char *", name = "text"} - } - }, - { - name = "ImageCopy", - description = "Create an image duplicate (useful for transformations)", - returnType = "Image", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "ImageFromImage", - description = "Create an image from another image piece", - returnType = "Image", - params = { - {type = "Image", name = "image"}, - {type = "Rectangle", name = "rec"} - } - }, - { - name = "ImageFromChannel", - description = "Create an image from a selected channel of another image (GRAYSCALE)", - returnType = "Image", - params = { - {type = "Image", name = "image"}, - {type = "int", name = "selectedChannel"} - } - }, - { - name = "ImageText", - description = "Create an image from text (default font)", - returnType = "Image", - params = { - {type = "const char *", name = "text"}, - {type = "int", name = "fontSize"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageTextEx", - description = "Create an image from text (custom sprite font)", - returnType = "Image", - params = { - {type = "Font", name = "font"}, - {type = "const char *", name = "text"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"}, - {type = "Color", name = "tint"} - } - }, - { - name = "ImageFormat", - description = "Convert image data to desired format", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "newFormat"} - } - }, - { - name = "ImageToPOT", - description = "Convert image to POT (power-of-two)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Color", name = "fill"} - } - }, - { - name = "ImageCrop", - description = "Crop an image to a defined rectangle", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Rectangle", name = "crop"} - } - }, - { - name = "ImageAlphaCrop", - description = "Crop image depending on alpha value", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "float", name = "threshold"} - } - }, - { - name = "ImageAlphaClear", - description = "Clear alpha channel to desired color", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Color", name = "color"}, - {type = "float", name = "threshold"} - } - }, - { - name = "ImageAlphaMask", - description = "Apply alpha mask to image", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Image", name = "alphaMask"} - } - }, - { - name = "ImageAlphaPremultiply", - description = "Premultiply alpha channel", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageBlurGaussian", - description = "Apply Gaussian blur using a box blur approximation", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "blurSize"} - } - }, - { - name = "ImageKernelConvolution", - description = "Apply custom square convolution kernel to image", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "const float *", name = "kernel"}, - {type = "int", name = "kernelSize"} - } - }, - { - name = "ImageResize", - description = "Resize image (Bicubic scaling algorithm)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "newWidth"}, - {type = "int", name = "newHeight"} - } - }, - { - name = "ImageResizeNN", - description = "Resize image (Nearest-Neighbor scaling algorithm)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "newWidth"}, - {type = "int", name = "newHeight"} - } - }, - { - name = "ImageResizeCanvas", - description = "Resize canvas and fill with color", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "newWidth"}, - {type = "int", name = "newHeight"}, - {type = "int", name = "offsetX"}, - {type = "int", name = "offsetY"}, - {type = "Color", name = "fill"} - } - }, - { - name = "ImageMipmaps", - description = "Compute all mipmap levels for a provided image", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageDither", - description = "Dither image data to 16bpp or lower (Floyd-Steinberg dithering)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "rBpp"}, - {type = "int", name = "gBpp"}, - {type = "int", name = "bBpp"}, - {type = "int", name = "aBpp"} - } - }, - { - name = "ImageFlipVertical", - description = "Flip image vertically", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageFlipHorizontal", - description = "Flip image horizontally", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageRotate", - description = "Rotate image by input angle in degrees (-359 to 359)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "degrees"} - } - }, - { - name = "ImageRotateCW", - description = "Rotate image clockwise 90deg", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageRotateCCW", - description = "Rotate image counter-clockwise 90deg", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageColorTint", - description = "Modify image color: tint", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageColorInvert", - description = "Modify image color: invert", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageColorGrayscale", - description = "Modify image color: grayscale", - returnType = "void", - params = { - {type = "Image *", name = "image"} - } - }, - { - name = "ImageColorContrast", - description = "Modify image color: contrast (-100 to 100)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "float", name = "contrast"} - } - }, - { - name = "ImageColorBrightness", - description = "Modify image color: brightness (-255 to 255)", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "int", name = "brightness"} - } - }, - { - name = "ImageColorReplace", - description = "Modify image color: replace color", - returnType = "void", - params = { - {type = "Image *", name = "image"}, - {type = "Color", name = "color"}, - {type = "Color", name = "replace"} - } - }, - { - name = "LoadImageColors", - description = "Load color data from image as a Color array (RGBA - 32bit)", - returnType = "Color *", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "LoadImagePalette", - description = "Load colors palette from image as a Color array (RGBA - 32bit)", - returnType = "Color *", - params = { - {type = "Image", name = "image"}, - {type = "int", name = "maxPaletteSize"}, - {type = "int *", name = "colorCount"} - } - }, - { - name = "UnloadImageColors", - description = "Unload color data loaded with LoadImageColors()", - returnType = "void", - params = { - {type = "Color *", name = "colors"} - } - }, - { - name = "UnloadImagePalette", - description = "Unload colors palette loaded with LoadImagePalette()", - returnType = "void", - params = { - {type = "Color *", name = "colors"} - } - }, - { - name = "GetImageAlphaBorder", - description = "Get image alpha border rectangle", - returnType = "Rectangle", - params = { - {type = "Image", name = "image"}, - {type = "float", name = "threshold"} - } - }, - { - name = "GetImageColor", - description = "Get image pixel color at (x, y) position", - returnType = "Color", - params = { - {type = "Image", name = "image"}, - {type = "int", name = "x"}, - {type = "int", name = "y"} - } - }, - { - name = "ImageClearBackground", - description = "Clear image background with given color", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawPixel", - description = "Draw pixel within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawPixelV", - description = "Draw pixel within an image (Vector version)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "position"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawLine", - description = "Draw line within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "int", name = "startPosX"}, - {type = "int", name = "startPosY"}, - {type = "int", name = "endPosX"}, - {type = "int", name = "endPosY"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawLineV", - description = "Draw line within an image (Vector version)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "start"}, - {type = "Vector2", name = "end"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawLineEx", - description = "Draw a line defining thickness within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "start"}, - {type = "Vector2", name = "end"}, - {type = "int", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawCircle", - description = "Draw a filled circle within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "int", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawCircleV", - description = "Draw a filled circle within an image (Vector version)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "center"}, - {type = "int", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawCircleLines", - description = "Draw circle outline within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "int", name = "centerX"}, - {type = "int", name = "centerY"}, - {type = "int", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawCircleLinesV", - description = "Draw circle outline within an image (Vector version)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "center"}, - {type = "int", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawRectangle", - description = "Draw rectangle within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawRectangleV", - description = "Draw rectangle within an image (Vector version)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "position"}, - {type = "Vector2", name = "size"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawRectangleRec", - description = "Draw rectangle within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Rectangle", name = "rec"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawRectangleLines", - description = "Draw rectangle lines within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Rectangle", name = "rec"}, - {type = "int", name = "thick"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawTriangle", - description = "Draw triangle within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "v1"}, - {type = "Vector2", name = "v2"}, - {type = "Vector2", name = "v3"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawTriangleEx", - description = "Draw triangle with interpolated colors within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "v1"}, - {type = "Vector2", name = "v2"}, - {type = "Vector2", name = "v3"}, - {type = "Color", name = "c1"}, - {type = "Color", name = "c2"}, - {type = "Color", name = "c3"} - } - }, - { - name = "ImageDrawTriangleLines", - description = "Draw triangle outline within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2", name = "v1"}, - {type = "Vector2", name = "v2"}, - {type = "Vector2", name = "v3"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawTriangleFan", - description = "Draw a triangle fan defined by points within an image (first vertex is the center)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawTriangleStrip", - description = "Draw a triangle strip defined by points within an image", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Vector2 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDraw", - description = "Draw a source image within a destination image (tint applied to source)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Image", name = "src"}, - {type = "Rectangle", name = "srcRec"}, - {type = "Rectangle", name = "dstRec"}, - {type = "Color", name = "tint"} - } - }, - { - name = "ImageDrawText", - description = "Draw text (using default font) within an image (destination)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "const char *", name = "text"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "fontSize"}, - {type = "Color", name = "color"} - } - }, - { - name = "ImageDrawTextEx", - description = "Draw text (custom sprite font) within an image (destination)", - returnType = "void", - params = { - {type = "Image *", name = "dst"}, - {type = "Font", name = "font"}, - {type = "const char *", name = "text"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"}, - {type = "Color", name = "tint"} - } - }, - { - name = "LoadTexture", - description = "Load texture from file into GPU memory (VRAM)", - returnType = "Texture2D", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadTextureFromImage", - description = "Load texture from image data", - returnType = "Texture2D", - params = { - {type = "Image", name = "image"} - } - }, - { - name = "LoadTextureCubemap", - description = "Load cubemap from image, multiple image cubemap layouts supported", - returnType = "TextureCubemap", - params = { - {type = "Image", name = "image"}, - {type = "int", name = "layout"} - } - }, - { - name = "LoadRenderTexture", - description = "Load texture for rendering (framebuffer)", - returnType = "RenderTexture2D", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"} - } - }, - { - name = "IsTextureValid", - description = "Check if a texture is valid (loaded in GPU)", - returnType = "bool", - params = { - {type = "Texture2D", name = "texture"} - } - }, - { - name = "UnloadTexture", - description = "Unload texture from GPU memory (VRAM)", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"} - } - }, - { - name = "IsRenderTextureValid", - description = "Check if a render texture is valid (loaded in GPU)", - returnType = "bool", - params = { - {type = "RenderTexture2D", name = "target"} - } - }, - { - name = "UnloadRenderTexture", - description = "Unload render texture from GPU memory (VRAM)", - returnType = "void", - params = { - {type = "RenderTexture2D", name = "target"} - } - }, - { - name = "UpdateTexture", - description = "Update GPU texture with new data", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "const void *", name = "pixels"} - } - }, - { - name = "UpdateTextureRec", - description = "Update GPU texture rectangle with new data", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "rec"}, - {type = "const void *", name = "pixels"} - } - }, - { - name = "GenTextureMipmaps", - description = "Generate GPU mipmaps for a texture", - returnType = "void", - params = { - {type = "Texture2D *", name = "texture"} - } - }, - { - name = "SetTextureFilter", - description = "Set texture scaling filter mode", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "int", name = "filter"} - } - }, - { - name = "SetTextureWrap", - description = "Set texture wrapping mode", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "int", name = "wrap"} - } - }, - { - name = "DrawTexture", - description = "Draw a Texture2D", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextureV", - description = "Draw a Texture2D with position defined as Vector2", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Vector2", name = "position"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextureEx", - description = "Draw a Texture2D with extended parameters", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "rotation"}, - {type = "float", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextureRec", - description = "Draw a part of a texture defined by a rectangle", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "source"}, - {type = "Vector2", name = "position"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTexturePro", - description = "Draw a part of a texture defined by a rectangle with 'pro' parameters", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "source"}, - {type = "Rectangle", name = "dest"}, - {type = "Vector2", name = "origin"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextureNPatch", - description = "Draws a texture (or part of it) that stretches or shrinks nicely", - returnType = "void", - params = { - {type = "Texture2D", name = "texture"}, - {type = "NPatchInfo", name = "nPatchInfo"}, - {type = "Rectangle", name = "dest"}, - {type = "Vector2", name = "origin"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "tint"} - } - }, - { - name = "ColorIsEqual", - description = "Check if two colors are equal", - returnType = "bool", - params = { - {type = "Color", name = "col1"}, - {type = "Color", name = "col2"} - } - }, - { - name = "Fade", - description = "Get color with alpha applied, alpha goes from 0.0f to 1.0f", - returnType = "Color", - params = { - {type = "Color", name = "color"}, - {type = "float", name = "alpha"} - } - }, - { - name = "ColorToInt", - description = "Get hexadecimal value for a Color (0xRRGGBBAA)", - returnType = "int", - params = { - {type = "Color", name = "color"} - } - }, - { - name = "ColorNormalize", - description = "Get Color normalized as float [0..1]", - returnType = "Vector4", - params = { - {type = "Color", name = "color"} - } - }, - { - name = "ColorFromNormalized", - description = "Get Color from normalized values [0..1]", - returnType = "Color", - params = { - {type = "Vector4", name = "normalized"} - } - }, - { - name = "ColorToHSV", - description = "Get HSV values for a Color, hue [0..360], saturation/value [0..1]", - returnType = "Vector3", - params = { - {type = "Color", name = "color"} - } - }, - { - name = "ColorFromHSV", - description = "Get a Color from HSV values, hue [0..360], saturation/value [0..1]", - returnType = "Color", - params = { - {type = "float", name = "hue"}, - {type = "float", name = "saturation"}, - {type = "float", name = "value"} - } - }, - { - name = "ColorTint", - description = "Get color multiplied with another color", - returnType = "Color", - params = { - {type = "Color", name = "color"}, - {type = "Color", name = "tint"} - } - }, - { - name = "ColorBrightness", - description = "Get color with brightness correction, brightness factor goes from -1.0f to 1.0f", - returnType = "Color", - params = { - {type = "Color", name = "color"}, - {type = "float", name = "factor"} - } - }, - { - name = "ColorContrast", - description = "Get color with contrast correction, contrast values between -1.0f and 1.0f", - returnType = "Color", - params = { - {type = "Color", name = "color"}, - {type = "float", name = "contrast"} - } - }, - { - name = "ColorAlpha", - description = "Get color with alpha applied, alpha goes from 0.0f to 1.0f", - returnType = "Color", - params = { - {type = "Color", name = "color"}, - {type = "float", name = "alpha"} - } - }, - { - name = "ColorAlphaBlend", - description = "Get src alpha-blended into dst color with tint", - returnType = "Color", - params = { - {type = "Color", name = "dst"}, - {type = "Color", name = "src"}, - {type = "Color", name = "tint"} - } - }, - { - name = "ColorLerp", - description = "Get color lerp interpolation between two colors, factor [0.0f..1.0f]", - returnType = "Color", - params = { - {type = "Color", name = "color1"}, - {type = "Color", name = "color2"}, - {type = "float", name = "factor"} - } - }, - { - name = "GetColor", - description = "Get Color structure from hexadecimal value", - returnType = "Color", - params = { - {type = "unsigned int", name = "hexValue"} - } - }, - { - name = "GetPixelColor", - description = "Get Color from a source pixel pointer of certain format", - returnType = "Color", - params = { - {type = "void *", name = "srcPtr"}, - {type = "int", name = "format"} - } - }, - { - name = "SetPixelColor", - description = "Set color formatted into destination pixel pointer", - returnType = "void", - params = { - {type = "void *", name = "dstPtr"}, - {type = "Color", name = "color"}, - {type = "int", name = "format"} - } - }, - { - name = "GetPixelDataSize", - description = "Get pixel data size in bytes for certain format", - returnType = "int", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"}, - {type = "int", name = "format"} - } - }, - { - name = "GetFontDefault", - description = "Get the default Font", - returnType = "Font" - }, - { - name = "LoadFont", - description = "Load font from file into GPU memory (VRAM)", - returnType = "Font", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadFontEx", - description = "Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height", - returnType = "Font", - params = { - {type = "const char *", name = "fileName"}, - {type = "int", name = "fontSize"}, - {type = "int *", name = "codepoints"}, - {type = "int", name = "codepointCount"} - } - }, - { - name = "LoadFontFromImage", - description = "Load font from Image (XNA style)", - returnType = "Font", - params = { - {type = "Image", name = "image"}, - {type = "Color", name = "key"}, - {type = "int", name = "firstChar"} - } - }, - { - name = "LoadFontFromMemory", - description = "Load font from memory buffer, fileType refers to extension: i.e. '.ttf'", - returnType = "Font", - params = { - {type = "const char *", name = "fileType"}, - {type = "const unsigned char *", name = "fileData"}, - {type = "int", name = "dataSize"}, - {type = "int", name = "fontSize"}, - {type = "int *", name = "codepoints"}, - {type = "int", name = "codepointCount"} - } - }, - { - name = "IsFontValid", - description = "Check if a font is valid (font data loaded, WARNING: GPU texture not checked)", - returnType = "bool", - params = { - {type = "Font", name = "font"} - } - }, - { - name = "LoadFontData", - description = "Load font data for further use", - returnType = "GlyphInfo *", - params = { - {type = "const unsigned char *", name = "fileData"}, - {type = "int", name = "dataSize"}, - {type = "int", name = "fontSize"}, - {type = "int *", name = "codepoints"}, - {type = "int", name = "codepointCount"}, - {type = "int", name = "type"} - } - }, - { - name = "GenImageFontAtlas", - description = "Generate image font atlas using chars info", - returnType = "Image", - params = { - {type = "const GlyphInfo *", name = "glyphs"}, - {type = "Rectangle **", name = "glyphRecs"}, - {type = "int", name = "glyphCount"}, - {type = "int", name = "fontSize"}, - {type = "int", name = "padding"}, - {type = "int", name = "packMethod"} - } - }, - { - name = "UnloadFontData", - description = "Unload font chars info data (RAM)", - returnType = "void", - params = { - {type = "GlyphInfo *", name = "glyphs"}, - {type = "int", name = "glyphCount"} - } - }, - { - name = "UnloadFont", - description = "Unload font from GPU memory (VRAM)", - returnType = "void", - params = { - {type = "Font", name = "font"} - } - }, - { - name = "ExportFontAsCode", - description = "Export font as code file, returns true on success", - returnType = "bool", - params = { - {type = "Font", name = "font"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "DrawFPS", - description = "Draw current FPS", - returnType = "void", - params = { - {type = "int", name = "posX"}, - {type = "int", name = "posY"} - } - }, - { - name = "DrawText", - description = "Draw text (using default font)", - returnType = "void", - params = { - {type = "const char *", name = "text"}, - {type = "int", name = "posX"}, - {type = "int", name = "posY"}, - {type = "int", name = "fontSize"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTextEx", - description = "Draw text using font and additional parameters", - returnType = "void", - params = { - {type = "Font", name = "font"}, - {type = "const char *", name = "text"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextPro", - description = "Draw text using Font and pro parameters (rotation)", - returnType = "void", - params = { - {type = "Font", name = "font"}, - {type = "const char *", name = "text"}, - {type = "Vector2", name = "position"}, - {type = "Vector2", name = "origin"}, - {type = "float", name = "rotation"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextCodepoint", - description = "Draw one character (codepoint)", - returnType = "void", - params = { - {type = "Font", name = "font"}, - {type = "int", name = "codepoint"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "fontSize"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawTextCodepoints", - description = "Draw multiple character (codepoint)", - returnType = "void", - params = { - {type = "Font", name = "font"}, - {type = "const int *", name = "codepoints"}, - {type = "int", name = "codepointCount"}, - {type = "Vector2", name = "position"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"}, - {type = "Color", name = "tint"} - } - }, - { - name = "SetTextLineSpacing", - description = "Set vertical line spacing when drawing with line-breaks", - returnType = "void", - params = { - {type = "int", name = "spacing"} - } - }, - { - name = "MeasureText", - description = "Measure string width for default font", - returnType = "int", - params = { - {type = "const char *", name = "text"}, - {type = "int", name = "fontSize"} - } - }, - { - name = "MeasureTextEx", - description = "Measure string size for Font", - returnType = "Vector2", - params = { - {type = "Font", name = "font"}, - {type = "const char *", name = "text"}, - {type = "float", name = "fontSize"}, - {type = "float", name = "spacing"} - } - }, - { - name = "GetGlyphIndex", - description = "Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found", - returnType = "int", - params = { - {type = "Font", name = "font"}, - {type = "int", name = "codepoint"} - } - }, - { - name = "GetGlyphInfo", - description = "Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found", - returnType = "GlyphInfo", - params = { - {type = "Font", name = "font"}, - {type = "int", name = "codepoint"} - } - }, - { - name = "GetGlyphAtlasRec", - description = "Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found", - returnType = "Rectangle", - params = { - {type = "Font", name = "font"}, - {type = "int", name = "codepoint"} - } - }, - { - name = "LoadUTF8", - description = "Load UTF-8 text encoded from codepoints array", - returnType = "char *", - params = { - {type = "const int *", name = "codepoints"}, - {type = "int", name = "length"} - } - }, - { - name = "UnloadUTF8", - description = "Unload UTF-8 text encoded from codepoints array", - returnType = "void", - params = { - {type = "char *", name = "text"} - } - }, - { - name = "LoadCodepoints", - description = "Load all codepoints from a UTF-8 text string, codepoints count returned by parameter", - returnType = "int *", - params = { - {type = "const char *", name = "text"}, - {type = "int *", name = "count"} - } - }, - { - name = "UnloadCodepoints", - description = "Unload codepoints data from memory", - returnType = "void", - params = { - {type = "int *", name = "codepoints"} - } - }, - { - name = "GetCodepointCount", - description = "Get total number of codepoints in a UTF-8 encoded string", - returnType = "int", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "GetCodepoint", - description = "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", - returnType = "int", - params = { - {type = "const char *", name = "text"}, - {type = "int *", name = "codepointSize"} - } - }, - { - name = "GetCodepointNext", - description = "Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", - returnType = "int", - params = { - {type = "const char *", name = "text"}, - {type = "int *", name = "codepointSize"} - } - }, - { - name = "GetCodepointPrevious", - description = "Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure", - returnType = "int", - params = { - {type = "const char *", name = "text"}, - {type = "int *", name = "codepointSize"} - } - }, - { - name = "CodepointToUTF8", - description = "Encode one codepoint into UTF-8 byte array (array length returned as parameter)", - returnType = "const char *", - params = { - {type = "int", name = "codepoint"}, - {type = "int *", name = "utf8Size"} - } - }, - { - name = "TextCopy", - description = "Copy one string to another, returns bytes copied", - returnType = "int", - params = { - {type = "char *", name = "dst"}, - {type = "const char *", name = "src"} - } - }, - { - name = "TextIsEqual", - description = "Check if two text string are equal", - returnType = "bool", - params = { - {type = "const char *", name = "text1"}, - {type = "const char *", name = "text2"} - } - }, - { - name = "TextLength", - description = "Get text length, checks for '\\0' ending", - returnType = "unsigned int", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextFormat", - description = "Text formatting with variables (sprintf() style)", - returnType = "const char *", - params = { - {type = "const char *", name = "text"}, - {type = "...", name = "args"} - } - }, - { - name = "TextSubtext", - description = "Get a piece of a text string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"}, - {type = "int", name = "position"}, - {type = "int", name = "length"} - } - }, - { - name = "TextReplace", - description = "Replace text string (WARNING: memory must be freed!)", - returnType = "char *", - params = { - {type = "const char *", name = "text"}, - {type = "const char *", name = "replace"}, - {type = "const char *", name = "by"} - } - }, - { - name = "TextInsert", - description = "Insert text in a position (WARNING: memory must be freed!)", - returnType = "char *", - params = { - {type = "const char *", name = "text"}, - {type = "const char *", name = "insert"}, - {type = "int", name = "position"} - } - }, - { - name = "TextJoin", - description = "Join text strings with delimiter", - returnType = "const char *", - params = { - {type = "const char **", name = "textList"}, - {type = "int", name = "count"}, - {type = "const char *", name = "delimiter"} - } - }, - { - name = "TextSplit", - description = "Split text into multiple strings", - returnType = "const char **", - params = { - {type = "const char *", name = "text"}, - {type = "char", name = "delimiter"}, - {type = "int *", name = "count"} - } - }, - { - name = "TextAppend", - description = "Append text at specific position and move cursor!", - returnType = "void", - params = { - {type = "char *", name = "text"}, - {type = "const char *", name = "append"}, - {type = "int *", name = "position"} - } - }, - { - name = "TextFindIndex", - description = "Find first text occurrence within a string", - returnType = "int", - params = { - {type = "const char *", name = "text"}, - {type = "const char *", name = "find"} - } - }, - { - name = "TextToUpper", - description = "Get upper case version of provided string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToLower", - description = "Get lower case version of provided string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToPascal", - description = "Get Pascal case notation version of provided string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToSnake", - description = "Get Snake case notation version of provided string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToCamel", - description = "Get Camel case notation version of provided string", - returnType = "const char *", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToInteger", - description = "Get integer value from text (negative values not supported)", - returnType = "int", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "TextToFloat", - description = "Get float value from text (negative values not supported)", - returnType = "float", - params = { - {type = "const char *", name = "text"} - } - }, - { - name = "DrawLine3D", - description = "Draw a line in 3D world space", - returnType = "void", - params = { - {type = "Vector3", name = "startPos"}, - {type = "Vector3", name = "endPos"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPoint3D", - description = "Draw a point in 3D space, actually a small line", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCircle3D", - description = "Draw a circle in 3D world space", - returnType = "void", - params = { - {type = "Vector3", name = "center"}, - {type = "float", name = "radius"}, - {type = "Vector3", name = "rotationAxis"}, - {type = "float", name = "rotationAngle"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangle3D", - description = "Draw a color-filled triangle (vertex in counter-clockwise order!)", - returnType = "void", - params = { - {type = "Vector3", name = "v1"}, - {type = "Vector3", name = "v2"}, - {type = "Vector3", name = "v3"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawTriangleStrip3D", - description = "Draw a triangle strip defined by points", - returnType = "void", - params = { - {type = "const Vector3 *", name = "points"}, - {type = "int", name = "pointCount"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCube", - description = "Draw cube", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "float", name = "width"}, - {type = "float", name = "height"}, - {type = "float", name = "length"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCubeV", - description = "Draw cube (Vector version)", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "size"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCubeWires", - description = "Draw cube wires", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "float", name = "width"}, - {type = "float", name = "height"}, - {type = "float", name = "length"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCubeWiresV", - description = "Draw cube wires (Vector version)", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "size"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSphere", - description = "Draw sphere", - returnType = "void", - params = { - {type = "Vector3", name = "centerPos"}, - {type = "float", name = "radius"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSphereEx", - description = "Draw sphere with extended parameters", - returnType = "void", - params = { - {type = "Vector3", name = "centerPos"}, - {type = "float", name = "radius"}, - {type = "int", name = "rings"}, - {type = "int", name = "slices"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawSphereWires", - description = "Draw sphere wires", - returnType = "void", - params = { - {type = "Vector3", name = "centerPos"}, - {type = "float", name = "radius"}, - {type = "int", name = "rings"}, - {type = "int", name = "slices"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCylinder", - description = "Draw a cylinder/cone", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "float", name = "radiusTop"}, - {type = "float", name = "radiusBottom"}, - {type = "float", name = "height"}, - {type = "int", name = "slices"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCylinderEx", - description = "Draw a cylinder with base at startPos and top at endPos", - returnType = "void", - params = { - {type = "Vector3", name = "startPos"}, - {type = "Vector3", name = "endPos"}, - {type = "float", name = "startRadius"}, - {type = "float", name = "endRadius"}, - {type = "int", name = "sides"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCylinderWires", - description = "Draw a cylinder/cone wires", - returnType = "void", - params = { - {type = "Vector3", name = "position"}, - {type = "float", name = "radiusTop"}, - {type = "float", name = "radiusBottom"}, - {type = "float", name = "height"}, - {type = "int", name = "slices"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCylinderWiresEx", - description = "Draw a cylinder wires with base at startPos and top at endPos", - returnType = "void", - params = { - {type = "Vector3", name = "startPos"}, - {type = "Vector3", name = "endPos"}, - {type = "float", name = "startRadius"}, - {type = "float", name = "endRadius"}, - {type = "int", name = "sides"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCapsule", - description = "Draw a capsule with the center of its sphere caps at startPos and endPos", - returnType = "void", - params = { - {type = "Vector3", name = "startPos"}, - {type = "Vector3", name = "endPos"}, - {type = "float", name = "radius"}, - {type = "int", name = "slices"}, - {type = "int", name = "rings"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawCapsuleWires", - description = "Draw capsule wireframe with the center of its sphere caps at startPos and endPos", - returnType = "void", - params = { - {type = "Vector3", name = "startPos"}, - {type = "Vector3", name = "endPos"}, - {type = "float", name = "radius"}, - {type = "int", name = "slices"}, - {type = "int", name = "rings"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawPlane", - description = "Draw a plane XZ", - returnType = "void", - params = { - {type = "Vector3", name = "centerPos"}, - {type = "Vector2", name = "size"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawRay", - description = "Draw a ray line", - returnType = "void", - params = { - {type = "Ray", name = "ray"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawGrid", - description = "Draw a grid (centered at (0, 0, 0))", - returnType = "void", - params = { - {type = "int", name = "slices"}, - {type = "float", name = "spacing"} - } - }, - { - name = "LoadModel", - description = "Load model from files (meshes and materials)", - returnType = "Model", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadModelFromMesh", - description = "Load model from generated mesh (default material)", - returnType = "Model", - params = { - {type = "Mesh", name = "mesh"} - } - }, - { - name = "IsModelValid", - description = "Check if a model is valid (loaded in GPU, VAO/VBOs)", - returnType = "bool", - params = { - {type = "Model", name = "model"} - } - }, - { - name = "UnloadModel", - description = "Unload model (including meshes) from memory (RAM and/or VRAM)", - returnType = "void", - params = { - {type = "Model", name = "model"} - } - }, - { - name = "GetModelBoundingBox", - description = "Compute model bounding box limits (considers all meshes)", - returnType = "BoundingBox", - params = { - {type = "Model", name = "model"} - } - }, - { - name = "DrawModel", - description = "Draw a model (with texture if set)", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "float", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawModelEx", - description = "Draw a model with extended parameters", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "rotationAxis"}, - {type = "float", name = "rotationAngle"}, - {type = "Vector3", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawModelWires", - description = "Draw a model wires (with texture if set)", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "float", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawModelWiresEx", - description = "Draw a model wires (with texture if set) with extended parameters", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "rotationAxis"}, - {type = "float", name = "rotationAngle"}, - {type = "Vector3", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawModelPoints", - description = "Draw a model as points", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "float", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawModelPointsEx", - description = "Draw a model as points with extended parameters", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "rotationAxis"}, - {type = "float", name = "rotationAngle"}, - {type = "Vector3", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawBoundingBox", - description = "Draw bounding box (wires)", - returnType = "void", - params = { - {type = "BoundingBox", name = "box"}, - {type = "Color", name = "color"} - } - }, - { - name = "DrawBillboard", - description = "Draw a billboard texture", - returnType = "void", - params = { - {type = "Camera", name = "camera"}, - {type = "Texture2D", name = "texture"}, - {type = "Vector3", name = "position"}, - {type = "float", name = "scale"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawBillboardRec", - description = "Draw a billboard texture defined by source", - returnType = "void", - params = { - {type = "Camera", name = "camera"}, - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "source"}, - {type = "Vector3", name = "position"}, - {type = "Vector2", name = "size"}, - {type = "Color", name = "tint"} - } - }, - { - name = "DrawBillboardPro", - description = "Draw a billboard texture defined by source and rotation", - returnType = "void", - params = { - {type = "Camera", name = "camera"}, - {type = "Texture2D", name = "texture"}, - {type = "Rectangle", name = "source"}, - {type = "Vector3", name = "position"}, - {type = "Vector3", name = "up"}, - {type = "Vector2", name = "size"}, - {type = "Vector2", name = "origin"}, - {type = "float", name = "rotation"}, - {type = "Color", name = "tint"} - } - }, - { - name = "UploadMesh", - description = "Upload mesh vertex data in GPU and provide VAO/VBO ids", - returnType = "void", - params = { - {type = "Mesh *", name = "mesh"}, - {type = "bool", name = "dynamic"} - } - }, - { - name = "UpdateMeshBuffer", - description = "Update mesh vertex data in GPU for a specific buffer index", - returnType = "void", - params = { - {type = "Mesh", name = "mesh"}, - {type = "int", name = "index"}, - {type = "const void *", name = "data"}, - {type = "int", name = "dataSize"}, - {type = "int", name = "offset"} - } - }, - { - name = "UnloadMesh", - description = "Unload mesh data from CPU and GPU", - returnType = "void", - params = { - {type = "Mesh", name = "mesh"} - } - }, - { - name = "DrawMesh", - description = "Draw a 3d mesh with material and transform", - returnType = "void", - params = { - {type = "Mesh", name = "mesh"}, - {type = "Material", name = "material"}, - {type = "Matrix", name = "transform"} - } - }, - { - name = "DrawMeshInstanced", - description = "Draw multiple mesh instances with material and different transforms", - returnType = "void", - params = { - {type = "Mesh", name = "mesh"}, - {type = "Material", name = "material"}, - {type = "const Matrix *", name = "transforms"}, - {type = "int", name = "instances"} - } - }, - { - name = "GetMeshBoundingBox", - description = "Compute mesh bounding box limits", - returnType = "BoundingBox", - params = { - {type = "Mesh", name = "mesh"} - } - }, - { - name = "GenMeshTangents", - description = "Compute mesh tangents", - returnType = "void", - params = { - {type = "Mesh *", name = "mesh"} - } - }, - { - name = "ExportMesh", - description = "Export mesh data to file, returns true on success", - returnType = "bool", - params = { - {type = "Mesh", name = "mesh"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "ExportMeshAsCode", - description = "Export mesh as code file (.h) defining multiple arrays of vertex attributes", - returnType = "bool", - params = { - {type = "Mesh", name = "mesh"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "GenMeshPoly", - description = "Generate polygonal mesh", - returnType = "Mesh", - params = { - {type = "int", name = "sides"}, - {type = "float", name = "radius"} - } - }, - { - name = "GenMeshPlane", - description = "Generate plane mesh (with subdivisions)", - returnType = "Mesh", - params = { - {type = "float", name = "width"}, - {type = "float", name = "length"}, - {type = "int", name = "resX"}, - {type = "int", name = "resZ"} - } - }, - { - name = "GenMeshCube", - description = "Generate cuboid mesh", - returnType = "Mesh", - params = { - {type = "float", name = "width"}, - {type = "float", name = "height"}, - {type = "float", name = "length"} - } - }, - { - name = "GenMeshSphere", - description = "Generate sphere mesh (standard sphere)", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "int", name = "rings"}, - {type = "int", name = "slices"} - } - }, - { - name = "GenMeshHemiSphere", - description = "Generate half-sphere mesh (no bottom cap)", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "int", name = "rings"}, - {type = "int", name = "slices"} - } - }, - { - name = "GenMeshCylinder", - description = "Generate cylinder mesh", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "float", name = "height"}, - {type = "int", name = "slices"} - } - }, - { - name = "GenMeshCone", - description = "Generate cone/pyramid mesh", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "float", name = "height"}, - {type = "int", name = "slices"} - } - }, - { - name = "GenMeshTorus", - description = "Generate torus mesh", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "float", name = "size"}, - {type = "int", name = "radSeg"}, - {type = "int", name = "sides"} - } - }, - { - name = "GenMeshKnot", - description = "Generate trefoil knot mesh", - returnType = "Mesh", - params = { - {type = "float", name = "radius"}, - {type = "float", name = "size"}, - {type = "int", name = "radSeg"}, - {type = "int", name = "sides"} - } - }, - { - name = "GenMeshHeightmap", - description = "Generate heightmap mesh from image data", - returnType = "Mesh", - params = { - {type = "Image", name = "heightmap"}, - {type = "Vector3", name = "size"} - } - }, - { - name = "GenMeshCubicmap", - description = "Generate cubes-based map mesh from image data", - returnType = "Mesh", - params = { - {type = "Image", name = "cubicmap"}, - {type = "Vector3", name = "cubeSize"} - } - }, - { - name = "LoadMaterials", - description = "Load materials from model file", - returnType = "Material *", - params = { - {type = "const char *", name = "fileName"}, - {type = "int *", name = "materialCount"} - } - }, - { - name = "LoadMaterialDefault", - description = "Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)", - returnType = "Material" - }, - { - name = "IsMaterialValid", - description = "Check if a material is valid (shader assigned, map textures loaded in GPU)", - returnType = "bool", - params = { - {type = "Material", name = "material"} - } - }, - { - name = "UnloadMaterial", - description = "Unload material from GPU memory (VRAM)", - returnType = "void", - params = { - {type = "Material", name = "material"} - } - }, - { - name = "SetMaterialTexture", - description = "Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)", - returnType = "void", - params = { - {type = "Material *", name = "material"}, - {type = "int", name = "mapType"}, - {type = "Texture2D", name = "texture"} - } - }, - { - name = "SetModelMeshMaterial", - description = "Set material for a mesh", - returnType = "void", - params = { - {type = "Model *", name = "model"}, - {type = "int", name = "meshId"}, - {type = "int", name = "materialId"} - } - }, - { - name = "LoadModelAnimations", - description = "Load model animations from file", - returnType = "ModelAnimation *", - params = { - {type = "const char *", name = "fileName"}, - {type = "int *", name = "animCount"} - } - }, - { - name = "UpdateModelAnimation", - description = "Update model animation pose (CPU)", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "ModelAnimation", name = "anim"}, - {type = "int", name = "frame"} - } - }, - { - name = "UpdateModelAnimationBones", - description = "Update model animation mesh bone matrices (GPU skinning)", - returnType = "void", - params = { - {type = "Model", name = "model"}, - {type = "ModelAnimation", name = "anim"}, - {type = "int", name = "frame"} - } - }, - { - name = "UnloadModelAnimation", - description = "Unload animation data", - returnType = "void", - params = { - {type = "ModelAnimation", name = "anim"} - } - }, - { - name = "UnloadModelAnimations", - description = "Unload animation array data", - returnType = "void", - params = { - {type = "ModelAnimation *", name = "animations"}, - {type = "int", name = "animCount"} - } - }, - { - name = "IsModelAnimationValid", - description = "Check model animation skeleton match", - returnType = "bool", - params = { - {type = "Model", name = "model"}, - {type = "ModelAnimation", name = "anim"} - } - }, - { - name = "CheckCollisionSpheres", - description = "Check collision between two spheres", - returnType = "bool", - params = { - {type = "Vector3", name = "center1"}, - {type = "float", name = "radius1"}, - {type = "Vector3", name = "center2"}, - {type = "float", name = "radius2"} - } - }, - { - name = "CheckCollisionBoxes", - description = "Check collision between two bounding boxes", - returnType = "bool", - params = { - {type = "BoundingBox", name = "box1"}, - {type = "BoundingBox", name = "box2"} - } - }, - { - name = "CheckCollisionBoxSphere", - description = "Check collision between box and sphere", - returnType = "bool", - params = { - {type = "BoundingBox", name = "box"}, - {type = "Vector3", name = "center"}, - {type = "float", name = "radius"} - } - }, - { - name = "GetRayCollisionSphere", - description = "Get collision info between ray and sphere", - returnType = "RayCollision", - params = { - {type = "Ray", name = "ray"}, - {type = "Vector3", name = "center"}, - {type = "float", name = "radius"} - } - }, - { - name = "GetRayCollisionBox", - description = "Get collision info between ray and box", - returnType = "RayCollision", - params = { - {type = "Ray", name = "ray"}, - {type = "BoundingBox", name = "box"} - } - }, - { - name = "GetRayCollisionMesh", - description = "Get collision info between ray and mesh", - returnType = "RayCollision", - params = { - {type = "Ray", name = "ray"}, - {type = "Mesh", name = "mesh"}, - {type = "Matrix", name = "transform"} - } - }, - { - name = "GetRayCollisionTriangle", - description = "Get collision info between ray and triangle", - returnType = "RayCollision", - params = { - {type = "Ray", name = "ray"}, - {type = "Vector3", name = "p1"}, - {type = "Vector3", name = "p2"}, - {type = "Vector3", name = "p3"} - } - }, - { - name = "GetRayCollisionQuad", - description = "Get collision info between ray and quad", - returnType = "RayCollision", - params = { - {type = "Ray", name = "ray"}, - {type = "Vector3", name = "p1"}, - {type = "Vector3", name = "p2"}, - {type = "Vector3", name = "p3"}, - {type = "Vector3", name = "p4"} - } - }, - { - name = "InitAudioDevice", - description = "Initialize audio device and context", - returnType = "void" - }, - { - name = "CloseAudioDevice", - description = "Close the audio device and context", - returnType = "void" - }, - { - name = "IsAudioDeviceReady", - description = "Check if audio device has been initialized successfully", - returnType = "bool" - }, - { - name = "SetMasterVolume", - description = "Set master volume (listener)", - returnType = "void", - params = { - {type = "float", name = "volume"} - } - }, - { - name = "GetMasterVolume", - description = "Get master volume (listener)", - returnType = "float" - }, - { - name = "LoadWave", - description = "Load wave data from file", - returnType = "Wave", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadWaveFromMemory", - description = "Load wave from memory buffer, fileType refers to extension: i.e. '.wav'", - returnType = "Wave", - params = { - {type = "const char *", name = "fileType"}, - {type = "const unsigned char *", name = "fileData"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "IsWaveValid", - description = "Checks if wave data is valid (data loaded and parameters)", - returnType = "bool", - params = { - {type = "Wave", name = "wave"} - } - }, - { - name = "LoadSound", - description = "Load sound from file", - returnType = "Sound", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadSoundFromWave", - description = "Load sound from wave data", - returnType = "Sound", - params = { - {type = "Wave", name = "wave"} - } - }, - { - name = "LoadSoundAlias", - description = "Create a new sound that shares the same sample data as the source sound, does not own the sound data", - returnType = "Sound", - params = { - {type = "Sound", name = "source"} - } - }, - { - name = "IsSoundValid", - description = "Checks if a sound is valid (data loaded and buffers initialized)", - returnType = "bool", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "UpdateSound", - description = "Update sound buffer with new data", - returnType = "void", - params = { - {type = "Sound", name = "sound"}, - {type = "const void *", name = "data"}, - {type = "int", name = "sampleCount"} - } - }, - { - name = "UnloadWave", - description = "Unload wave data", - returnType = "void", - params = { - {type = "Wave", name = "wave"} - } - }, - { - name = "UnloadSound", - description = "Unload sound", - returnType = "void", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "UnloadSoundAlias", - description = "Unload a sound alias (does not deallocate sample data)", - returnType = "void", - params = { - {type = "Sound", name = "alias"} - } - }, - { - name = "ExportWave", - description = "Export wave data to file, returns true on success", - returnType = "bool", - params = { - {type = "Wave", name = "wave"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "ExportWaveAsCode", - description = "Export wave sample data to code (.h), returns true on success", - returnType = "bool", - params = { - {type = "Wave", name = "wave"}, - {type = "const char *", name = "fileName"} - } - }, - { - name = "PlaySound", - description = "Play a sound", - returnType = "void", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "StopSound", - description = "Stop playing a sound", - returnType = "void", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "PauseSound", - description = "Pause a sound", - returnType = "void", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "ResumeSound", - description = "Resume a paused sound", - returnType = "void", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "IsSoundPlaying", - description = "Check if a sound is currently playing", - returnType = "bool", - params = { - {type = "Sound", name = "sound"} - } - }, - { - name = "SetSoundVolume", - description = "Set volume for a sound (1.0 is max level)", - returnType = "void", - params = { - {type = "Sound", name = "sound"}, - {type = "float", name = "volume"} - } - }, - { - name = "SetSoundPitch", - description = "Set pitch for a sound (1.0 is base level)", - returnType = "void", - params = { - {type = "Sound", name = "sound"}, - {type = "float", name = "pitch"} - } - }, - { - name = "SetSoundPan", - description = "Set pan for a sound (0.5 is center)", - returnType = "void", - params = { - {type = "Sound", name = "sound"}, - {type = "float", name = "pan"} - } - }, - { - name = "WaveCopy", - description = "Copy a wave to a new wave", - returnType = "Wave", - params = { - {type = "Wave", name = "wave"} - } - }, - { - name = "WaveCrop", - description = "Crop a wave to defined frames range", - returnType = "void", - params = { - {type = "Wave *", name = "wave"}, - {type = "int", name = "initFrame"}, - {type = "int", name = "finalFrame"} - } - }, - { - name = "WaveFormat", - description = "Convert wave data to desired format", - returnType = "void", - params = { - {type = "Wave *", name = "wave"}, - {type = "int", name = "sampleRate"}, - {type = "int", name = "sampleSize"}, - {type = "int", name = "channels"} - } - }, - { - name = "LoadWaveSamples", - description = "Load samples data from wave as a 32bit float data array", - returnType = "float *", - params = { - {type = "Wave", name = "wave"} - } - }, - { - name = "UnloadWaveSamples", - description = "Unload samples data loaded with LoadWaveSamples()", - returnType = "void", - params = { - {type = "float *", name = "samples"} - } - }, - { - name = "LoadMusicStream", - description = "Load music stream from file", - returnType = "Music", - params = { - {type = "const char *", name = "fileName"} - } - }, - { - name = "LoadMusicStreamFromMemory", - description = "Load music stream from data", - returnType = "Music", - params = { - {type = "const char *", name = "fileType"}, - {type = "const unsigned char *", name = "data"}, - {type = "int", name = "dataSize"} - } - }, - { - name = "IsMusicValid", - description = "Checks if a music stream is valid (context and buffers initialized)", - returnType = "bool", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "UnloadMusicStream", - description = "Unload music stream", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "PlayMusicStream", - description = "Start music playing", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "IsMusicStreamPlaying", - description = "Check if music is playing", - returnType = "bool", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "UpdateMusicStream", - description = "Updates buffers for music streaming", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "StopMusicStream", - description = "Stop music playing", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "PauseMusicStream", - description = "Pause music playing", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "ResumeMusicStream", - description = "Resume playing paused music", - returnType = "void", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "SeekMusicStream", - description = "Seek music to a position (in seconds)", - returnType = "void", - params = { - {type = "Music", name = "music"}, - {type = "float", name = "position"} - } - }, - { - name = "SetMusicVolume", - description = "Set volume for music (1.0 is max level)", - returnType = "void", - params = { - {type = "Music", name = "music"}, - {type = "float", name = "volume"} - } - }, - { - name = "SetMusicPitch", - description = "Set pitch for a music (1.0 is base level)", - returnType = "void", - params = { - {type = "Music", name = "music"}, - {type = "float", name = "pitch"} - } - }, - { - name = "SetMusicPan", - description = "Set pan for a music (0.5 is center)", - returnType = "void", - params = { - {type = "Music", name = "music"}, - {type = "float", name = "pan"} - } - }, - { - name = "GetMusicTimeLength", - description = "Get music time length (in seconds)", - returnType = "float", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "GetMusicTimePlayed", - description = "Get current music time played (in seconds)", - returnType = "float", - params = { - {type = "Music", name = "music"} - } - }, - { - name = "LoadAudioStream", - description = "Load audio stream (to stream raw audio pcm data)", - returnType = "AudioStream", - params = { - {type = "unsigned int", name = "sampleRate"}, - {type = "unsigned int", name = "sampleSize"}, - {type = "unsigned int", name = "channels"} - } - }, - { - name = "IsAudioStreamValid", - description = "Checks if an audio stream is valid (buffers initialized)", - returnType = "bool", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "UnloadAudioStream", - description = "Unload audio stream and free memory", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "UpdateAudioStream", - description = "Update audio stream buffers with data", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "const void *", name = "data"}, - {type = "int", name = "frameCount"} - } - }, - { - name = "IsAudioStreamProcessed", - description = "Check if any audio stream buffers requires refill", - returnType = "bool", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "PlayAudioStream", - description = "Play audio stream", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "PauseAudioStream", - description = "Pause audio stream", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "ResumeAudioStream", - description = "Resume audio stream", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "IsAudioStreamPlaying", - description = "Check if audio stream is playing", - returnType = "bool", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "StopAudioStream", - description = "Stop audio stream", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"} - } - }, - { - name = "SetAudioStreamVolume", - description = "Set volume for audio stream (1.0 is max level)", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "float", name = "volume"} - } - }, - { - name = "SetAudioStreamPitch", - description = "Set pitch for audio stream (1.0 is base level)", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "float", name = "pitch"} - } - }, - { - name = "SetAudioStreamPan", - description = "Set pan for audio stream (0.5 is centered)", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "float", name = "pan"} - } - }, - { - name = "SetAudioStreamBufferSizeDefault", - description = "Default size for new audio streams", - returnType = "void", - params = { - {type = "int", name = "size"} - } - }, - { - name = "SetAudioStreamCallback", - description = "Audio thread callback to request new data", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "AudioCallback", name = "callback"} - } - }, - { - name = "AttachAudioStreamProcessor", - description = "Attach audio stream processor to stream, receives the samples as 'float'", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "AudioCallback", name = "processor"} - } - }, - { - name = "DetachAudioStreamProcessor", - description = "Detach audio stream processor from stream", - returnType = "void", - params = { - {type = "AudioStream", name = "stream"}, - {type = "AudioCallback", name = "processor"} - } - }, - { - name = "AttachAudioMixedProcessor", - description = "Attach audio stream processor to the entire audio pipeline, receives the samples as 'float'", - returnType = "void", - params = { - {type = "AudioCallback", name = "processor"} - } - }, - { - name = "DetachAudioMixedProcessor", - description = "Detach audio stream processor from the entire audio pipeline", - returnType = "void", - params = { - {type = "AudioCallback", name = "processor"} - } - } - } -} +return { + defines = { + { + name = "RAYLIB_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RAYLIB_VERSION_MAJOR", + type = "INT", + value = 6, + description = "" + }, + { + name = "RAYLIB_VERSION_MINOR", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYLIB_VERSION_PATCH", + type = "INT", + value = 0, + description = "" + }, + { + name = "RAYLIB_VERSION", + type = "STRING", + value = "6.0", + description = "" + }, + { + name = "__declspec(x)", + type = "MACRO", + value = "__attribute__((x))", + description = "" + }, + { + name = "RLAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "Building the library as a Win32 shared library (.dll)" + }, + { + name = "PI", + type = "FLOAT", + value = 3.14159265358979323846, + description = "" + }, + { + name = "DEG2RAD", + type = "FLOAT_MATH", + value = "(PI/180.0f)", + description = "" + }, + { + name = "RAD2DEG", + type = "FLOAT_MATH", + value = "(180.0f/PI)", + description = "" + }, + { + name = "RL_MALLOC(sz)", + type = "MACRO", + value = "malloc(sz)", + description = "" + }, + { + name = "RL_CALLOC(n,sz)", + type = "MACRO", + value = "calloc(n,sz)", + description = "" + }, + { + name = "RL_REALLOC(ptr,sz)", + type = "MACRO", + value = "realloc(ptr,sz)", + description = "" + }, + { + name = "RL_FREE(ptr)", + type = "MACRO", + value = "free(ptr)", + description = "" + }, + { + name = "CLITERAL(type)", + type = "MACRO", + value = "type", + description = "" + }, + { + name = "RL_COLOR_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_RECTANGLE_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR2_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR3_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_VECTOR4_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_QUATERNION_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "LIGHTGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 200, 200, 200, 255 }", + description = "Light Gray" + }, + { + name = "GRAY", + type = "COLOR", + value = "CLITERAL(Color){ 130, 130, 130, 255 }", + description = "Gray" + }, + { + name = "DARKGRAY", + type = "COLOR", + value = "CLITERAL(Color){ 80, 80, 80, 255 }", + description = "Dark Gray" + }, + { + name = "YELLOW", + type = "COLOR", + value = "CLITERAL(Color){ 253, 249, 0, 255 }", + description = "Yellow" + }, + { + name = "GOLD", + type = "COLOR", + value = "CLITERAL(Color){ 255, 203, 0, 255 }", + description = "Gold" + }, + { + name = "ORANGE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 161, 0, 255 }", + description = "Orange" + }, + { + name = "PINK", + type = "COLOR", + value = "CLITERAL(Color){ 255, 109, 194, 255 }", + description = "Pink" + }, + { + name = "RED", + type = "COLOR", + value = "CLITERAL(Color){ 230, 41, 55, 255 }", + description = "Red" + }, + { + name = "MAROON", + type = "COLOR", + value = "CLITERAL(Color){ 190, 33, 55, 255 }", + description = "Maroon" + }, + { + name = "GREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 228, 48, 255 }", + description = "Green" + }, + { + name = "LIME", + type = "COLOR", + value = "CLITERAL(Color){ 0, 158, 47, 255 }", + description = "Lime" + }, + { + name = "DARKGREEN", + type = "COLOR", + value = "CLITERAL(Color){ 0, 117, 44, 255 }", + description = "Dark Green" + }, + { + name = "SKYBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 102, 191, 255, 255 }", + description = "Sky Blue" + }, + { + name = "BLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 121, 241, 255 }", + description = "Blue" + }, + { + name = "DARKBLUE", + type = "COLOR", + value = "CLITERAL(Color){ 0, 82, 172, 255 }", + description = "Dark Blue" + }, + { + name = "PURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 200, 122, 255, 255 }", + description = "Purple" + }, + { + name = "VIOLET", + type = "COLOR", + value = "CLITERAL(Color){ 135, 60, 190, 255 }", + description = "Violet" + }, + { + name = "DARKPURPLE", + type = "COLOR", + value = "CLITERAL(Color){ 112, 31, 126, 255 }", + description = "Dark Purple" + }, + { + name = "BEIGE", + type = "COLOR", + value = "CLITERAL(Color){ 211, 176, 131, 255 }", + description = "Beige" + }, + { + name = "BROWN", + type = "COLOR", + value = "CLITERAL(Color){ 127, 106, 79, 255 }", + description = "Brown" + }, + { + name = "DARKBROWN", + type = "COLOR", + value = "CLITERAL(Color){ 76, 63, 47, 255 }", + description = "Dark Brown" + }, + { + name = "WHITE", + type = "COLOR", + value = "CLITERAL(Color){ 255, 255, 255, 255 }", + description = "White" + }, + { + name = "BLACK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 255 }", + description = "Black" + }, + { + name = "BLANK", + type = "COLOR", + value = "CLITERAL(Color){ 0, 0, 0, 0 }", + description = "Blank (Transparent)" + }, + { + name = "MAGENTA", + type = "COLOR", + value = "CLITERAL(Color){ 255, 0, 255, 255 }", + description = "Magenta" + }, + { + name = "RAYWHITE", + type = "COLOR", + value = "CLITERAL(Color){ 245, 245, 245, 255 }", + description = "My own White (raylib logo)" + }, + { + name = "RL_BOOL_TYPE", + type = "GUARD", + value = "", + description = "" + }, + { + name = "MOUSE_LEFT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_LEFT", + description = "" + }, + { + name = "MOUSE_RIGHT_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_RIGHT", + description = "" + }, + { + name = "MOUSE_MIDDLE_BUTTON", + type = "UNKNOWN", + value = "MOUSE_BUTTON_MIDDLE", + description = "" + }, + { + name = "MATERIAL_MAP_DIFFUSE", + type = "UNKNOWN", + value = "MATERIAL_MAP_ALBEDO", + description = "" + }, + { + name = "MATERIAL_MAP_SPECULAR", + type = "UNKNOWN", + value = "MATERIAL_MAP_METALNESS", + description = "" + }, + { + name = "SHADER_LOC_MAP_DIFFUSE", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_ALBEDO", + description = "" + }, + { + name = "SHADER_LOC_MAP_SPECULAR", + type = "UNKNOWN", + value = "SHADER_LOC_MAP_METALNESS", + description = "" + }, + { + name = "GetMouseRay", + type = "UNKNOWN", + value = "GetScreenToWorldRay", + description = "Compatibility hack for previous raylib versions" + } + }, + structs = { + { + name = "Vector2", + description = [=[Vector2, 2 components]=], + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + } + } + }, + { + name = "Vector3", + description = [=[Vector3, 3 components]=], + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" + } + } + }, + { + name = "Vector4", + description = [=[Vector4, 4 components]=], + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" + }, + { + type = "float", + name = "w", + description = "Vector w component" + } + } + }, + { + name = "Matrix", + description = [=[Matrix, 4x4 components, column major, OpenGL style, right-handed]=], + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, + { + name = "Color", + description = [=[Color, 4 components, R8G8B8A8 (32bit)]=], + fields = { + { + type = "unsigned char", + name = "r", + description = "Color red value" + }, + { + type = "unsigned char", + name = "g", + description = "Color green value" + }, + { + type = "unsigned char", + name = "b", + description = "Color blue value" + }, + { + type = "unsigned char", + name = "a", + description = "Color alpha value" + } + } + }, + { + name = "Rectangle", + description = [=[Rectangle, 4 components]=], + fields = { + { + type = "float", + name = "x", + description = "Rectangle top-left corner position x" + }, + { + type = "float", + name = "y", + description = "Rectangle top-left corner position y" + }, + { + type = "float", + name = "width", + description = "Rectangle width" + }, + { + type = "float", + name = "height", + description = "Rectangle height" + } + } + }, + { + name = "Image", + description = [=[Image, pixel data stored in CPU memory (RAM)]=], + fields = { + { + type = "void *", + name = "data", + description = "Image raw data" + }, + { + type = "int", + name = "width", + description = "Image base width" + }, + { + type = "int", + name = "height", + description = "Image base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "Texture", + description = [=[Texture, tex data stored in GPU memory (VRAM)]=], + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL texture id" + }, + { + type = "int", + name = "width", + description = "Texture base width" + }, + { + type = "int", + name = "height", + description = "Texture base height" + }, + { + type = "int", + name = "mipmaps", + description = "Mipmap levels, 1 by default" + }, + { + type = "int", + name = "format", + description = "Data format (PixelFormat type)" + } + } + }, + { + name = "RenderTexture", + description = [=[RenderTexture, fbo for texture rendering]=], + fields = { + { + type = "unsigned int", + name = "id", + description = "OpenGL framebuffer object id" + }, + { + type = "Texture", + name = "texture", + description = "Color buffer attachment texture" + }, + { + type = "Texture", + name = "depth", + description = "Depth buffer attachment texture" + } + } + }, + { + name = "NPatchInfo", + description = [=[NPatchInfo, n-patch layout info]=], + fields = { + { + type = "Rectangle", + name = "source", + description = "Texture source rectangle" + }, + { + type = "int", + name = "left", + description = "Left border offset" + }, + { + type = "int", + name = "top", + description = "Top border offset" + }, + { + type = "int", + name = "right", + description = "Right border offset" + }, + { + type = "int", + name = "bottom", + description = "Bottom border offset" + }, + { + type = "int", + name = "layout", + description = "Layout of the n-patch: 3x3, 1x3 or 3x1" + } + } + }, + { + name = "GlyphInfo", + description = [=[GlyphInfo, font characters glyphs info]=], + fields = { + { + type = "int", + name = "value", + description = "Character value (Unicode)" + }, + { + type = "int", + name = "offsetX", + description = "Character offset X when drawing" + }, + { + type = "int", + name = "offsetY", + description = "Character offset Y when drawing" + }, + { + type = "int", + name = "advanceX", + description = "Character advance position X" + }, + { + type = "Image", + name = "image", + description = "Character image data" + } + } + }, + { + name = "Font", + description = [=[Font, font texture and GlyphInfo array data]=], + fields = { + { + type = "int", + name = "baseSize", + description = "Base size (default chars height)" + }, + { + type = "int", + name = "glyphCount", + description = "Number of glyph characters" + }, + { + type = "int", + name = "glyphPadding", + description = "Padding around the glyph characters" + }, + { + type = "Texture2D", + name = "texture", + description = "Texture atlas containing the glyphs" + }, + { + type = "Rectangle *", + name = "recs", + description = "Rectangles in texture for the glyphs" + }, + { + type = "GlyphInfo *", + name = "glyphs", + description = "Glyphs info data" + } + } + }, + { + name = "Camera3D", + description = [=[Camera, defines position/orientation in 3d space]=], + fields = { + { + type = "Vector3", + name = "position", + description = "Camera position" + }, + { + type = "Vector3", + name = "target", + description = "Camera target it looks-at" + }, + { + type = "Vector3", + name = "up", + description = "Camera up vector (rotation over its axis)" + }, + { + type = "float", + name = "fovy", + description = "Camera field-of-view aperture in Y (degrees) in perspective, used as near plane height in world units in orthographic" + }, + { + type = "int", + name = "projection", + description = "Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + } + }, + { + name = "Camera2D", + description = [=[Camera2D, defines position/orientation in 2d space]=], + fields = { + { + type = "Vector2", + name = "offset", + description = "Camera offset (screen space offset from window origin)" + }, + { + type = "Vector2", + name = "target", + description = "Camera target (world space target point that is mapped to screen space offset)" + }, + { + type = "float", + name = "rotation", + description = "Camera rotation in degrees (pivots around target)" + }, + { + type = "float", + name = "zoom", + description = "Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale" + } + } + }, + { + name = "Mesh", + description = [=[Mesh, vertex data and vao/vbo]=], + fields = { + { + type = "int", + name = "vertexCount", + description = "Number of vertices stored in arrays" + }, + { + type = "int", + name = "triangleCount", + description = "Number of triangles stored (indexed or not)" + }, + { + type = "float *", + name = "vertices", + description = "Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" + }, + { + type = "float *", + name = "texcoords", + description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" + }, + { + type = "float *", + name = "texcoords2", + description = "Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5)" + }, + { + type = "float *", + name = "normals", + description = "Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" + }, + { + type = "float *", + name = "tangents", + description = "Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" + }, + { + type = "unsigned char *", + name = "colors", + description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" + }, + { + type = "unsigned short *", + name = "indices", + description = "Vertex indices (in case vertex data comes indexed)" + }, + { + type = "int", + name = "boneCount", + description = "Number of bones (MAX: 256 bones)" + }, + { + type = "unsigned char *", + name = "boneIndices", + description = "Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6)" + }, + { + type = "float *", + name = "boneWeights", + description = "Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7)" + }, + { + type = "float *", + name = "animVertices", + description = "Animated vertex positions (after bones transformations)" + }, + { + type = "float *", + name = "animNormals", + description = "Animated normals (after bones transformations)" + }, + { + type = "unsigned int", + name = "vaoId", + description = "OpenGL Vertex Array Object id" + }, + { + type = "unsigned int *", + name = "vboId", + description = "OpenGL Vertex Buffer Objects id (default vertex data)" + } + } + }, + { + name = "Shader", + description = [=[Shader]=], + fields = { + { + type = "unsigned int", + name = "id", + description = "Shader program id" + }, + { + type = "int *", + name = "locs", + description = "Shader locations array (RL_MAX_SHADER_LOCATIONS)" + } + } + }, + { + name = "MaterialMap", + description = [=[MaterialMap]=], + fields = { + { + type = "Texture2D", + name = "texture", + description = "Material map texture" + }, + { + type = "Color", + name = "color", + description = "Material map color" + }, + { + type = "float", + name = "value", + description = "Material map value" + } + } + }, + { + name = "Material", + description = [=[Material, includes shader and maps]=], + fields = { + { + type = "Shader", + name = "shader", + description = "Material shader" + }, + { + type = "MaterialMap *", + name = "maps", + description = "Material maps array (MAX_MATERIAL_MAPS)" + }, + { + type = "float[4]", + name = "params", + description = "Material generic parameters (if required)" + } + } + }, + { + name = "Transform", + description = [=[Transform, vertex transformation data]=], + fields = { + { + type = "Vector3", + name = "translation", + description = "Translation" + }, + { + type = "Quaternion", + name = "rotation", + description = "Rotation" + }, + { + type = "Vector3", + name = "scale", + description = "Scale" + } + } + }, + { + name = "BoneInfo", + description = [=[Bone, skeletal animation bone]=], + fields = { + { + type = "char[32]", + name = "name", + description = "Bone name" + }, + { + type = "int", + name = "parent", + description = "Bone parent" + } + } + }, + { + name = "ModelSkeleton", + description = [=[Skeleton, animation bones hierarchy]=], + fields = { + { + type = "int", + name = "boneCount", + description = "Number of bones" + }, + { + type = "BoneInfo *", + name = "bones", + description = "Bones information (skeleton)" + }, + { + type = "ModelAnimPose", + name = "bindPose", + description = "Bones base transformation (Transform[])" + } + } + }, + { + name = "Model", + description = [=[Model, meshes, materials and animation data]=], + fields = { + { + type = "Matrix", + name = "transform", + description = "Local transform matrix" + }, + { + type = "int", + name = "meshCount", + description = "Number of meshes" + }, + { + type = "int", + name = "materialCount", + description = "Number of materials" + }, + { + type = "Mesh *", + name = "meshes", + description = "Meshes array" + }, + { + type = "Material *", + name = "materials", + description = "Materials array" + }, + { + type = "int *", + name = "meshMaterial", + description = "Mesh material number" + }, + { + type = "ModelSkeleton", + name = "skeleton", + description = "Skeleton for animation" + }, + { + type = "ModelAnimPose", + name = "currentPose", + description = "Current animation pose (Transform[])" + }, + { + type = "Matrix *", + name = "boneMatrices", + description = "Bones animated transformation matrices" + } + } + }, + { + name = "ModelAnimation", + description = [=[ModelAnimation, contains a full animation sequence]=], + fields = { + { + type = "char[32]", + name = "name", + description = "Animation name" + }, + { + type = "int", + name = "boneCount", + description = "Number of bones (per pose)" + }, + { + type = "int", + name = "keyframeCount", + description = "Number of animation key frames" + }, + { + type = "ModelAnimPose *", + name = "keyframePoses", + description = "Animation sequence keyframe poses [keyframe][pose]" + } + } + }, + { + name = "Ray", + description = [=[Ray, ray for raycasting]=], + fields = { + { + type = "Vector3", + name = "position", + description = "Ray position (origin)" + }, + { + type = "Vector3", + name = "direction", + description = "Ray direction (normalized)" + } + } + }, + { + name = "RayCollision", + description = [=[RayCollision, ray hit information]=], + fields = { + { + type = "bool", + name = "hit", + description = "Did the ray hit something?" + }, + { + type = "float", + name = "distance", + description = "Distance to the nearest hit" + }, + { + type = "Vector3", + name = "point", + description = "Point of the nearest hit" + }, + { + type = "Vector3", + name = "normal", + description = "Surface normal of hit" + } + } + }, + { + name = "BoundingBox", + description = [=[BoundingBox]=], + fields = { + { + type = "Vector3", + name = "min", + description = "Minimum vertex box-corner" + }, + { + type = "Vector3", + name = "max", + description = "Maximum vertex box-corner" + } + } + }, + { + name = "Wave", + description = [=[Wave, audio wave data]=], + fields = { + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + }, + { + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" + }, + { + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" + }, + { + type = "void *", + name = "data", + description = "Buffer data pointer" + } + } + }, + { + name = "AudioStream", + description = [=[AudioStream, custom audio stream]=], + fields = { + { + type = "rAudioBuffer *", + name = "buffer", + description = "Pointer to internal data used by the audio system" + }, + { + type = "rAudioProcessor *", + name = "processor", + description = "Pointer to internal data processor, useful for audio effects" + }, + { + type = "unsigned int", + name = "sampleRate", + description = "Frequency (samples per second)" + }, + { + type = "unsigned int", + name = "sampleSize", + description = "Bit depth (bits per sample): 8, 16, 32 (24 not supported)" + }, + { + type = "unsigned int", + name = "channels", + description = "Number of channels (1-mono, 2-stereo, ...)" + } + } + }, + { + name = "Sound", + description = [=[Sound]=], + fields = { + { + type = "AudioStream", + name = "stream", + description = "Audio stream" + }, + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + } + } + }, + { + name = "Music", + description = [=[Music, audio stream, anything longer than ~10 seconds should be streamed]=], + fields = { + { + type = "AudioStream", + name = "stream", + description = "Audio stream" + }, + { + type = "unsigned int", + name = "frameCount", + description = "Total number of frames (considering channels)" + }, + { + type = "bool", + name = "looping", + description = "Music looping enable" + }, + { + type = "int", + name = "ctxType", + description = "Type of music context (audio filetype)" + }, + { + type = "void *", + name = "ctxData", + description = "Audio context data, depends on type" + } + } + }, + { + name = "VrDeviceInfo", + description = [=[VrDeviceInfo, Head-Mounted-Display device parameters]=], + fields = { + { + type = "int", + name = "hResolution", + description = "Horizontal resolution in pixels" + }, + { + type = "int", + name = "vResolution", + description = "Vertical resolution in pixels" + }, + { + type = "float", + name = "hScreenSize", + description = "Horizontal size in meters" + }, + { + type = "float", + name = "vScreenSize", + description = "Vertical size in meters" + }, + { + type = "float", + name = "eyeToScreenDistance", + description = "Distance between eye and display in meters" + }, + { + type = "float", + name = "lensSeparationDistance", + description = "Lens separation distance in meters" + }, + { + type = "float", + name = "interpupillaryDistance", + description = "IPD (distance between pupils) in meters" + }, + { + type = "float[4]", + name = "lensDistortionValues", + description = "Lens distortion constant parameters" + }, + { + type = "float[4]", + name = "chromaAbCorrection", + description = "Chromatic aberration correction parameters" + } + } + }, + { + name = "VrStereoConfig", + description = [=[VrStereoConfig, VR stereo rendering configuration for simulator]=], + fields = { + { + type = "Matrix[2]", + name = "projection", + description = "VR projection matrices (per eye)" + }, + { + type = "Matrix[2]", + name = "viewOffset", + description = "VR view offset matrices (per eye)" + }, + { + type = "float[2]", + name = "leftLensCenter", + description = "VR left lens center" + }, + { + type = "float[2]", + name = "rightLensCenter", + description = "VR right lens center" + }, + { + type = "float[2]", + name = "leftScreenCenter", + description = "VR left screen center" + }, + { + type = "float[2]", + name = "rightScreenCenter", + description = "VR right screen center" + }, + { + type = "float[2]", + name = "scale", + description = "VR distortion scale" + }, + { + type = "float[2]", + name = "scaleIn", + description = "VR distortion scale in" + } + } + }, + { + name = "FilePathList", + description = [=[File path list]=], + fields = { + { + type = "unsigned int", + name = "count", + description = "Filepaths entries count" + }, + { + type = "char **", + name = "paths", + description = "Filepaths entries" + } + } + }, + { + name = "AutomationEvent", + description = [=[Automation event]=], + fields = { + { + type = "unsigned int", + name = "frame", + description = "Event frame" + }, + { + type = "unsigned int", + name = "type", + description = "Event type (AutomationEventType)" + }, + { + type = "int[4]", + name = "params", + description = "Event parameters (if required)" + } + } + }, + { + name = "AutomationEventList", + description = [=[Automation event list]=], + fields = { + { + type = "unsigned int", + name = "capacity", + description = "Events max entries (MAX_AUTOMATION_EVENTS)" + }, + { + type = "unsigned int", + name = "count", + description = "Events entries count" + }, + { + type = "AutomationEvent *", + name = "events", + description = "Events entries" + } + } + } + }, + aliases = { + { + type = "Vector4", + name = "Quaternion", + description = "Quaternion, 4 components (Vector4 alias)" + }, + { + type = "Texture", + name = "Texture2D", + description = "Texture2D, same as Texture" + }, + { + type = "Texture", + name = "TextureCubemap", + description = "TextureCubemap, same as Texture" + }, + { + type = "RenderTexture", + name = "RenderTexture2D", + description = "RenderTexture2D, same as RenderTexture" + }, + { + type = "Camera3D", + name = "Camera", + description = "Camera type fallback, defaults to Camera3D" + }, + { + type = "Transform", + name = "*ModelAnimPose", + description = "Anim pose, an array of Transform[]" + } + }, + enums = { + { + name = "ConfigFlags", + description = [=[System/Window config flags]=], + values = { + { + name = "FLAG_VSYNC_HINT", + value = 64, + description = "Set to try enabling V-Sync on GPU" + }, + { + name = "FLAG_FULLSCREEN_MODE", + value = 2, + description = "Set to run program in fullscreen" + }, + { + name = "FLAG_WINDOW_RESIZABLE", + value = 4, + description = "Set to allow resizable window" + }, + { + name = "FLAG_WINDOW_UNDECORATED", + value = 8, + description = "Set to disable window decoration (frame and buttons)" + }, + { + name = "FLAG_WINDOW_HIDDEN", + value = 128, + description = "Set to hide window" + }, + { + name = "FLAG_WINDOW_MINIMIZED", + value = 512, + description = "Set to minimize window (iconify)" + }, + { + name = "FLAG_WINDOW_MAXIMIZED", + value = 1024, + description = "Set to maximize window (expanded to monitor)" + }, + { + name = "FLAG_WINDOW_UNFOCUSED", + value = 2048, + description = "Set to window non focused" + }, + { + name = "FLAG_WINDOW_TOPMOST", + value = 4096, + description = "Set to window always on top" + }, + { + name = "FLAG_WINDOW_ALWAYS_RUN", + value = 256, + description = "Set to allow windows running while minimized" + }, + { + name = "FLAG_WINDOW_TRANSPARENT", + value = 16, + description = "Set to allow transparent framebuffer" + }, + { + name = "FLAG_WINDOW_HIGHDPI", + value = 8192, + description = "Set to support HighDPI" + }, + { + name = "FLAG_WINDOW_MOUSE_PASSTHROUGH", + value = 16384, + description = "Set to support mouse passthrough, only supported when FLAG_WINDOW_UNDECORATED" + }, + { + name = "FLAG_BORDERLESS_WINDOWED_MODE", + value = 32768, + description = "Set to run program in borderless windowed mode" + }, + { + name = "FLAG_MSAA_4X_HINT", + value = 32, + description = "Set to try enabling MSAA 4X" + }, + { + name = "FLAG_INTERLACED_HINT", + value = 65536, + description = "Set to try enabling interlaced video format (for V3D)" + } + } + }, + { + name = "TraceLogLevel", + description = [=[Trace log level]=], + values = { + { + name = "LOG_ALL", + value = 0, + description = "Display all logs" + }, + { + name = "LOG_TRACE", + value = 1, + description = "Trace logging, intended for internal use only" + }, + { + name = "LOG_DEBUG", + value = 2, + description = "Debug logging, used for internal debugging, it should be disabled on release builds" + }, + { + name = "LOG_INFO", + value = 3, + description = "Info logging, used for program execution info" + }, + { + name = "LOG_WARNING", + value = 4, + description = "Warning logging, used on recoverable failures" + }, + { + name = "LOG_ERROR", + value = 5, + description = "Error logging, used on unrecoverable failures" + }, + { + name = "LOG_FATAL", + value = 6, + description = "Fatal logging, used to abort program: exit(EXIT_FAILURE)" + }, + { + name = "LOG_NONE", + value = 7, + description = "Disable logging" + } + } + }, + { + name = "KeyboardKey", + description = [=[Keyboard keys (US keyboard layout)]=], + values = { + { + name = "KEY_NULL", + value = 0, + description = "Key: NULL, used for no key pressed" + }, + { + name = "KEY_APOSTROPHE", + value = 39, + description = "Key: '" + }, + { + name = "KEY_COMMA", + value = 44, + description = "Key: ," + }, + { + name = "KEY_MINUS", + value = 45, + description = "Key: -" + }, + { + name = "KEY_PERIOD", + value = 46, + description = "Key: ." + }, + { + name = "KEY_SLASH", + value = 47, + description = "Key: /" + }, + { + name = "KEY_ZERO", + value = 48, + description = "Key: 0" + }, + { + name = "KEY_ONE", + value = 49, + description = "Key: 1" + }, + { + name = "KEY_TWO", + value = 50, + description = "Key: 2" + }, + { + name = "KEY_THREE", + value = 51, + description = "Key: 3" + }, + { + name = "KEY_FOUR", + value = 52, + description = "Key: 4" + }, + { + name = "KEY_FIVE", + value = 53, + description = "Key: 5" + }, + { + name = "KEY_SIX", + value = 54, + description = "Key: 6" + }, + { + name = "KEY_SEVEN", + value = 55, + description = "Key: 7" + }, + { + name = "KEY_EIGHT", + value = 56, + description = "Key: 8" + }, + { + name = "KEY_NINE", + value = 57, + description = "Key: 9" + }, + { + name = "KEY_SEMICOLON", + value = 59, + description = "Key: ;" + }, + { + name = "KEY_EQUAL", + value = 61, + description = "Key: =" + }, + { + name = "KEY_A", + value = 65, + description = "Key: A | a" + }, + { + name = "KEY_B", + value = 66, + description = "Key: B | b" + }, + { + name = "KEY_C", + value = 67, + description = "Key: C | c" + }, + { + name = "KEY_D", + value = 68, + description = "Key: D | d" + }, + { + name = "KEY_E", + value = 69, + description = "Key: E | e" + }, + { + name = "KEY_F", + value = 70, + description = "Key: F | f" + }, + { + name = "KEY_G", + value = 71, + description = "Key: G | g" + }, + { + name = "KEY_H", + value = 72, + description = "Key: H | h" + }, + { + name = "KEY_I", + value = 73, + description = "Key: I | i" + }, + { + name = "KEY_J", + value = 74, + description = "Key: J | j" + }, + { + name = "KEY_K", + value = 75, + description = "Key: K | k" + }, + { + name = "KEY_L", + value = 76, + description = "Key: L | l" + }, + { + name = "KEY_M", + value = 77, + description = "Key: M | m" + }, + { + name = "KEY_N", + value = 78, + description = "Key: N | n" + }, + { + name = "KEY_O", + value = 79, + description = "Key: O | o" + }, + { + name = "KEY_P", + value = 80, + description = "Key: P | p" + }, + { + name = "KEY_Q", + value = 81, + description = "Key: Q | q" + }, + { + name = "KEY_R", + value = 82, + description = "Key: R | r" + }, + { + name = "KEY_S", + value = 83, + description = "Key: S | s" + }, + { + name = "KEY_T", + value = 84, + description = "Key: T | t" + }, + { + name = "KEY_U", + value = 85, + description = "Key: U | u" + }, + { + name = "KEY_V", + value = 86, + description = "Key: V | v" + }, + { + name = "KEY_W", + value = 87, + description = "Key: W | w" + }, + { + name = "KEY_X", + value = 88, + description = "Key: X | x" + }, + { + name = "KEY_Y", + value = 89, + description = "Key: Y | y" + }, + { + name = "KEY_Z", + value = 90, + description = "Key: Z | z" + }, + { + name = "KEY_LEFT_BRACKET", + value = 91, + description = "Key: [" + }, + { + name = "KEY_BACKSLASH", + value = 92, + description = "Key: '\\'" + }, + { + name = "KEY_RIGHT_BRACKET", + value = 93, + description = "Key: ]" + }, + { + name = "KEY_GRAVE", + value = 96, + description = "Key: `" + }, + { + name = "KEY_SPACE", + value = 32, + description = "Key: Space" + }, + { + name = "KEY_ESCAPE", + value = 256, + description = "Key: Esc" + }, + { + name = "KEY_ENTER", + value = 257, + description = "Key: Enter" + }, + { + name = "KEY_TAB", + value = 258, + description = "Key: Tab" + }, + { + name = "KEY_BACKSPACE", + value = 259, + description = "Key: Backspace" + }, + { + name = "KEY_INSERT", + value = 260, + description = "Key: Ins" + }, + { + name = "KEY_DELETE", + value = 261, + description = "Key: Del" + }, + { + name = "KEY_RIGHT", + value = 262, + description = "Key: Cursor right" + }, + { + name = "KEY_LEFT", + value = 263, + description = "Key: Cursor left" + }, + { + name = "KEY_DOWN", + value = 264, + description = "Key: Cursor down" + }, + { + name = "KEY_UP", + value = 265, + description = "Key: Cursor up" + }, + { + name = "KEY_PAGE_UP", + value = 266, + description = "Key: Page up" + }, + { + name = "KEY_PAGE_DOWN", + value = 267, + description = "Key: Page down" + }, + { + name = "KEY_HOME", + value = 268, + description = "Key: Home" + }, + { + name = "KEY_END", + value = 269, + description = "Key: End" + }, + { + name = "KEY_CAPS_LOCK", + value = 280, + description = "Key: Caps lock" + }, + { + name = "KEY_SCROLL_LOCK", + value = 281, + description = "Key: Scroll down" + }, + { + name = "KEY_NUM_LOCK", + value = 282, + description = "Key: Num lock" + }, + { + name = "KEY_PRINT_SCREEN", + value = 283, + description = "Key: Print screen" + }, + { + name = "KEY_PAUSE", + value = 284, + description = "Key: Pause" + }, + { + name = "KEY_F1", + value = 290, + description = "Key: F1" + }, + { + name = "KEY_F2", + value = 291, + description = "Key: F2" + }, + { + name = "KEY_F3", + value = 292, + description = "Key: F3" + }, + { + name = "KEY_F4", + value = 293, + description = "Key: F4" + }, + { + name = "KEY_F5", + value = 294, + description = "Key: F5" + }, + { + name = "KEY_F6", + value = 295, + description = "Key: F6" + }, + { + name = "KEY_F7", + value = 296, + description = "Key: F7" + }, + { + name = "KEY_F8", + value = 297, + description = "Key: F8" + }, + { + name = "KEY_F9", + value = 298, + description = "Key: F9" + }, + { + name = "KEY_F10", + value = 299, + description = "Key: F10" + }, + { + name = "KEY_F11", + value = 300, + description = "Key: F11" + }, + { + name = "KEY_F12", + value = 301, + description = "Key: F12" + }, + { + name = "KEY_LEFT_SHIFT", + value = 340, + description = "Key: Shift left" + }, + { + name = "KEY_LEFT_CONTROL", + value = 341, + description = "Key: Control left" + }, + { + name = "KEY_LEFT_ALT", + value = 342, + description = "Key: Alt left" + }, + { + name = "KEY_LEFT_SUPER", + value = 343, + description = "Key: Super left" + }, + { + name = "KEY_RIGHT_SHIFT", + value = 344, + description = "Key: Shift right" + }, + { + name = "KEY_RIGHT_CONTROL", + value = 345, + description = "Key: Control right" + }, + { + name = "KEY_RIGHT_ALT", + value = 346, + description = "Key: Alt right" + }, + { + name = "KEY_RIGHT_SUPER", + value = 347, + description = "Key: Super right" + }, + { + name = "KEY_KB_MENU", + value = 348, + description = "Key: KB menu" + }, + { + name = "KEY_KP_0", + value = 320, + description = "Key: Keypad 0" + }, + { + name = "KEY_KP_1", + value = 321, + description = "Key: Keypad 1" + }, + { + name = "KEY_KP_2", + value = 322, + description = "Key: Keypad 2" + }, + { + name = "KEY_KP_3", + value = 323, + description = "Key: Keypad 3" + }, + { + name = "KEY_KP_4", + value = 324, + description = "Key: Keypad 4" + }, + { + name = "KEY_KP_5", + value = 325, + description = "Key: Keypad 5" + }, + { + name = "KEY_KP_6", + value = 326, + description = "Key: Keypad 6" + }, + { + name = "KEY_KP_7", + value = 327, + description = "Key: Keypad 7" + }, + { + name = "KEY_KP_8", + value = 328, + description = "Key: Keypad 8" + }, + { + name = "KEY_KP_9", + value = 329, + description = "Key: Keypad 9" + }, + { + name = "KEY_KP_DECIMAL", + value = 330, + description = "Key: Keypad ." + }, + { + name = "KEY_KP_DIVIDE", + value = 331, + description = "Key: Keypad /" + }, + { + name = "KEY_KP_MULTIPLY", + value = 332, + description = "Key: Keypad *" + }, + { + name = "KEY_KP_SUBTRACT", + value = 333, + description = "Key: Keypad -" + }, + { + name = "KEY_KP_ADD", + value = 334, + description = "Key: Keypad +" + }, + { + name = "KEY_KP_ENTER", + value = 335, + description = "Key: Keypad Enter" + }, + { + name = "KEY_KP_EQUAL", + value = 336, + description = "Key: Keypad =" + }, + { + name = "KEY_BACK", + value = 4, + description = "Key: Android back button" + }, + { + name = "KEY_MENU", + value = 5, + description = "Key: Android menu button" + }, + { + name = "KEY_VOLUME_UP", + value = 24, + description = "Key: Android volume up button" + }, + { + name = "KEY_VOLUME_DOWN", + value = 25, + description = "Key: Android volume down button" + } + } + }, + { + name = "MouseButton", + description = [=[Mouse buttons]=], + values = { + { + name = "MOUSE_BUTTON_LEFT", + value = 0, + description = "Mouse button left" + }, + { + name = "MOUSE_BUTTON_RIGHT", + value = 1, + description = "Mouse button right" + }, + { + name = "MOUSE_BUTTON_MIDDLE", + value = 2, + description = "Mouse button middle (pressed wheel)" + }, + { + name = "MOUSE_BUTTON_SIDE", + value = 3, + description = "Mouse button side (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_EXTRA", + value = 4, + description = "Mouse button extra (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_FORWARD", + value = 5, + description = "Mouse button forward (advanced mouse device)" + }, + { + name = "MOUSE_BUTTON_BACK", + value = 6, + description = "Mouse button back (advanced mouse device)" + } + } + }, + { + name = "MouseCursor", + description = [=[Mouse cursor]=], + values = { + { + name = "MOUSE_CURSOR_DEFAULT", + value = 0, + description = "Default pointer shape" + }, + { + name = "MOUSE_CURSOR_ARROW", + value = 1, + description = "Arrow shape" + }, + { + name = "MOUSE_CURSOR_IBEAM", + value = 2, + description = "Text writing cursor shape" + }, + { + name = "MOUSE_CURSOR_CROSSHAIR", + value = 3, + description = "Cross shape" + }, + { + name = "MOUSE_CURSOR_POINTING_HAND", + value = 4, + description = "Pointing hand cursor" + }, + { + name = "MOUSE_CURSOR_RESIZE_EW", + value = 5, + description = "Horizontal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NS", + value = 6, + description = "Vertical resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NWSE", + value = 7, + description = "Top-left to bottom-right diagonal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_NESW", + value = 8, + description = "The top-right to bottom-left diagonal resize/move arrow shape" + }, + { + name = "MOUSE_CURSOR_RESIZE_ALL", + value = 9, + description = "The omnidirectional resize/move cursor shape" + }, + { + name = "MOUSE_CURSOR_NOT_ALLOWED", + value = 10, + description = "The operation-not-allowed shape" + } + } + }, + { + name = "GamepadButton", + description = [=[Gamepad buttons]=], + values = { + { + name = "GAMEPAD_BUTTON_UNKNOWN", + value = 0, + description = "Unknown button, for error checking" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_UP", + value = 1, + description = "Gamepad left DPAD up button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_RIGHT", + value = 2, + description = "Gamepad left DPAD right button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_DOWN", + value = 3, + description = "Gamepad left DPAD down button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_FACE_LEFT", + value = 4, + description = "Gamepad left DPAD left button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_UP", + value = 5, + description = "Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_RIGHT", + value = 6, + description = "Gamepad right button right (i.e. PS3: Circle, Xbox: B)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_DOWN", + value = 7, + description = "Gamepad right button down (i.e. PS3: Cross, Xbox: A)" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_FACE_LEFT", + value = 8, + description = "Gamepad right button left (i.e. PS3: Square, Xbox: X)" + }, + { + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_1", + value = 9, + description = "Gamepad top/back trigger left (first), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_LEFT_TRIGGER_2", + value = 10, + description = "Gamepad top/back trigger left (second), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_1", + value = 11, + description = "Gamepad top/back trigger right (first), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_TRIGGER_2", + value = 12, + description = "Gamepad top/back trigger right (second), it could be a trailing button" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE_LEFT", + value = 13, + description = "Gamepad center buttons, left one (i.e. PS3: Select)" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE", + value = 14, + description = "Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" + }, + { + name = "GAMEPAD_BUTTON_MIDDLE_RIGHT", + value = 15, + description = "Gamepad center buttons, right one (i.e. PS3: Start)" + }, + { + name = "GAMEPAD_BUTTON_LEFT_THUMB", + value = 16, + description = "Gamepad joystick pressed button left" + }, + { + name = "GAMEPAD_BUTTON_RIGHT_THUMB", + value = 17, + description = "Gamepad joystick pressed button right" + } + } + }, + { + name = "GamepadAxis", + description = [=[Gamepad axes]=], + values = { + { + name = "GAMEPAD_AXIS_LEFT_X", + value = 0, + description = "Gamepad left stick X axis" + }, + { + name = "GAMEPAD_AXIS_LEFT_Y", + value = 1, + description = "Gamepad left stick Y axis" + }, + { + name = "GAMEPAD_AXIS_RIGHT_X", + value = 2, + description = "Gamepad right stick X axis" + }, + { + name = "GAMEPAD_AXIS_RIGHT_Y", + value = 3, + description = "Gamepad right stick Y axis" + }, + { + name = "GAMEPAD_AXIS_LEFT_TRIGGER", + value = 4, + description = "Gamepad back trigger left, pressure level: [1..-1]" + }, + { + name = "GAMEPAD_AXIS_RIGHT_TRIGGER", + value = 5, + description = "Gamepad back trigger right, pressure level: [1..-1]" + } + } + }, + { + name = "MaterialMapIndex", + description = [=[Material map index]=], + values = { + { + name = "MATERIAL_MAP_ALBEDO", + value = 0, + description = "Albedo material (same as: MATERIAL_MAP_DIFFUSE)" + }, + { + name = "MATERIAL_MAP_METALNESS", + value = 1, + description = "Metalness material (same as: MATERIAL_MAP_SPECULAR)" + }, + { + name = "MATERIAL_MAP_NORMAL", + value = 2, + description = "Normal material" + }, + { + name = "MATERIAL_MAP_ROUGHNESS", + value = 3, + description = "Roughness material" + }, + { + name = "MATERIAL_MAP_OCCLUSION", + value = 4, + description = "Ambient occlusion material" + }, + { + name = "MATERIAL_MAP_EMISSION", + value = 5, + description = "Emission material" + }, + { + name = "MATERIAL_MAP_HEIGHT", + value = 6, + description = "Heightmap material" + }, + { + name = "MATERIAL_MAP_CUBEMAP", + value = 7, + description = "Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_IRRADIANCE", + value = 8, + description = "Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_PREFILTER", + value = 9, + description = "Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" + }, + { + name = "MATERIAL_MAP_BRDF", + value = 10, + description = "Brdf material" + } + } + }, + { + name = "ShaderLocationIndex", + description = [=[Shader location index]=], + values = { + { + name = "SHADER_LOC_VERTEX_POSITION", + value = 0, + description = "Shader location: vertex attribute: position" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD01", + value = 1, + description = "Shader location: vertex attribute: texcoord01" + }, + { + name = "SHADER_LOC_VERTEX_TEXCOORD02", + value = 2, + description = "Shader location: vertex attribute: texcoord02" + }, + { + name = "SHADER_LOC_VERTEX_NORMAL", + value = 3, + description = "Shader location: vertex attribute: normal" + }, + { + name = "SHADER_LOC_VERTEX_TANGENT", + value = 4, + description = "Shader location: vertex attribute: tangent" + }, + { + name = "SHADER_LOC_VERTEX_COLOR", + value = 5, + description = "Shader location: vertex attribute: color" + }, + { + name = "SHADER_LOC_MATRIX_MVP", + value = 6, + description = "Shader location: matrix uniform: model-view-projection" + }, + { + name = "SHADER_LOC_MATRIX_VIEW", + value = 7, + description = "Shader location: matrix uniform: view (camera transform)" + }, + { + name = "SHADER_LOC_MATRIX_PROJECTION", + value = 8, + description = "Shader location: matrix uniform: projection" + }, + { + name = "SHADER_LOC_MATRIX_MODEL", + value = 9, + description = "Shader location: matrix uniform: model (transform)" + }, + { + name = "SHADER_LOC_MATRIX_NORMAL", + value = 10, + description = "Shader location: matrix uniform: normal" + }, + { + name = "SHADER_LOC_VECTOR_VIEW", + value = 11, + description = "Shader location: vector uniform: view" + }, + { + name = "SHADER_LOC_COLOR_DIFFUSE", + value = 12, + description = "Shader location: vector uniform: diffuse color" + }, + { + name = "SHADER_LOC_COLOR_SPECULAR", + value = 13, + description = "Shader location: vector uniform: specular color" + }, + { + name = "SHADER_LOC_COLOR_AMBIENT", + value = 14, + description = "Shader location: vector uniform: ambient color" + }, + { + name = "SHADER_LOC_MAP_ALBEDO", + value = 15, + description = "Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" + }, + { + name = "SHADER_LOC_MAP_METALNESS", + value = 16, + description = "Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" + }, + { + name = "SHADER_LOC_MAP_NORMAL", + value = 17, + description = "Shader location: sampler2d texture: normal" + }, + { + name = "SHADER_LOC_MAP_ROUGHNESS", + value = 18, + description = "Shader location: sampler2d texture: roughness" + }, + { + name = "SHADER_LOC_MAP_OCCLUSION", + value = 19, + description = "Shader location: sampler2d texture: occlusion" + }, + { + name = "SHADER_LOC_MAP_EMISSION", + value = 20, + description = "Shader location: sampler2d texture: emission" + }, + { + name = "SHADER_LOC_MAP_HEIGHT", + value = 21, + description = "Shader location: sampler2d texture: heightmap" + }, + { + name = "SHADER_LOC_MAP_CUBEMAP", + value = 22, + description = "Shader location: samplerCube texture: cubemap" + }, + { + name = "SHADER_LOC_MAP_IRRADIANCE", + value = 23, + description = "Shader location: samplerCube texture: irradiance" + }, + { + name = "SHADER_LOC_MAP_PREFILTER", + value = 24, + description = "Shader location: samplerCube texture: prefilter" + }, + { + name = "SHADER_LOC_MAP_BRDF", + value = 25, + description = "Shader location: sampler2d texture: brdf" + }, + { + name = "SHADER_LOC_VERTEX_BONEIDS", + value = 26, + description = "Shader location: vertex attribute: bone indices" + }, + { + name = "SHADER_LOC_VERTEX_BONEWEIGHTS", + value = 27, + description = "Shader location: vertex attribute: bone weights" + }, + { + name = "SHADER_LOC_MATRIX_BONETRANSFORMS", + value = 28, + description = "Shader location: matrix attribute: bone transforms (animation)" + }, + { + name = "SHADER_LOC_VERTEX_INSTANCETRANSFORM", + value = 29, + description = "Shader location: vertex attribute: instance transforms" + } + } + }, + { + name = "ShaderUniformDataType", + description = [=[Shader uniform data type]=], + values = { + { + name = "SHADER_UNIFORM_FLOAT", + value = 0, + description = "Shader uniform type: float" + }, + { + name = "SHADER_UNIFORM_VEC2", + value = 1, + description = "Shader uniform type: vec2 (2 float)" + }, + { + name = "SHADER_UNIFORM_VEC3", + value = 2, + description = "Shader uniform type: vec3 (3 float)" + }, + { + name = "SHADER_UNIFORM_VEC4", + value = 3, + description = "Shader uniform type: vec4 (4 float)" + }, + { + name = "SHADER_UNIFORM_INT", + value = 4, + description = "Shader uniform type: int" + }, + { + name = "SHADER_UNIFORM_IVEC2", + value = 5, + description = "Shader uniform type: ivec2 (2 int)" + }, + { + name = "SHADER_UNIFORM_IVEC3", + value = 6, + description = "Shader uniform type: ivec3 (3 int)" + }, + { + name = "SHADER_UNIFORM_IVEC4", + value = 7, + description = "Shader uniform type: ivec4 (4 int)" + }, + { + name = "SHADER_UNIFORM_UINT", + value = 8, + description = "Shader uniform type: unsigned int" + }, + { + name = "SHADER_UNIFORM_UIVEC2", + value = 9, + description = "Shader uniform type: uivec2 (2 unsigned int)" + }, + { + name = "SHADER_UNIFORM_UIVEC3", + value = 10, + description = "Shader uniform type: uivec3 (3 unsigned int)" + }, + { + name = "SHADER_UNIFORM_UIVEC4", + value = 11, + description = "Shader uniform type: uivec4 (4 unsigned int)" + }, + { + name = "SHADER_UNIFORM_SAMPLER2D", + value = 12, + description = "Shader uniform type: sampler2d" + } + } + }, + { + name = "ShaderAttributeDataType", + description = [=[Shader attribute data types]=], + values = { + { + name = "SHADER_ATTRIB_FLOAT", + value = 0, + description = "Shader attribute type: float" + }, + { + name = "SHADER_ATTRIB_VEC2", + value = 1, + description = "Shader attribute type: vec2 (2 float)" + }, + { + name = "SHADER_ATTRIB_VEC3", + value = 2, + description = "Shader attribute type: vec3 (3 float)" + }, + { + name = "SHADER_ATTRIB_VEC4", + value = 3, + description = "Shader attribute type: vec4 (4 float)" + } + } + }, + { + name = "PixelFormat", + description = [=[Pixel formats]=], + values = { + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", + value = 1, + description = "8 bit per pixel (no alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA", + value = 2, + description = "8*2 bpp (2 channels)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G6B5", + value = 3, + description = "16 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8", + value = 4, + description = "24 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R5G5B5A1", + value = 5, + description = "16 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R4G4B4A4", + value = 6, + description = "16 bpp (4 bit alpha)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R8G8B8A8", + value = 7, + description = "32 bpp" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32", + value = 8, + description = "32 bpp (1 channel - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32", + value = 9, + description = "32*3 bpp (3 channels - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R32G32B32A32", + value = 10, + description = "32*4 bpp (4 channels - float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R16", + value = 11, + description = "16 bpp (1 channel - half float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16", + value = 12, + description = "16*3 bpp (3 channels - half float)" + }, + { + name = "PIXELFORMAT_UNCOMPRESSED_R16G16B16A16", + value = 13, + description = "16*4 bpp (4 channels - half float)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGB", + value = 14, + description = "4 bpp (no alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA", + value = 15, + description = "4 bpp (1 bit alpha)" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA", + value = 16, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA", + value = 17, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC1_RGB", + value = 18, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_RGB", + value = 19, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", + value = 20, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGB", + value = 21, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA", + value = 22, + description = "4 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", + value = 23, + description = "8 bpp" + }, + { + name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", + value = 24, + description = "2 bpp" + } + } + }, + { + name = "TextureFilter", + description = [=[Texture parameters: filter mode]=], + values = { + { + name = "TEXTURE_FILTER_POINT", + value = 0, + description = "No filter, pixel approximation" + }, + { + name = "TEXTURE_FILTER_BILINEAR", + value = 1, + description = "Linear filtering" + }, + { + name = "TEXTURE_FILTER_TRILINEAR", + value = 2, + description = "Trilinear filtering (linear with mipmaps)" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_4X", + value = 3, + description = "Anisotropic filtering 4x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_8X", + value = 4, + description = "Anisotropic filtering 8x" + }, + { + name = "TEXTURE_FILTER_ANISOTROPIC_16X", + value = 5, + description = "Anisotropic filtering 16x" + } + } + }, + { + name = "TextureWrap", + description = [=[Texture parameters: wrap mode]=], + values = { + { + name = "TEXTURE_WRAP_REPEAT", + value = 0, + description = "Repeats texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_CLAMP", + value = 1, + description = "Clamps texture to edge pixel in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_REPEAT", + value = 2, + description = "Mirrors and repeats the texture in tiled mode" + }, + { + name = "TEXTURE_WRAP_MIRROR_CLAMP", + value = 3, + description = "Mirrors and clamps to border the texture in tiled mode" + } + } + }, + { + name = "CubemapLayout", + description = [=[Cubemap layouts]=], + values = { + { + name = "CUBEMAP_LAYOUT_AUTO_DETECT", + value = 0, + description = "Automatically detect layout type" + }, + { + name = "CUBEMAP_LAYOUT_LINE_VERTICAL", + value = 1, + description = "Layout is defined by a vertical line with faces" + }, + { + name = "CUBEMAP_LAYOUT_LINE_HORIZONTAL", + value = 2, + description = "Layout is defined by a horizontal line with faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR", + value = 3, + description = "Layout is defined by a 3x4 cross with cubemap faces" + }, + { + name = "CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE", + value = 4, + description = "Layout is defined by a 4x3 cross with cubemap faces" + } + } + }, + { + name = "FontType", + description = [=[Font type, defines generation method]=], + values = { + { + name = "FONT_DEFAULT", + value = 0, + description = "Default font generation, anti-aliased" + }, + { + name = "FONT_BITMAP", + value = 1, + description = "Bitmap font generation, no anti-aliasing" + }, + { + name = "FONT_SDF", + value = 2, + description = "SDF font generation, requires external shader" + } + } + }, + { + name = "BlendMode", + description = [=[Color blending modes (pre-defined)]=], + values = { + { + name = "BLEND_ALPHA", + value = 0, + description = "Blend textures considering alpha (default)" + }, + { + name = "BLEND_ADDITIVE", + value = 1, + description = "Blend textures adding colors" + }, + { + name = "BLEND_MULTIPLIED", + value = 2, + description = "Blend textures multiplying colors" + }, + { + name = "BLEND_ADD_COLORS", + value = 3, + description = "Blend textures adding colors (alternative)" + }, + { + name = "BLEND_SUBTRACT_COLORS", + value = 4, + description = "Blend textures subtracting colors (alternative)" + }, + { + name = "BLEND_ALPHA_PREMULTIPLY", + value = 5, + description = "Blend premultiplied textures considering alpha" + }, + { + name = "BLEND_CUSTOM", + value = 6, + description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + name = "BLEND_CUSTOM_SEPARATE", + value = 7, + description = "Blend textures using custom rgb/alpha separate src/dst factors (use rlSetBlendFactorsSeparate())" + } + } + }, + { + name = "Gesture", + description = [=[Gesture]=], + values = { + { + name = "GESTURE_NONE", + value = 0, + description = "No gesture" + }, + { + name = "GESTURE_TAP", + value = 1, + description = "Tap gesture" + }, + { + name = "GESTURE_DOUBLETAP", + value = 2, + description = "Double tap gesture" + }, + { + name = "GESTURE_HOLD", + value = 4, + description = "Hold gesture" + }, + { + name = "GESTURE_DRAG", + value = 8, + description = "Drag gesture" + }, + { + name = "GESTURE_SWIPE_RIGHT", + value = 16, + description = "Swipe right gesture" + }, + { + name = "GESTURE_SWIPE_LEFT", + value = 32, + description = "Swipe left gesture" + }, + { + name = "GESTURE_SWIPE_UP", + value = 64, + description = "Swipe up gesture" + }, + { + name = "GESTURE_SWIPE_DOWN", + value = 128, + description = "Swipe down gesture" + }, + { + name = "GESTURE_PINCH_IN", + value = 256, + description = "Pinch in gesture" + }, + { + name = "GESTURE_PINCH_OUT", + value = 512, + description = "Pinch out gesture" + } + } + }, + { + name = "CameraMode", + description = [=[Camera system modes]=], + values = { + { + name = "CAMERA_CUSTOM", + value = 0, + description = "Camera custom, controlled by user (UpdateCamera() does nothing)" + }, + { + name = "CAMERA_FREE", + value = 1, + description = "Camera free mode" + }, + { + name = "CAMERA_ORBITAL", + value = 2, + description = "Camera orbital, around target, zoom supported" + }, + { + name = "CAMERA_FIRST_PERSON", + value = 3, + description = "Camera first person" + }, + { + name = "CAMERA_THIRD_PERSON", + value = 4, + description = "Camera third person" + } + } + }, + { + name = "CameraProjection", + description = [=[Camera projection]=], + values = { + { + name = "CAMERA_PERSPECTIVE", + value = 0, + description = "Perspective projection" + }, + { + name = "CAMERA_ORTHOGRAPHIC", + value = 1, + description = "Orthographic projection" + } + } + }, + { + name = "NPatchLayout", + description = [=[N-patch layout]=], + values = { + { + name = "NPATCH_NINE_PATCH", + value = 0, + description = "Npatch layout: 3x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_VERTICAL", + value = 1, + description = "Npatch layout: 1x3 tiles" + }, + { + name = "NPATCH_THREE_PATCH_HORIZONTAL", + value = 2, + description = "Npatch layout: 3x1 tiles" + } + } + } + }, + callbacks = { + { + name = "TraceLogCallback", + description = [=[Logging: Redirect trace log messages]=], + returnType = "void", + params = { + {type = "int", name = "logLevel"}, + {type = "const char *", name = "text"}, + {type = "va_list", name = "args"} + } + }, + { + name = "LoadFileDataCallback", + description = [=[FileIO: Load binary data]=], + returnType = "unsigned char *", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "dataSize"} + } + }, + { + name = "SaveFileDataCallback", + description = [=[FileIO: Save binary data]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "void *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "LoadFileTextCallback", + description = [=[FileIO: Load text data]=], + returnType = "char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "SaveFileTextCallback", + description = [=[FileIO: Save text data]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "text"} + } + }, + { + name = "AudioCallback", + description = [=[]=], + returnType = "void", + params = { + {type = "void *", name = "bufferData"}, + {type = "unsigned int", name = "frames"} + } + } + }, + functions = { + { + name = "InitWindow", + description = [=[Initialize window and OpenGL context]=], + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "const char *", name = "title"} + } + }, + { + name = "CloseWindow", + description = [=[Close window and unload OpenGL context]=], + returnType = "void" + }, + { + name = "WindowShouldClose", + description = [=[Check if application should close (KEY_ESCAPE pressed or windows close icon clicked)]=], + returnType = "bool" + }, + { + name = "IsWindowReady", + description = [=[Check if window has been initialized successfully]=], + returnType = "bool" + }, + { + name = "IsWindowFullscreen", + description = [=[Check if window is currently fullscreen]=], + returnType = "bool" + }, + { + name = "IsWindowHidden", + description = [=[Check if window is currently hidden]=], + returnType = "bool" + }, + { + name = "IsWindowMinimized", + description = [=[Check if window is currently minimized]=], + returnType = "bool" + }, + { + name = "IsWindowMaximized", + description = [=[Check if window is currently maximized]=], + returnType = "bool" + }, + { + name = "IsWindowFocused", + description = [=[Check if window is currently focused]=], + returnType = "bool" + }, + { + name = "IsWindowResized", + description = [=[Check if window has been resized last frame]=], + returnType = "bool" + }, + { + name = "IsWindowState", + description = [=[Check if one specific window flag is enabled]=], + returnType = "bool", + params = { + {type = "unsigned int", name = "flag"} + } + }, + { + name = "SetWindowState", + description = [=[Set window configuration state using flags]=], + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "ClearWindowState", + description = [=[Clear window configuration state flags]=], + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "ToggleFullscreen", + description = [=[Toggle window state: fullscreen/windowed, resizes monitor to match window resolution]=], + returnType = "void" + }, + { + name = "ToggleBorderlessWindowed", + description = [=[Toggle window state: borderless windowed, resizes window to match monitor resolution]=], + returnType = "void" + }, + { + name = "MaximizeWindow", + description = [=[Set window state: maximized, if resizable]=], + returnType = "void" + }, + { + name = "MinimizeWindow", + description = [=[Set window state: minimized, if resizable]=], + returnType = "void" + }, + { + name = "RestoreWindow", + description = [=[Restore window from being minimized/maximized]=], + returnType = "void" + }, + { + name = "SetWindowIcon", + description = [=[Set icon for window (single image, RGBA 32bit)]=], + returnType = "void", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "SetWindowIcons", + description = [=[Set icon for window (multiple images, RGBA 32bit)]=], + returnType = "void", + params = { + {type = "Image *", name = "images"}, + {type = "int", name = "count"} + } + }, + { + name = "SetWindowTitle", + description = [=[Set title for window]=], + returnType = "void", + params = { + {type = "const char *", name = "title"} + } + }, + { + name = "SetWindowPosition", + description = [=[Set window position on screen]=], + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "SetWindowMonitor", + description = [=[Set monitor for the current window]=], + returnType = "void", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "SetWindowMinSize", + description = [=[Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)]=], + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "SetWindowMaxSize", + description = [=[Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE)]=], + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "SetWindowSize", + description = [=[Set window dimensions]=], + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "SetWindowOpacity", + description = [=[Set window opacity [0.0f..1.0f]]=], + returnType = "void", + params = { + {type = "float", name = "opacity"} + } + }, + { + name = "SetWindowFocused", + description = [=[Set window focused]=], + returnType = "void" + }, + { + name = "GetWindowHandle", + description = [=[Get native window handle]=], + returnType = "void *" + }, + { + name = "GetScreenWidth", + description = [=[Get current screen width]=], + returnType = "int" + }, + { + name = "GetScreenHeight", + description = [=[Get current screen height]=], + returnType = "int" + }, + { + name = "GetRenderWidth", + description = [=[Get current render width (it considers HiDPI)]=], + returnType = "int" + }, + { + name = "GetRenderHeight", + description = [=[Get current render height (it considers HiDPI)]=], + returnType = "int" + }, + { + name = "GetMonitorCount", + description = [=[Get number of connected monitors]=], + returnType = "int" + }, + { + name = "GetCurrentMonitor", + description = [=[Get current monitor where window is placed]=], + returnType = "int" + }, + { + name = "GetMonitorPosition", + description = [=[Get specified monitor position]=], + returnType = "Vector2", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorWidth", + description = [=[Get specified monitor width (current video mode used by monitor)]=], + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorHeight", + description = [=[Get specified monitor height (current video mode used by monitor)]=], + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorPhysicalWidth", + description = [=[Get specified monitor physical width in millimetres]=], + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorPhysicalHeight", + description = [=[Get specified monitor physical height in millimetres]=], + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetMonitorRefreshRate", + description = [=[Get specified monitor refresh rate]=], + returnType = "int", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "GetWindowPosition", + description = [=[Get window position XY on monitor]=], + returnType = "Vector2" + }, + { + name = "GetWindowScaleDPI", + description = [=[Get window scale DPI factor]=], + returnType = "Vector2" + }, + { + name = "GetMonitorName", + description = [=[Get the human-readable, UTF-8 encoded name of the specified monitor]=], + returnType = "const char *", + params = { + {type = "int", name = "monitor"} + } + }, + { + name = "SetClipboardText", + description = [=[Set clipboard text content]=], + returnType = "void", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "GetClipboardText", + description = [=[Get clipboard text content]=], + returnType = "const char *" + }, + { + name = "GetClipboardImage", + description = [=[Get clipboard image content]=], + returnType = "Image" + }, + { + name = "EnableEventWaiting", + description = [=[Enable waiting for events on EndDrawing(), no automatic event polling]=], + returnType = "void" + }, + { + name = "DisableEventWaiting", + description = [=[Disable waiting for events on EndDrawing(), automatic events polling]=], + returnType = "void" + }, + { + name = "ShowCursor", + description = [=[Shows cursor]=], + returnType = "void" + }, + { + name = "HideCursor", + description = [=[Hides cursor]=], + returnType = "void" + }, + { + name = "IsCursorHidden", + description = [=[Check if cursor is not visible]=], + returnType = "bool" + }, + { + name = "EnableCursor", + description = [=[Enables cursor (unlock cursor)]=], + returnType = "void" + }, + { + name = "DisableCursor", + description = [=[Disables cursor (lock cursor)]=], + returnType = "void" + }, + { + name = "IsCursorOnScreen", + description = [=[Check if cursor is on the screen]=], + returnType = "bool" + }, + { + name = "ClearBackground", + description = [=[Set background color (framebuffer clear color)]=], + returnType = "void", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "BeginDrawing", + description = [=[Setup canvas (framebuffer) to start drawing]=], + returnType = "void" + }, + { + name = "EndDrawing", + description = [=[End canvas drawing and swap buffers (double buffering)]=], + returnType = "void" + }, + { + name = "BeginMode2D", + description = [=[Begin 2D mode with custom camera (2D)]=], + returnType = "void", + params = { + {type = "Camera2D", name = "camera"} + } + }, + { + name = "EndMode2D", + description = [=[Ends 2D mode with custom camera]=], + returnType = "void" + }, + { + name = "BeginMode3D", + description = [=[Begin 3D mode with custom camera (3D)]=], + returnType = "void", + params = { + {type = "Camera3D", name = "camera"} + } + }, + { + name = "EndMode3D", + description = [=[Ends 3D mode and returns to default 2D orthographic mode]=], + returnType = "void" + }, + { + name = "BeginTextureMode", + description = [=[Begin drawing to render texture]=], + returnType = "void", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "EndTextureMode", + description = [=[Ends drawing to render texture]=], + returnType = "void" + }, + { + name = "BeginShaderMode", + description = [=[Begin custom shader drawing]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "EndShaderMode", + description = [=[End custom shader drawing (use default shader)]=], + returnType = "void" + }, + { + name = "BeginBlendMode", + description = [=[Begin blending mode (alpha, additive, multiplied, subtract, custom)]=], + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, + { + name = "EndBlendMode", + description = [=[End blending mode (reset to default: alpha blending)]=], + returnType = "void" + }, + { + name = "BeginScissorMode", + description = [=[Begin scissor mode (define screen area for following drawing)]=], + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "EndScissorMode", + description = [=[End scissor mode]=], + returnType = "void" + }, + { + name = "BeginVrStereoMode", + description = [=[Begin stereo rendering (requires VR simulator)]=], + returnType = "void", + params = { + {type = "VrStereoConfig", name = "config"} + } + }, + { + name = "EndVrStereoMode", + description = [=[End stereo rendering (requires VR simulator)]=], + returnType = "void" + }, + { + name = "LoadVrStereoConfig", + description = [=[Load VR stereo config for VR simulator device parameters]=], + returnType = "VrStereoConfig", + params = { + {type = "VrDeviceInfo", name = "device"} + } + }, + { + name = "UnloadVrStereoConfig", + description = [=[Unload VR stereo config]=], + returnType = "void", + params = { + {type = "VrStereoConfig", name = "config"} + } + }, + { + name = "LoadShader", + description = [=[Load shader from files and bind default locations]=], + returnType = "Shader", + params = { + {type = "const char *", name = "vsFileName"}, + {type = "const char *", name = "fsFileName"} + } + }, + { + name = "LoadShaderFromMemory", + description = [=[Load shader from code strings and bind default locations]=], + returnType = "Shader", + params = { + {type = "const char *", name = "vsCode"}, + {type = "const char *", name = "fsCode"} + } + }, + { + name = "IsShaderValid", + description = [=[Check if a shader is valid (loaded on GPU)]=], + returnType = "bool", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "GetShaderLocation", + description = [=[Get shader uniform location]=], + returnType = "int", + params = { + {type = "Shader", name = "shader"}, + {type = "const char *", name = "uniformName"} + } + }, + { + name = "GetShaderLocationAttrib", + description = [=[Get shader attribute location]=], + returnType = "int", + params = { + {type = "Shader", name = "shader"}, + {type = "const char *", name = "attribName"} + } + }, + { + name = "SetShaderValue", + description = [=[Set shader uniform value]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "uniformType"} + } + }, + { + name = "SetShaderValueV", + description = [=[Set shader uniform value vector]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "const void *", name = "value"}, + {type = "int", name = "uniformType"}, + {type = "int", name = "count"} + } + }, + { + name = "SetShaderValueMatrix", + description = [=[Set shader uniform value (matrix 4x4)]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "Matrix", name = "mat"} + } + }, + { + name = "SetShaderValueTexture", + description = [=[Set shader uniform value and bind the texture (sampler2d)]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"}, + {type = "int", name = "locIndex"}, + {type = "Texture2D", name = "texture"} + } + }, + { + name = "UnloadShader", + description = [=[Unload shader from GPU memory (VRAM)]=], + returnType = "void", + params = { + {type = "Shader", name = "shader"} + } + }, + { + name = "GetScreenToWorldRay", + description = [=[Get a ray trace from screen position (i.e mouse)]=], + returnType = "Ray", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera", name = "camera"} + } + }, + { + name = "GetScreenToWorldRayEx", + description = [=[Get a ray trace from screen position (i.e mouse) in a viewport]=], + returnType = "Ray", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera", name = "camera"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "GetWorldToScreen", + description = [=[Get the screen space position for a 3d world space position]=], + returnType = "Vector2", + params = { + {type = "Vector3", name = "position"}, + {type = "Camera", name = "camera"} + } + }, + { + name = "GetWorldToScreenEx", + description = [=[Get size position for a 3d world space position]=], + returnType = "Vector2", + params = { + {type = "Vector3", name = "position"}, + {type = "Camera", name = "camera"}, + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "GetWorldToScreen2D", + description = [=[Get the screen space position for a 2d camera world space position]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera2D", name = "camera"} + } + }, + { + name = "GetScreenToWorld2D", + description = [=[Get the world space position for a 2d camera screen space position]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "position"}, + {type = "Camera2D", name = "camera"} + } + }, + { + name = "GetCameraMatrix", + description = [=[Get camera transform matrix (view matrix)]=], + returnType = "Matrix", + params = { + {type = "Camera", name = "camera"} + } + }, + { + name = "GetCameraMatrix2D", + description = [=[Get camera 2d transform matrix]=], + returnType = "Matrix", + params = { + {type = "Camera2D", name = "camera"} + } + }, + { + name = "SetTargetFPS", + description = [=[Set target FPS (maximum)]=], + returnType = "void", + params = { + {type = "int", name = "fps"} + } + }, + { + name = "GetFrameTime", + description = [=[Get time in seconds for last frame drawn (delta time)]=], + returnType = "float" + }, + { + name = "GetTime", + description = [=[Get elapsed time in seconds since InitWindow()]=], + returnType = "double" + }, + { + name = "GetFPS", + description = [=[Get current FPS]=], + returnType = "int" + }, + { + name = "SwapScreenBuffer", + description = [=[Swap back buffer with front buffer (screen drawing)]=], + returnType = "void" + }, + { + name = "PollInputEvents", + description = [=[Register all input events]=], + returnType = "void" + }, + { + name = "WaitTime", + description = [=[Wait for some time (halt program execution)]=], + returnType = "void", + params = { + {type = "double", name = "seconds"} + } + }, + { + name = "SetRandomSeed", + description = [=[Set the seed for the random number generator]=], + returnType = "void", + params = { + {type = "unsigned int", name = "seed"} + } + }, + { + name = "GetRandomValue", + description = [=[Get a random value between min and max (both included)]=], + returnType = "int", + params = { + {type = "int", name = "min"}, + {type = "int", name = "max"} + } + }, + { + name = "LoadRandomSequence", + description = [=[Load random values sequence, no values repeated]=], + returnType = "int *", + params = { + {type = "unsigned int", name = "count"}, + {type = "int", name = "min"}, + {type = "int", name = "max"} + } + }, + { + name = "UnloadRandomSequence", + description = [=[Unload random values sequence]=], + returnType = "void", + params = { + {type = "int *", name = "sequence"} + } + }, + { + name = "TakeScreenshot", + description = [=[Takes a screenshot of current screen (filename extension defines format)]=], + returnType = "void", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "SetConfigFlags", + description = [=[Setup init configuration flags (view FLAGS)]=], + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "OpenURL", + description = [=[Open URL with default system browser (if available)]=], + returnType = "void", + params = { + {type = "const char *", name = "url"} + } + }, + { + name = "SetTraceLogLevel", + description = [=[Set the current threshold (minimum) log level]=], + returnType = "void", + params = { + {type = "int", name = "logLevel"} + } + }, + { + name = "TraceLog", + description = [=[Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)]=], + returnType = "void", + params = { + {type = "int", name = "logLevel"}, + {type = "const char *", name = "text"}, + {type = "...", name = "args"} + } + }, + { + name = "SetTraceLogCallback", + description = [=[Set custom trace log]=], + returnType = "void", + params = { + {type = "TraceLogCallback", name = "callback"} + } + }, + { + name = "MemAlloc", + description = [=[Internal memory allocator]=], + returnType = "void *", + params = { + {type = "unsigned int", name = "size"} + } + }, + { + name = "MemRealloc", + description = [=[Internal memory reallocator]=], + returnType = "void *", + params = { + {type = "void *", name = "ptr"}, + {type = "unsigned int", name = "size"} + } + }, + { + name = "MemFree", + description = [=[Internal memory free]=], + returnType = "void", + params = { + {type = "void *", name = "ptr"} + } + }, + { + name = "LoadFileData", + description = [=[Load file data as byte array (read)]=], + returnType = "unsigned char *", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "dataSize"} + } + }, + { + name = "UnloadFileData", + description = [=[Unload file data allocated by LoadFileData()]=], + returnType = "void", + params = { + {type = "unsigned char *", name = "data"} + } + }, + { + name = "SaveFileData", + description = [=[Save data to file from byte array (write), returns true on success]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "void *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "ExportDataAsCode", + description = [=[Export data to code (.h), returns true on success]=], + returnType = "bool", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadFileText", + description = [=[Load text data from file (read), returns a '\\0' terminated string]=], + returnType = "char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "UnloadFileText", + description = [=[Unload file text data allocated by LoadFileText()]=], + returnType = "void", + params = { + {type = "char *", name = "text"} + } + }, + { + name = "SaveFileText", + description = [=[Save text data to file (write), string must be '\\0' terminated, returns true on success]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "text"} + } + }, + { + name = "SetLoadFileDataCallback", + description = [=[Set custom file binary data loader]=], + returnType = "void", + params = { + {type = "LoadFileDataCallback", name = "callback"} + } + }, + { + name = "SetSaveFileDataCallback", + description = [=[Set custom file binary data saver]=], + returnType = "void", + params = { + {type = "SaveFileDataCallback", name = "callback"} + } + }, + { + name = "SetLoadFileTextCallback", + description = [=[Set custom file text data loader]=], + returnType = "void", + params = { + {type = "LoadFileTextCallback", name = "callback"} + } + }, + { + name = "SetSaveFileTextCallback", + description = [=[Set custom file text data saver]=], + returnType = "void", + params = { + {type = "SaveFileTextCallback", name = "callback"} + } + }, + { + name = "FileRename", + description = [=[Rename file (if exists)]=], + returnType = "int", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "fileRename"} + } + }, + { + name = "FileRemove", + description = [=[Remove file (if exists)]=], + returnType = "int", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "FileCopy", + description = [=[Copy file from one path to another, dstPath created if it doesn't exist]=], + returnType = "int", + params = { + {type = "const char *", name = "srcPath"}, + {type = "const char *", name = "dstPath"} + } + }, + { + name = "FileMove", + description = [=[Move file from one directory to another, dstPath created if it doesn't exist]=], + returnType = "int", + params = { + {type = "const char *", name = "srcPath"}, + {type = "const char *", name = "dstPath"} + } + }, + { + name = "FileTextReplace", + description = [=[Replace text in an existing file]=], + returnType = "int", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "search"}, + {type = "const char *", name = "replacement"} + } + }, + { + name = "FileTextFindIndex", + description = [=[Find text in existing file]=], + returnType = "int", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "search"} + } + }, + { + name = "FileExists", + description = [=[Check if file exists]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "DirectoryExists", + description = [=[Check if a directory path exists]=], + returnType = "bool", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "IsFileExtension", + description = [=[Check file extension (recommended include point: .png, .wav)]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"}, + {type = "const char *", name = "ext"} + } + }, + { + name = "GetFileLength", + description = [=[Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)]=], + returnType = "int", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetFileModTime", + description = [=[Get file modification time (last write time)]=], + returnType = "long", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetFileExtension", + description = [=[Get pointer to extension for a filename string (includes dot: '.png')]=], + returnType = "const char *", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "GetFileName", + description = [=[Get pointer to filename for a path string]=], + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetFileNameWithoutExt", + description = [=[Get filename string without extension (uses static string)]=], + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetDirectoryPath", + description = [=[Get full path for a given fileName with path (uses static string)]=], + returnType = "const char *", + params = { + {type = "const char *", name = "filePath"} + } + }, + { + name = "GetPrevDirectoryPath", + description = [=[Get previous directory path for a given path (uses static string)]=], + returnType = "const char *", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "GetWorkingDirectory", + description = [=[Get current working directory (uses static string)]=], + returnType = "const char *" + }, + { + name = "GetApplicationDirectory", + description = [=[Get the directory of the running application (uses static string)]=], + returnType = "const char *" + }, + { + name = "MakeDirectory", + description = [=[Create directories (including full path requested), returns 0 on success]=], + returnType = "int", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "ChangeDirectory", + description = [=[Change working directory, return true on success]=], + returnType = "bool", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "IsPathFile", + description = [=[Check if a given path is a file or a directory]=], + returnType = "bool", + params = { + {type = "const char *", name = "path"} + } + }, + { + name = "IsFileNameValid", + description = [=[Check if fileName is valid for the platform/OS]=], + returnType = "bool", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadDirectoryFiles", + description = [=[Load directory filepaths, files and directories, no subdirs scan]=], + returnType = "FilePathList", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "LoadDirectoryFilesEx", + description = [=[Load directory filepaths with extension filtering and subdir scan; some filters available: "*.*", "FILES*", "DIRS*"]=], + returnType = "FilePathList", + params = { + {type = "const char *", name = "basePath"}, + {type = "const char *", name = "filter"}, + {type = "bool", name = "scanSubdirs"} + } + }, + { + name = "UnloadDirectoryFiles", + description = [=[Unload filepaths]=], + returnType = "void", + params = { + {type = "FilePathList", name = "files"} + } + }, + { + name = "IsFileDropped", + description = [=[Check if a file has been dropped into window]=], + returnType = "bool" + }, + { + name = "LoadDroppedFiles", + description = [=[Load dropped filepaths]=], + returnType = "FilePathList" + }, + { + name = "UnloadDroppedFiles", + description = [=[Unload dropped filepaths]=], + returnType = "void", + params = { + {type = "FilePathList", name = "files"} + } + }, + { + name = "GetDirectoryFileCount", + description = [=[Get the file count in a directory]=], + returnType = "unsigned int", + params = { + {type = "const char *", name = "dirPath"} + } + }, + { + name = "GetDirectoryFileCountEx", + description = [=[Get the file count in a directory with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result]=], + returnType = "unsigned int", + params = { + {type = "const char *", name = "basePath"}, + {type = "const char *", name = "filter"}, + {type = "bool", name = "scanSubdirs"} + } + }, + { + name = "CompressData", + description = [=[Compress data (DEFLATE algorithm), memory must be MemFree()]=], + returnType = "unsigned char *", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "compDataSize"} + } + }, + { + name = "DecompressData", + description = [=[Decompress data (DEFLATE algorithm), memory must be MemFree()]=], + returnType = "unsigned char *", + params = { + {type = "const unsigned char *", name = "compData"}, + {type = "int", name = "compDataSize"}, + {type = "int *", name = "dataSize"} + } + }, + { + name = "EncodeDataBase64", + description = [=[Encode data to Base64 string (includes NULL terminator), memory must be MemFree()]=], + returnType = "char *", + params = { + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "outputSize"} + } + }, + { + name = "DecodeDataBase64", + description = [=[Decode Base64 string (expected NULL terminated), memory must be MemFree()]=], + returnType = "unsigned char *", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "outputSize"} + } + }, + { + name = "ComputeCRC32", + description = [=[Compute CRC32 hash code]=], + returnType = "unsigned int", + params = { + {type = "unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "ComputeMD5", + description = [=[Compute MD5 hash code, returns static int[4] (16 bytes)]=], + returnType = "unsigned int *", + params = { + {type = "unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "ComputeSHA1", + description = [=[Compute SHA1 hash code, returns static int[5] (20 bytes)]=], + returnType = "unsigned int *", + params = { + {type = "unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "ComputeSHA256", + description = [=[Compute SHA256 hash code, returns static int[8] (32 bytes)]=], + returnType = "unsigned int *", + params = { + {type = "unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "LoadAutomationEventList", + description = [=[Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS]=], + returnType = "AutomationEventList", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "UnloadAutomationEventList", + description = [=[Unload automation events list from file]=], + returnType = "void", + params = { + {type = "AutomationEventList", name = "list"} + } + }, + { + name = "ExportAutomationEventList", + description = [=[Export automation events list as text file]=], + returnType = "bool", + params = { + {type = "AutomationEventList", name = "list"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "SetAutomationEventList", + description = [=[Set automation event list to record to]=], + returnType = "void", + params = { + {type = "AutomationEventList *", name = "list"} + } + }, + { + name = "SetAutomationEventBaseFrame", + description = [=[Set automation event internal base frame to start recording]=], + returnType = "void", + params = { + {type = "int", name = "frame"} + } + }, + { + name = "StartAutomationEventRecording", + description = [=[Start recording automation events (AutomationEventList must be set)]=], + returnType = "void" + }, + { + name = "StopAutomationEventRecording", + description = [=[Stop recording automation events]=], + returnType = "void" + }, + { + name = "PlayAutomationEvent", + description = [=[Play a recorded automation event]=], + returnType = "void", + params = { + {type = "AutomationEvent", name = "event"} + } + }, + { + name = "IsKeyPressed", + description = [=[Check if a key has been pressed once]=], + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyPressedRepeat", + description = [=[Check if a key has been pressed again]=], + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyDown", + description = [=[Check if a key is being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyReleased", + description = [=[Check if a key has been released once]=], + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsKeyUp", + description = [=[Check if a key is NOT being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "key"} + } + }, + { + name = "GetKeyPressed", + description = [=[Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty]=], + returnType = "int" + }, + { + name = "GetCharPressed", + description = [=[Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty]=], + returnType = "int" + }, + { + name = "GetKeyName", + description = [=[Get name of a QWERTY key on the current keyboard layout (eg returns string 'q' for KEY_A on an AZERTY keyboard)]=], + returnType = "const char *", + params = { + {type = "int", name = "key"} + } + }, + { + name = "SetExitKey", + description = [=[Set a custom key to exit program (default is ESC)]=], + returnType = "void", + params = { + {type = "int", name = "key"} + } + }, + { + name = "IsGamepadAvailable", + description = [=[Check if a gamepad is available]=], + returnType = "bool", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "GetGamepadName", + description = [=[Get gamepad internal name id]=], + returnType = "const char *", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "IsGamepadButtonPressed", + description = [=[Check if a gamepad button has been pressed once]=], + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonDown", + description = [=[Check if a gamepad button is being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonReleased", + description = [=[Check if a gamepad button has been released once]=], + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "IsGamepadButtonUp", + description = [=[Check if a gamepad button is NOT being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "button"} + } + }, + { + name = "GetGamepadButtonPressed", + description = [=[Get the last gamepad button pressed]=], + returnType = "int" + }, + { + name = "GetGamepadAxisCount", + description = [=[Get axis count for a gamepad]=], + returnType = "int", + params = { + {type = "int", name = "gamepad"} + } + }, + { + name = "GetGamepadAxisMovement", + description = [=[Get movement value for a gamepad axis]=], + returnType = "float", + params = { + {type = "int", name = "gamepad"}, + {type = "int", name = "axis"} + } + }, + { + name = "SetGamepadMappings", + description = [=[Set internal gamepad mappings (SDL_GameControllerDB)]=], + returnType = "int", + params = { + {type = "const char *", name = "mappings"} + } + }, + { + name = "SetGamepadVibration", + description = [=[Set gamepad vibration for both motors (duration in seconds)]=], + returnType = "void", + params = { + {type = "int", name = "gamepad"}, + {type = "float", name = "leftMotor"}, + {type = "float", name = "rightMotor"}, + {type = "float", name = "duration"} + } + }, + { + name = "IsMouseButtonPressed", + description = [=[Check if a mouse button has been pressed once]=], + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonDown", + description = [=[Check if a mouse button is being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonReleased", + description = [=[Check if a mouse button has been released once]=], + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "IsMouseButtonUp", + description = [=[Check if a mouse button is NOT being pressed]=], + returnType = "bool", + params = { + {type = "int", name = "button"} + } + }, + { + name = "GetMouseX", + description = [=[Get mouse position X]=], + returnType = "int" + }, + { + name = "GetMouseY", + description = [=[Get mouse position Y]=], + returnType = "int" + }, + { + name = "GetMousePosition", + description = [=[Get mouse position XY]=], + returnType = "Vector2" + }, + { + name = "GetMouseDelta", + description = [=[Get mouse delta between frames]=], + returnType = "Vector2" + }, + { + name = "SetMousePosition", + description = [=[Set mouse position XY]=], + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "SetMouseOffset", + description = [=[Set mouse offset]=], + returnType = "void", + params = { + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"} + } + }, + { + name = "SetMouseScale", + description = [=[Set mouse scaling]=], + returnType = "void", + params = { + {type = "float", name = "scaleX"}, + {type = "float", name = "scaleY"} + } + }, + { + name = "GetMouseWheelMove", + description = [=[Get mouse wheel movement for X or Y, whichever is larger]=], + returnType = "float" + }, + { + name = "GetMouseWheelMoveV", + description = [=[Get mouse wheel movement for both X and Y]=], + returnType = "Vector2" + }, + { + name = "SetMouseCursor", + description = [=[Set mouse cursor]=], + returnType = "void", + params = { + {type = "int", name = "cursor"} + } + }, + { + name = "GetTouchX", + description = [=[Get touch position X for touch point 0 (relative to screen size)]=], + returnType = "int" + }, + { + name = "GetTouchY", + description = [=[Get touch position Y for touch point 0 (relative to screen size)]=], + returnType = "int" + }, + { + name = "GetTouchPosition", + description = [=[Get touch position XY for a touch point index (relative to screen size)]=], + returnType = "Vector2", + params = { + {type = "int", name = "index"} + } + }, + { + name = "GetTouchPointId", + description = [=[Get touch point identifier for given index]=], + returnType = "int", + params = { + {type = "int", name = "index"} + } + }, + { + name = "GetTouchPointCount", + description = [=[Get number of touch points]=], + returnType = "int" + }, + { + name = "SetGesturesEnabled", + description = [=[Enable a set of gestures using flags]=], + returnType = "void", + params = { + {type = "unsigned int", name = "flags"} + } + }, + { + name = "IsGestureDetected", + description = [=[Check if a gesture have been detected]=], + returnType = "bool", + params = { + {type = "unsigned int", name = "gesture"} + } + }, + { + name = "GetGestureDetected", + description = [=[Get latest detected gesture]=], + returnType = "int" + }, + { + name = "GetGestureHoldDuration", + description = [=[Get gesture hold time in seconds]=], + returnType = "float" + }, + { + name = "GetGestureDragVector", + description = [=[Get gesture drag vector]=], + returnType = "Vector2" + }, + { + name = "GetGestureDragAngle", + description = [=[Get gesture drag angle]=], + returnType = "float" + }, + { + name = "GetGesturePinchVector", + description = [=[Get gesture pinch delta]=], + returnType = "Vector2" + }, + { + name = "GetGesturePinchAngle", + description = [=[Get gesture pinch angle]=], + returnType = "float" + }, + { + name = "UpdateCamera", + description = [=[Update camera position for selected mode]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "int", name = "mode"} + } + }, + { + name = "UpdateCameraPro", + description = [=[Update camera movement/rotation]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "Vector3", name = "movement"}, + {type = "Vector3", name = "rotation"}, + {type = "float", name = "zoom"} + } + }, + { + name = "SetShapesTexture", + description = [=[Set texture and rectangle to be used on shapes drawing]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"} + } + }, + { + name = "GetShapesTexture", + description = [=[Get texture that is used for shapes drawing]=], + returnType = "Texture2D" + }, + { + name = "GetShapesTextureRectangle", + description = [=[Get texture source rectangle that is used for shapes drawing]=], + returnType = "Rectangle" + }, + { + name = "DrawPixel", + description = [=[Draw a pixel using geometry [Can be slow, use with care]]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPixelV", + description = [=[Draw a pixel using geometry (Vector version) [Can be slow, use with care]]=], + returnType = "void", + params = { + {type = "Vector2", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLine", + description = [=[Draw a line]=], + returnType = "void", + params = { + {type = "int", name = "startPosX"}, + {type = "int", name = "startPosY"}, + {type = "int", name = "endPosX"}, + {type = "int", name = "endPosY"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineV", + description = [=[Draw a line (using gl lines)]=], + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineEx", + description = [=[Draw a line (using triangles/quads)]=], + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineStrip", + description = [=[Draw lines sequence (using gl lines)]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineBezier", + description = [=[Draw line segment cubic-bezier in-out interpolation]=], + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawLineDashed", + description = [=[Draw a dashed line]=], + returnType = "void", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "int", name = "dashSize"}, + {type = "int", name = "spaceSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircle", + description = [=[Draw a color-filled circle]=], + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleV", + description = [=[Draw a color-filled circle (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleGradient", + description = [=[Draw a gradient-filled circle]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Color", name = "inner"}, + {type = "Color", name = "outer"} + } + }, + { + name = "DrawCircleSector", + description = [=[Draw a piece of a circle]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleSectorLines", + description = [=[Draw circle sector outline]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleLines", + description = [=[Draw circle outline]=], + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircleLinesV", + description = [=[Draw circle outline (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipse", + description = [=[Draw ellipse]=], + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipseV", + description = [=[Draw ellipse (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipseLines", + description = [=[Draw ellipse outline]=], + returnType = "void", + params = { + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawEllipseLinesV", + description = [=[Draw ellipse outline (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radiusH"}, + {type = "float", name = "radiusV"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRing", + description = [=[Draw ring]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "innerRadius"}, + {type = "float", name = "outerRadius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRingLines", + description = [=[Draw ring outline]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "innerRadius"}, + {type = "float", name = "outerRadius"}, + {type = "float", name = "startAngle"}, + {type = "float", name = "endAngle"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangle", + description = [=[Draw a color-filled rectangle]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleV", + description = [=[Draw a color-filled rectangle (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRec", + description = [=[Draw a color-filled rectangle]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectanglePro", + description = [=[Draw a color-filled rectangle with pro parameters]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleGradientV", + description = [=[Draw a vertical-gradient-filled rectangle]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "top"}, + {type = "Color", name = "bottom"} + } + }, + { + name = "DrawRectangleGradientH", + description = [=[Draw a horizontal-gradient-filled rectangle]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "left"}, + {type = "Color", name = "right"} + } + }, + { + name = "DrawRectangleGradientEx", + description = [=[Draw a gradient-filled rectangle with custom vertex colors]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "topLeft"}, + {type = "Color", name = "bottomLeft"}, + {type = "Color", name = "bottomRight"}, + {type = "Color", name = "topRight"} + } + }, + { + name = "DrawRectangleLines", + description = [=[Draw rectangle outline]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleLinesEx", + description = [=[Draw rectangle outline with extended parameters]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRounded", + description = [=[Draw rectangle with rounded edges]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRoundedLines", + description = [=[Draw rectangle lines with rounded edges]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRectangleRoundedLinesEx", + description = [=[Draw rectangle with rounded edges outline]=], + returnType = "void", + params = { + {type = "Rectangle", name = "rec"}, + {type = "float", name = "roundness"}, + {type = "int", name = "segments"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangle", + description = [=[Draw a color-filled triangle (vertex in counter-clockwise order!)]=], + returnType = "void", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleLines", + description = [=[Draw triangle outline (vertex in counter-clockwise order!)]=], + returnType = "void", + params = { + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleFan", + description = [=[Draw a triangle fan defined by points (first vertex is the center)]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleStrip", + description = [=[Draw a triangle strip defined by points]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPoly", + description = [=[Draw a regular polygon (Vector version)]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPolyLines", + description = [=[Draw a polygon outline of n sides]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPolyLinesEx", + description = [=[Draw a polygon outline of n sides with extended parameters]=], + returnType = "void", + params = { + {type = "Vector2", name = "center"}, + {type = "int", name = "sides"}, + {type = "float", name = "radius"}, + {type = "float", name = "rotation"}, + {type = "float", name = "lineThick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineLinear", + description = [=[Draw spline: Linear, minimum 2 points]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineBasis", + description = [=[Draw spline: B-Spline, minimum 4 points]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineCatmullRom", + description = [=[Draw spline: Catmull-Rom, minimum 4 points]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineBezierQuadratic", + description = [=[Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...]]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineBezierCubic", + description = [=[Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...]]=], + returnType = "void", + params = { + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineSegmentLinear", + description = [=[Draw spline segment: Linear, 2 points]=], + returnType = "void", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineSegmentBasis", + description = [=[Draw spline segment: B-Spline, 4 points]=], + returnType = "void", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineSegmentCatmullRom", + description = [=[Draw spline segment: Catmull-Rom, 4 points]=], + returnType = "void", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineSegmentBezierQuadratic", + description = [=[Draw spline segment: Quadratic Bezier, 2 points, 1 control point]=], + returnType = "void", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "c2"}, + {type = "Vector2", name = "p3"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSplineSegmentBezierCubic", + description = [=[Draw spline segment: Cubic Bezier, 2 points, 2 control points]=], + returnType = "void", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "c2"}, + {type = "Vector2", name = "c3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "GetSplinePointLinear", + description = [=[Get (evaluate) spline point: Linear]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "startPos"}, + {type = "Vector2", name = "endPos"}, + {type = "float", name = "t"} + } + }, + { + name = "GetSplinePointBasis", + description = [=[Get (evaluate) spline point: B-Spline]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "t"} + } + }, + { + name = "GetSplinePointCatmullRom", + description = [=[Get (evaluate) spline point: Catmull-Rom]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "t"} + } + }, + { + name = "GetSplinePointBezierQuad", + description = [=[Get (evaluate) spline point: Quadratic Bezier]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "c2"}, + {type = "Vector2", name = "p3"}, + {type = "float", name = "t"} + } + }, + { + name = "GetSplinePointBezierCubic", + description = [=[Get (evaluate) spline point: Cubic Bezier]=], + returnType = "Vector2", + params = { + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "c2"}, + {type = "Vector2", name = "c3"}, + {type = "Vector2", name = "p4"}, + {type = "float", name = "t"} + } + }, + { + name = "CheckCollisionRecs", + description = [=[Check collision between two rectangles]=], + returnType = "bool", + params = { + {type = "Rectangle", name = "rec1"}, + {type = "Rectangle", name = "rec2"} + } + }, + { + name = "CheckCollisionCircles", + description = [=[Check collision between two circles]=], + returnType = "bool", + params = { + {type = "Vector2", name = "center1"}, + {type = "float", name = "radius1"}, + {type = "Vector2", name = "center2"}, + {type = "float", name = "radius2"} + } + }, + { + name = "CheckCollisionCircleRec", + description = [=[Check collision between circle and rectangle]=], + returnType = "bool", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "CheckCollisionCircleLine", + description = [=[Check if circle collides with a line created betweeen two points [p1] and [p2]]=], + returnType = "bool", + params = { + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"} + } + }, + { + name = "CheckCollisionPointRec", + description = [=[Check if point is inside rectangle]=], + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "CheckCollisionPointCircle", + description = [=[Check if point is inside circle]=], + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "CheckCollisionPointTriangle", + description = [=[Check if point is inside a triangle]=], + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "Vector2", name = "p3"} + } + }, + { + name = "CheckCollisionPointLine", + description = [=[Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]]=], + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "Vector2", name = "p1"}, + {type = "Vector2", name = "p2"}, + {type = "int", name = "threshold"} + } + }, + { + name = "CheckCollisionPointPoly", + description = [=[Check if point is within a polygon described by array of vertices]=], + returnType = "bool", + params = { + {type = "Vector2", name = "point"}, + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"} + } + }, + { + name = "CheckCollisionLines", + description = [=[Check the collision between two lines defined by two points each, returns collision point by reference]=], + returnType = "bool", + params = { + {type = "Vector2", name = "startPos1"}, + {type = "Vector2", name = "endPos1"}, + {type = "Vector2", name = "startPos2"}, + {type = "Vector2", name = "endPos2"}, + {type = "Vector2 *", name = "collisionPoint"} + } + }, + { + name = "GetCollisionRec", + description = [=[Get collision rectangle for two rectangles collision]=], + returnType = "Rectangle", + params = { + {type = "Rectangle", name = "rec1"}, + {type = "Rectangle", name = "rec2"} + } + }, + { + name = "LoadImage", + description = [=[Load image from file into CPU memory (RAM)]=], + returnType = "Image", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadImageRaw", + description = [=[Load image from RAW file data]=], + returnType = "Image", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "int", name = "headerSize"} + } + }, + { + name = "LoadImageAnim", + description = [=[Load image sequence from file (frames appended to image.data)]=], + returnType = "Image", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "frames"} + } + }, + { + name = "LoadImageAnimFromMemory", + description = [=[Load image sequence from memory buffer]=], + returnType = "Image", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int *", name = "frames"} + } + }, + { + name = "LoadImageFromMemory", + description = [=[Load image from memory buffer, fileType refers to extension: i.e. '.png']=], + returnType = "Image", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "LoadImageFromTexture", + description = [=[Load image from GPU texture data]=], + returnType = "Image", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "LoadImageFromScreen", + description = [=[Load image from screen buffer and (screenshot)]=], + returnType = "Image" + }, + { + name = "IsImageValid", + description = [=[Check if an image is valid (data and parameters)]=], + returnType = "bool", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "UnloadImage", + description = [=[Unload image from CPU memory (RAM)]=], + returnType = "void", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "ExportImage", + description = [=[Export image data to file, returns true on success]=], + returnType = "bool", + params = { + {type = "Image", name = "image"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportImageToMemory", + description = [=[Export image to memory buffer, memory must be MemFree()]=], + returnType = "unsigned char *", + params = { + {type = "Image", name = "image"}, + {type = "const char *", name = "fileType"}, + {type = "int *", name = "fileSize"} + } + }, + { + name = "ExportImageAsCode", + description = [=[Export image as code file defining an array of bytes, returns true on success]=], + returnType = "bool", + params = { + {type = "Image", name = "image"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "GenImageColor", + description = [=[Generate image: plain color]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "GenImageGradientLinear", + description = [=[Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "direction"}, + {type = "Color", name = "start"}, + {type = "Color", name = "end"} + } + }, + { + name = "GenImageGradientRadial", + description = [=[Generate image: radial gradient]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "float", name = "density"}, + {type = "Color", name = "inner"}, + {type = "Color", name = "outer"} + } + }, + { + name = "GenImageGradientSquare", + description = [=[Generate image: square gradient]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "float", name = "density"}, + {type = "Color", name = "inner"}, + {type = "Color", name = "outer"} + } + }, + { + name = "GenImageChecked", + description = [=[Generate image: checked]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "checksX"}, + {type = "int", name = "checksY"}, + {type = "Color", name = "col1"}, + {type = "Color", name = "col2"} + } + }, + { + name = "GenImageWhiteNoise", + description = [=[Generate image: white noise]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "float", name = "factor"} + } + }, + { + name = "GenImagePerlinNoise", + description = [=[Generate image: perlin noise]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"}, + {type = "float", name = "scale"} + } + }, + { + name = "GenImageCellular", + description = [=[Generate image: cellular algorithm, bigger tileSize means bigger cells]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "tileSize"} + } + }, + { + name = "GenImageText", + description = [=[Generate image: grayscale image from text data]=], + returnType = "Image", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "const char *", name = "text"} + } + }, + { + name = "ImageCopy", + description = [=[Create an image duplicate (useful for transformations)]=], + returnType = "Image", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "ImageFromImage", + description = [=[Create an image from another image piece]=], + returnType = "Image", + params = { + {type = "Image", name = "image"}, + {type = "Rectangle", name = "rec"} + } + }, + { + name = "ImageFromChannel", + description = [=[Create an image from a selected channel of another image (GRAYSCALE)]=], + returnType = "Image", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "selectedChannel"} + } + }, + { + name = "ImageText", + description = [=[Create an image from text (default font)]=], + returnType = "Image", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageTextEx", + description = [=[Create an image from text (custom sprite font)]=], + returnType = "Image", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ImageFormat", + description = [=[Convert image data to desired format]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newFormat"} + } + }, + { + name = "ImageToPOT", + description = [=[Convert image to POT (power-of-two)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "fill"} + } + }, + { + name = "ImageCrop", + description = [=[Crop an image to a defined rectangle]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Rectangle", name = "crop"} + } + }, + { + name = "ImageAlphaCrop", + description = [=[Crop image depending on alpha value]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "float", name = "threshold"} + } + }, + { + name = "ImageAlphaClear", + description = [=[Clear alpha channel to desired color]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"}, + {type = "float", name = "threshold"} + } + }, + { + name = "ImageAlphaMask", + description = [=[Apply alpha mask to image]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Image", name = "alphaMask"} + } + }, + { + name = "ImageAlphaPremultiply", + description = [=[Premultiply alpha channel]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageBlurGaussian", + description = [=[Apply Gaussian blur using a box blur approximation]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "blurSize"} + } + }, + { + name = "ImageKernelConvolution", + description = [=[Apply custom square convolution kernel to image]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "const float *", name = "kernel"}, + {type = "int", name = "kernelSize"} + } + }, + { + name = "ImageResize", + description = [=[Resize image (Bicubic scaling algorithm)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"} + } + }, + { + name = "ImageResizeNN", + description = [=[Resize image (Nearest-Neighbor scaling algorithm)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"} + } + }, + { + name = "ImageResizeCanvas", + description = [=[Resize canvas and fill with color]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "newWidth"}, + {type = "int", name = "newHeight"}, + {type = "int", name = "offsetX"}, + {type = "int", name = "offsetY"}, + {type = "Color", name = "fill"} + } + }, + { + name = "ImageMipmaps", + description = [=[Compute all mipmap levels for a provided image]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageDither", + description = [=[Dither image data to 16bpp or lower (Floyd-Steinberg dithering)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "rBpp"}, + {type = "int", name = "gBpp"}, + {type = "int", name = "bBpp"}, + {type = "int", name = "aBpp"} + } + }, + { + name = "ImageFlipVertical", + description = [=[Flip image vertically]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageFlipHorizontal", + description = [=[Flip image horizontally]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageRotate", + description = [=[Rotate image by input angle in degrees (-359 to 359)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "degrees"} + } + }, + { + name = "ImageRotateCW", + description = [=[Rotate image clockwise 90deg]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageRotateCCW", + description = [=[Rotate image counter-clockwise 90deg]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorTint", + description = [=[Modify image color: tint]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageColorInvert", + description = [=[Modify image color: invert]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorGrayscale", + description = [=[Modify image color: grayscale]=], + returnType = "void", + params = { + {type = "Image *", name = "image"} + } + }, + { + name = "ImageColorContrast", + description = [=[Modify image color: contrast (-100 to 100)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "float", name = "contrast"} + } + }, + { + name = "ImageColorBrightness", + description = [=[Modify image color: brightness (-255 to 255)]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "int", name = "brightness"} + } + }, + { + name = "ImageColorReplace", + description = [=[Modify image color: replace color]=], + returnType = "void", + params = { + {type = "Image *", name = "image"}, + {type = "Color", name = "color"}, + {type = "Color", name = "replace"} + } + }, + { + name = "LoadImageColors", + description = [=[Load color data from image as a Color array (RGBA - 32bit)]=], + returnType = "Color *", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "LoadImagePalette", + description = [=[Load colors palette from image as a Color array (RGBA - 32bit)]=], + returnType = "Color *", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "maxPaletteSize"}, + {type = "int *", name = "colorCount"} + } + }, + { + name = "UnloadImageColors", + description = [=[Unload color data loaded with LoadImageColors()]=], + returnType = "void", + params = { + {type = "Color *", name = "colors"} + } + }, + { + name = "UnloadImagePalette", + description = [=[Unload colors palette loaded with LoadImagePalette()]=], + returnType = "void", + params = { + {type = "Color *", name = "colors"} + } + }, + { + name = "GetImageAlphaBorder", + description = [=[Get image alpha border rectangle]=], + returnType = "Rectangle", + params = { + {type = "Image", name = "image"}, + {type = "float", name = "threshold"} + } + }, + { + name = "GetImageColor", + description = [=[Get image pixel color at (x, y) position]=], + returnType = "Color", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "x"}, + {type = "int", name = "y"} + } + }, + { + name = "ImageClearBackground", + description = [=[Clear image background with given color]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawPixel", + description = [=[Draw pixel within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawPixelV", + description = [=[Draw pixel within an image (Vector version)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawLine", + description = [=[Draw line within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "startPosX"}, + {type = "int", name = "startPosY"}, + {type = "int", name = "endPosX"}, + {type = "int", name = "endPosY"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawLineV", + description = [=[Draw line within an image (Vector version)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "start"}, + {type = "Vector2", name = "end"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawLineEx", + description = [=[Draw a line defining thickness within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "start"}, + {type = "Vector2", name = "end"}, + {type = "int", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircle", + description = [=[Draw a filled circle within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleV", + description = [=[Draw a filled circle within an image (Vector version)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "center"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleLines", + description = [=[Draw circle outline within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "centerX"}, + {type = "int", name = "centerY"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawCircleLinesV", + description = [=[Draw circle outline within an image (Vector version)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "center"}, + {type = "int", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangle", + description = [=[Draw rectangle within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleV", + description = [=[Draw rectangle within an image (Vector version)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleRec", + description = [=[Draw rectangle within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Rectangle", name = "rec"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawRectangleLines", + description = [=[Draw rectangle lines within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Rectangle", name = "rec"}, + {type = "int", name = "thick"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangle", + description = [=[Draw triangle within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleEx", + description = [=[Draw triangle with interpolated colors within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "c1"}, + {type = "Color", name = "c2"}, + {type = "Color", name = "c3"} + } + }, + { + name = "ImageDrawTriangleLines", + description = [=[Draw triangle outline within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Vector2", name = "v1"}, + {type = "Vector2", name = "v2"}, + {type = "Vector2", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleFan", + description = [=[Draw a triangle fan defined by points within an image (first vertex is the center)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTriangleStrip", + description = [=[Draw a triangle strip defined by points within an image]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "const Vector2 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDraw", + description = [=[Draw a source image within a destination image (tint applied to source)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Image", name = "src"}, + {type = "Rectangle", name = "srcRec"}, + {type = "Rectangle", name = "dstRec"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ImageDrawText", + description = [=[Draw text (using default font) within an image (destination)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "const char *", name = "text"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "ImageDrawTextEx", + description = [=[Draw text (custom sprite font) within an image (destination)]=], + returnType = "void", + params = { + {type = "Image *", name = "dst"}, + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "LoadTexture", + description = [=[Load texture from file into GPU memory (VRAM)]=], + returnType = "Texture2D", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadTextureFromImage", + description = [=[Load texture from image data]=], + returnType = "Texture2D", + params = { + {type = "Image", name = "image"} + } + }, + { + name = "LoadTextureCubemap", + description = [=[Load cubemap from image, multiple image cubemap layouts supported]=], + returnType = "TextureCubemap", + params = { + {type = "Image", name = "image"}, + {type = "int", name = "layout"} + } + }, + { + name = "LoadRenderTexture", + description = [=[Load texture for rendering (framebuffer)]=], + returnType = "RenderTexture2D", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "IsTextureValid", + description = [=[Check if a texture is valid (loaded in GPU)]=], + returnType = "bool", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "UnloadTexture", + description = [=[Unload texture from GPU memory (VRAM)]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"} + } + }, + { + name = "IsRenderTextureValid", + description = [=[Check if a render texture is valid (loaded in GPU)]=], + returnType = "bool", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "UnloadRenderTexture", + description = [=[Unload render texture from GPU memory (VRAM)]=], + returnType = "void", + params = { + {type = "RenderTexture2D", name = "target"} + } + }, + { + name = "UpdateTexture", + description = [=[Update GPU texture with new data (pixels should be able to fill texture)]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "const void *", name = "pixels"} + } + }, + { + name = "UpdateTextureRec", + description = [=[Update GPU texture rectangle with new data (pixels and rec should fit in texture)]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "rec"}, + {type = "const void *", name = "pixels"} + } + }, + { + name = "GenTextureMipmaps", + description = [=[Generate GPU mipmaps for a texture]=], + returnType = "void", + params = { + {type = "Texture2D *", name = "texture"} + } + }, + { + name = "SetTextureFilter", + description = [=[Set texture scaling filter mode]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "filter"} + } + }, + { + name = "SetTextureWrap", + description = [=[Set texture wrapping mode]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "wrap"} + } + }, + { + name = "DrawTexture", + description = [=[Draw a Texture2D]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureV", + description = [=[Draw a Texture2D with position defined as Vector2]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureEx", + description = [=[Draw a Texture2D with extended parameters]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "rotation"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureRec", + description = [=[Draw a part of a texture defined by a rectangle]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector2", name = "position"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTexturePro", + description = [=[Draw a part of a texture defined by a rectangle with 'pro' parameters]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Rectangle", name = "dest"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextureNPatch", + description = [=[Draws a texture (or part of it) that stretches or shrinks nicely]=], + returnType = "void", + params = { + {type = "Texture2D", name = "texture"}, + {type = "NPatchInfo", name = "nPatchInfo"}, + {type = "Rectangle", name = "dest"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ColorIsEqual", + description = [=[Check if two colors are equal]=], + returnType = "bool", + params = { + {type = "Color", name = "col1"}, + {type = "Color", name = "col2"} + } + }, + { + name = "Fade", + description = [=[Get color with alpha applied, alpha goes from 0.0f to 1.0f]=], + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "alpha"} + } + }, + { + name = "ColorToInt", + description = [=[Get hexadecimal value for a Color (0xRRGGBBAA)]=], + returnType = "int", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorNormalize", + description = [=[Get Color normalized as float [0..1]]=], + returnType = "Vector4", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorFromNormalized", + description = [=[Get Color from normalized values [0..1]]=], + returnType = "Color", + params = { + {type = "Vector4", name = "normalized"} + } + }, + { + name = "ColorToHSV", + description = [=[Get HSV values for a Color, hue [0..360], saturation/value [0..1]]=], + returnType = "Vector3", + params = { + {type = "Color", name = "color"} + } + }, + { + name = "ColorFromHSV", + description = [=[Get a Color from HSV values, hue [0..360], saturation/value [0..1]]=], + returnType = "Color", + params = { + {type = "float", name = "hue"}, + {type = "float", name = "saturation"}, + {type = "float", name = "value"} + } + }, + { + name = "ColorTint", + description = [=[Get color multiplied with another color]=], + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ColorBrightness", + description = [=[Get color with brightness correction, brightness factor goes from -1.0f to 1.0f]=], + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "factor"} + } + }, + { + name = "ColorContrast", + description = [=[Get color with contrast correction, contrast values between -1.0f and 1.0f]=], + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "contrast"} + } + }, + { + name = "ColorAlpha", + description = [=[Get color with alpha applied, alpha goes from 0.0f to 1.0f]=], + returnType = "Color", + params = { + {type = "Color", name = "color"}, + {type = "float", name = "alpha"} + } + }, + { + name = "ColorAlphaBlend", + description = [=[Get src alpha-blended into dst color with tint]=], + returnType = "Color", + params = { + {type = "Color", name = "dst"}, + {type = "Color", name = "src"}, + {type = "Color", name = "tint"} + } + }, + { + name = "ColorLerp", + description = [=[Get color lerp interpolation between two colors, factor [0.0f..1.0f]]=], + returnType = "Color", + params = { + {type = "Color", name = "color1"}, + {type = "Color", name = "color2"}, + {type = "float", name = "factor"} + } + }, + { + name = "GetColor", + description = [=[Get Color structure from hexadecimal value]=], + returnType = "Color", + params = { + {type = "unsigned int", name = "hexValue"} + } + }, + { + name = "GetPixelColor", + description = [=[Get Color from a source pixel pointer of certain format]=], + returnType = "Color", + params = { + {type = "void *", name = "srcPtr"}, + {type = "int", name = "format"} + } + }, + { + name = "SetPixelColor", + description = [=[Set color formatted into destination pixel pointer]=], + returnType = "void", + params = { + {type = "void *", name = "dstPtr"}, + {type = "Color", name = "color"}, + {type = "int", name = "format"} + } + }, + { + name = "GetPixelDataSize", + description = [=[Get pixel data size in bytes for certain format]=], + returnType = "int", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"} + } + }, + { + name = "GetFontDefault", + description = [=[Get the default Font]=], + returnType = "Font" + }, + { + name = "LoadFont", + description = [=[Load font from file into GPU memory (VRAM)]=], + returnType = "Font", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadFontEx", + description = [=[Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height]=], + returnType = "Font", + params = { + {type = "const char *", name = "fileName"}, + {type = "int", name = "fontSize"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "codepointCount"} + } + }, + { + name = "LoadFontFromImage", + description = [=[Load font from Image (XNA style)]=], + returnType = "Font", + params = { + {type = "Image", name = "image"}, + {type = "Color", name = "key"}, + {type = "int", name = "firstChar"} + } + }, + { + name = "LoadFontFromMemory", + description = [=[Load font from memory buffer, fileType refers to extension: i.e. '.ttf']=], + returnType = "Font", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "fontSize"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "codepointCount"} + } + }, + { + name = "IsFontValid", + description = [=[Check if a font is valid (font data loaded, WARNING: GPU texture not checked)]=], + returnType = "bool", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "LoadFontData", + description = [=[Load font data for further use]=], + returnType = "GlyphInfo *", + params = { + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "fontSize"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "codepointCount"}, + {type = "int", name = "type"}, + {type = "int *", name = "glyphCount"} + } + }, + { + name = "GenImageFontAtlas", + description = [=[Generate image font atlas using chars info]=], + returnType = "Image", + params = { + {type = "const GlyphInfo *", name = "glyphs"}, + {type = "Rectangle **", name = "glyphRecs"}, + {type = "int", name = "glyphCount"}, + {type = "int", name = "fontSize"}, + {type = "int", name = "padding"}, + {type = "int", name = "packMethod"} + } + }, + { + name = "UnloadFontData", + description = [=[Unload font chars info data (RAM)]=], + returnType = "void", + params = { + {type = "GlyphInfo *", name = "glyphs"}, + {type = "int", name = "glyphCount"} + } + }, + { + name = "UnloadFont", + description = [=[Unload font from GPU memory (VRAM)]=], + returnType = "void", + params = { + {type = "Font", name = "font"} + } + }, + { + name = "ExportFontAsCode", + description = [=[Export font as code file, returns true on success]=], + returnType = "bool", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "DrawFPS", + description = [=[Draw current FPS]=], + returnType = "void", + params = { + {type = "int", name = "posX"}, + {type = "int", name = "posY"} + } + }, + { + name = "DrawText", + description = [=[Draw text (using default font)]=], + returnType = "void", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "posX"}, + {type = "int", name = "posY"}, + {type = "int", name = "fontSize"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTextEx", + description = [=[Draw text using font and additional parameters]=], + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextPro", + description = [=[Draw text using Font and pro parameters (rotation)]=], + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "Vector2", name = "position"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextCodepoint", + description = [=[Draw one character (codepoint)]=], + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawTextCodepoints", + description = [=[Draw multiple character (codepoint)]=], + returnType = "void", + params = { + {type = "Font", name = "font"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "codepointCount"}, + {type = "Vector2", name = "position"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"}, + {type = "Color", name = "tint"} + } + }, + { + name = "SetTextLineSpacing", + description = [=[Set vertical line spacing when drawing with line-breaks]=], + returnType = "void", + params = { + {type = "int", name = "spacing"} + } + }, + { + name = "MeasureText", + description = [=[Measure string width for default font]=], + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "fontSize"} + } + }, + { + name = "MeasureTextEx", + description = [=[Measure string size for Font]=], + returnType = "Vector2", + params = { + {type = "Font", name = "font"}, + {type = "const char *", name = "text"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"} + } + }, + { + name = "MeasureTextCodepoints", + description = [=[Measure string size for an existing array of codepoints for Font]=], + returnType = "Vector2", + params = { + {type = "Font", name = "font"}, + {type = "const int *", name = "codepoints"}, + {type = "int", name = "length"}, + {type = "float", name = "fontSize"}, + {type = "float", name = "spacing"} + } + }, + { + name = "GetGlyphIndex", + description = [=[Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found]=], + returnType = "int", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "GetGlyphInfo", + description = [=[Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found]=], + returnType = "GlyphInfo", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "GetGlyphAtlasRec", + description = [=[Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found]=], + returnType = "Rectangle", + params = { + {type = "Font", name = "font"}, + {type = "int", name = "codepoint"} + } + }, + { + name = "LoadUTF8", + description = [=[Load UTF-8 text encoded from codepoints array]=], + returnType = "char *", + params = { + {type = "const int *", name = "codepoints"}, + {type = "int", name = "length"} + } + }, + { + name = "UnloadUTF8", + description = [=[Unload UTF-8 text encoded from codepoints array]=], + returnType = "void", + params = { + {type = "char *", name = "text"} + } + }, + { + name = "LoadCodepoints", + description = [=[Load all codepoints from a UTF-8 text string, codepoints count returned by parameter]=], + returnType = "int *", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "count"} + } + }, + { + name = "UnloadCodepoints", + description = [=[Unload codepoints data from memory]=], + returnType = "void", + params = { + {type = "int *", name = "codepoints"} + } + }, + { + name = "GetCodepointCount", + description = [=[Get total number of codepoints in a UTF-8 encoded string]=], + returnType = "int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "GetCodepoint", + description = [=[Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure]=], + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "GetCodepointNext", + description = [=[Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure]=], + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "GetCodepointPrevious", + description = [=[Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure]=], + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "codepointSize"} + } + }, + { + name = "CodepointToUTF8", + description = [=[Encode one codepoint into UTF-8 byte array (array length returned as parameter)]=], + returnType = "const char *", + params = { + {type = "int", name = "codepoint"}, + {type = "int *", name = "utf8Size"} + } + }, + { + name = "LoadTextLines", + description = [=[Load text as separate lines ('\\n')]=], + returnType = "char **", + params = { + {type = "const char *", name = "text"}, + {type = "int *", name = "count"} + } + }, + { + name = "UnloadTextLines", + description = [=[Unload text lines]=], + returnType = "void", + params = { + {type = "char **", name = "text"}, + {type = "int", name = "lineCount"} + } + }, + { + name = "TextCopy", + description = [=[Copy one string to another, returns bytes copied]=], + returnType = "int", + params = { + {type = "char *", name = "dst"}, + {type = "const char *", name = "src"} + } + }, + { + name = "TextIsEqual", + description = [=[Check if two text string are equal]=], + returnType = "bool", + params = { + {type = "const char *", name = "text1"}, + {type = "const char *", name = "text2"} + } + }, + { + name = "TextLength", + description = [=[Get text length, checks for '\\0' ending]=], + returnType = "unsigned int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextFormat", + description = [=[Text formatting with variables (sprintf() style)]=], + returnType = "const char *", + params = { + {type = "const char *", name = "text"}, + {type = "...", name = "args"} + } + }, + { + name = "TextSubtext", + description = [=[Get a piece of a text string]=], + returnType = "const char *", + params = { + {type = "const char *", name = "text"}, + {type = "int", name = "position"}, + {type = "int", name = "length"} + } + }, + { + name = "TextRemoveSpaces", + description = [=[Remove text spaces, concat words]=], + returnType = "const char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "GetTextBetween", + description = [=[Get text between two strings]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "begin"}, + {type = "const char *", name = "end"} + } + }, + { + name = "TextReplace", + description = [=[Replace text string with new string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "search"}, + {type = "const char *", name = "replacement"} + } + }, + { + name = "TextReplaceAlloc", + description = [=[Replace text string with new string, memory must be MemFree()]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "search"}, + {type = "const char *", name = "replacement"} + } + }, + { + name = "TextReplaceBetween", + description = [=[Replace text between two specific strings]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "begin"}, + {type = "const char *", name = "end"}, + {type = "const char *", name = "replacement"} + } + }, + { + name = "TextReplaceBetweenAlloc", + description = [=[Replace text between two specific strings, memory must be MemFree()]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "begin"}, + {type = "const char *", name = "end"}, + {type = "const char *", name = "replacement"} + } + }, + { + name = "TextInsert", + description = [=[Insert text in a defined byte position]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "insert"}, + {type = "int", name = "position"} + } + }, + { + name = "TextInsertAlloc", + description = [=[Insert text in a defined byte position, memory must be MemFree()]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "insert"}, + {type = "int", name = "position"} + } + }, + { + name = "TextJoin", + description = [=[Join text strings with delimiter]=], + returnType = "char *", + params = { + {type = "char **", name = "textList"}, + {type = "int", name = "count"}, + {type = "const char *", name = "delimiter"} + } + }, + { + name = "TextSplit", + description = [=[Split text into multiple strings, using MAX_TEXTSPLIT_COUNT static strings]=], + returnType = "char **", + params = { + {type = "const char *", name = "text"}, + {type = "char", name = "delimiter"}, + {type = "int *", name = "count"} + } + }, + { + name = "TextAppend", + description = [=[Append text at specific position and move cursor]=], + returnType = "void", + params = { + {type = "char *", name = "text"}, + {type = "const char *", name = "append"}, + {type = "int *", name = "position"} + } + }, + { + name = "TextFindIndex", + description = [=[Find first text occurrence within a string, -1 if not found]=], + returnType = "int", + params = { + {type = "const char *", name = "text"}, + {type = "const char *", name = "search"} + } + }, + { + name = "TextToUpper", + description = [=[Get upper case version of provided string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToLower", + description = [=[Get lower case version of provided string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToPascal", + description = [=[Get Pascal case notation version of provided string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToSnake", + description = [=[Get Snake case notation version of provided string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToCamel", + description = [=[Get Camel case notation version of provided string]=], + returnType = "char *", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToInteger", + description = [=[Get integer value from text]=], + returnType = "int", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "TextToFloat", + description = [=[Get float value from text]=], + returnType = "float", + params = { + {type = "const char *", name = "text"} + } + }, + { + name = "DrawLine3D", + description = [=[Draw a line in 3D world space]=], + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPoint3D", + description = [=[Draw a point in 3D space, actually a small line]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCircle3D", + description = [=[Draw a circle in 3D world space]=], + returnType = "void", + params = { + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangle3D", + description = [=[Draw a color-filled triangle (vertex in counter-clockwise order!)]=], + returnType = "void", + params = { + {type = "Vector3", name = "v1"}, + {type = "Vector3", name = "v2"}, + {type = "Vector3", name = "v3"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawTriangleStrip3D", + description = [=[Draw a triangle strip defined by points]=], + returnType = "void", + params = { + {type = "const Vector3 *", name = "points"}, + {type = "int", name = "pointCount"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCube", + description = [=[Draw cube]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeV", + description = [=[Draw cube (Vector version)]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeWires", + description = [=[Draw cube wires]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCubeWiresV", + description = [=[Draw cube wires (Vector version)]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphere", + description = [=[Draw sphere]=], + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphereEx", + description = [=[Draw sphere with extended parameters]=], + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawSphereWires", + description = [=[Draw sphere wires]=], + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinder", + description = [=[Draw a cylinder/cone]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "radiusTop"}, + {type = "float", name = "radiusBottom"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderEx", + description = [=[Draw a cylinder with base at startPos and top at endPos]=], + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "startRadius"}, + {type = "float", name = "endRadius"}, + {type = "int", name = "sides"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderWires", + description = [=[Draw a cylinder/cone wires]=], + returnType = "void", + params = { + {type = "Vector3", name = "position"}, + {type = "float", name = "radiusTop"}, + {type = "float", name = "radiusBottom"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCylinderWiresEx", + description = [=[Draw a cylinder wires with base at startPos and top at endPos]=], + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "startRadius"}, + {type = "float", name = "endRadius"}, + {type = "int", name = "sides"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCapsule", + description = [=[Draw a capsule with the center of its sphere caps at startPos and endPos]=], + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "slices"}, + {type = "int", name = "rings"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawCapsuleWires", + description = [=[Draw capsule wireframe with the center of its sphere caps at startPos and endPos]=], + returnType = "void", + params = { + {type = "Vector3", name = "startPos"}, + {type = "Vector3", name = "endPos"}, + {type = "float", name = "radius"}, + {type = "int", name = "slices"}, + {type = "int", name = "rings"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawPlane", + description = [=[Draw a plane XZ]=], + returnType = "void", + params = { + {type = "Vector3", name = "centerPos"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawRay", + description = [=[Draw a ray line]=], + returnType = "void", + params = { + {type = "Ray", name = "ray"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawGrid", + description = [=[Draw a grid (centered at (0, 0, 0))]=], + returnType = "void", + params = { + {type = "int", name = "slices"}, + {type = "float", name = "spacing"} + } + }, + { + name = "LoadModel", + description = [=[Load model from files (meshes and materials)]=], + returnType = "Model", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadModelFromMesh", + description = [=[Load model from generated mesh (default material)]=], + returnType = "Model", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "IsModelValid", + description = [=[Check if a model is valid (loaded in GPU, VAO/VBOs)]=], + returnType = "bool", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "UnloadModel", + description = [=[Unload model (including meshes) from memory (RAM and/or VRAM)]=], + returnType = "void", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "GetModelBoundingBox", + description = [=[Compute model bounding box limits (considers all meshes)]=], + returnType = "BoundingBox", + params = { + {type = "Model", name = "model"} + } + }, + { + name = "DrawModel", + description = [=[Draw a model (with texture if set)]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelEx", + description = [=[Draw a model with extended parameters]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Vector3", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelWires", + description = [=[Draw a model wires (with texture if set)]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawModelWiresEx", + description = [=[Draw a model wires (with texture if set) with extended parameters]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "rotationAxis"}, + {type = "float", name = "rotationAngle"}, + {type = "Vector3", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBoundingBox", + description = [=[Draw bounding box (wires)]=], + returnType = "void", + params = { + {type = "BoundingBox", name = "box"}, + {type = "Color", name = "color"} + } + }, + { + name = "DrawBillboard", + description = [=[Draw a billboard texture]=], + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Vector3", name = "position"}, + {type = "float", name = "scale"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBillboardRec", + description = [=[Draw a billboard texture defined by source]=], + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector3", name = "position"}, + {type = "Vector2", name = "size"}, + {type = "Color", name = "tint"} + } + }, + { + name = "DrawBillboardPro", + description = [=[Draw a billboard texture defined by source and rotation]=], + returnType = "void", + params = { + {type = "Camera", name = "camera"}, + {type = "Texture2D", name = "texture"}, + {type = "Rectangle", name = "source"}, + {type = "Vector3", name = "position"}, + {type = "Vector3", name = "up"}, + {type = "Vector2", name = "size"}, + {type = "Vector2", name = "origin"}, + {type = "float", name = "rotation"}, + {type = "Color", name = "tint"} + } + }, + { + name = "UploadMesh", + description = [=[Upload mesh vertex data in GPU and provide VAO/VBO ids]=], + returnType = "void", + params = { + {type = "Mesh *", name = "mesh"}, + {type = "bool", name = "dynamic"} + } + }, + { + name = "UpdateMeshBuffer", + description = [=[Update mesh vertex data in GPU for a specific buffer index]=], + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "int", name = "index"}, + {type = "const void *", name = "data"}, + {type = "int", name = "dataSize"}, + {type = "int", name = "offset"} + } + }, + { + name = "UnloadMesh", + description = [=[Unload mesh data from CPU and GPU]=], + returnType = "void", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "DrawMesh", + description = [=[Draw a 3d mesh with material and transform]=], + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "Material", name = "material"}, + {type = "Matrix", name = "transform"} + } + }, + { + name = "DrawMeshInstanced", + description = [=[Draw multiple mesh instances with material and different transforms]=], + returnType = "void", + params = { + {type = "Mesh", name = "mesh"}, + {type = "Material", name = "material"}, + {type = "const Matrix *", name = "transforms"}, + {type = "int", name = "instances"} + } + }, + { + name = "GetMeshBoundingBox", + description = [=[Compute mesh bounding box limits]=], + returnType = "BoundingBox", + params = { + {type = "Mesh", name = "mesh"} + } + }, + { + name = "GenMeshTangents", + description = [=[Compute mesh tangents]=], + returnType = "void", + params = { + {type = "Mesh *", name = "mesh"} + } + }, + { + name = "ExportMesh", + description = [=[Export mesh data to file, returns true on success]=], + returnType = "bool", + params = { + {type = "Mesh", name = "mesh"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportMeshAsCode", + description = [=[Export mesh as code file (.h) defining multiple arrays of vertex attributes]=], + returnType = "bool", + params = { + {type = "Mesh", name = "mesh"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "GenMeshPoly", + description = [=[Generate polygonal mesh]=], + returnType = "Mesh", + params = { + {type = "int", name = "sides"}, + {type = "float", name = "radius"} + } + }, + { + name = "GenMeshPlane", + description = [=[Generate plane mesh (with subdivisions)]=], + returnType = "Mesh", + params = { + {type = "float", name = "width"}, + {type = "float", name = "length"}, + {type = "int", name = "resX"}, + {type = "int", name = "resZ"} + } + }, + { + name = "GenMeshCube", + description = [=[Generate cuboid mesh]=], + returnType = "Mesh", + params = { + {type = "float", name = "width"}, + {type = "float", name = "height"}, + {type = "float", name = "length"} + } + }, + { + name = "GenMeshSphere", + description = [=[Generate sphere mesh (standard sphere)]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshHemiSphere", + description = [=[Generate half-sphere mesh (no bottom cap)]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "int", name = "rings"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshCylinder", + description = [=[Generate cylinder mesh]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshCone", + description = [=[Generate cone/pyramid mesh]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "height"}, + {type = "int", name = "slices"} + } + }, + { + name = "GenMeshTorus", + description = [=[Generate torus mesh]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "size"}, + {type = "int", name = "radSeg"}, + {type = "int", name = "sides"} + } + }, + { + name = "GenMeshKnot", + description = [=[Generate trefoil knot mesh]=], + returnType = "Mesh", + params = { + {type = "float", name = "radius"}, + {type = "float", name = "size"}, + {type = "int", name = "radSeg"}, + {type = "int", name = "sides"} + } + }, + { + name = "GenMeshHeightmap", + description = [=[Generate heightmap mesh from image data]=], + returnType = "Mesh", + params = { + {type = "Image", name = "heightmap"}, + {type = "Vector3", name = "size"} + } + }, + { + name = "GenMeshCubicmap", + description = [=[Generate cubes-based map mesh from image data]=], + returnType = "Mesh", + params = { + {type = "Image", name = "cubicmap"}, + {type = "Vector3", name = "cubeSize"} + } + }, + { + name = "LoadMaterials", + description = [=[Load materials from model file]=], + returnType = "Material *", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "materialCount"} + } + }, + { + name = "LoadMaterialDefault", + description = [=[Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)]=], + returnType = "Material" + }, + { + name = "IsMaterialValid", + description = [=[Check if a material is valid (shader assigned, map textures loaded in GPU)]=], + returnType = "bool", + params = { + {type = "Material", name = "material"} + } + }, + { + name = "UnloadMaterial", + description = [=[Unload material from GPU memory (VRAM)]=], + returnType = "void", + params = { + {type = "Material", name = "material"} + } + }, + { + name = "SetMaterialTexture", + description = [=[Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)]=], + returnType = "void", + params = { + {type = "Material *", name = "material"}, + {type = "int", name = "mapType"}, + {type = "Texture2D", name = "texture"} + } + }, + { + name = "SetModelMeshMaterial", + description = [=[Set material for a mesh]=], + returnType = "void", + params = { + {type = "Model *", name = "model"}, + {type = "int", name = "meshId"}, + {type = "int", name = "materialId"} + } + }, + { + name = "LoadModelAnimations", + description = [=[Load model animations from file]=], + returnType = "ModelAnimation *", + params = { + {type = "const char *", name = "fileName"}, + {type = "int *", name = "animCount"} + } + }, + { + name = "UpdateModelAnimation", + description = [=[Update model animation pose (vertex buffers and bone matrices)]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "ModelAnimation", name = "anim"}, + {type = "float", name = "frame"} + } + }, + { + name = "UpdateModelAnimationEx", + description = [=[Update model animation pose, blending two animations]=], + returnType = "void", + params = { + {type = "Model", name = "model"}, + {type = "ModelAnimation", name = "animA"}, + {type = "float", name = "frameA"}, + {type = "ModelAnimation", name = "animB"}, + {type = "float", name = "frameB"}, + {type = "float", name = "blend"} + } + }, + { + name = "UnloadModelAnimations", + description = [=[Unload animation array data]=], + returnType = "void", + params = { + {type = "ModelAnimation *", name = "animations"}, + {type = "int", name = "animCount"} + } + }, + { + name = "IsModelAnimationValid", + description = [=[Check model animation skeleton match]=], + returnType = "bool", + params = { + {type = "Model", name = "model"}, + {type = "ModelAnimation", name = "anim"} + } + }, + { + name = "CheckCollisionSpheres", + description = [=[Check collision between two spheres]=], + returnType = "bool", + params = { + {type = "Vector3", name = "center1"}, + {type = "float", name = "radius1"}, + {type = "Vector3", name = "center2"}, + {type = "float", name = "radius2"} + } + }, + { + name = "CheckCollisionBoxes", + description = [=[Check collision between two bounding boxes]=], + returnType = "bool", + params = { + {type = "BoundingBox", name = "box1"}, + {type = "BoundingBox", name = "box2"} + } + }, + { + name = "CheckCollisionBoxSphere", + description = [=[Check collision between box and sphere]=], + returnType = "bool", + params = { + {type = "BoundingBox", name = "box"}, + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "GetRayCollisionSphere", + description = [=[Get collision info between ray and sphere]=], + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "center"}, + {type = "float", name = "radius"} + } + }, + { + name = "GetRayCollisionBox", + description = [=[Get collision info between ray and box]=], + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "BoundingBox", name = "box"} + } + }, + { + name = "GetRayCollisionMesh", + description = [=[Get collision info between ray and mesh]=], + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Mesh", name = "mesh"}, + {type = "Matrix", name = "transform"} + } + }, + { + name = "GetRayCollisionTriangle", + description = [=[Get collision info between ray and triangle]=], + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "p1"}, + {type = "Vector3", name = "p2"}, + {type = "Vector3", name = "p3"} + } + }, + { + name = "GetRayCollisionQuad", + description = [=[Get collision info between ray and quad]=], + returnType = "RayCollision", + params = { + {type = "Ray", name = "ray"}, + {type = "Vector3", name = "p1"}, + {type = "Vector3", name = "p2"}, + {type = "Vector3", name = "p3"}, + {type = "Vector3", name = "p4"} + } + }, + { + name = "InitAudioDevice", + description = [=[Initialize audio device and context]=], + returnType = "void" + }, + { + name = "CloseAudioDevice", + description = [=[Close the audio device and context]=], + returnType = "void" + }, + { + name = "IsAudioDeviceReady", + description = [=[Check if audio device has been initialized successfully]=], + returnType = "bool" + }, + { + name = "SetMasterVolume", + description = [=[Set master volume (listener)]=], + returnType = "void", + params = { + {type = "float", name = "volume"} + } + }, + { + name = "GetMasterVolume", + description = [=[Get master volume (listener)]=], + returnType = "float" + }, + { + name = "LoadWave", + description = [=[Load wave data from file]=], + returnType = "Wave", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadWaveFromMemory", + description = [=[Load wave from memory buffer, fileType refers to extension: i.e. '.wav']=], + returnType = "Wave", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "fileData"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "IsWaveValid", + description = [=[Checks if wave data is valid (data loaded and parameters)]=], + returnType = "bool", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "LoadSound", + description = [=[Load sound from file]=], + returnType = "Sound", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadSoundFromWave", + description = [=[Load sound from wave data]=], + returnType = "Sound", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "LoadSoundAlias", + description = [=[Create a new sound that shares the same sample data as the source sound, does not own the sound data]=], + returnType = "Sound", + params = { + {type = "Sound", name = "source"} + } + }, + { + name = "IsSoundValid", + description = [=[Checks if a sound is valid (data loaded and buffers initialized)]=], + returnType = "bool", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "UpdateSound", + description = [=[Update sound buffer with new data (default data format: 32 bit float, stereo)]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "const void *", name = "data"}, + {type = "int", name = "sampleCount"} + } + }, + { + name = "UnloadWave", + description = [=[Unload wave data]=], + returnType = "void", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "UnloadSound", + description = [=[Unload sound]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "UnloadSoundAlias", + description = [=[Unload a sound alias (does not deallocate sample data)]=], + returnType = "void", + params = { + {type = "Sound", name = "alias"} + } + }, + { + name = "ExportWave", + description = [=[Export wave data to file, returns true on success]=], + returnType = "bool", + params = { + {type = "Wave", name = "wave"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "ExportWaveAsCode", + description = [=[Export wave sample data to code (.h), returns true on success]=], + returnType = "bool", + params = { + {type = "Wave", name = "wave"}, + {type = "const char *", name = "fileName"} + } + }, + { + name = "PlaySound", + description = [=[Play a sound]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "StopSound", + description = [=[Stop playing a sound]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "PauseSound", + description = [=[Pause a sound]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "ResumeSound", + description = [=[Resume a paused sound]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "IsSoundPlaying", + description = [=[Check if a sound is currently playing]=], + returnType = "bool", + params = { + {type = "Sound", name = "sound"} + } + }, + { + name = "SetSoundVolume", + description = [=[Set volume for a sound (1.0 is max level)]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetSoundPitch", + description = [=[Set pitch for a sound (1.0 is base level)]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetSoundPan", + description = [=[Set pan for a sound (-1.0 left, 0.0 center, 1.0 right)]=], + returnType = "void", + params = { + {type = "Sound", name = "sound"}, + {type = "float", name = "pan"} + } + }, + { + name = "WaveCopy", + description = [=[Copy a wave to a new wave]=], + returnType = "Wave", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "WaveCrop", + description = [=[Crop a wave to defined frames range]=], + returnType = "void", + params = { + {type = "Wave *", name = "wave"}, + {type = "int", name = "initFrame"}, + {type = "int", name = "finalFrame"} + } + }, + { + name = "WaveFormat", + description = [=[Convert wave data to desired format]=], + returnType = "void", + params = { + {type = "Wave *", name = "wave"}, + {type = "int", name = "sampleRate"}, + {type = "int", name = "sampleSize"}, + {type = "int", name = "channels"} + } + }, + { + name = "LoadWaveSamples", + description = [=[Load samples data from wave as a 32bit float data array]=], + returnType = "float *", + params = { + {type = "Wave", name = "wave"} + } + }, + { + name = "UnloadWaveSamples", + description = [=[Unload samples data loaded with LoadWaveSamples()]=], + returnType = "void", + params = { + {type = "float *", name = "samples"} + } + }, + { + name = "LoadMusicStream", + description = [=[Load music stream from file]=], + returnType = "Music", + params = { + {type = "const char *", name = "fileName"} + } + }, + { + name = "LoadMusicStreamFromMemory", + description = [=[Load music stream from data]=], + returnType = "Music", + params = { + {type = "const char *", name = "fileType"}, + {type = "const unsigned char *", name = "data"}, + {type = "int", name = "dataSize"} + } + }, + { + name = "IsMusicValid", + description = [=[Checks if a music stream is valid (context and buffers initialized)]=], + returnType = "bool", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "UnloadMusicStream", + description = [=[Unload music stream]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "PlayMusicStream", + description = [=[Start music playing]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "IsMusicStreamPlaying", + description = [=[Check if music is playing]=], + returnType = "bool", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "UpdateMusicStream", + description = [=[Updates buffers for music streaming]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "StopMusicStream", + description = [=[Stop music playing]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "PauseMusicStream", + description = [=[Pause music playing]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "ResumeMusicStream", + description = [=[Resume playing paused music]=], + returnType = "void", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "SeekMusicStream", + description = [=[Seek music to a position (in seconds)]=], + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "position"} + } + }, + { + name = "SetMusicVolume", + description = [=[Set volume for music (1.0 is max level)]=], + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetMusicPitch", + description = [=[Set pitch for a music (1.0 is base level)]=], + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetMusicPan", + description = [=[Set pan for a music (-1.0 left, 0.0 center, 1.0 right)]=], + returnType = "void", + params = { + {type = "Music", name = "music"}, + {type = "float", name = "pan"} + } + }, + { + name = "GetMusicTimeLength", + description = [=[Get music time length (in seconds)]=], + returnType = "float", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "GetMusicTimePlayed", + description = [=[Get current music time played (in seconds)]=], + returnType = "float", + params = { + {type = "Music", name = "music"} + } + }, + { + name = "LoadAudioStream", + description = [=[Load audio stream (to stream raw audio pcm data)]=], + returnType = "AudioStream", + params = { + {type = "unsigned int", name = "sampleRate"}, + {type = "unsigned int", name = "sampleSize"}, + {type = "unsigned int", name = "channels"} + } + }, + { + name = "IsAudioStreamValid", + description = [=[Checks if an audio stream is valid (buffers initialized)]=], + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "UnloadAudioStream", + description = [=[Unload audio stream and free memory]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "UpdateAudioStream", + description = [=[Update audio stream buffers with data]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "const void *", name = "data"}, + {type = "int", name = "frameCount"} + } + }, + { + name = "IsAudioStreamProcessed", + description = [=[Check if any audio stream buffers requires refill]=], + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "PlayAudioStream", + description = [=[Play audio stream]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "PauseAudioStream", + description = [=[Pause audio stream]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "ResumeAudioStream", + description = [=[Resume audio stream]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "IsAudioStreamPlaying", + description = [=[Check if audio stream is playing]=], + returnType = "bool", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "StopAudioStream", + description = [=[Stop audio stream]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"} + } + }, + { + name = "SetAudioStreamVolume", + description = [=[Set volume for audio stream (1.0 is max level)]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "volume"} + } + }, + { + name = "SetAudioStreamPitch", + description = [=[Set pitch for audio stream (1.0 is base level)]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "pitch"} + } + }, + { + name = "SetAudioStreamPan", + description = [=[Set pan for audio stream (-1.0 to 1.0 range, 0.0 is centered)]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "float", name = "pan"} + } + }, + { + name = "SetAudioStreamBufferSizeDefault", + description = [=[Default size for new audio streams]=], + returnType = "void", + params = { + {type = "int", name = "size"} + } + }, + { + name = "SetAudioStreamCallback", + description = [=[Audio thread callback to request new data]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "callback"} + } + }, + { + name = "AttachAudioStreamProcessor", + description = [=[Attach audio stream processor to stream, receives frames x 2 samples as 'float' (stereo)]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "DetachAudioStreamProcessor", + description = [=[Detach audio stream processor from stream]=], + returnType = "void", + params = { + {type = "AudioStream", name = "stream"}, + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "AttachAudioMixedProcessor", + description = [=[Attach audio stream processor to the entire audio pipeline, receives frames x 2 samples as 'float' (stereo)]=], + returnType = "void", + params = { + {type = "AudioCallback", name = "processor"} + } + }, + { + name = "DetachAudioMixedProcessor", + description = [=[Detach audio stream processor from the entire audio pipeline]=], + returnType = "void", + params = { + {type = "AudioCallback", name = "processor"} + } + } + } +} diff --git a/tools/autocomplete/api/rcamera_api.lua b/tools/autocomplete/api/rcamera_api.lua index 9afc9a8..4dcc6c4 100644 --- a/tools/autocomplete/api/rcamera_api.lua +++ b/tools/autocomplete/api/rcamera_api.lua @@ -1,390 +1,390 @@ -return { - defines = { - { - name = "RCAMERA_H", - type = "GUARD", - value = "", - description = "" - }, - { - name = "__declspec(x)", - type = "MACRO", - value = "__attribute__((x))", - description = "" - }, - { - name = "RLAPI", - type = "UNKNOWN", - value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" - }, - { - name = "CAMERA_CULL_DISTANCE_NEAR", - type = "DOUBLE", - value = 0.01, - description = "" - }, - { - name = "CAMERA_CULL_DISTANCE_FAR", - type = "DOUBLE", - value = 1000.0, - description = "" - }, - { - name = "CAMERA_MOVE_SPEED", - type = "FLOAT", - value = 5.4, - description = "Units per second" - }, - { - name = "CAMERA_ROTATION_SPEED", - type = "FLOAT", - value = 0.03, - description = "" - }, - { - name = "CAMERA_PAN_SPEED", - type = "FLOAT", - value = 0.2, - description = "" - }, - { - name = "CAMERA_MOUSE_MOVE_SENSITIVITY", - type = "FLOAT", - value = 0.003, - description = "" - }, - { - name = "CAMERA_ORBITAL_SPEED", - type = "FLOAT", - value = 0.5, - description = "Radians per second" - } - }, - structs = { - { - name = "Vector2", - description = "Vector2, 2 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - } - } - }, - { - name = "Vector3", - description = "Vector3, 3 components", - fields = { - { - type = "float", - name = "x", - description = "Vector x component" - }, - { - type = "float", - name = "y", - description = "Vector y component" - }, - { - type = "float", - name = "z", - description = "Vector z component" - } - } - }, - { - name = "Matrix", - description = "Matrix, 4x4 components, column major, OpenGL style, right-handed", - fields = { - { - type = "float", - name = "m0", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m4", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m8", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m12", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m1", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m5", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m9", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m13", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m2", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m6", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m10", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m14", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m3", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m7", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m11", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m15", - description = "Matrix fourth row (4 components)" - } - } - }, - { - name = "Camera3D", - description = "Camera type, defines a camera position/orientation in 3d space", - fields = { - { - type = "Vector3", - name = "position", - description = "Camera position" - }, - { - type = "Vector3", - name = "target", - description = "Camera target it looks-at" - }, - { - type = "Vector3", - name = "up", - description = "Camera up vector (rotation over its axis)" - }, - { - type = "float", - name = "fovy", - description = "Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" - }, - { - type = "int", - name = "projection", - description = "Camera projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" - } - } - } - }, - aliases = { - { - type = "Camera3D", - name = "Camera", - description = "Camera type fallback, defaults to Camera3D" - } - }, - enums = { - { - name = "CameraProjection", - description = "Camera projection", - values = { - { - name = "CAMERA_PERSPECTIVE", - value = 0, - description = "Perspective projection" - }, - { - name = "CAMERA_ORTHOGRAPHIC", - value = 1, - description = "Orthographic projection" - } - } - }, - { - name = "CameraMode", - description = "Camera system modes", - values = { - { - name = "CAMERA_CUSTOM", - value = 0, - description = "Camera custom, controlled by user (UpdateCamera() does nothing)" - }, - { - name = "CAMERA_FREE", - value = 1, - description = "Camera free mode" - }, - { - name = "CAMERA_ORBITAL", - value = 2, - description = "Camera orbital, around target, zoom supported" - }, - { - name = "CAMERA_FIRST_PERSON", - value = 3, - description = "Camera first person" - }, - { - name = "CAMERA_THIRD_PERSON", - value = 4, - description = "Camera third person" - } - } - } - }, - callbacks = { - }, - functions = { - { - name = "GetCameraForward", - description = "", - returnType = "Vector3", - params = { - {type = "Camera *", name = "camera"} - } - }, - { - name = "GetCameraUp", - description = "", - returnType = "Vector3", - params = { - {type = "Camera *", name = "camera"} - } - }, - { - name = "GetCameraRight", - description = "", - returnType = "Vector3", - params = { - {type = "Camera *", name = "camera"} - } - }, - { - name = "CameraMoveForward", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "distance"}, - {type = "bool", name = "moveInWorldPlane"} - } - }, - { - name = "CameraMoveUp", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "distance"} - } - }, - { - name = "CameraMoveRight", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "distance"}, - {type = "bool", name = "moveInWorldPlane"} - } - }, - { - name = "CameraMoveToTarget", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "delta"} - } - }, - { - name = "CameraYaw", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "angle"}, - {type = "bool", name = "rotateAroundTarget"} - } - }, - { - name = "CameraPitch", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "angle"}, - {type = "bool", name = "lockView"}, - {type = "bool", name = "rotateAroundTarget"}, - {type = "bool", name = "rotateUp"} - } - }, - { - name = "CameraRoll", - description = "", - returnType = "void", - params = { - {type = "Camera *", name = "camera"}, - {type = "float", name = "angle"} - } - }, - { - name = "GetCameraViewMatrix", - description = "", - returnType = "Matrix", - params = { - {type = "Camera *", name = "camera"} - } - }, - { - name = "GetCameraProjectionMatrix", - description = "", - returnType = "Matrix", - params = { - {type = "Camera*", name = "camera"}, - {type = "float", name = "aspect"} - } - } - } -} +return { + defines = { + { + name = "RCAMERA_H", + type = "GUARD", + value = "", + description = "" + }, + { + name = "__declspec(x)", + type = "MACRO", + value = "__attribute__((x))", + description = "" + }, + { + name = "RLAPI", + type = "UNKNOWN", + value = "__declspec(dllexport)", + description = "Building the library as a Win32 shared library (.dll)" + }, + { + name = "CAMERA_CULL_DISTANCE_NEAR", + type = "DOUBLE", + value = 0.05, + description = "" + }, + { + name = "CAMERA_CULL_DISTANCE_FAR", + type = "DOUBLE", + value = 4000.0, + description = "" + }, + { + name = "CAMERA_MOVE_SPEED", + type = "FLOAT", + value = 5.4, + description = "Units per second" + }, + { + name = "CAMERA_ROTATION_SPEED", + type = "FLOAT", + value = 0.03, + description = "" + }, + { + name = "CAMERA_PAN_SPEED", + type = "FLOAT", + value = 2.0, + description = "" + }, + { + name = "CAMERA_MOUSE_MOVE_SENSITIVITY", + type = "FLOAT", + value = 0.003, + description = "" + }, + { + name = "CAMERA_ORBITAL_SPEED", + type = "FLOAT", + value = 0.5, + description = "Radians per second" + } + }, + structs = { + { + name = "Vector2", + description = [=[Vector2, 2 components]=], + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + } + } + }, + { + name = "Vector3", + description = [=[Vector3, 3 components]=], + fields = { + { + type = "float", + name = "x", + description = "Vector x component" + }, + { + type = "float", + name = "y", + description = "Vector y component" + }, + { + type = "float", + name = "z", + description = "Vector z component" + } + } + }, + { + name = "Matrix", + description = [=[Matrix, 4x4 components, column major, OpenGL style, right-handed]=], + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, + { + name = "Camera3D", + description = [=[Camera type, defines a camera position/orientation in 3d space]=], + fields = { + { + type = "Vector3", + name = "position", + description = "Camera position" + }, + { + type = "Vector3", + name = "target", + description = "Camera target it looks-at" + }, + { + type = "Vector3", + name = "up", + description = "Camera up vector (rotation over its axis)" + }, + { + type = "float", + name = "fovy", + description = "Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic" + }, + { + type = "int", + name = "projection", + description = "Camera projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" + } + } + } + }, + aliases = { + { + type = "Camera3D", + name = "Camera", + description = "Camera type fallback, defaults to Camera3D" + } + }, + enums = { + { + name = "CameraProjection", + description = [=[Camera projection]=], + values = { + { + name = "CAMERA_PERSPECTIVE", + value = 0, + description = "Perspective projection" + }, + { + name = "CAMERA_ORTHOGRAPHIC", + value = 1, + description = "Orthographic projection" + } + } + }, + { + name = "CameraMode", + description = [=[Camera system modes]=], + values = { + { + name = "CAMERA_CUSTOM", + value = 0, + description = "Camera custom, controlled by user (UpdateCamera() does nothing)" + }, + { + name = "CAMERA_FREE", + value = 1, + description = "Camera free mode" + }, + { + name = "CAMERA_ORBITAL", + value = 2, + description = "Camera orbital, around target, zoom supported" + }, + { + name = "CAMERA_FIRST_PERSON", + value = 3, + description = "Camera first person" + }, + { + name = "CAMERA_THIRD_PERSON", + value = 4, + description = "Camera third person" + } + } + } + }, + callbacks = { + }, + functions = { + { + name = "GetCameraForward", + description = [=[]=], + returnType = "Vector3", + params = { + {type = "Camera *", name = "camera"} + } + }, + { + name = "GetCameraUp", + description = [=[]=], + returnType = "Vector3", + params = { + {type = "Camera *", name = "camera"} + } + }, + { + name = "GetCameraRight", + description = [=[]=], + returnType = "Vector3", + params = { + {type = "Camera *", name = "camera"} + } + }, + { + name = "CameraMoveForward", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "distance"}, + {type = "bool", name = "moveInWorldPlane"} + } + }, + { + name = "CameraMoveUp", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "distance"} + } + }, + { + name = "CameraMoveRight", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "distance"}, + {type = "bool", name = "moveInWorldPlane"} + } + }, + { + name = "CameraMoveToTarget", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "delta"} + } + }, + { + name = "CameraYaw", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "angle"}, + {type = "bool", name = "rotateAroundTarget"} + } + }, + { + name = "CameraPitch", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "angle"}, + {type = "bool", name = "lockView"}, + {type = "bool", name = "rotateAroundTarget"}, + {type = "bool", name = "rotateUp"} + } + }, + { + name = "CameraRoll", + description = [=[]=], + returnType = "void", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "angle"} + } + }, + { + name = "GetCameraViewMatrix", + description = [=[]=], + returnType = "Matrix", + params = { + {type = "Camera *", name = "camera"} + } + }, + { + name = "GetCameraProjectionMatrix", + description = [=[]=], + returnType = "Matrix", + params = { + {type = "Camera *", name = "camera"}, + {type = "float", name = "aspect"} + } + } + } +} diff --git a/tools/autocomplete/api/rlgl_api.lua b/tools/autocomplete/api/rlgl_api.lua index 6343c1f..b843ecc 100644 --- a/tools/autocomplete/api/rlgl_api.lua +++ b/tools/autocomplete/api/rlgl_api.lua @@ -9,14 +9,14 @@ return { { name = "RLGL_VERSION", type = "STRING", - value = "4.0", + value = "6.0", description = "" }, { name = "RLAPI", type = "UNKNOWN", value = "__declspec(dllexport)", - description = "We are building the library as a Win32 shared library (.dll)" + description = "Building the library as a Win32 shared library (.dll)" }, { name = "TRACELOG(level, ...)", @@ -24,12 +24,6 @@ return { value = "(void)0", description = "" }, - { - name = "TRACELOGD(...)", - type = "MACRO", - value = "(void)0", - description = "" - }, { name = "RL_MALLOC(sz)", type = "MACRO", @@ -61,7 +55,13 @@ return { description = "" }, { - name = "RLGL_RENDER_TEXTURES_HINT", + name = "GRAPHICS_API_OPENGL_11", + type = "GUARD", + value = "", + description = "" + }, + { + name = "GRAPHICS_API_OPENGL_ES2", type = "GUARD", value = "", description = "" @@ -105,13 +105,13 @@ return { { name = "RL_CULL_DISTANCE_NEAR", type = "DOUBLE", - value = 0.01, + value = 0.05, description = "Default near cull distance" }, { name = "RL_CULL_DISTANCE_FAR", type = "DOUBLE", - value = 1000.0, + value = 4000.0, description = "Default far cull distance" }, { @@ -180,6 +180,12 @@ return { value = 0x3000, description = "Anisotropic filter (custom identifier)" }, + { + name = "RL_TEXTURE_MIPMAP_BIAS_RATIO", + type = "INT", + value = 0x4000, + description = "Texture mipmap bias, percentage ratio (custom identifier)" + }, { name = "RL_TEXTURE_WRAP_REPEAT", type = "INT", @@ -325,316 +331,354 @@ return { description = "GL_COMPUTE_SHADER" }, { - name = "RL_MATRIX_TYPE", - type = "GUARD", - value = "", - description = "" + name = "RL_ZERO", + type = "INT", + value = 0, + description = "GL_ZERO" }, { - name = "RL_SHADER_LOC_MAP_DIFFUSE", - type = "UNKNOWN", - value = "RL_SHADER_LOC_MAP_ALBEDO", - description = "" + name = "RL_ONE", + type = "INT", + value = 1, + description = "GL_ONE" }, { - name = "RL_SHADER_LOC_MAP_SPECULAR", - type = "UNKNOWN", - value = "RL_SHADER_LOC_MAP_METALNESS", - description = "" + name = "RL_SRC_COLOR", + type = "INT", + value = 0x0300, + description = "GL_SRC_COLOR" }, { - name = "APIENTRY", - type = "UNKNOWN", - value = "__stdcall", - description = "" + name = "RL_ONE_MINUS_SRC_COLOR", + type = "INT", + value = 0x0301, + description = "GL_ONE_MINUS_SRC_COLOR" }, { - name = "WINGDIAPI", - type = "UNKNOWN", - value = "__declspec(dllimport)", - description = "" + name = "RL_SRC_ALPHA", + type = "INT", + value = 0x0302, + description = "GL_SRC_ALPHA" }, { - name = "GLAD_MALLOC", - type = "UNKNOWN", - value = "RL_MALLOC", - description = "" + name = "RL_ONE_MINUS_SRC_ALPHA", + type = "INT", + value = 0x0303, + description = "GL_ONE_MINUS_SRC_ALPHA" }, { - name = "GLAD_FREE", - type = "UNKNOWN", - value = "RL_FREE", - description = "" + name = "RL_DST_ALPHA", + type = "INT", + value = 0x0304, + description = "GL_DST_ALPHA" }, { - name = "GLAD_GL_IMPLEMENTATION", - type = "GUARD", - value = "", - description = "" + name = "RL_ONE_MINUS_DST_ALPHA", + type = "INT", + value = 0x0305, + description = "GL_ONE_MINUS_DST_ALPHA" }, { - name = "GL_GLEXT_PROTOTYPES", - type = "GUARD", - value = "", - description = "" + name = "RL_DST_COLOR", + type = "INT", + value = 0x0306, + description = "GL_DST_COLOR" }, { - name = "PI", - type = "FLOAT", - value = 3.14159265358979323846, - description = "" + name = "RL_ONE_MINUS_DST_COLOR", + type = "INT", + value = 0x0307, + description = "GL_ONE_MINUS_DST_COLOR" }, { - name = "DEG2RAD", - type = "FLOAT_MATH", - value = "(PI/180.0f)", - description = "" + name = "RL_SRC_ALPHA_SATURATE", + type = "INT", + value = 0x0308, + description = "GL_SRC_ALPHA_SATURATE" }, { - name = "RAD2DEG", - type = "FLOAT_MATH", - value = "(180.0f/PI)", - description = "" + name = "RL_CONSTANT_COLOR", + type = "INT", + value = 0x8001, + description = "GL_CONSTANT_COLOR" }, { - name = "GL_SHADING_LANGUAGE_VERSION", + name = "RL_ONE_MINUS_CONSTANT_COLOR", type = "INT", - value = 0x8B8C, - description = "" + value = 0x8002, + description = "GL_ONE_MINUS_CONSTANT_COLOR" }, { - name = "GL_COMPRESSED_RGB_S3TC_DXT1_EXT", + name = "RL_CONSTANT_ALPHA", type = "INT", - value = 0x83F0, - description = "" + value = 0x8003, + description = "GL_CONSTANT_ALPHA" }, { - name = "GL_COMPRESSED_RGBA_S3TC_DXT1_EXT", + name = "RL_ONE_MINUS_CONSTANT_ALPHA", type = "INT", - value = 0x83F1, - description = "" + value = 0x8004, + description = "GL_ONE_MINUS_CONSTANT_ALPHA" }, { - name = "GL_COMPRESSED_RGBA_S3TC_DXT3_EXT", + name = "RL_FUNC_ADD", type = "INT", - value = 0x83F2, - description = "" + value = 0x8006, + description = "GL_FUNC_ADD" }, { - name = "GL_COMPRESSED_RGBA_S3TC_DXT5_EXT", + name = "RL_MIN", type = "INT", - value = 0x83F3, - description = "" + value = 0x8007, + description = "GL_MIN" }, { - name = "GL_ETC1_RGB8_OES", + name = "RL_MAX", type = "INT", - value = 0x8D64, - description = "" + value = 0x8008, + description = "GL_MAX" }, { - name = "GL_COMPRESSED_RGB8_ETC2", + name = "RL_FUNC_SUBTRACT", type = "INT", - value = 0x9274, - description = "" + value = 0x800A, + description = "GL_FUNC_SUBTRACT" }, { - name = "GL_COMPRESSED_RGBA8_ETC2_EAC", + name = "RL_FUNC_REVERSE_SUBTRACT", type = "INT", - value = 0x9278, - description = "" + value = 0x800B, + description = "GL_FUNC_REVERSE_SUBTRACT" }, { - name = "GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG", + name = "RL_BLEND_EQUATION", type = "INT", - value = 0x8C00, - description = "" + value = 0x8009, + description = "GL_BLEND_EQUATION" }, { - name = "GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG", + name = "RL_BLEND_EQUATION_RGB", type = "INT", - value = 0x8C02, - description = "" + value = 0x8009, + description = "GL_BLEND_EQUATION_RGB // (Same as BLEND_EQUATION)" }, { - name = "GL_COMPRESSED_RGBA_ASTC_4x4_KHR", + name = "RL_BLEND_EQUATION_ALPHA", type = "INT", - value = 0x93b0, - description = "" + value = 0x883D, + description = "GL_BLEND_EQUATION_ALPHA" }, { - name = "GL_COMPRESSED_RGBA_ASTC_8x8_KHR", + name = "RL_BLEND_DST_RGB", type = "INT", - value = 0x93b7, - description = "" + value = 0x80C8, + description = "GL_BLEND_DST_RGB" }, { - name = "GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT", + name = "RL_BLEND_SRC_RGB", type = "INT", - value = 0x84FF, - description = "" + value = 0x80C9, + description = "GL_BLEND_SRC_RGB" }, { - name = "GL_TEXTURE_MAX_ANISOTROPY_EXT", + name = "RL_BLEND_DST_ALPHA", type = "INT", - value = 0x84FE, - description = "" + value = 0x80CA, + description = "GL_BLEND_DST_ALPHA" }, { - name = "GL_UNSIGNED_SHORT_5_6_5", + name = "RL_BLEND_SRC_ALPHA", type = "INT", - value = 0x8363, - description = "" + value = 0x80CB, + description = "GL_BLEND_SRC_ALPHA" }, { - name = "GL_UNSIGNED_SHORT_5_5_5_1", + name = "RL_BLEND_COLOR", type = "INT", - value = 0x8034, - description = "" + value = 0x8005, + description = "GL_BLEND_COLOR" }, { - name = "GL_UNSIGNED_SHORT_4_4_4_4", + name = "RL_READ_FRAMEBUFFER", type = "INT", - value = 0x8033, - description = "" + value = 0x8CA8, + description = "GL_READ_FRAMEBUFFER" }, { - name = "GL_LUMINANCE", + name = "RL_DRAW_FRAMEBUFFER", type = "INT", - value = 0x1909, - description = "" + value = 0x8CA9, + description = "GL_DRAW_FRAMEBUFFER" }, { - name = "GL_LUMINANCE_ALPHA", + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION", type = "INT", - value = 0x190A, + value = 0, description = "" }, { - name = "glClearDepth", - type = "UNKNOWN", - value = "glClearDepthf", + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD", + type = "INT", + value = 1, description = "" }, { - name = "GL_READ_FRAMEBUFFER", - type = "UNKNOWN", - value = "GL_FRAMEBUFFER", + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL", + type = "INT", + value = 2, description = "" }, { - name = "GL_DRAW_FRAMEBUFFER", - type = "UNKNOWN", - value = "GL_FRAMEBUFFER", + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR", + type = "INT", + value = 3, description = "" }, { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION", - type = "STRING", - value = "vertexPosition", - description = "Binded by default to shader location: 0" - }, - { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD", - type = "STRING", - value = "vertexTexCoord", - description = "Binded by default to shader location: 1" - }, - { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_NORMAL", - type = "STRING", - value = "vertexNormal", - description = "Binded by default to shader location: 2" - }, - { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_COLOR", - type = "STRING", - value = "vertexColor", - description = "Binded by default to shader location: 3" - }, - { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_TANGENT", - type = "STRING", - value = "vertexTangent", - description = "Binded by default to shader location: 4" - }, - { - name = "RL_DEFAULT_SHADER_ATTRIB_NAME_TEXCOORD2", - type = "STRING", - value = "vertexTexCoord2", - description = "Binded by default to shader location: 5" - }, - { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_MVP", - type = "STRING", - value = "mvp", - description = "model-view-projection matrix" - }, - { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_VIEW", - type = "STRING", - value = "matView", - description = "view matrix" - }, - { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_PROJECTION", - type = "STRING", - value = "matProjection", - description = "projection matrix" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT", + type = "INT", + value = 4, + description = "" }, { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_MODEL", - type = "STRING", - value = "matModel", - description = "model matrix" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2", + type = "INT", + value = 5, + description = "" }, { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_NORMAL", - type = "STRING", - value = "matNormal", - description = "normal matrix (transpose(inverse(matModelView))" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_INDICES", + type = "INT", + value = 6, + description = "" }, { - name = "RL_DEFAULT_SHADER_UNIFORM_NAME_COLOR", - type = "STRING", - value = "colDiffuse", - description = "color diffuse (base tint color, multiplied by texture color)" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEINDICES", + type = "INT", + value = 7, + description = "" }, { - name = "RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE0", - type = "STRING", - value = "texture0", - description = "texture0 (texture slot active 0)" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_BONEWEIGHTS", + type = "INT", + value = 8, + description = "" }, { - name = "RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE1", - type = "STRING", - value = "texture1", - description = "texture1 (texture slot active 1)" + name = "RL_DEFAULT_SHADER_ATTRIB_LOCATION_INSTANCETRANSFORM", + type = "INT", + value = 9, + description = "" }, { - name = "RL_DEFAULT_SHADER_SAMPLER2D_NAME_TEXTURE2", - type = "STRING", - value = "texture2", - description = "texture2 (texture slot active 2)" + name = "RL_MATRIX_TYPE", + type = "GUARD", + value = "", + description = "" }, { - name = "MIN(a,b)", - type = "MACRO", - value = "(((a)<(b))?(a):(b))", + name = "RL_SHADER_LOC_MAP_DIFFUSE", + type = "UNKNOWN", + value = "RL_SHADER_LOC_MAP_ALBEDO", description = "" }, { - name = "MAX(a,b)", - type = "MACRO", - value = "(((a)>(b))?(a):(b))", + name = "RL_SHADER_LOC_MAP_SPECULAR", + type = "UNKNOWN", + value = "RL_SHADER_LOC_MAP_METALNESS", description = "" } }, structs = { + { + name = "Matrix", + description = [=[Matrix, 4x4 components, column major, OpenGL style, right handed]=], + fields = { + { + type = "float", + name = "m0", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m4", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m8", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m12", + description = "Matrix first row (4 components)" + }, + { + type = "float", + name = "m1", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m5", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m9", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m13", + description = "Matrix second row (4 components)" + }, + { + type = "float", + name = "m2", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m6", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m10", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m14", + description = "Matrix third row (4 components)" + }, + { + type = "float", + name = "m3", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m7", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m11", + description = "Matrix fourth row (4 components)" + }, + { + type = "float", + name = "m15", + description = "Matrix fourth row (4 components)" + } + } + }, { name = "rlVertexBuffer", - description = "Dynamic vertex buffers (position + texcoords + colors + indices arrays)", + description = [=[Dynamic vertex buffers (position + texcoords + colors + indices arrays)]=], fields = { { type = "int", @@ -651,6 +695,11 @@ return { name = "texcoords", description = "Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" }, + { + type = "float *", + name = "normals", + description = "Vertex normal (XYZ - 3 components per vertex) (shader-location = 2)" + }, { type = "unsigned char *", name = "colors", @@ -658,8 +707,8 @@ return { }, { type = "#if defined(GRAPHICS_API_OPENGL_11) || defined(GRAPHICS_API_OPENunsigned int *", - name = "vaoId", - description = "Vertex array id to be used on the draw -> Using RLGL.currentBatch->vertexBuffer.vaoId" + name = "indices", + description = "Vertex indices (in case vertex data comes indexed) (6 indices per quad)" }, { type = "unsigned int *", @@ -668,13 +717,13 @@ return { }, { type = "#endif", - name = "rlRenderBatch", - description = "" + name = "mode", + description = "Drawing mode: LINES, TRIANGLES, QUADS" }, { - type = "#if defined(GRAPHICS_API_OPENGL_ES2)", - name = "vertexAlignment", - description = "Number of vertex required for index alignment (LINES, TRIANGLES)" + type = "#if defined(GRAPHICS_API_OPENGL_ES2)[5]", + name = "vboId", + description = "OpenGL Vertex Buffer Objects id (5 types of vertex data)" }, { type = "unsigned short *", @@ -683,8 +732,8 @@ return { }, { type = "#endif", - name = "mode", - description = "Drawing mode: LINES, TRIANGLES, QUADS" + name = "colors", + description = "Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" }, { type = "unsigned int", @@ -692,15 +741,15 @@ return { description = "OpenGL Vertex Array Object id" }, { - type = "unsigned int[4]", + type = "unsigned int[5]", name = "vboId", - description = "OpenGL Vertex Buffer Objects id (4 types of vertex data)" + description = "OpenGL Vertex Buffer Objects id (5 types of vertex data)" } } }, { name = "rlDrawCall", - description = "of those state-change happens (this is done in core module)", + description = [=[of those state-change happens (this is done in core module)]=], fields = { { type = "int", @@ -726,7 +775,7 @@ return { }, { name = "rlRenderBatch", - description = "rlRenderBatch type", + description = [=[rlRenderBatch type]=], fields = { { type = "int", @@ -759,424 +808,55 @@ return { description = "Current depth value for next draw" } } - }, + } + }, + aliases = { + }, + enums = { { - name = "Matrix", - description = "Matrix, 4x4 components, column major, OpenGL style, right handed", - fields = { + name = "rlGlVersion", + description = [=[OpenGL version]=], + values = { { - type = "float", - name = "m0", - description = "Matrix first row (4 components)" + name = "RL_OPENGL_SOFTWARE", + value = 0, + description = "Software rendering" }, { - type = "float", - name = "m4", - description = "Matrix first row (4 components)" + name = "RL_OPENGL_11", + value = 1, + description = "OpenGL 1.1" }, { - type = "float", - name = "m8", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m12", - description = "Matrix first row (4 components)" - }, - { - type = "float", - name = "m1", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m5", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m9", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m13", - description = "Matrix second row (4 components)" - }, - { - type = "float", - name = "m2", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m6", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m10", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m14", - description = "Matrix third row (4 components)" - }, - { - type = "float", - name = "m3", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m7", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m11", - description = "Matrix fourth row (4 components)" - }, - { - type = "float", - name = "m15", - description = "Matrix fourth row (4 components)" - } - } - }, - { - name = "rlglData", - description = "", - fields = { - { - type = "rlRenderBatch *", - name = "currentBatch", - description = "Current render batch" - }, - { - type = "rlRenderBatch", - name = "defaultBatch", - description = "Default internal render batch" - }, - { - type = "int", - name = "vertexCounter", - description = "Current active render batch vertex counter (generic, used for all batches)" - }, - { - type = "float", - name = "texcoordx", - description = "Current active texture coordinate (added on glVertex*())" - }, - { - type = "float", - name = "texcoordy", - description = "Current active texture coordinate (added on glVertex*())" - }, - { - type = "float", - name = "normalx", - description = "Current active normal (added on glVertex*())" - }, - { - type = "float", - name = "normaly", - description = "Current active normal (added on glVertex*())" - }, - { - type = "float", - name = "normalz", - description = "Current active normal (added on glVertex*())" - }, - { - type = "unsigned char", - name = "colorr", - description = "Current active color (added on glVertex*())" - }, - { - type = "unsigned char", - name = "colorg", - description = "Current active color (added on glVertex*())" - }, - { - type = "unsigned char", - name = "colorb", - description = "Current active color (added on glVertex*())" - }, - { - type = "unsigned char", - name = "colora", - description = "Current active color (added on glVertex*())" - }, - { - type = "int", - name = "currentMatrixMode", - description = "Current matrix mode" - }, - { - type = "Matrix *", - name = "currentMatrix", - description = "Current matrix pointer" - }, - { - type = "Matrix", - name = "modelview", - description = "Default modelview matrix" - }, - { - type = "Matrix", - name = "projection", - description = "Default projection matrix" - }, - { - type = "Matrix", - name = "transform", - description = "Transform matrix to be used with rlTranslate, rlRotate, rlScale" - }, - { - type = "bool", - name = "transformRequired", - description = "Require transform matrix application to current draw-call vertex (if required)" - }, - { - type = "Matrix[RL_MAX_MATRIX_STACK_SIZE]", - name = "stack", - description = "Matrix stack for push/pop" - }, - { - type = "int", - name = "stackCounter", - description = "Matrix stack counter" - }, - { - type = "unsigned int", - name = "defaultTextureId", - description = "Default texture used on shapes/poly drawing (required by shader)" - }, - { - type = "unsigned int[RL_DEFAULT_BATCH_MAX_TEXTURE_UNITS]", - name = "activeTextureId", - description = "Active texture ids to be enabled on batch drawing (0 active by default)" - }, - { - type = "unsigned int", - name = "defaultVShaderId", - description = "Default vertex shader id (used by default shader program)" - }, - { - type = "unsigned int", - name = "defaultFShaderId", - description = "Default fragment shader id (used by default shader program)" - }, - { - type = "unsigned int", - name = "defaultShaderId", - description = "Default shader program id, supports vertex color and diffuse texture" - }, - { - type = "int *", - name = "defaultShaderLocs", - description = "Default shader locations pointer to be used on rendering" - }, - { - type = "unsigned int", - name = "currentShaderId", - description = "Current shader id to be used on rendering (by default, defaultShaderId)" - }, - { - type = "int *", - name = "currentShaderLocs", - description = "Current shader locations pointer to be used on rendering (by default, defaultShaderLocs)" - }, - { - type = "bool", - name = "stereoRender", - description = "Stereo rendering flag" - }, - { - type = "Matrix[2]", - name = "projectionStereo", - description = "VR stereo rendering eyes projection matrices" - }, - { - type = "Matrix[2]", - name = "viewOffsetStereo", - description = "VR stereo rendering eyes view offset matrices" - }, - { - type = "int", - name = "currentBlendMode", - description = "Blending mode active" - }, - { - type = "int", - name = "glBlendSrcFactor", - description = "Blending source factor" - }, - { - type = "int", - name = "glBlendDstFactor", - description = "Blending destination factor" - }, - { - type = "int", - name = "glBlendEquation", - description = "Blending equation" - }, - { - type = "int", - name = "framebufferWidth", - description = "Current framebuffer width" - }, - { - type = "int", - name = "framebufferHeight", - description = "Current framebuffer height" - } - } - } - }, - aliases = { - }, - enums = { - { - name = "rlGlVersion", - description = "", - values = { - { - name = "OPENGL_11", - value = 1, - description = "" - }, - { - name = "OPENGL_21", + name = "RL_OPENGL_21", value = 2, - description = "" + description = "OpenGL 2.1 (GLSL 120)" }, { - name = "OPENGL_33", + name = "RL_OPENGL_33", value = 3, - description = "" + description = "OpenGL 3.3 (GLSL 330)" }, { - name = "OPENGL_43", + name = "RL_OPENGL_43", value = 4, - description = "" + description = "OpenGL 4.3 (using GLSL 330)" }, { - name = "OPENGL_ES_20", + name = "RL_OPENGL_ES_20", value = 5, - description = "" - } - } - }, - { - name = "rlFramebufferAttachType", - description = "", - values = { - { - name = "RL_ATTACHMENT_COLOR_CHANNEL0", - value = 0, - description = "" + description = "OpenGL ES 2.0 (GLSL 100)" }, { - name = "RL_ATTACHMENT_COLOR_CHANNEL1", - value = 1, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL2", - value = 2, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL3", - value = 3, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL4", - value = 4, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL5", - value = 5, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL6", + name = "RL_OPENGL_ES_30", value = 6, - description = "" - }, - { - name = "RL_ATTACHMENT_COLOR_CHANNEL7", - value = 7, - description = "" - }, - { - name = "RL_ATTACHMENT_DEPTH", - value = 100, - description = "" - }, - { - name = "RL_ATTACHMENT_STENCIL", - value = 200, - description = "" - } - } - }, - { - name = "rlFramebufferAttachTextureType", - description = "", - values = { - { - name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_X", - value = 0, - description = "" - }, - { - name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_X", - value = 1, - description = "" - }, - { - name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Y", - value = 2, - description = "" - }, - { - name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y", - value = 3, - description = "" - }, - { - name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Z", - value = 4, - description = "" - }, - { - name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z", - value = 5, - description = "" - }, - { - name = "RL_ATTACHMENT_TEXTURE2D", - value = 100, - description = "" - }, - { - name = "RL_ATTACHMENT_RENDERBUFFER", - value = 200, - description = "" + description = "OpenGL ES 3.0 (GLSL 300 es)" } } }, { name = "rlTraceLogLevel", - description = "Trace log level", + description = [=[Trace log level]=], values = { { name = "RL_LOG_ALL", @@ -1222,7 +902,7 @@ return { }, { name = "rlPixelFormat", - description = "Texture formats (support depends on OpenGL version)", + description = [=[Texture pixel formats]=], values = { { name = "RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE", @@ -1275,70 +955,85 @@ return { description = "32*4 bpp (4 channels - float)" }, { - name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGB", + name = "RL_PIXELFORMAT_UNCOMPRESSED_R16", value = 11, + description = "16 bpp (1 channel - half float)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16", + value = 12, + description = "16*3 bpp (3 channels - half float)" + }, + { + name = "RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16", + value = 13, + description = "16*4 bpp (4 channels - half float)" + }, + { + name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGB", + value = 14, description = "4 bpp (no alpha)" }, { name = "RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA", - value = 12, + value = 15, description = "4 bpp (1 bit alpha)" }, { name = "RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA", - value = 13, + value = 16, description = "8 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA", - value = 14, + value = 17, description = "8 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_ETC1_RGB", - value = 15, + value = 18, description = "4 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_ETC2_RGB", - value = 16, + value = 19, description = "4 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA", - value = 17, + value = 20, description = "8 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGB", - value = 18, + value = 21, description = "4 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA", - value = 19, + value = 22, description = "4 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA", - value = 20, + value = 23, description = "8 bpp" }, { name = "RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA", - value = 21, + value = 24, description = "2 bpp" } } }, { name = "rlTextureFilter", - description = "Texture parameters: filter mode", + description = [=[Texture parameters: filter mode]=], values = { { name = "RL_TEXTURE_FILTER_POINT", value = 0, - description = "No filter, just pixel approximation" + description = "No filter, pixel approximation" }, { name = "RL_TEXTURE_FILTER_BILINEAR", @@ -1369,7 +1064,7 @@ return { }, { name = "rlBlendMode", - description = "Color blending modes (pre-defined)", + description = [=[Color blending modes (pre-defined)]=], values = { { name = "RL_BLEND_ALPHA", @@ -1405,12 +1100,17 @@ return { name = "RL_BLEND_CUSTOM", value = 6, description = "Blend textures using custom src/dst factors (use rlSetBlendFactors())" + }, + { + name = "RL_BLEND_CUSTOM_SEPARATE", + value = 7, + description = "Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate())" } } }, { name = "rlShaderLocationIndex", - description = "Shader location point type", + description = [=[Shader location point type]=], values = { { name = "RL_SHADER_LOC_VERTEX_POSITION", @@ -1498,144 +1198,274 @@ return { description = "Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR)" }, { - name = "RL_SHADER_LOC_MAP_NORMAL", - value = 17, - description = "Shader location: sampler2d texture: normal" + name = "RL_SHADER_LOC_MAP_NORMAL", + value = 17, + description = "Shader location: sampler2d texture: normal" + }, + { + name = "RL_SHADER_LOC_MAP_ROUGHNESS", + value = 18, + description = "Shader location: sampler2d texture: roughness" + }, + { + name = "RL_SHADER_LOC_MAP_OCCLUSION", + value = 19, + description = "Shader location: sampler2d texture: occlusion" + }, + { + name = "RL_SHADER_LOC_MAP_EMISSION", + value = 20, + description = "Shader location: sampler2d texture: emission" + }, + { + name = "RL_SHADER_LOC_MAP_HEIGHT", + value = 21, + description = "Shader location: sampler2d texture: height" + }, + { + name = "RL_SHADER_LOC_MAP_CUBEMAP", + value = 22, + description = "Shader location: samplerCube texture: cubemap" + }, + { + name = "RL_SHADER_LOC_MAP_IRRADIANCE", + value = 23, + description = "Shader location: samplerCube texture: irradiance" + }, + { + name = "RL_SHADER_LOC_MAP_PREFILTER", + value = 24, + description = "Shader location: samplerCube texture: prefilter" + }, + { + name = "RL_SHADER_LOC_MAP_BRDF", + value = 25, + description = "Shader location: sampler2d texture: brdf" + } + } + }, + { + name = "rlShaderUniformDataType", + description = [=[Shader uniform data type]=], + values = { + { + name = "RL_SHADER_UNIFORM_FLOAT", + value = 0, + description = "Shader uniform type: float" + }, + { + name = "RL_SHADER_UNIFORM_VEC2", + value = 1, + description = "Shader uniform type: vec2 (2 float)" + }, + { + name = "RL_SHADER_UNIFORM_VEC3", + value = 2, + description = "Shader uniform type: vec3 (3 float)" + }, + { + name = "RL_SHADER_UNIFORM_VEC4", + value = 3, + description = "Shader uniform type: vec4 (4 float)" + }, + { + name = "RL_SHADER_UNIFORM_INT", + value = 4, + description = "Shader uniform type: int" + }, + { + name = "RL_SHADER_UNIFORM_IVEC2", + value = 5, + description = "Shader uniform type: ivec2 (2 int)" + }, + { + name = "RL_SHADER_UNIFORM_IVEC3", + value = 6, + description = "Shader uniform type: ivec3 (3 int)" + }, + { + name = "RL_SHADER_UNIFORM_IVEC4", + value = 7, + description = "Shader uniform type: ivec4 (4 int)" + }, + { + name = "RL_SHADER_UNIFORM_UINT", + value = 8, + description = "Shader uniform type: unsigned int" + }, + { + name = "RL_SHADER_UNIFORM_UIVEC2", + value = 9, + description = "Shader uniform type: uivec2 (2 unsigned int)" + }, + { + name = "RL_SHADER_UNIFORM_UIVEC3", + value = 10, + description = "Shader uniform type: uivec3 (3 unsigned int)" + }, + { + name = "RL_SHADER_UNIFORM_UIVEC4", + value = 11, + description = "Shader uniform type: uivec4 (4 unsigned int)" + }, + { + name = "RL_SHADER_UNIFORM_SAMPLER2D", + value = 12, + description = "Shader uniform type: sampler2d" + } + } + }, + { + name = "rlShaderAttributeDataType", + description = [=[Shader attribute data types]=], + values = { + { + name = "RL_SHADER_ATTRIB_FLOAT", + value = 0, + description = "Shader attribute type: float" + }, + { + name = "RL_SHADER_ATTRIB_VEC2", + value = 1, + description = "Shader attribute type: vec2 (2 float)" + }, + { + name = "RL_SHADER_ATTRIB_VEC3", + value = 2, + description = "Shader attribute type: vec3 (3 float)" + }, + { + name = "RL_SHADER_ATTRIB_VEC4", + value = 3, + description = "Shader attribute type: vec4 (4 float)" + } + } + }, + { + name = "rlFramebufferAttachType", + description = [=[Framebuffer attachment type]=], + values = { + { + name = "RL_ATTACHMENT_COLOR_CHANNEL0", + value = 0, + description = "Framebuffer attachment type: color 0" + }, + { + name = "RL_ATTACHMENT_COLOR_CHANNEL1", + value = 1, + description = "Framebuffer attachment type: color 1" }, { - name = "RL_SHADER_LOC_MAP_ROUGHNESS", - value = 18, - description = "Shader location: sampler2d texture: roughness" + name = "RL_ATTACHMENT_COLOR_CHANNEL2", + value = 2, + description = "Framebuffer attachment type: color 2" }, { - name = "RL_SHADER_LOC_MAP_OCCLUSION", - value = 19, - description = "Shader location: sampler2d texture: occlusion" + name = "RL_ATTACHMENT_COLOR_CHANNEL3", + value = 3, + description = "Framebuffer attachment type: color 3" }, { - name = "RL_SHADER_LOC_MAP_EMISSION", - value = 20, - description = "Shader location: sampler2d texture: emission" + name = "RL_ATTACHMENT_COLOR_CHANNEL4", + value = 4, + description = "Framebuffer attachment type: color 4" }, { - name = "RL_SHADER_LOC_MAP_HEIGHT", - value = 21, - description = "Shader location: sampler2d texture: height" + name = "RL_ATTACHMENT_COLOR_CHANNEL5", + value = 5, + description = "Framebuffer attachment type: color 5" }, { - name = "RL_SHADER_LOC_MAP_CUBEMAP", - value = 22, - description = "Shader location: samplerCube texture: cubemap" + name = "RL_ATTACHMENT_COLOR_CHANNEL6", + value = 6, + description = "Framebuffer attachment type: color 6" }, { - name = "RL_SHADER_LOC_MAP_IRRADIANCE", - value = 23, - description = "Shader location: samplerCube texture: irradiance" + name = "RL_ATTACHMENT_COLOR_CHANNEL7", + value = 7, + description = "Framebuffer attachment type: color 7" }, { - name = "RL_SHADER_LOC_MAP_PREFILTER", - value = 24, - description = "Shader location: samplerCube texture: prefilter" + name = "RL_ATTACHMENT_DEPTH", + value = 100, + description = "Framebuffer attachment type: depth" }, { - name = "RL_SHADER_LOC_MAP_BRDF", - value = 25, - description = "Shader location: sampler2d texture: brdf" + name = "RL_ATTACHMENT_STENCIL", + value = 200, + description = "Framebuffer attachment type: stencil" } } }, { - name = "rlShaderUniformDataType", - description = "Shader uniform data type", + name = "rlFramebufferAttachTextureType", + description = [=[Framebuffer texture attachment type]=], values = { { - name = "RL_SHADER_UNIFORM_FLOAT", + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_X", value = 0, - description = "Shader uniform type: float" + description = "Framebuffer texture attachment type: cubemap, +X side" }, { - name = "RL_SHADER_UNIFORM_VEC2", + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_X", value = 1, - description = "Shader uniform type: vec2 (2 float)" + description = "Framebuffer texture attachment type: cubemap, -X side" }, { - name = "RL_SHADER_UNIFORM_VEC3", + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Y", value = 2, - description = "Shader uniform type: vec3 (3 float)" + description = "Framebuffer texture attachment type: cubemap, +Y side" }, { - name = "RL_SHADER_UNIFORM_VEC4", + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y", value = 3, - description = "Shader uniform type: vec4 (4 float)" + description = "Framebuffer texture attachment type: cubemap, -Y side" }, { - name = "RL_SHADER_UNIFORM_INT", + name = "RL_ATTACHMENT_CUBEMAP_POSITIVE_Z", value = 4, - description = "Shader uniform type: int" + description = "Framebuffer texture attachment type: cubemap, +Z side" }, { - name = "RL_SHADER_UNIFORM_IVEC2", + name = "RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z", value = 5, - description = "Shader uniform type: ivec2 (2 int)" - }, - { - name = "RL_SHADER_UNIFORM_IVEC3", - value = 6, - description = "Shader uniform type: ivec3 (3 int)" + description = "Framebuffer texture attachment type: cubemap, -Z side" }, { - name = "RL_SHADER_UNIFORM_IVEC4", - value = 7, - description = "Shader uniform type: ivec4 (4 int)" + name = "RL_ATTACHMENT_TEXTURE2D", + value = 100, + description = "Framebuffer texture attachment type: texture2d" }, { - name = "RL_SHADER_UNIFORM_SAMPLER2D", - value = 8, - description = "Shader uniform type: sampler2d" + name = "RL_ATTACHMENT_RENDERBUFFER", + value = 200, + description = "Framebuffer texture attachment type: renderbuffer" } } }, { - name = "rlShaderAttributeDataType", - description = "Shader attribute data types", + name = "rlCullMode", + description = [=[Face culling mode]=], values = { { - name = "RL_SHADER_ATTRIB_FLOAT", + name = "RL_CULL_FACE_FRONT", value = 0, - description = "Shader attribute type: float" + description = "" }, { - name = "RL_SHADER_ATTRIB_VEC2", + name = "RL_CULL_FACE_BACK", value = 1, - description = "Shader attribute type: vec2 (2 float)" - }, - { - name = "RL_SHADER_ATTRIB_VEC3", - value = 2, - description = "Shader attribute type: vec3 (3 float)" - }, - { - name = "RL_SHADER_ATTRIB_VEC4", - value = 3, - description = "Shader attribute type: vec4 (4 float)" + description = "" } } } }, callbacks = { - { - name = "rlglLoadProc", - description = "OpenGL extension functions loader signature (same as GLADloadproc)", - returnType = "void *", - params = { - {type = "const char *", name = "name"} - } - } }, functions = { { name = "rlMatrixMode", - description = "Choose the current matrix to be transformed", + description = [=[Choose the current matrix to be transformed]=], returnType = "void", params = { {type = "int", name = "mode"} @@ -1643,22 +1473,22 @@ return { }, { name = "rlPushMatrix", - description = "Push the current matrix to stack", + description = [=[Push the current matrix to stack]=], returnType = "void" }, { name = "rlPopMatrix", - description = "Pop lattest inserted matrix from stack", + description = [=[Pop latest inserted matrix from stack]=], returnType = "void" }, { name = "rlLoadIdentity", - description = "Reset current matrix to identity matrix", + description = [=[Reset current matrix to identity matrix]=], returnType = "void" }, { name = "rlTranslatef", - description = "Multiply the current matrix by a translation matrix", + description = [=[Multiply the current matrix by a translation matrix]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1668,7 +1498,7 @@ return { }, { name = "rlRotatef", - description = "Multiply the current matrix by a rotation matrix", + description = [=[Multiply the current matrix by a rotation matrix]=], returnType = "void", params = { {type = "float", name = "angle"}, @@ -1679,7 +1509,7 @@ return { }, { name = "rlScalef", - description = "Multiply the current matrix by a scaling matrix", + description = [=[Multiply the current matrix by a scaling matrix]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1689,15 +1519,15 @@ return { }, { name = "rlMultMatrixf", - description = "Multiply the current matrix by another matrix", + description = [=[Multiply the current matrix by another matrix]=], returnType = "void", params = { - {type = "float *", name = "matf"} + {type = "const float *", name = "matf"} } }, { name = "rlFrustum", - description = "", + description = [=[]=], returnType = "void", params = { {type = "double", name = "left"}, @@ -1710,7 +1540,7 @@ return { }, { name = "rlOrtho", - description = "", + description = [=[]=], returnType = "void", params = { {type = "double", name = "left"}, @@ -1723,7 +1553,7 @@ return { }, { name = "rlViewport", - description = "Set the viewport area", + description = [=[Set the viewport area]=], returnType = "void", params = { {type = "int", name = "x"}, @@ -1732,9 +1562,28 @@ return { {type = "int", name = "height"} } }, + { + name = "rlSetClipPlanes", + description = [=[Set clip planes distances]=], + returnType = "void", + params = { + {type = "double", name = "nearPlane"}, + {type = "double", name = "farPlane"} + } + }, + { + name = "rlGetCullDistanceNear", + description = [=[Get cull plane distance near]=], + returnType = "double" + }, + { + name = "rlGetCullDistanceFar", + description = [=[Get cull plane distance far]=], + returnType = "double" + }, { name = "rlBegin", - description = "Initialize drawing mode (how to organize vertex)", + description = [=[Initialize drawing mode (how to organize vertex)]=], returnType = "void", params = { {type = "int", name = "mode"} @@ -1742,12 +1591,12 @@ return { }, { name = "rlEnd", - description = "Finish vertex providing", + description = [=[Finish vertex providing]=], returnType = "void" }, { name = "rlVertex2i", - description = "Define one vertex (position) - 2 int", + description = [=[Define one vertex (position) - 2 int]=], returnType = "void", params = { {type = "int", name = "x"}, @@ -1756,7 +1605,7 @@ return { }, { name = "rlVertex2f", - description = "Define one vertex (position) - 2 float", + description = [=[Define one vertex (position) - 2 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1765,7 +1614,7 @@ return { }, { name = "rlVertex3f", - description = "Define one vertex (position) - 3 float", + description = [=[Define one vertex (position) - 3 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1775,7 +1624,7 @@ return { }, { name = "rlTexCoord2f", - description = "Define one vertex (texture coordinate) - 2 float", + description = [=[Define one vertex (texture coordinate) - 2 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1784,7 +1633,7 @@ return { }, { name = "rlNormal3f", - description = "Define one vertex (normal) - 3 float", + description = [=[Define one vertex (normal) - 3 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1794,7 +1643,7 @@ return { }, { name = "rlColor4ub", - description = "Define one vertex (color) - 4 byte", + description = [=[Define one vertex (color) - 4 byte]=], returnType = "void", params = { {type = "unsigned char", name = "r"}, @@ -1805,7 +1654,7 @@ return { }, { name = "rlColor3f", - description = "Define one vertex (color) - 3 float", + description = [=[Define one vertex (color) - 3 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1815,7 +1664,7 @@ return { }, { name = "rlColor4f", - description = "Define one vertex (color) - 4 float", + description = [=[Define one vertex (color) - 4 float]=], returnType = "void", params = { {type = "float", name = "x"}, @@ -1826,7 +1675,7 @@ return { }, { name = "rlEnableVertexArray", - description = "Enable vertex array (VAO, if supported)", + description = [=[Enable vertex array (VAO, if supported)]=], returnType = "bool", params = { {type = "unsigned int", name = "vaoId"} @@ -1834,12 +1683,12 @@ return { }, { name = "rlDisableVertexArray", - description = "Disable vertex array (VAO, if supported)", + description = [=[Disable vertex array (VAO, if supported)]=], returnType = "void" }, { name = "rlEnableVertexBuffer", - description = "Enable vertex buffer (VBO)", + description = [=[Enable vertex buffer (VBO)]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1847,12 +1696,12 @@ return { }, { name = "rlDisableVertexBuffer", - description = "Disable vertex buffer (VBO)", + description = [=[Disable vertex buffer (VBO)]=], returnType = "void" }, { name = "rlEnableVertexBufferElement", - description = "Enable vertex buffer element (VBO element)", + description = [=[Enable vertex buffer element (VBO element)]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1860,12 +1709,12 @@ return { }, { name = "rlDisableVertexBufferElement", - description = "Disable vertex buffer element (VBO element)", + description = [=[Disable vertex buffer element (VBO element)]=], returnType = "void" }, { name = "rlEnableVertexAttribute", - description = "Enable vertex attribute index", + description = [=[Enable vertex attribute index]=], returnType = "void", params = { {type = "unsigned int", name = "index"} @@ -1873,7 +1722,7 @@ return { }, { name = "rlDisableVertexAttribute", - description = "Disable vertex attribute index", + description = [=[Disable vertex attribute index]=], returnType = "void", params = { {type = "unsigned int", name = "index"} @@ -1881,7 +1730,7 @@ return { }, { name = "rlEnableStatePointer", - description = "Enable attribute state pointer", + description = [=[Enable attribute state pointer]=], returnType = "void", params = { {type = "int", name = "vertexAttribType"}, @@ -1890,7 +1739,7 @@ return { }, { name = "rlDisableStatePointer", - description = "Disable attribute state pointer", + description = [=[Disable attribute state pointer]=], returnType = "void", params = { {type = "int", name = "vertexAttribType"} @@ -1898,7 +1747,7 @@ return { }, { name = "rlActiveTextureSlot", - description = "Select and active a texture slot", + description = [=[Select and active a texture slot]=], returnType = "void", params = { {type = "int", name = "slot"} @@ -1906,7 +1755,7 @@ return { }, { name = "rlEnableTexture", - description = "Enable texture", + description = [=[Enable texture]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1914,12 +1763,12 @@ return { }, { name = "rlDisableTexture", - description = "Disable texture", + description = [=[Disable texture]=], returnType = "void" }, { name = "rlEnableTextureCubemap", - description = "Enable texture cubemap", + description = [=[Enable texture cubemap]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1927,12 +1776,22 @@ return { }, { name = "rlDisableTextureCubemap", - description = "Disable texture cubemap", + description = [=[Disable texture cubemap]=], returnType = "void" }, { name = "rlTextureParameters", - description = "Set texture parameters (filter, wrap)", + description = [=[Set texture parameters (filter, wrap)]=], + returnType = "void", + params = { + {type = "unsigned int", name = "id"}, + {type = "int", name = "param"}, + {type = "int", name = "value"} + } + }, + { + name = "rlCubemapParameters", + description = [=[Set cubemap parameters (filter, wrap)]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, @@ -1942,7 +1801,7 @@ return { }, { name = "rlEnableShader", - description = "Enable shader program", + description = [=[Enable shader program]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1950,12 +1809,12 @@ return { }, { name = "rlDisableShader", - description = "Disable shader program", + description = [=[Disable shader program]=], returnType = "void" }, { name = "rlEnableFramebuffer", - description = "Enable render texture (fbo)", + description = [=[Enable render texture (fbo)]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -1963,70 +1822,119 @@ return { }, { name = "rlDisableFramebuffer", - description = "Disable render texture (fbo), return to default framebuffer", + description = [=[Disable render texture (fbo), return to default framebuffer]=], returnType = "void" }, + { + name = "rlGetActiveFramebuffer", + description = [=[Get the currently active render texture (fbo), 0 for default framebuffer]=], + returnType = "unsigned int" + }, { name = "rlActiveDrawBuffers", - description = "Activate multiple draw color buffers", + description = [=[Activate multiple draw color buffers]=], returnType = "void", params = { {type = "int", name = "count"} } }, + { + name = "rlBlitFramebuffer", + description = [=[Blit active framebuffer to main framebuffer]=], + returnType = "void", + params = { + {type = "int", name = "srcX"}, + {type = "int", name = "srcY"}, + {type = "int", name = "srcWidth"}, + {type = "int", name = "srcHeight"}, + {type = "int", name = "dstX"}, + {type = "int", name = "dstY"}, + {type = "int", name = "dstWidth"}, + {type = "int", name = "dstHeight"}, + {type = "int", name = "bufferMask"} + } + }, + { + name = "rlBindFramebuffer", + description = [=[Bind framebuffer (FBO)]=], + returnType = "void", + params = { + {type = "unsigned int", name = "target"}, + {type = "unsigned int", name = "framebuffer"} + } + }, { name = "rlEnableColorBlend", - description = "Enable color blending", + description = [=[Enable color blending]=], returnType = "void" }, { name = "rlDisableColorBlend", - description = "Disable color blending", + description = [=[Disable color blending]=], returnType = "void" }, { name = "rlEnableDepthTest", - description = "Enable depth test", + description = [=[Enable depth test]=], returnType = "void" }, { name = "rlDisableDepthTest", - description = "Disable depth test", + description = [=[Disable depth test]=], returnType = "void" }, { name = "rlEnableDepthMask", - description = "Enable depth write", + description = [=[Enable depth write]=], returnType = "void" }, { name = "rlDisableDepthMask", - description = "Disable depth write", + description = [=[Disable depth write]=], returnType = "void" }, { name = "rlEnableBackfaceCulling", - description = "Enable backface culling", + description = [=[Enable backface culling]=], returnType = "void" }, { name = "rlDisableBackfaceCulling", - description = "Disable backface culling", + description = [=[Disable backface culling]=], returnType = "void" }, + { + name = "rlColorMask", + description = [=[Color mask control]=], + returnType = "void", + params = { + {type = "bool", name = "r"}, + {type = "bool", name = "g"}, + {type = "bool", name = "b"}, + {type = "bool", name = "a"} + } + }, + { + name = "rlSetCullFace", + description = [=[Set face culling mode]=], + returnType = "void", + params = { + {type = "int", name = "mode"} + } + }, { name = "rlEnableScissorTest", - description = "Enable scissor test", + description = [=[Enable scissor test]=], returnType = "void" }, { name = "rlDisableScissorTest", - description = "Disable scissor test", + description = [=[Disable scissor test]=], returnType = "void" }, { name = "rlScissor", - description = "Scissor test", + description = [=[Scissor test]=], returnType = "void", params = { {type = "int", name = "x"}, @@ -2035,19 +1943,42 @@ return { {type = "int", name = "height"} } }, + { + name = "rlEnablePointMode", + description = [=[Enable point mode]=], + returnType = "void" + }, + { + name = "rlDisablePointMode", + description = [=[Disable point mode]=], + returnType = "void" + }, + { + name = "rlSetPointSize", + description = [=[Set the point drawing size]=], + returnType = "void", + params = { + {type = "float", name = "size"} + } + }, + { + name = "rlGetPointSize", + description = [=[Get the point drawing size]=], + returnType = "float" + }, { name = "rlEnableWireMode", - description = "Enable wire mode", + description = [=[Enable wire mode]=], returnType = "void" }, { name = "rlDisableWireMode", - description = "Disable wire mode", + description = [=[Disable wire mode]=], returnType = "void" }, { name = "rlSetLineWidth", - description = "Set the line drawing width", + description = [=[Set the line drawing width]=], returnType = "void", params = { {type = "float", name = "width"} @@ -2055,37 +1986,37 @@ return { }, { name = "rlGetLineWidth", - description = "Get the line drawing width", + description = [=[Get the line drawing width]=], returnType = "float" }, { name = "rlEnableSmoothLines", - description = "Enable line aliasing", + description = [=[Enable line aliasing]=], returnType = "void" }, { name = "rlDisableSmoothLines", - description = "Disable line aliasing", + description = [=[Disable line aliasing]=], returnType = "void" }, { name = "rlEnableStereoRender", - description = "Enable stereo rendering", + description = [=[Enable stereo rendering]=], returnType = "void" }, { name = "rlDisableStereoRender", - description = "Disable stereo rendering", + description = [=[Disable stereo rendering]=], returnType = "void" }, { name = "rlIsStereoRenderEnabled", - description = "Check if stereo render is enabled", + description = [=[Check if stereo render is enabled]=], returnType = "bool" }, { name = "rlClearColor", - description = "Clear color buffer with color", + description = [=[Clear color buffer with color]=], returnType = "void", params = { {type = "unsigned char", name = "r"}, @@ -2096,17 +2027,17 @@ return { }, { name = "rlClearScreenBuffers", - description = "Clear used screen buffers (color and depth)", + description = [=[Clear used screen buffers (color and depth)]=], returnType = "void" }, { name = "rlCheckErrors", - description = "Check and log OpenGL error codes", + description = [=[Check and log OpenGL error codes]=], returnType = "void" }, { name = "rlSetBlendMode", - description = "Set blending mode", + description = [=[Set blending mode]=], returnType = "void", params = { {type = "int", name = "mode"} @@ -2114,7 +2045,7 @@ return { }, { name = "rlSetBlendFactors", - description = "Set blending mode factor and equation (using OpenGL factors)", + description = [=[Set blending mode factor and equation (using OpenGL factors)]=], returnType = "void", params = { {type = "int", name = "glSrcFactor"}, @@ -2122,9 +2053,22 @@ return { {type = "int", name = "glEquation"} } }, + { + name = "rlSetBlendFactorsSeparate", + description = [=[Set blending mode factors and equations separately (using OpenGL factors)]=], + returnType = "void", + params = { + {type = "int", name = "glSrcRGB"}, + {type = "int", name = "glDstRGB"}, + {type = "int", name = "glSrcAlpha"}, + {type = "int", name = "glDstAlpha"}, + {type = "int", name = "glEqRGB"}, + {type = "int", name = "glEqAlpha"} + } + }, { name = "rlglInit", - description = "Initialize rlgl (buffers, shaders, textures, states)", + description = [=[Initialize rlgl (buffers, shaders, textures, states)]=], returnType = "void", params = { {type = "int", name = "width"}, @@ -2133,25 +2077,33 @@ return { }, { name = "rlglClose", - description = "De-inititialize rlgl (buffers, shaders, textures)", + description = [=[De-initialize rlgl (buffers, shaders, textures)]=], returnType = "void" }, { name = "rlLoadExtensions", - description = "Load OpenGL extensions (loader function required)", + description = [=[Load OpenGL extensions (loader function required)]=], returnType = "void", params = { {type = "void *", name = "loader"} } }, + { + name = "rlGetProcAddress", + description = [=[Get OpenGL procedure address]=], + returnType = "void *", + params = { + {type = "const char *", name = "procName"} + } + }, { name = "rlGetVersion", - description = "Get current OpenGL version", + description = [=[Get current OpenGL version]=], returnType = "int" }, { name = "rlSetFramebufferWidth", - description = "Set current framebuffer width", + description = [=[Set current framebuffer width]=], returnType = "void", params = { {type = "int", name = "width"} @@ -2159,12 +2111,12 @@ return { }, { name = "rlGetFramebufferWidth", - description = "Get default framebuffer width", + description = [=[Get default framebuffer width]=], returnType = "int" }, { name = "rlSetFramebufferHeight", - description = "Set current framebuffer height", + description = [=[Set current framebuffer height]=], returnType = "void", params = { {type = "int", name = "height"} @@ -2172,27 +2124,27 @@ return { }, { name = "rlGetFramebufferHeight", - description = "Get default framebuffer height", + description = [=[Get default framebuffer height]=], returnType = "int" }, { name = "rlGetTextureIdDefault", - description = "Get default texture id", + description = [=[Get default texture id]=], returnType = "unsigned int" }, { name = "rlGetShaderIdDefault", - description = "Get default shader id", + description = [=[Get default shader id]=], returnType = "unsigned int" }, { name = "rlGetShaderLocsDefault", - description = "Get default shader locations", + description = [=[Get default shader locations]=], returnType = "int *" }, { name = "rlLoadRenderBatch", - description = "Load a render batch system", + description = [=[Load a render batch system]=], returnType = "rlRenderBatch", params = { {type = "int", name = "numBuffers"}, @@ -2201,7 +2153,7 @@ return { }, { name = "rlUnloadRenderBatch", - description = "Unload render batch system", + description = [=[Unload render batch system]=], returnType = "void", params = { {type = "rlRenderBatch", name = "batch"} @@ -2209,7 +2161,7 @@ return { }, { name = "rlDrawRenderBatch", - description = "Draw render batch data (Update->Draw->Reset)", + description = [=[Draw render batch data (Update->Draw->Reset)]=], returnType = "void", params = { {type = "rlRenderBatch *", name = "batch"} @@ -2217,7 +2169,7 @@ return { }, { name = "rlSetRenderBatchActive", - description = "Set the active render batch for rlgl (NULL for default internal)", + description = [=[Set the active render batch for rlgl (NULL for default internal)]=], returnType = "void", params = { {type = "rlRenderBatch *", name = "batch"} @@ -2225,12 +2177,12 @@ return { }, { name = "rlDrawRenderBatchActive", - description = "Update and draw internal render batch", + description = [=[Update and draw internal render batch]=], returnType = "void" }, { name = "rlCheckRenderBatchLimit", - description = "Check internal buffer overflow for a given number of vertex", + description = [=[Check internal buffer overflow for a given number of vertex]=], returnType = "bool", params = { {type = "int", name = "vCount"} @@ -2238,7 +2190,7 @@ return { }, { name = "rlSetTexture", - description = "Set current texture for render batch and check buffers limits", + description = [=[Set current texture for render batch and check buffers limits]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -2246,12 +2198,12 @@ return { }, { name = "rlLoadVertexArray", - description = "Load vertex array (vao) if supported", + description = [=[Load vertex array (vao) if supported]=], returnType = "unsigned int" }, { name = "rlLoadVertexBuffer", - description = "Load a vertex buffer attribute", + description = [=[Load a vertex buffer object]=], returnType = "unsigned int", params = { {type = "const void *", name = "buffer"}, @@ -2261,7 +2213,7 @@ return { }, { name = "rlLoadVertexBufferElement", - description = "Load a new attributes element buffer", + description = [=[Load vertex buffer elements object]=], returnType = "unsigned int", params = { {type = "const void *", name = "buffer"}, @@ -2271,7 +2223,7 @@ return { }, { name = "rlUpdateVertexBuffer", - description = "Update GPU buffer with new data", + description = [=[Update vertex buffer object data on GPU buffer]=], returnType = "void", params = { {type = "unsigned int", name = "bufferId"}, @@ -2282,7 +2234,7 @@ return { }, { name = "rlUpdateVertexBufferElements", - description = "Update vertex buffer elements with new data", + description = [=[Update vertex buffer elements data on GPU buffer]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, @@ -2293,7 +2245,7 @@ return { }, { name = "rlUnloadVertexArray", - description = "", + description = [=[Unload vertex array (vao)]=], returnType = "void", params = { {type = "unsigned int", name = "vaoId"} @@ -2301,7 +2253,7 @@ return { }, { name = "rlUnloadVertexBuffer", - description = "", + description = [=[Unload vertex buffer object]=], returnType = "void", params = { {type = "unsigned int", name = "vboId"} @@ -2309,7 +2261,7 @@ return { }, { name = "rlSetVertexAttribute", - description = "", + description = [=[Set vertex attribute data configuration]=], returnType = "void", params = { {type = "unsigned int", name = "index"}, @@ -2317,12 +2269,12 @@ return { {type = "int", name = "type"}, {type = "bool", name = "normalized"}, {type = "int", name = "stride"}, - {type = "const void *", name = "pointer"} + {type = "int", name = "offset"} } }, { name = "rlSetVertexAttributeDivisor", - description = "", + description = [=[Set vertex attribute data divisor]=], returnType = "void", params = { {type = "unsigned int", name = "index"}, @@ -2331,7 +2283,7 @@ return { }, { name = "rlSetVertexAttributeDefault", - description = "Set vertex attribute default value", + description = [=[Set vertex attribute default value, when attribute to provided]=], returnType = "void", params = { {type = "int", name = "locIndex"}, @@ -2342,7 +2294,7 @@ return { }, { name = "rlDrawVertexArray", - description = "", + description = [=[Draw vertex array (currently active vao)]=], returnType = "void", params = { {type = "int", name = "offset"}, @@ -2351,7 +2303,7 @@ return { }, { name = "rlDrawVertexArrayElements", - description = "", + description = [=[Draw vertex array elements]=], returnType = "void", params = { {type = "int", name = "offset"}, @@ -2361,7 +2313,7 @@ return { }, { name = "rlDrawVertexArrayInstanced", - description = "", + description = [=[Draw vertex array (currently active vao) with instancing]=], returnType = "void", params = { {type = "int", name = "offset"}, @@ -2371,7 +2323,7 @@ return { }, { name = "rlDrawVertexArrayElementsInstanced", - description = "", + description = [=[Draw vertex array elements with instancing]=], returnType = "void", params = { {type = "int", name = "offset"}, @@ -2382,7 +2334,7 @@ return { }, { name = "rlLoadTexture", - description = "Load texture in GPU", + description = [=[Load texture data]=], returnType = "unsigned int", params = { {type = "const void *", name = "data"}, @@ -2394,7 +2346,7 @@ return { }, { name = "rlLoadTextureDepth", - description = "Load depth texture/renderbuffer (to be attached to fbo)", + description = [=[Load depth texture/renderbuffer (to be attached to fbo)]=], returnType = "unsigned int", params = { {type = "int", name = "width"}, @@ -2404,17 +2356,18 @@ return { }, { name = "rlLoadTextureCubemap", - description = "Load texture cubemap", + description = [=[Load texture cubemap data]=], returnType = "unsigned int", params = { {type = "const void *", name = "data"}, {type = "int", name = "size"}, - {type = "int", name = "format"} + {type = "int", name = "format"}, + {type = "int", name = "mipmapCount"} } }, { name = "rlUpdateTexture", - description = "Update GPU texture with new data", + description = [=[Update texture with new data on GPU]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, @@ -2428,18 +2381,18 @@ return { }, { name = "rlGetGlTextureFormats", - description = "Get OpenGL internal formats", + description = [=[Get OpenGL internal formats]=], returnType = "void", params = { {type = "int", name = "format"}, - {type = "int *", name = "glInternalFormat"}, - {type = "int *", name = "glFormat"}, - {type = "int *", name = "glType"} + {type = "unsigned int *", name = "glInternalFormat"}, + {type = "unsigned int *", name = "glFormat"}, + {type = "unsigned int *", name = "glType"} } }, { name = "rlGetPixelFormatName", - description = "Get name string for pixel format", + description = [=[Get name string for pixel format]=], returnType = "const char *", params = { {type = "unsigned int", name = "format"} @@ -2447,7 +2400,7 @@ return { }, { name = "rlUnloadTexture", - description = "Unload texture from GPU memory", + description = [=[Unload texture from GPU memory]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -2455,7 +2408,7 @@ return { }, { name = "rlGenTextureMipmaps", - description = "Generate mipmap data for selected texture", + description = [=[Generate mipmap data for selected texture]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, @@ -2467,7 +2420,7 @@ return { }, { name = "rlReadTexturePixels", - description = "Read texture pixel data", + description = [=[Read texture pixel data]=], returnType = "void *", params = { {type = "unsigned int", name = "id"}, @@ -2478,7 +2431,7 @@ return { }, { name = "rlReadScreenPixels", - description = "Read screen pixel data (color buffer)", + description = [=[Read screen pixel data (color buffer)]=], returnType = "unsigned char *", params = { {type = "int", name = "width"}, @@ -2487,19 +2440,15 @@ return { }, { name = "rlLoadFramebuffer", - description = "Load an empty framebuffer", - returnType = "unsigned int", - params = { - {type = "int", name = "width"}, - {type = "int", name = "height"} - } + description = [=[Load an empty framebuffer]=], + returnType = "unsigned int" }, { name = "rlFramebufferAttach", - description = "Attach texture/renderbuffer to a framebuffer", + description = [=[Attach texture/renderbuffer to a framebuffer]=], returnType = "void", params = { - {type = "unsigned int", name = "fboId"}, + {type = "unsigned int", name = "id"}, {type = "unsigned int", name = "texId"}, {type = "int", name = "attachType"}, {type = "int", name = "texType"}, @@ -2508,7 +2457,7 @@ return { }, { name = "rlFramebufferComplete", - description = "Verify framebuffer is complete", + description = [=[Verify framebuffer is complete]=], returnType = "bool", params = { {type = "unsigned int", name = "id"} @@ -2516,15 +2465,46 @@ return { }, { name = "rlUnloadFramebuffer", - description = "Delete framebuffer from GPU", + description = [=[Delete framebuffer from GPU]=], returnType = "void", params = { {type = "unsigned int", name = "id"} } }, { - name = "rlLoadShaderCode", - description = "Load shader from code strings", + name = "rlCopyFramebuffer", + description = [=[Copy framebuffer pixel data to internal buffer]=], + returnType = "void", + params = { + {type = "int", name = "x"}, + {type = "int", name = "y"}, + {type = "int", name = "width"}, + {type = "int", name = "height"}, + {type = "int", name = "format"}, + {type = "void *", name = "pixels"} + } + }, + { + name = "rlResizeFramebuffer", + description = [=[Resize internal framebuffer]=], + returnType = "void", + params = { + {type = "int", name = "width"}, + {type = "int", name = "height"} + } + }, + { + name = "rlLoadShader", + description = [=[Load (compile) shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)]=], + returnType = "unsigned int", + params = { + {type = "const char *", name = "code"}, + {type = "int", name = "type"} + } + }, + { + name = "rlLoadShaderProgram", + description = [=[Load shader from code strings]=], returnType = "unsigned int", params = { {type = "const char *", name = "vsCode"}, @@ -2532,26 +2512,33 @@ return { } }, { - name = "rlCompileShader", - description = "Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER)", + name = "rlLoadShaderProgramEx", + description = [=[Load shader program, using already loaded shader ids]=], returnType = "unsigned int", params = { - {type = "const char *", name = "shaderCode"}, - {type = "int", name = "type"} + {type = "unsigned int", name = "vsId"}, + {type = "unsigned int", name = "fsId"} } }, { - name = "rlLoadShaderProgram", - description = "Load custom shader program", + name = "rlLoadShaderProgramCompute", + description = [=[Load compute shader program]=], returnType = "unsigned int", params = { - {type = "unsigned int", name = "vShaderId"}, - {type = "unsigned int", name = "fShaderId"} + {type = "unsigned int", name = "csId"} + } + }, + { + name = "rlUnloadShader", + description = [=[Unload shader, loaded with rlLoadShader()]=], + returnType = "void", + params = { + {type = "unsigned int", name = "id"} } }, { name = "rlUnloadShaderProgram", - description = "Unload shader program", + description = [=[Unload shader program]=], returnType = "void", params = { {type = "unsigned int", name = "id"} @@ -2559,25 +2546,25 @@ return { }, { name = "rlGetLocationUniform", - description = "Get shader location uniform", + description = [=[Get shader location uniform, requires shader program id]=], returnType = "int", params = { - {type = "unsigned int", name = "shaderId"}, + {type = "unsigned int", name = "id"}, {type = "const char *", name = "uniformName"} } }, { name = "rlGetLocationAttrib", - description = "Get shader location attribute", + description = [=[Get shader location attribute, requires shader program id]=], returnType = "int", params = { - {type = "unsigned int", name = "shaderId"}, + {type = "unsigned int", name = "id"}, {type = "const char *", name = "attribName"} } }, { name = "rlSetUniform", - description = "Set shader value uniform", + description = [=[Set shader value uniform]=], returnType = "void", params = { {type = "int", name = "locIndex"}, @@ -2588,16 +2575,26 @@ return { }, { name = "rlSetUniformMatrix", - description = "Set shader value matrix", + description = [=[Set shader value matrix]=], returnType = "void", params = { {type = "int", name = "locIndex"}, {type = "Matrix", name = "mat"} } }, + { + name = "rlSetUniformMatrices", + description = [=[Set shader value matrices]=], + returnType = "void", + params = { + {type = "int", name = "locIndex"}, + {type = "const Matrix *", name = "mat"}, + {type = "int", name = "count"} + } + }, { name = "rlSetUniformSampler", - description = "Set shader value sampler", + description = [=[Set shader value sampler]=], returnType = "void", params = { {type = "int", name = "locIndex"}, @@ -2606,24 +2603,16 @@ return { }, { name = "rlSetShader", - description = "Set shader currently active (id and locations)", + description = [=[Set shader currently active (id and locations)]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, {type = "int *", name = "locs"} } }, - { - name = "rlLoadComputeShaderProgram", - description = "Load compute shader program", - returnType = "unsigned int", - params = { - {type = "unsigned int", name = "shaderId"} - } - }, { name = "rlComputeShaderDispatch", - description = "Dispatch compute shader (equivalent to *draw* for graphics pilepine)", + description = [=[Dispatch compute shader (equivalent to *draw* for graphics pipeline)]=], returnType = "void", params = { {type = "unsigned int", name = "groupX"}, @@ -2633,102 +2622,102 @@ return { }, { name = "rlLoadShaderBuffer", - description = "Load shader storage buffer object (SSBO)", + description = [=[Load shader storage buffer object (SSBO)]=], returnType = "unsigned int", params = { - {type = "unsigned long long", name = "size"}, + {type = "unsigned int", name = "size"}, {type = "const void *", name = "data"}, {type = "int", name = "usageHint"} } }, { name = "rlUnloadShaderBuffer", - description = "Unload shader storage buffer object (SSBO)", + description = [=[Unload shader storage buffer object (SSBO)]=], returnType = "void", params = { {type = "unsigned int", name = "ssboId"} } }, { - name = "rlUpdateShaderBufferElements", - description = "Update SSBO buffer data", + name = "rlUpdateShaderBuffer", + description = [=[Update SSBO buffer data]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, {type = "const void *", name = "data"}, - {type = "unsigned long long", name = "dataSize"}, - {type = "unsigned long long", name = "offset"} + {type = "unsigned int", name = "dataSize"}, + {type = "unsigned int", name = "offset"} } }, { - name = "rlGetShaderBufferSize", - description = "Get SSBO buffer size", - returnType = "unsigned long long", + name = "rlBindShaderBuffer", + description = [=[Bind SSBO buffer]=], + returnType = "void", params = { - {type = "unsigned int", name = "id"} + {type = "unsigned int", name = "id"}, + {type = "unsigned int", name = "index"} } }, { - name = "rlReadShaderBufferElements", - description = "Bind SSBO buffer", + name = "rlReadShaderBuffer", + description = [=[Read SSBO buffer data (GPU->CPU)]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, {type = "void *", name = "dest"}, - {type = "unsigned long long", name = "count"}, - {type = "unsigned long long", name = "offset"} + {type = "unsigned int", name = "count"}, + {type = "unsigned int", name = "offset"} } }, { - name = "rlBindShaderBuffer", - description = "Copy SSBO buffer data", + name = "rlCopyShaderBuffer", + description = [=[Copy SSBO data between buffers]=], returnType = "void", params = { - {type = "unsigned int", name = "id"}, - {type = "unsigned int", name = "index"} + {type = "unsigned int", name = "destId"}, + {type = "unsigned int", name = "srcId"}, + {type = "unsigned int", name = "destOffset"}, + {type = "unsigned int", name = "srcOffset"}, + {type = "unsigned int", name = "count"} } }, { - name = "rlCopyBuffersElements", - description = "Copy SSBO buffer data", - returnType = "void", + name = "rlGetShaderBufferSize", + description = [=[Get SSBO buffer size]=], + returnType = "unsigned int", params = { - {type = "unsigned int", name = "destId"}, - {type = "unsigned int", name = "srcId"}, - {type = "unsigned long long", name = "destOffset"}, - {type = "unsigned long long", name = "srcOffset"}, - {type = "unsigned long long", name = "count"} + {type = "unsigned int", name = "id"} } }, { name = "rlBindImageTexture", - description = "Bind image texture", + description = [=[Bind image texture]=], returnType = "void", params = { {type = "unsigned int", name = "id"}, {type = "unsigned int", name = "index"}, - {type = "unsigned int", name = "format"}, - {type = "int", name = "readonly"} + {type = "int", name = "format"}, + {type = "bool", name = "readonly"} } }, { name = "rlGetMatrixModelview", - description = "Get internal modelview matrix", + description = [=[Get internal modelview matrix]=], returnType = "Matrix" }, { name = "rlGetMatrixProjection", - description = "Get internal projection matrix", + description = [=[Get internal projection matrix]=], returnType = "Matrix" }, { name = "rlGetMatrixTransform", - description = "Get internal accumulated transform matrix", + description = [=[Get internal accumulated transform matrix]=], returnType = "Matrix" }, { name = "rlGetMatrixProjectionStereo", - description = "Get internal projection matrix for stereo render (selected eye)", + description = [=[Get internal projection matrix for stereo render (selected eye)]=], returnType = "Matrix", params = { {type = "int", name = "eye"} @@ -2736,7 +2725,7 @@ return { }, { name = "rlGetMatrixViewOffsetStereo", - description = "Get internal view offset matrix for stereo render (selected eye)", + description = [=[Get internal view offset matrix for stereo render (selected eye)]=], returnType = "Matrix", params = { {type = "int", name = "eye"} @@ -2744,7 +2733,7 @@ return { }, { name = "rlSetMatrixProjection", - description = "Set a custom projection matrix (replaces internal projection matrix)", + description = [=[Set a custom projection matrix (replaces internal projection matrix)]=], returnType = "void", params = { {type = "Matrix", name = "proj"} @@ -2752,7 +2741,7 @@ return { }, { name = "rlSetMatrixModelview", - description = "Set a custom modelview matrix (replaces internal modelview matrix)", + description = [=[Set a custom modelview matrix (replaces internal modelview matrix)]=], returnType = "void", params = { {type = "Matrix", name = "view"} @@ -2760,7 +2749,7 @@ return { }, { name = "rlSetMatrixProjectionStereo", - description = "Set eyes projection matrices for stereo rendering", + description = [=[Set eyes projection matrices for stereo rendering]=], returnType = "void", params = { {type = "Matrix", name = "right"}, @@ -2769,7 +2758,7 @@ return { }, { name = "rlSetMatrixViewOffsetStereo", - description = "Set eyes view offsets matrices for stereo rendering", + description = [=[Set eyes view offsets matrices for stereo rendering]=], returnType = "void", params = { {type = "Matrix", name = "right"}, @@ -2778,29 +2767,13 @@ return { }, { name = "rlLoadDrawCube", - description = "Load and draw a cube", + description = [=[Load and draw a cube]=], returnType = "void" }, { name = "rlLoadDrawQuad", - description = "Load and draw a quad", + description = [=[Load and draw a quad]=], returnType = "void" - }, - { - name = "rlGetMatrixProjectionStereo", - description = "", - returnType = "Matrix", - params = { - {type = "int", name = "eye"} - } - }, - { - name = "rlGetMatrixViewOffsetStereo", - description = "", - returnType = "Matrix", - params = { - {type = "int", name = "eye"} - } } } } diff --git a/tools/autocomplete/genapi.sh b/tools/autocomplete/genapi.sh index 73b45e2..fbdfd51 100755 --- a/tools/autocomplete/genapi.sh +++ b/tools/autocomplete/genapi.sh @@ -1,8 +1,8 @@ #!/bin/sh root=../.. -parser=${root}/raylib/parser/raylib_parser +parser=${root}/raylib/tools/rlparser/rlparser $parser -i $root/raylib/src/raylib.h -o api/raylib_api.lua -d RLAPI -f LUA +$parser -i $root/raylib/src/rlgl.h -o api/rlgl_api.lua -d RLAPI -f LUA -t "RLGL IMPLEMENTATION" $parser -i $root/raylib/src/rcamera.h -o api/rcamera_api.lua -d RLAPI -f LUA $parser -i $root/raygui/src/raygui.h -o api/raygui_api.lua -d RAYGUIAPI -f LUA -$parser -i $root/physac/src/physac.h -o api/physac_api.lua -d PHYSACDEF -f LUA \ No newline at end of file diff --git a/tools/autocomplete/generator.lua b/tools/autocomplete/generator.lua index 11ba614..e448b76 100644 --- a/tools/autocomplete/generator.lua +++ b/tools/autocomplete/generator.lua @@ -9,10 +9,27 @@ for line in io.lines "prelude.lua" do print(line) end -local ffi_type_list = {} - -for i=1,#arg do - local content = loadfile(arg[i])() +local ffi_type_list = {} + +local function load_api(path) + local loaded = loadfile(path) + if loaded then + return loaded() + end + + local f = assert(io.open(path, "rb")) + local content = f:read("*a") + f:close() + + content = content:gsub("([%s\n]description%s*=%s*)\"(.-)\",", function (prefix, desc) + return prefix .. "[=[" .. desc .. "]=]," + end) + + return assert(loadstring(content, path))() +end + +for i=1,#arg do + local content = load_api(arg[i]) local function luaify(t) -- strings @@ -42,7 +59,7 @@ for i=1,#arg do return t end - for _,enum in ipairs(content.enums) do + for _,enum in ipairs(content.enums or {}) do print("---@alias " .. enum.name) for _,v in pairs(enum.values) do print(string.format("---| '%s'", v.name)) @@ -62,7 +79,7 @@ for i=1,#arg do end end - for _,struct in ipairs(content.structs) do + for _,struct in ipairs(content.structs or {}) do print(string.format("---@class %s%s", struct.name, (struct.description ~= "") and string.format(" @ %s", struct.description) or "")) @@ -94,7 +111,7 @@ for i=1,#arg do print(string.format("local %s = {}", struct.name)) end - for _,func in ipairs(content.functions) do + for _,func in ipairs(content.functions or {}) do if func.name ~= "" then local arraySize @@ -147,4 +164,4 @@ print "---Create a new variable of ffi type `t`" for i,t in ipairs(ffi_type_list) do print(string.format([[---@overload fun(t: '"%s"', ...): %s]], t, t)) end -print("function rl.new(...) end") \ No newline at end of file +print("function rl.new(...) end") diff --git a/tools/autocomplete/plugin.lua b/tools/autocomplete/plugin.lua index 5117023..5840de5 100644 --- a/tools/autocomplete/plugin.lua +++ b/tools/autocomplete/plugin.lua @@ -1,6532 +1,6777 @@ ----@meta [raylib-lua] ----@diagnostic disable ----raylib-lua binding -rl = {} ----Internal raylua stuff -raylua = {} ----@type string ----raylib-lua version string -raylua.version = "" ----Start a repl, and block until repl is active. -function raylua.repl() end ----@type function|nil ----@return string|nil content, string|nil error ----@param path string ----Load an internal payload file. ----Only exists in raylua_e or raylua_r -function raylua.loadfile(path) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Linear -function rl.EaseLinearNone(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Linear In -function rl.EaseLinearIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Linear Out -function rl.EaseLinearOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Linear In Out -function rl.EaseLinearInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Sine In -function rl.EaseSineIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Sine Out -function rl.EaseSineOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Sine Out -function rl.EaseSineInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Circular In -function rl.EaseCircIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Circular Out -function rl.EaseCircOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Circular In Out -function rl.EaseCircInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Cubic In -function rl.EaseCubicIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Cubic Out -function rl.EaseCubicOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Cubic In Out -function rl.EaseCubicInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Quadratic In -function rl.EaseQuadIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Quadratic Out -function rl.EaseQuadOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Quadratic In Out -function rl.EaseQuadInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Exponential In -function rl.EaseExpoIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Exponential Out -function rl.EaseExpoOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Exponential In Out -function rl.EaseExpoInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Back In -function rl.EaseBackIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Back Out -function rl.EaseBackOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Back In Out -function rl.EaseBackInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Bounce Out -function rl.EaseBounceOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Bounce In -function rl.EaseBounceIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Bounce In Out -function rl.EaseBounceInOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Elastic In -function rl.EaseElasticIn(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Elastic Out -function rl.EaseElasticOut(t,b,c,d) end ----@param t number ----@param b number ----@param c number ----@param d number ----@return number ----Ease: Elastic In Out -function rl.EaseElasticInOut(t,b,c,d) end ----@class Vector2 @ Vector2 type ----@alias Vector2_ptr Vector2 ----@alias Vector2_ptr_ptr Vector2 ----@field x number ----@field y number ----Constructed using `rl.new("Vector2", ...)` -local Vector2 = {} ----@class Matrix2x2 @ Matrix2x2 type (used for polygon shape rotation matrix) ----@alias Matrix2x2_ptr Matrix2x2 ----@alias Matrix2x2_ptr_ptr Matrix2x2 ----@field m00 number ----@field m01 number ----@field m10 number ----@field m11 number ----Constructed using `rl.new("Matrix2x2", ...)` -local Matrix2x2 = {} ----@class PhysicsVertexData ----@alias PhysicsVertexData_ptr PhysicsVertexData ----@alias PhysicsVertexData_ptr_ptr PhysicsVertexData ----@field vertexCount number # Vertex count (positions and normals) ----@field positions Vector2[PHYSAC_MAX_VERTICES] # Vertex positions vectors ----@field normals Vector2[PHYSAC_MAX_VERTICES] # Vertex normals vectors ----Constructed using `rl.new("PhysicsVertexData", ...)` -local PhysicsVertexData = {} ----@class PhysicsShape ----@alias PhysicsShape_ptr PhysicsShape ----@alias PhysicsShape_ptr_ptr PhysicsShape ----@field type PhysicsShapeType # Shape type (circle or polygon) ----@field body PhysicsBody # Shape physics body data pointer ----@field vertexData PhysicsVertexData # Shape vertices data (used for polygon shapes) ----@field radius number # Shape radius (used for circle shapes) ----@field transform Matrix2x2 # Vertices transform matrix 2x2 ----Constructed using `rl.new("PhysicsShape", ...)` -local PhysicsShape = {} ----@class PhysicsBodyData ----@alias PhysicsBodyData_ptr PhysicsBodyData ----@alias PhysicsBodyData_ptr_ptr PhysicsBodyData ----@field id number # Unique identifier ----@field enabled bool # Enabled dynamics state (collisions are calculated anyway) ----@field position Vector2 # Physics body shape pivot ----@field velocity Vector2 # Current linear velocity applied to position ----@field force Vector2 # Current linear force (reset to 0 every step) ----@field angularVelocity number # Current angular velocity applied to orient ----@field torque number # Current angular force (reset to 0 every step) ----@field orient number # Rotation in radians ----@field inertia number # Moment of inertia ----@field inverseInertia number # Inverse value of inertia ----@field mass number # Physics body mass ----@field inverseMass number # Inverse value of mass ----@field staticFriction number # Friction when the body has not movement (0 to 1) ----@field dynamicFriction number # Friction when the body has movement (0 to 1) ----@field restitution number # Restitution coefficient of the body (0 to 1) ----@field useGravity bool # Apply gravity force to dynamics ----@field isGrounded bool # Physics grounded on other body state ----@field freezeOrient bool # Physics rotation constraint ----@field shape PhysicsShape # Physics body shape information (type, radius, vertices, transform) ----Constructed using `rl.new("PhysicsBodyData", ...)` -local PhysicsBodyData = {} ----@class PhysicsManifoldData ----@alias PhysicsManifoldData_ptr PhysicsManifoldData ----@alias PhysicsManifoldData_ptr_ptr PhysicsManifoldData ----@field id number # Unique identifier ----@field bodyA PhysicsBody # Manifold first physics body reference ----@field bodyB PhysicsBody # Manifold second physics body reference ----@field penetration number # Depth of penetration from collision ----@field normal Vector2 # Normal direction vector from 'a' to 'b' ----@field contacts Vector2[2] # Points of contact during collision ----@field contactsCount number # Current collision number of contacts ----@field restitution number # Mixed restitution during collision ----@field dynamicFriction number # Mixed dynamic friction during collision ----@field staticFriction number # Mixed static friction during collision ----Constructed using `rl.new("PhysicsManifoldData", ...)` -local PhysicsManifoldData = {} ----Initializes physics system -function rl.InitPhysics() end ----Update physics system -function rl.UpdatePhysics() end ----Reset physics system (global variables) -function rl.ResetPhysics() end ----Close physics system and unload used memory -function rl.ClosePhysics() end ----@param delta number ----Sets physics fixed time step in milliseconds. 1.666666 by default -function rl.SetPhysicsTimeStep(delta) end ----@param x number ----@param y number ----Sets physics global gravity force -function rl.SetPhysicsGravity(x,y) end ----@param pos Vector2 ----@param radius number ----@param density number ----@return PhysicsBody ----Creates a new circle physics body with generic parameters -function rl.CreatePhysicsBodyCircle(pos,radius,density) end ----@param pos Vector2 ----@param width number ----@param height number ----@param density number ----@return PhysicsBody ----Creates a new rectangle physics body with generic parameters -function rl.CreatePhysicsBodyRectangle(pos,width,height,density) end ----@param pos Vector2 ----@param radius number ----@param sides number ----@param density number ----@return PhysicsBody ----Creates a new polygon physics body with generic parameters -function rl.CreatePhysicsBodyPolygon(pos,radius,sides,density) end ----@param body PhysicsBody ----Destroy a physics body -function rl.DestroyPhysicsBody(body) end ----@param body PhysicsBody ----@param force Vector2 ----Adds a force to a physics body -function rl.PhysicsAddForce(body,force) end ----@param body PhysicsBody ----@param amount number ----Adds an angular force to a physics body -function rl.PhysicsAddTorque(body,amount) end ----@param body PhysicsBody ----@param position Vector2 ----@param force number ----Shatters a polygon shape physics body to little physics bodies with explosion force -function rl.PhysicsShatter(body,position,force) end ----@param body PhysicsBody ----@param radians number ----Sets physics body shape transform based on radians parameter -function rl.SetPhysicsBodyRotation(body,radians) end ----@param index number ----@return PhysicsBody ----Returns a physics body of the bodies pool at a specific index -function rl.GetPhysicsBody(index) end ----@return number ----Returns the current amount of created physics bodies -function rl.GetPhysicsBodiesCount() end ----@param index number ----@return number ----Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON) -function rl.GetPhysicsShapeType(index) end ----@param index number ----@return number ----Returns the amount of vertices of a physics body shape -function rl.GetPhysicsShapeVerticesCount(index) end ----@param body PhysicsBody ----@param vertex number ----@return Vector2 ----Returns transformed position of a body shape (body position + vertex transformed position) -function rl.GetPhysicsShapeVertex(body,vertex) end ----@alias GuiState ----| 'STATE_NORMAL' ----| 'STATE_FOCUSED' ----| 'STATE_PRESSED' ----| 'STATE_DISABLED' ----Gui control state - -rl.STATE_NORMAL = 0 -rl.STATE_FOCUSED = 1 -rl.STATE_PRESSED = 2 -rl.STATE_DISABLED = 3 ----@alias GuiTextAlignment ----| 'TEXT_ALIGN_LEFT' ----| 'TEXT_ALIGN_CENTER' ----| 'TEXT_ALIGN_RIGHT' ----Gui control text alignment - -rl.TEXT_ALIGN_LEFT = 0 -rl.TEXT_ALIGN_CENTER = 1 -rl.TEXT_ALIGN_RIGHT = 2 ----@alias GuiTextAlignmentVertical ----| 'TEXT_ALIGN_TOP' ----| 'TEXT_ALIGN_MIDDLE' ----| 'TEXT_ALIGN_BOTTOM' ----Gui control text alignment vertical - -rl.TEXT_ALIGN_TOP = 0 -rl.TEXT_ALIGN_MIDDLE = 1 -rl.TEXT_ALIGN_BOTTOM = 2 ----@alias GuiTextWrapMode ----| 'TEXT_WRAP_NONE' ----| 'TEXT_WRAP_CHAR' ----| 'TEXT_WRAP_WORD' ----Gui control text wrap mode - -rl.TEXT_WRAP_NONE = 0 -rl.TEXT_WRAP_CHAR = 1 -rl.TEXT_WRAP_WORD = 2 ----@alias GuiControl ----| 'DEFAULT' ----| 'LABEL' ----| 'BUTTON' ----| 'TOGGLE' ----| 'SLIDER' ----| 'PROGRESSBAR' ----| 'CHECKBOX' ----| 'COMBOBOX' ----| 'DROPDOWNBOX' ----| 'TEXTBOX' ----| 'VALUEBOX' ----| 'SPINNER' ----| 'LISTVIEW' ----| 'COLORPICKER' ----| 'SCROLLBAR' ----| 'STATUSBAR' ----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, TOGGLESLIDER -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 ----@alias GuiControlProperty ----| 'BORDER_COLOR_NORMAL' ----| 'BASE_COLOR_NORMAL' ----| 'TEXT_COLOR_NORMAL' ----| 'BORDER_COLOR_FOCUSED' ----| 'BASE_COLOR_FOCUSED' ----| 'TEXT_COLOR_FOCUSED' ----| 'BORDER_COLOR_PRESSED' ----| 'BASE_COLOR_PRESSED' ----| 'TEXT_COLOR_PRESSED' ----| 'BORDER_COLOR_DISABLED' ----| 'BASE_COLOR_DISABLED' ----| 'TEXT_COLOR_DISABLED' ----| 'BORDER_WIDTH' ----| 'TEXT_PADDING' ----| 'TEXT_ALIGNMENT' ----Gui base properties for every control - ----Control border color in STATE_NORMAL -rl.BORDER_COLOR_NORMAL = 0 ----Control base color in STATE_NORMAL -rl.BASE_COLOR_NORMAL = 1 ----Control text color in STATE_NORMAL -rl.TEXT_COLOR_NORMAL = 2 ----Control border color in STATE_FOCUSED -rl.BORDER_COLOR_FOCUSED = 3 ----Control base color in STATE_FOCUSED -rl.BASE_COLOR_FOCUSED = 4 ----Control text color in STATE_FOCUSED -rl.TEXT_COLOR_FOCUSED = 5 ----Control border color in STATE_PRESSED -rl.BORDER_COLOR_PRESSED = 6 ----Control base color in STATE_PRESSED -rl.BASE_COLOR_PRESSED = 7 ----Control text color in STATE_PRESSED -rl.TEXT_COLOR_PRESSED = 8 ----Control border color in STATE_DISABLED -rl.BORDER_COLOR_DISABLED = 9 ----Control base color in STATE_DISABLED -rl.BASE_COLOR_DISABLED = 10 ----Control text color in STATE_DISABLED -rl.TEXT_COLOR_DISABLED = 11 ----Control border size, 0 for no border -rl.BORDER_WIDTH = 12 ----Control text padding, not considering border -rl.TEXT_PADDING = 13 ----Control text horizontal alignment inside control text bound (after border and padding) -rl.TEXT_ALIGNMENT = 14 ----@alias GuiDefaultProperty ----| 'TEXT_SIZE' ----| 'TEXT_SPACING' ----| 'LINE_COLOR' ----| 'BACKGROUND_COLOR' ----| 'TEXT_LINE_SPACING' ----| 'TEXT_ALIGNMENT_VERTICAL' ----| 'TEXT_WRAP_MODE' ----DEFAULT extended properties - ----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 ----@alias GuiToggleProperty ----| 'GROUP_PADDING' ----Toggle/ToggleGroup - ----ToggleGroup separation between toggles -rl.GROUP_PADDING = 16 ----@alias GuiSliderProperty ----| 'SLIDER_WIDTH' ----| 'SLIDER_PADDING' ----Slider/SliderBar - ----Slider size of internal bar -rl.SLIDER_WIDTH = 16 ----Slider/SliderBar internal bar padding -rl.SLIDER_PADDING = 17 ----@alias GuiProgressBarProperty ----| 'PROGRESS_PADDING' ----ProgressBar - ----ProgressBar internal padding -rl.PROGRESS_PADDING = 16 ----@alias GuiScrollBarProperty ----| 'ARROWS_SIZE' ----| 'ARROWS_VISIBLE' ----| 'SCROLL_SLIDER_PADDING' ----| 'SCROLL_SLIDER_SIZE' ----| 'SCROLL_PADDING' ----| 'SCROLL_SPEED' ----ScrollBar - ----ScrollBar arrows size -rl.ARROWS_SIZE = 16 ----ScrollBar arrows visible -rl.ARROWS_VISIBLE = 17 ----ScrollBar slider internal padding -rl.SCROLL_SLIDER_PADDING = 18 ----ScrollBar slider size -rl.SCROLL_SLIDER_SIZE = 19 ----ScrollBar scroll padding from arrows -rl.SCROLL_PADDING = 20 ----ScrollBar scrolling speed -rl.SCROLL_SPEED = 21 ----@alias GuiCheckBoxProperty ----| 'CHECK_PADDING' ----CheckBox - ----CheckBox internal check padding -rl.CHECK_PADDING = 16 ----@alias GuiComboBoxProperty ----| 'COMBO_BUTTON_WIDTH' ----| 'COMBO_BUTTON_SPACING' ----ComboBox - ----ComboBox right button width -rl.COMBO_BUTTON_WIDTH = 16 ----ComboBox button separation -rl.COMBO_BUTTON_SPACING = 17 ----@alias GuiDropdownBoxProperty ----| 'ARROW_PADDING' ----| 'DROPDOWN_ITEMS_SPACING' ----DropdownBox - ----DropdownBox arrow separation from border and items -rl.ARROW_PADDING = 16 ----DropdownBox items separation -rl.DROPDOWN_ITEMS_SPACING = 17 ----@alias GuiTextBoxProperty ----| 'TEXT_READONLY' ----TextBox/TextBoxMulti/ValueBox/Spinner - ----TextBox in read-only mode: 0-text editable, 1-text no-editable -rl.TEXT_READONLY = 16 ----@alias GuiSpinnerProperty ----| 'SPIN_BUTTON_WIDTH' ----| 'SPIN_BUTTON_SPACING' ----Spinner - ----Spinner left/right buttons width -rl.SPIN_BUTTON_WIDTH = 16 ----Spinner buttons separation -rl.SPIN_BUTTON_SPACING = 17 ----@alias GuiListViewProperty ----| 'LIST_ITEMS_HEIGHT' ----| 'LIST_ITEMS_SPACING' ----| 'SCROLLBAR_WIDTH' ----| 'SCROLLBAR_SIDE' ----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-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE) -rl.SCROLLBAR_SIDE = 19 ----@alias GuiColorPickerProperty ----| 'COLOR_SELECTOR_SIZE' ----| 'HUEBAR_WIDTH' ----| 'HUEBAR_PADDING' ----| 'HUEBAR_SELECTOR_HEIGHT' ----| 'HUEBAR_SELECTOR_OVERFLOW' ----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 ----@alias GuiIconName ----| 'ICON_NONE' ----| 'ICON_FOLDER_FILE_OPEN' ----| 'ICON_FILE_SAVE_CLASSIC' ----| 'ICON_FOLDER_OPEN' ----| 'ICON_FOLDER_SAVE' ----| 'ICON_FILE_OPEN' ----| 'ICON_FILE_SAVE' ----| 'ICON_FILE_EXPORT' ----| 'ICON_FILE_ADD' ----| 'ICON_FILE_DELETE' ----| 'ICON_FILETYPE_TEXT' ----| 'ICON_FILETYPE_AUDIO' ----| 'ICON_FILETYPE_IMAGE' ----| 'ICON_FILETYPE_PLAY' ----| 'ICON_FILETYPE_VIDEO' ----| 'ICON_FILETYPE_INFO' ----| 'ICON_FILE_COPY' ----| 'ICON_FILE_CUT' ----| 'ICON_FILE_PASTE' ----| 'ICON_CURSOR_HAND' ----| 'ICON_CURSOR_POINTER' ----| 'ICON_CURSOR_CLASSIC' ----| 'ICON_PENCIL' ----| 'ICON_PENCIL_BIG' ----| 'ICON_BRUSH_CLASSIC' ----| 'ICON_BRUSH_PAINTER' ----| 'ICON_WATER_DROP' ----| 'ICON_COLOR_PICKER' ----| 'ICON_RUBBER' ----| 'ICON_COLOR_BUCKET' ----| 'ICON_TEXT_T' ----| 'ICON_TEXT_A' ----| 'ICON_SCALE' ----| 'ICON_RESIZE' ----| 'ICON_FILTER_POINT' ----| 'ICON_FILTER_BILINEAR' ----| 'ICON_CROP' ----| 'ICON_CROP_ALPHA' ----| 'ICON_SQUARE_TOGGLE' ----| 'ICON_SYMMETRY' ----| 'ICON_SYMMETRY_HORIZONTAL' ----| 'ICON_SYMMETRY_VERTICAL' ----| 'ICON_LENS' ----| 'ICON_LENS_BIG' ----| 'ICON_EYE_ON' ----| 'ICON_EYE_OFF' ----| 'ICON_FILTER_TOP' ----| 'ICON_FILTER' ----| 'ICON_TARGET_POINT' ----| 'ICON_TARGET_SMALL' ----| 'ICON_TARGET_BIG' ----| 'ICON_TARGET_MOVE' ----| 'ICON_CURSOR_MOVE' ----| 'ICON_CURSOR_SCALE' ----| 'ICON_CURSOR_SCALE_RIGHT' ----| 'ICON_CURSOR_SCALE_LEFT' ----| 'ICON_UNDO' ----| 'ICON_REDO' ----| 'ICON_REREDO' ----| 'ICON_MUTATE' ----| 'ICON_ROTATE' ----| 'ICON_REPEAT' ----| 'ICON_SHUFFLE' ----| 'ICON_EMPTYBOX' ----| 'ICON_TARGET' ----| 'ICON_TARGET_SMALL_FILL' ----| 'ICON_TARGET_BIG_FILL' ----| 'ICON_TARGET_MOVE_FILL' ----| 'ICON_CURSOR_MOVE_FILL' ----| 'ICON_CURSOR_SCALE_FILL' ----| 'ICON_CURSOR_SCALE_RIGHT_FILL' ----| 'ICON_CURSOR_SCALE_LEFT_FILL' ----| 'ICON_UNDO_FILL' ----| 'ICON_REDO_FILL' ----| 'ICON_REREDO_FILL' ----| 'ICON_MUTATE_FILL' ----| 'ICON_ROTATE_FILL' ----| 'ICON_REPEAT_FILL' ----| 'ICON_SHUFFLE_FILL' ----| 'ICON_EMPTYBOX_SMALL' ----| 'ICON_BOX' ----| 'ICON_BOX_TOP' ----| 'ICON_BOX_TOP_RIGHT' ----| 'ICON_BOX_RIGHT' ----| 'ICON_BOX_BOTTOM_RIGHT' ----| 'ICON_BOX_BOTTOM' ----| 'ICON_BOX_BOTTOM_LEFT' ----| 'ICON_BOX_LEFT' ----| 'ICON_BOX_TOP_LEFT' ----| 'ICON_BOX_CENTER' ----| 'ICON_BOX_CIRCLE_MASK' ----| 'ICON_POT' ----| 'ICON_ALPHA_MULTIPLY' ----| 'ICON_ALPHA_CLEAR' ----| 'ICON_DITHERING' ----| 'ICON_MIPMAPS' ----| 'ICON_BOX_GRID' ----| 'ICON_GRID' ----| 'ICON_BOX_CORNERS_SMALL' ----| 'ICON_BOX_CORNERS_BIG' ----| 'ICON_FOUR_BOXES' ----| 'ICON_GRID_FILL' ----| 'ICON_BOX_MULTISIZE' ----| 'ICON_ZOOM_SMALL' ----| 'ICON_ZOOM_MEDIUM' ----| 'ICON_ZOOM_BIG' ----| 'ICON_ZOOM_ALL' ----| 'ICON_ZOOM_CENTER' ----| 'ICON_BOX_DOTS_SMALL' ----| 'ICON_BOX_DOTS_BIG' ----| 'ICON_BOX_CONCENTRIC' ----| 'ICON_BOX_GRID_BIG' ----| 'ICON_OK_TICK' ----| 'ICON_CROSS' ----| 'ICON_ARROW_LEFT' ----| 'ICON_ARROW_RIGHT' ----| 'ICON_ARROW_DOWN' ----| 'ICON_ARROW_UP' ----| 'ICON_ARROW_LEFT_FILL' ----| 'ICON_ARROW_RIGHT_FILL' ----| 'ICON_ARROW_DOWN_FILL' ----| 'ICON_ARROW_UP_FILL' ----| 'ICON_AUDIO' ----| 'ICON_FX' ----| 'ICON_WAVE' ----| 'ICON_WAVE_SINUS' ----| 'ICON_WAVE_SQUARE' ----| 'ICON_WAVE_TRIANGULAR' ----| 'ICON_CROSS_SMALL' ----| 'ICON_PLAYER_PREVIOUS' ----| 'ICON_PLAYER_PLAY_BACK' ----| 'ICON_PLAYER_PLAY' ----| 'ICON_PLAYER_PAUSE' ----| 'ICON_PLAYER_STOP' ----| 'ICON_PLAYER_NEXT' ----| 'ICON_PLAYER_RECORD' ----| 'ICON_MAGNET' ----| 'ICON_LOCK_CLOSE' ----| 'ICON_LOCK_OPEN' ----| 'ICON_CLOCK' ----| 'ICON_TOOLS' ----| 'ICON_GEAR' ----| 'ICON_GEAR_BIG' ----| 'ICON_BIN' ----| 'ICON_HAND_POINTER' ----| 'ICON_LASER' ----| 'ICON_COIN' ----| 'ICON_EXPLOSION' ----| 'ICON_1UP' ----| 'ICON_PLAYER' ----| 'ICON_PLAYER_JUMP' ----| 'ICON_KEY' ----| 'ICON_DEMON' ----| 'ICON_TEXT_POPUP' ----| 'ICON_GEAR_EX' ----| 'ICON_CRACK' ----| 'ICON_CRACK_POINTS' ----| 'ICON_STAR' ----| 'ICON_DOOR' ----| 'ICON_EXIT' ----| 'ICON_MODE_2D' ----| 'ICON_MODE_3D' ----| 'ICON_CUBE' ----| 'ICON_CUBE_FACE_TOP' ----| 'ICON_CUBE_FACE_LEFT' ----| 'ICON_CUBE_FACE_FRONT' ----| 'ICON_CUBE_FACE_BOTTOM' ----| 'ICON_CUBE_FACE_RIGHT' ----| 'ICON_CUBE_FACE_BACK' ----| 'ICON_CAMERA' ----| 'ICON_SPECIAL' ----| 'ICON_LINK_NET' ----| 'ICON_LINK_BOXES' ----| 'ICON_LINK_MULTI' ----| 'ICON_LINK' ----| 'ICON_LINK_BROKE' ----| 'ICON_TEXT_NOTES' ----| 'ICON_NOTEBOOK' ----| 'ICON_SUITCASE' ----| 'ICON_SUITCASE_ZIP' ----| 'ICON_MAILBOX' ----| 'ICON_MONITOR' ----| 'ICON_PRINTER' ----| 'ICON_PHOTO_CAMERA' ----| 'ICON_PHOTO_CAMERA_FLASH' ----| 'ICON_HOUSE' ----| 'ICON_HEART' ----| 'ICON_CORNER' ----| 'ICON_VERTICAL_BARS' ----| 'ICON_VERTICAL_BARS_FILL' ----| 'ICON_LIFE_BARS' ----| 'ICON_INFO' ----| 'ICON_CROSSLINE' ----| 'ICON_HELP' ----| 'ICON_FILETYPE_ALPHA' ----| 'ICON_FILETYPE_HOME' ----| 'ICON_LAYERS_VISIBLE' ----| 'ICON_LAYERS' ----| 'ICON_WINDOW' ----| 'ICON_HIDPI' ----| 'ICON_FILETYPE_BINARY' ----| 'ICON_HEX' ----| 'ICON_SHIELD' ----| 'ICON_FILE_NEW' ----| 'ICON_FOLDER_ADD' ----| 'ICON_ALARM' ----| 'ICON_CPU' ----| 'ICON_ROM' ----| 'ICON_STEP_OVER' ----| 'ICON_STEP_INTO' ----| 'ICON_STEP_OUT' ----| 'ICON_RESTART' ----| 'ICON_BREAKPOINT_ON' ----| 'ICON_BREAKPOINT_OFF' ----| 'ICON_BURGER_MENU' ----| 'ICON_CASE_SENSITIVE' ----| 'ICON_REG_EXP' ----| 'ICON_FOLDER' ----| 'ICON_FILE' ----| 'ICON_SAND_TIMER' ----| 'ICON_220' ----| 'ICON_221' ----| 'ICON_222' ----| 'ICON_223' ----| 'ICON_224' ----| 'ICON_225' ----| 'ICON_226' ----| 'ICON_227' ----| 'ICON_228' ----| 'ICON_229' ----| 'ICON_230' ----| 'ICON_231' ----| 'ICON_232' ----| 'ICON_233' ----| 'ICON_234' ----| 'ICON_235' ----| 'ICON_236' ----| 'ICON_237' ----| 'ICON_238' ----| 'ICON_239' ----| 'ICON_240' ----| 'ICON_241' ----| 'ICON_242' ----| 'ICON_243' ----| 'ICON_244' ----| 'ICON_245' ----| 'ICON_246' ----| 'ICON_247' ----| 'ICON_248' ----| 'ICON_249' ----| 'ICON_250' ----| 'ICON_251' ----| 'ICON_252' ----| 'ICON_253' ----| 'ICON_254' ----| 'ICON_255' - -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 -rl.ICON_220 = 220 -rl.ICON_221 = 221 -rl.ICON_222 = 222 -rl.ICON_223 = 223 -rl.ICON_224 = 224 -rl.ICON_225 = 225 -rl.ICON_226 = 226 -rl.ICON_227 = 227 -rl.ICON_228 = 228 -rl.ICON_229 = 229 -rl.ICON_230 = 230 -rl.ICON_231 = 231 -rl.ICON_232 = 232 -rl.ICON_233 = 233 -rl.ICON_234 = 234 -rl.ICON_235 = 235 -rl.ICON_236 = 236 -rl.ICON_237 = 237 -rl.ICON_238 = 238 -rl.ICON_239 = 239 -rl.ICON_240 = 240 -rl.ICON_241 = 241 -rl.ICON_242 = 242 -rl.ICON_243 = 243 -rl.ICON_244 = 244 -rl.ICON_245 = 245 -rl.ICON_246 = 246 -rl.ICON_247 = 247 -rl.ICON_248 = 248 -rl.ICON_249 = 249 -rl.ICON_250 = 250 -rl.ICON_251 = 251 -rl.ICON_252 = 252 -rl.ICON_253 = 253 -rl.ICON_254 = 254 -rl.ICON_255 = 255 ----@class Vector2 @ Vector2 type ----@alias Vector2_ptr Vector2 ----@alias Vector2_ptr_ptr Vector2 ----@field x number ----@field y number ----Constructed using `rl.new("Vector2", ...)` -local Vector2 = {} ----@class Vector3 @ Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV() ----@alias Vector3_ptr Vector3 ----@alias Vector3_ptr_ptr Vector3 ----@field x number ----@field y number ----@field z number ----Constructed using `rl.new("Vector3", ...)` -local Vector3 = {} ----@class Color @ Color type, RGBA (32bit) ----@alias Color_ptr Color ----@alias Color_ptr_ptr Color ----@field r number|string[] ----@field g number|string[] ----@field b number|string[] ----@field a number|string[] ----Constructed using `rl.new("Color", ...)` -local Color = {} ----@class Rectangle @ Rectangle type ----@alias Rectangle_ptr Rectangle ----@alias Rectangle_ptr_ptr Rectangle ----@field x number ----@field y number ----@field width number ----@field height number ----Constructed using `rl.new("Rectangle", ...)` -local Rectangle = {} ----@class Texture2D @ It should be redesigned to be provided by user ----@alias Texture2D_ptr Texture2D ----@alias Texture2D_ptr_ptr Texture2D ----@field id number # OpenGL texture id ----@field width number # Texture base width ----@field height number # Texture base height ----@field mipmaps number # Mipmap levels, 1 by default ----@field format number # Data format (PixelFormat type) ----Constructed using `rl.new("Texture2D", ...)` -local Texture2D = {} ----@class Image @ Image, pixel data stored in CPU memory (RAM) ----@alias Image_ptr Image ----@alias Image_ptr_ptr Image ----@field data string|lightuserdata # Image raw data ----@field width number # Image base width ----@field height number # Image base height ----@field mipmaps number # Mipmap levels, 1 by default ----@field format number # Data format (PixelFormat type) ----Constructed using `rl.new("Image", ...)` -local Image = {} ----@class GlyphInfo @ GlyphInfo, font characters glyphs info ----@alias GlyphInfo_ptr GlyphInfo ----@alias GlyphInfo_ptr_ptr GlyphInfo ----@field value number # Character value (Unicode) ----@field offsetX number # Character offset X when drawing ----@field offsetY number # Character offset Y when drawing ----@field advanceX number # Character advance position X ----@field image Image # Character image data ----Constructed using `rl.new("GlyphInfo", ...)` -local GlyphInfo = {} ----@class Font @ It should be redesigned to be provided by user ----@alias Font_ptr Font ----@alias Font_ptr_ptr Font ----@field baseSize number # Base size (default chars height) ----@field glyphCount number # Number of glyph characters ----@field glyphPadding number # Padding around the glyph characters ----@field texture Texture2D # Texture atlas containing the glyphs ----@field recs Rectangle_ptr|lightuserdata # Rectangles in texture for the glyphs ----@field glyphs GlyphInfo_ptr|lightuserdata # Glyphs info data ----Constructed using `rl.new("Font", ...)` -local Font = {} ----@class GuiStyleProp @ NOTE: Used when exporting style as code for convenience ----@alias GuiStyleProp_ptr GuiStyleProp ----@alias GuiStyleProp_ptr_ptr GuiStyleProp ----@field controlId unsigned_short # Control identifier ----@field propertyId unsigned_short # Property identifier ----@field propertyValue number # Property value ----Constructed using `rl.new("GuiStyleProp", ...)` -local GuiStyleProp = {} ----@class GuiTextStyle @ NOTE: Text style is defined by control ----@alias GuiTextStyle_ptr GuiTextStyle ----@alias GuiTextStyle_ptr_ptr GuiTextStyle ----@field size number ----@field charSpacing number ----@field lineSpacing number ----@field alignmentH number ----@field alignmentV number ----@field padding number ----Constructed using `rl.new("GuiTextStyle", ...)` -local GuiTextStyle = {} ----Enable gui controls (global state) -function rl.GuiEnable() end ----Disable gui controls (global state) -function rl.GuiDisable() end ----Lock gui controls (global state) -function rl.GuiLock() end ----Unlock gui controls (global state) -function rl.GuiUnlock() end ----@return bool ----Check if gui is locked (global state) -function rl.GuiIsLocked() end ----@param alpha number ----Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f -function rl.GuiSetAlpha(alpha) end ----@param state number ----Set gui state (global state) -function rl.GuiSetState(state) end ----@return number ----Get gui state (global state) -function rl.GuiGetState() end ----@param font Font ----Set gui custom font (global state) -function rl.GuiSetFont(font) end ----@return Font ----Get gui custom font (global state) -function rl.GuiGetFont() end ----@param control number ----@param property number ----@param value number ----Set one style property -function rl.GuiSetStyle(control,property,value) end ----@param control number ----@param property number ----@return number ----Get one style property -function rl.GuiGetStyle(control,property) end ----@param fileName string|lightuserdata ----Load style file over global style variable (.rgs) -function rl.GuiLoadStyle(fileName) end ----Load style default over global style -function rl.GuiLoadStyleDefault() end ----Enable gui tooltips (global state) -function rl.GuiEnableTooltip() end ----Disable gui tooltips (global state) -function rl.GuiDisableTooltip() end ----@param tooltip string|lightuserdata ----Set tooltip string -function rl.GuiSetTooltip(tooltip) end ----@param iconId number ----@param text string|lightuserdata ----@return string|lightuserdata ----Get text with icon id prepended (if supported) -function rl.GuiIconText(iconId,text) end ----@param scale number ----Set default icon drawing size -function rl.GuiSetIconScale(scale) end ----@return number ----Get raygui icons data pointer -function rl.GuiGetIcons() end ----@param fileName string|lightuserdata ----@param loadIconsName bool ----@return string|lightuserdata ----Load raygui icons file (.rgi) into internal icons data -function rl.GuiLoadIcons(fileName,loadIconsName) end ----@param iconId number ----@param posX number ----@param posY number ----@param pixelSize number ----@param color Color ----Draw icon using pixel size at specified position -function rl.GuiDrawIcon(iconId,posX,posY,pixelSize,color) end ----@param bounds Rectangle ----@param title string|lightuserdata ----@return number ----Window Box control, shows a window that can be closed -function rl.GuiWindowBox(bounds,title) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Group Box control with text name -function rl.GuiGroupBox(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Line separator control, could contain text -function rl.GuiLine(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Panel control, useful to group controls -function rl.GuiPanel(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param count number ----@param active number ----@return number ----Tab Bar control, returns TAB to be closed or -1 -function rl.GuiTabBar(bounds,text,count,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param content Rectangle ----@param scroll Vector2_ptr|lightuserdata ----@param view Rectangle_ptr|lightuserdata ----@return number ----Scroll Panel control -function rl.GuiScrollPanel(bounds,text,content,scroll,view) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Label control, shows text -function rl.GuiLabel(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Button control, returns true when clicked -function rl.GuiButton(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Label button control, show true when clicked -function rl.GuiLabelButton(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param active bool_ptr|lightuserdata ----@return number ----Toggle Button control, returns true when active -function rl.GuiToggle(bounds,text,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param active number ----@return number ----Toggle Group control, returns active toggle index -function rl.GuiToggleGroup(bounds,text,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param active number ----@return number ----Toggle Slider control, returns true when clicked -function rl.GuiToggleSlider(bounds,text,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param checked bool_ptr|lightuserdata ----@return number ----Check Box control, returns true when active -function rl.GuiCheckBox(bounds,text,checked) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param active number ----@return number ----Combo Box control, returns selected item index -function rl.GuiComboBox(bounds,text,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param active number ----@param editMode bool ----@return number ----Dropdown Box control, returns selected item -function rl.GuiDropdownBox(bounds,text,active,editMode) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param value number ----@param minValue number ----@param maxValue number ----@param editMode bool ----@return number ----Spinner control, returns selected value -function rl.GuiSpinner(bounds,text,value,minValue,maxValue,editMode) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param value number ----@param minValue number ----@param maxValue number ----@param editMode bool ----@return number ----Value Box control, updates input text with numbers -function rl.GuiValueBox(bounds,text,value,minValue,maxValue,editMode) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param textSize number ----@param editMode bool ----@return number ----Text Box control, updates input text -function rl.GuiTextBox(bounds,text,textSize,editMode) end ----@param bounds Rectangle ----@param textLeft string|lightuserdata ----@param textRight string|lightuserdata ----@param value number ----@param minValue number ----@param maxValue number ----@return number ----Slider control, returns selected value -function rl.GuiSlider(bounds,textLeft,textRight,value,minValue,maxValue) end ----@param bounds Rectangle ----@param textLeft string|lightuserdata ----@param textRight string|lightuserdata ----@param value number ----@param minValue number ----@param maxValue number ----@return number ----Slider Bar control, returns selected value -function rl.GuiSliderBar(bounds,textLeft,textRight,value,minValue,maxValue) end ----@param bounds Rectangle ----@param textLeft string|lightuserdata ----@param textRight string|lightuserdata ----@param value number ----@param minValue number ----@param maxValue number ----@return number ----Progress Bar control, shows current progress value -function rl.GuiProgressBar(bounds,textLeft,textRight,value,minValue,maxValue) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Status Bar control, shows info text -function rl.GuiStatusBar(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@return number ----Dummy control for placeholders -function rl.GuiDummyRec(bounds,text) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param spacing number ----@param subdivs number ----@param mouseCell Vector2_ptr|lightuserdata ----@return number ----Grid control, returns mouse cell position -function rl.GuiGrid(bounds,text,spacing,subdivs,mouseCell) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param scrollIndex number ----@param active number ----@return number ----List View control, returns selected list item index -function rl.GuiListView(bounds,text,scrollIndex,active) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param count number ----@param scrollIndex number ----@param active number ----@param focus number ----@return number ----List View with extended parameters -function rl.GuiListViewEx(bounds,text,count,scrollIndex,active,focus) end ----@param bounds Rectangle ----@param title string|lightuserdata ----@param message string|lightuserdata ----@param buttons string|lightuserdata ----@return number ----Message Box control, displays a message -function rl.GuiMessageBox(bounds,title,message,buttons) end ----@param bounds Rectangle ----@param title string|lightuserdata ----@param message string|lightuserdata ----@param buttons string|lightuserdata ----@param text string|lightuserdata ----@param textMaxSize number ----@param secretViewActive bool_ptr|lightuserdata ----@return number ----Text Input Box control, ask for text, supports secret -function rl.GuiTextInputBox(bounds,title,message,buttons,text,textMaxSize,secretViewActive) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param color Color_ptr|lightuserdata ----@return number ----Color Picker control (multiple color controls) -function rl.GuiColorPicker(bounds,text,color) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param color Color_ptr|lightuserdata ----@return number ----Color Panel control -function rl.GuiColorPanel(bounds,text,color) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param alpha number ----@return number ----Color Bar Alpha control -function rl.GuiColorBarAlpha(bounds,text,alpha) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param value number ----@return number ----Color Bar Hue control -function rl.GuiColorBarHue(bounds,text,value) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param colorHsv Vector3_ptr|lightuserdata ----@return number ----Color Picker control that avoids conversion to RGB on each call (multiple color controls) -function rl.GuiColorPickerHSV(bounds,text,colorHsv) end ----@param bounds Rectangle ----@param text string|lightuserdata ----@param colorHsv Vector3_ptr|lightuserdata ----@return number ----Color Panel control that returns HSV color value, used by GuiColorPickerHSV() -function rl.GuiColorPanelHSV(bounds,text,colorHsv) end ----@alias ConfigFlags ----| 'FLAG_VSYNC_HINT' ----| 'FLAG_FULLSCREEN_MODE' ----| 'FLAG_WINDOW_RESIZABLE' ----| 'FLAG_WINDOW_UNDECORATED' ----| 'FLAG_WINDOW_HIDDEN' ----| 'FLAG_WINDOW_MINIMIZED' ----| 'FLAG_WINDOW_MAXIMIZED' ----| 'FLAG_WINDOW_UNFOCUSED' ----| 'FLAG_WINDOW_TOPMOST' ----| 'FLAG_WINDOW_ALWAYS_RUN' ----| 'FLAG_WINDOW_TRANSPARENT' ----| 'FLAG_WINDOW_HIGHDPI' ----| 'FLAG_WINDOW_MOUSE_PASSTHROUGH' ----| 'FLAG_BORDERLESS_WINDOWED_MODE' ----| 'FLAG_MSAA_4X_HINT' ----| 'FLAG_INTERLACED_HINT' ----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 run program in borderless windowed mode -rl.FLAG_BORDERLESS_WINDOWED_MODE = 32768 ----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 ----@alias TraceLogLevel ----| 'LOG_ALL' ----| 'LOG_TRACE' ----| 'LOG_DEBUG' ----| 'LOG_INFO' ----| 'LOG_WARNING' ----| 'LOG_ERROR' ----| 'LOG_FATAL' ----| 'LOG_NONE' ----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 ----@alias KeyboardKey ----| 'KEY_NULL' ----| 'KEY_APOSTROPHE' ----| 'KEY_COMMA' ----| 'KEY_MINUS' ----| 'KEY_PERIOD' ----| 'KEY_SLASH' ----| 'KEY_ZERO' ----| 'KEY_ONE' ----| 'KEY_TWO' ----| 'KEY_THREE' ----| 'KEY_FOUR' ----| 'KEY_FIVE' ----| 'KEY_SIX' ----| 'KEY_SEVEN' ----| 'KEY_EIGHT' ----| 'KEY_NINE' ----| 'KEY_SEMICOLON' ----| 'KEY_EQUAL' ----| 'KEY_A' ----| 'KEY_B' ----| 'KEY_C' ----| 'KEY_D' ----| 'KEY_E' ----| 'KEY_F' ----| 'KEY_G' ----| 'KEY_H' ----| 'KEY_I' ----| 'KEY_J' ----| 'KEY_K' ----| 'KEY_L' ----| 'KEY_M' ----| 'KEY_N' ----| 'KEY_O' ----| 'KEY_P' ----| 'KEY_Q' ----| 'KEY_R' ----| 'KEY_S' ----| 'KEY_T' ----| 'KEY_U' ----| 'KEY_V' ----| 'KEY_W' ----| 'KEY_X' ----| 'KEY_Y' ----| 'KEY_Z' ----| 'KEY_LEFT_BRACKET' ----| 'KEY_BACKSLASH' ----| 'KEY_RIGHT_BRACKET' ----| 'KEY_GRAVE' ----| 'KEY_SPACE' ----| 'KEY_ESCAPE' ----| 'KEY_ENTER' ----| 'KEY_TAB' ----| 'KEY_BACKSPACE' ----| 'KEY_INSERT' ----| 'KEY_DELETE' ----| 'KEY_RIGHT' ----| 'KEY_LEFT' ----| 'KEY_DOWN' ----| 'KEY_UP' ----| 'KEY_PAGE_UP' ----| 'KEY_PAGE_DOWN' ----| 'KEY_HOME' ----| 'KEY_END' ----| 'KEY_CAPS_LOCK' ----| 'KEY_SCROLL_LOCK' ----| 'KEY_NUM_LOCK' ----| 'KEY_PRINT_SCREEN' ----| 'KEY_PAUSE' ----| 'KEY_F1' ----| 'KEY_F2' ----| 'KEY_F3' ----| 'KEY_F4' ----| 'KEY_F5' ----| 'KEY_F6' ----| 'KEY_F7' ----| 'KEY_F8' ----| 'KEY_F9' ----| 'KEY_F10' ----| 'KEY_F11' ----| 'KEY_F12' ----| 'KEY_LEFT_SHIFT' ----| 'KEY_LEFT_CONTROL' ----| 'KEY_LEFT_ALT' ----| 'KEY_LEFT_SUPER' ----| 'KEY_RIGHT_SHIFT' ----| 'KEY_RIGHT_CONTROL' ----| 'KEY_RIGHT_ALT' ----| 'KEY_RIGHT_SUPER' ----| 'KEY_KB_MENU' ----| 'KEY_KP_0' ----| 'KEY_KP_1' ----| 'KEY_KP_2' ----| 'KEY_KP_3' ----| 'KEY_KP_4' ----| 'KEY_KP_5' ----| 'KEY_KP_6' ----| 'KEY_KP_7' ----| 'KEY_KP_8' ----| 'KEY_KP_9' ----| 'KEY_KP_DECIMAL' ----| 'KEY_KP_DIVIDE' ----| 'KEY_KP_MULTIPLY' ----| 'KEY_KP_SUBTRACT' ----| 'KEY_KP_ADD' ----| 'KEY_KP_ENTER' ----| 'KEY_KP_EQUAL' ----| 'KEY_BACK' ----| 'KEY_MENU' ----| 'KEY_VOLUME_UP' ----| 'KEY_VOLUME_DOWN' ----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 = 82 ----Key: Android volume up button -rl.KEY_VOLUME_UP = 24 ----Key: Android volume down button -rl.KEY_VOLUME_DOWN = 25 ----@alias MouseButton ----| 'MOUSE_BUTTON_LEFT' ----| 'MOUSE_BUTTON_RIGHT' ----| 'MOUSE_BUTTON_MIDDLE' ----| 'MOUSE_BUTTON_SIDE' ----| 'MOUSE_BUTTON_EXTRA' ----| 'MOUSE_BUTTON_FORWARD' ----| 'MOUSE_BUTTON_BACK' ----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 ----@alias MouseCursor ----| 'MOUSE_CURSOR_DEFAULT' ----| 'MOUSE_CURSOR_ARROW' ----| 'MOUSE_CURSOR_IBEAM' ----| 'MOUSE_CURSOR_CROSSHAIR' ----| 'MOUSE_CURSOR_POINTING_HAND' ----| 'MOUSE_CURSOR_RESIZE_EW' ----| 'MOUSE_CURSOR_RESIZE_NS' ----| 'MOUSE_CURSOR_RESIZE_NWSE' ----| 'MOUSE_CURSOR_RESIZE_NESW' ----| 'MOUSE_CURSOR_RESIZE_ALL' ----| 'MOUSE_CURSOR_NOT_ALLOWED' ----Mouse cursor - ----Default 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 ----@alias GamepadButton ----| 'GAMEPAD_BUTTON_UNKNOWN' ----| 'GAMEPAD_BUTTON_LEFT_FACE_UP' ----| 'GAMEPAD_BUTTON_LEFT_FACE_RIGHT' ----| 'GAMEPAD_BUTTON_LEFT_FACE_DOWN' ----| 'GAMEPAD_BUTTON_LEFT_FACE_LEFT' ----| 'GAMEPAD_BUTTON_RIGHT_FACE_UP' ----| 'GAMEPAD_BUTTON_RIGHT_FACE_RIGHT' ----| 'GAMEPAD_BUTTON_RIGHT_FACE_DOWN' ----| 'GAMEPAD_BUTTON_RIGHT_FACE_LEFT' ----| 'GAMEPAD_BUTTON_LEFT_TRIGGER_1' ----| 'GAMEPAD_BUTTON_LEFT_TRIGGER_2' ----| 'GAMEPAD_BUTTON_RIGHT_TRIGGER_1' ----| 'GAMEPAD_BUTTON_RIGHT_TRIGGER_2' ----| 'GAMEPAD_BUTTON_MIDDLE_LEFT' ----| 'GAMEPAD_BUTTON_MIDDLE' ----| 'GAMEPAD_BUTTON_MIDDLE_RIGHT' ----| 'GAMEPAD_BUTTON_LEFT_THUMB' ----| 'GAMEPAD_BUTTON_RIGHT_THUMB' ----Gamepad 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 ----@alias GamepadAxis ----| 'GAMEPAD_AXIS_LEFT_X' ----| 'GAMEPAD_AXIS_LEFT_Y' ----| 'GAMEPAD_AXIS_RIGHT_X' ----| 'GAMEPAD_AXIS_RIGHT_Y' ----| 'GAMEPAD_AXIS_LEFT_TRIGGER' ----| 'GAMEPAD_AXIS_RIGHT_TRIGGER' ----Gamepad axis - ----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 ----@alias MaterialMapIndex ----| 'MATERIAL_MAP_ALBEDO' ----| 'MATERIAL_MAP_METALNESS' ----| 'MATERIAL_MAP_NORMAL' ----| 'MATERIAL_MAP_ROUGHNESS' ----| 'MATERIAL_MAP_OCCLUSION' ----| 'MATERIAL_MAP_EMISSION' ----| 'MATERIAL_MAP_HEIGHT' ----| 'MATERIAL_MAP_CUBEMAP' ----| 'MATERIAL_MAP_IRRADIANCE' ----| 'MATERIAL_MAP_PREFILTER' ----| 'MATERIAL_MAP_BRDF' ----Material map 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 ----@alias ShaderLocationIndex ----| 'SHADER_LOC_VERTEX_POSITION' ----| 'SHADER_LOC_VERTEX_TEXCOORD01' ----| 'SHADER_LOC_VERTEX_TEXCOORD02' ----| 'SHADER_LOC_VERTEX_NORMAL' ----| 'SHADER_LOC_VERTEX_TANGENT' ----| 'SHADER_LOC_VERTEX_COLOR' ----| 'SHADER_LOC_MATRIX_MVP' ----| 'SHADER_LOC_MATRIX_VIEW' ----| 'SHADER_LOC_MATRIX_PROJECTION' ----| 'SHADER_LOC_MATRIX_MODEL' ----| 'SHADER_LOC_MATRIX_NORMAL' ----| 'SHADER_LOC_VECTOR_VIEW' ----| 'SHADER_LOC_COLOR_DIFFUSE' ----| 'SHADER_LOC_COLOR_SPECULAR' ----| 'SHADER_LOC_COLOR_AMBIENT' ----| 'SHADER_LOC_MAP_ALBEDO' ----| 'SHADER_LOC_MAP_METALNESS' ----| 'SHADER_LOC_MAP_NORMAL' ----| 'SHADER_LOC_MAP_ROUGHNESS' ----| 'SHADER_LOC_MAP_OCCLUSION' ----| 'SHADER_LOC_MAP_EMISSION' ----| 'SHADER_LOC_MAP_HEIGHT' ----| 'SHADER_LOC_MAP_CUBEMAP' ----| 'SHADER_LOC_MAP_IRRADIANCE' ----| 'SHADER_LOC_MAP_PREFILTER' ----| 'SHADER_LOC_MAP_BRDF' ----Shader 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 ----@alias ShaderUniformDataType ----| 'SHADER_UNIFORM_FLOAT' ----| 'SHADER_UNIFORM_VEC2' ----| 'SHADER_UNIFORM_VEC3' ----| 'SHADER_UNIFORM_VEC4' ----| 'SHADER_UNIFORM_INT' ----| 'SHADER_UNIFORM_IVEC2' ----| 'SHADER_UNIFORM_IVEC3' ----| 'SHADER_UNIFORM_IVEC4' ----| 'SHADER_UNIFORM_SAMPLER2D' ----Shader uniform 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 ----@alias ShaderAttributeDataType ----| 'SHADER_ATTRIB_FLOAT' ----| 'SHADER_ATTRIB_VEC2' ----| 'SHADER_ATTRIB_VEC3' ----| 'SHADER_ATTRIB_VEC4' ----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 ----@alias PixelFormat ----| 'PIXELFORMAT_UNCOMPRESSED_GRAYSCALE' ----| 'PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA' ----| 'PIXELFORMAT_UNCOMPRESSED_R5G6B5' ----| 'PIXELFORMAT_UNCOMPRESSED_R8G8B8' ----| 'PIXELFORMAT_UNCOMPRESSED_R5G5B5A1' ----| 'PIXELFORMAT_UNCOMPRESSED_R4G4B4A4' ----| 'PIXELFORMAT_UNCOMPRESSED_R8G8B8A8' ----| 'PIXELFORMAT_UNCOMPRESSED_R32' ----| 'PIXELFORMAT_UNCOMPRESSED_R32G32B32' ----| 'PIXELFORMAT_UNCOMPRESSED_R32G32B32A32' ----| 'PIXELFORMAT_UNCOMPRESSED_R16' ----| 'PIXELFORMAT_UNCOMPRESSED_R16G16B16' ----| 'PIXELFORMAT_UNCOMPRESSED_R16G16B16A16' ----| 'PIXELFORMAT_COMPRESSED_DXT1_RGB' ----| 'PIXELFORMAT_COMPRESSED_DXT1_RGBA' ----| 'PIXELFORMAT_COMPRESSED_DXT3_RGBA' ----| 'PIXELFORMAT_COMPRESSED_DXT5_RGBA' ----| 'PIXELFORMAT_COMPRESSED_ETC1_RGB' ----| 'PIXELFORMAT_COMPRESSED_ETC2_RGB' ----| 'PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA' ----| 'PIXELFORMAT_COMPRESSED_PVRT_RGB' ----| 'PIXELFORMAT_COMPRESSED_PVRT_RGBA' ----| 'PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA' ----| 'PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA' ----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 ----16 bpp (1 channel - half float) -rl.PIXELFORMAT_UNCOMPRESSED_R16 = 11 ----16*3 bpp (3 channels - half float) -rl.PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 ----16*4 bpp (4 channels - half float) -rl.PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 ----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 ----@alias TextureFilter ----| 'TEXTURE_FILTER_POINT' ----| 'TEXTURE_FILTER_BILINEAR' ----| 'TEXTURE_FILTER_TRILINEAR' ----| 'TEXTURE_FILTER_ANISOTROPIC_4X' ----| 'TEXTURE_FILTER_ANISOTROPIC_8X' ----| 'TEXTURE_FILTER_ANISOTROPIC_16X' ----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 ----@alias TextureWrap ----| 'TEXTURE_WRAP_REPEAT' ----| 'TEXTURE_WRAP_CLAMP' ----| 'TEXTURE_WRAP_MIRROR_REPEAT' ----| 'TEXTURE_WRAP_MIRROR_CLAMP' ----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 ----@alias CubemapLayout ----| 'CUBEMAP_LAYOUT_AUTO_DETECT' ----| 'CUBEMAP_LAYOUT_LINE_VERTICAL' ----| 'CUBEMAP_LAYOUT_LINE_HORIZONTAL' ----| 'CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR' ----| 'CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE' ----| 'CUBEMAP_LAYOUT_PANORAMA' ----Cubemap 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 ----Layout is defined by a panorama image (equirrectangular map) -rl.CUBEMAP_LAYOUT_PANORAMA = 5 ----@alias FontType ----| 'FONT_DEFAULT' ----| 'FONT_BITMAP' ----| 'FONT_SDF' ----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 ----@alias BlendMode ----| 'BLEND_ALPHA' ----| 'BLEND_ADDITIVE' ----| 'BLEND_MULTIPLIED' ----| 'BLEND_ADD_COLORS' ----| 'BLEND_SUBTRACT_COLORS' ----| 'BLEND_ALPHA_PREMULTIPLY' ----| 'BLEND_CUSTOM' ----| 'BLEND_CUSTOM_SEPARATE' ----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 ----@alias Gesture ----| 'GESTURE_NONE' ----| 'GESTURE_TAP' ----| 'GESTURE_DOUBLETAP' ----| 'GESTURE_HOLD' ----| 'GESTURE_DRAG' ----| 'GESTURE_SWIPE_RIGHT' ----| 'GESTURE_SWIPE_LEFT' ----| 'GESTURE_SWIPE_UP' ----| 'GESTURE_SWIPE_DOWN' ----| 'GESTURE_PINCH_IN' ----| 'GESTURE_PINCH_OUT' ----Gesture - ----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 ----@alias CameraMode ----| 'CAMERA_CUSTOM' ----| 'CAMERA_FREE' ----| 'CAMERA_ORBITAL' ----| 'CAMERA_FIRST_PERSON' ----| 'CAMERA_THIRD_PERSON' ----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 ----@alias CameraProjection ----| 'CAMERA_PERSPECTIVE' ----| 'CAMERA_ORTHOGRAPHIC' ----Camera projection - ----Perspective projection -rl.CAMERA_PERSPECTIVE = 0 ----Orthographic projection -rl.CAMERA_ORTHOGRAPHIC = 1 ----@alias NPatchLayout ----| 'NPATCH_NINE_PATCH' ----| 'NPATCH_THREE_PATCH_VERTICAL' ----| 'NPATCH_THREE_PATCH_HORIZONTAL' ----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 ----@class Vector2 @ Vector2, 2 components ----@alias Vector2_ptr Vector2 ----@alias Vector2_ptr_ptr Vector2 ----@field x number # Vector x component ----@field y number # Vector y component ----Constructed using `rl.new("Vector2", ...)` -local Vector2 = {} ----@class Vector3 @ Vector3, 3 components ----@alias Vector3_ptr Vector3 ----@alias Vector3_ptr_ptr Vector3 ----@field x number # Vector x component ----@field y number # Vector y component ----@field z number # Vector z component ----Constructed using `rl.new("Vector3", ...)` -local Vector3 = {} ----@class Vector4 @ Vector4, 4 components ----@alias Vector4_ptr Vector4 ----@alias Vector4_ptr_ptr Vector4 ----@field x number # Vector x component ----@field y number # Vector y component ----@field z number # Vector z component ----@field w number # Vector w component ----Constructed using `rl.new("Vector4", ...)` -local Vector4 = {} ----@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right-handed ----@alias Matrix_ptr Matrix ----@alias Matrix_ptr_ptr Matrix ----@field m0 number # Matrix first row (4 components) ----@field m4 number # Matrix first row (4 components) ----@field m8 number # Matrix first row (4 components) ----@field m12 number # Matrix first row (4 components) ----@field m1 number # Matrix second row (4 components) ----@field m5 number # Matrix second row (4 components) ----@field m9 number # Matrix second row (4 components) ----@field m13 number # Matrix second row (4 components) ----@field m2 number # Matrix third row (4 components) ----@field m6 number # Matrix third row (4 components) ----@field m10 number # Matrix third row (4 components) ----@field m14 number # Matrix third row (4 components) ----@field m3 number # Matrix fourth row (4 components) ----@field m7 number # Matrix fourth row (4 components) ----@field m11 number # Matrix fourth row (4 components) ----@field m15 number # Matrix fourth row (4 components) ----Constructed using `rl.new("Matrix", ...)` -local Matrix = {} ----@class Color @ Color, 4 components, R8G8B8A8 (32bit) ----@alias Color_ptr Color ----@alias Color_ptr_ptr Color ----@field r number|string[] # Color red value ----@field g number|string[] # Color green value ----@field b number|string[] # Color blue value ----@field a number|string[] # Color alpha value ----Constructed using `rl.new("Color", ...)` -local Color = {} ----@class Rectangle @ Rectangle, 4 components ----@alias Rectangle_ptr Rectangle ----@alias Rectangle_ptr_ptr Rectangle ----@field x number # Rectangle top-left corner position x ----@field y number # Rectangle top-left corner position y ----@field width number # Rectangle width ----@field height number # Rectangle height ----Constructed using `rl.new("Rectangle", ...)` -local Rectangle = {} ----@class Image @ Image, pixel data stored in CPU memory (RAM) ----@alias Image_ptr Image ----@alias Image_ptr_ptr Image ----@field data string|lightuserdata # Image raw data ----@field width number # Image base width ----@field height number # Image base height ----@field mipmaps number # Mipmap levels, 1 by default ----@field format number # Data format (PixelFormat type) ----Constructed using `rl.new("Image", ...)` -local Image = {} ----@class Texture @ Texture, tex data stored in GPU memory (VRAM) ----@alias Texture_ptr Texture ----@alias Texture_ptr_ptr Texture ----@alias Texture2D Texture ----@field id number # OpenGL texture id ----@field width number # Texture base width ----@field height number # Texture base height ----@field mipmaps number # Mipmap levels, 1 by default ----@field format number # Data format (PixelFormat type) ----Constructed using `rl.new("Texture", ...)` -local Texture = {} ----@class RenderTexture @ RenderTexture, fbo for texture rendering ----@alias RenderTexture_ptr RenderTexture ----@alias RenderTexture_ptr_ptr RenderTexture ----@alias RenderTexture2D RenderTexture ----@field id number # OpenGL framebuffer object id ----@field texture Texture # Color buffer attachment texture ----@field depth Texture # Depth buffer attachment texture ----Constructed using `rl.new("RenderTexture", ...)` -local RenderTexture = {} ----@class NPatchInfo @ NPatchInfo, n-patch layout info ----@alias NPatchInfo_ptr NPatchInfo ----@alias NPatchInfo_ptr_ptr NPatchInfo ----@field source Rectangle # Texture source rectangle ----@field left number # Left border offset ----@field top number # Top border offset ----@field right number # Right border offset ----@field bottom number # Bottom border offset ----@field layout number # Layout of the n-patch: 3x3, 1x3 or 3x1 ----Constructed using `rl.new("NPatchInfo", ...)` -local NPatchInfo = {} ----@class GlyphInfo @ GlyphInfo, font characters glyphs info ----@alias GlyphInfo_ptr GlyphInfo ----@alias GlyphInfo_ptr_ptr GlyphInfo ----@field value number # Character value (Unicode) ----@field offsetX number # Character offset X when drawing ----@field offsetY number # Character offset Y when drawing ----@field advanceX number # Character advance position X ----@field image Image # Character image data ----Constructed using `rl.new("GlyphInfo", ...)` -local GlyphInfo = {} ----@class Font @ Font, font texture and GlyphInfo array data ----@alias Font_ptr Font ----@alias Font_ptr_ptr Font ----@field baseSize number # Base size (default chars height) ----@field glyphCount number # Number of glyph characters ----@field glyphPadding number # Padding around the glyph characters ----@field texture Texture2D # Texture atlas containing the glyphs ----@field recs Rectangle_ptr|lightuserdata # Rectangles in texture for the glyphs ----@field glyphs GlyphInfo_ptr|lightuserdata # Glyphs info data ----Constructed using `rl.new("Font", ...)` -local Font = {} ----@class Camera3D @ Camera, defines position/orientation in 3d space ----@alias Camera3D_ptr Camera3D ----@alias Camera3D_ptr_ptr Camera3D ----@field position Vector3 # Camera position ----@field target Vector3 # Camera target it looks-at ----@field up Vector3 # Camera up vector (rotation over its axis) ----@field fovy number # Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic ----@field projection number # Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC ----Constructed using `rl.new("Camera3D", ...)` -local Camera3D = {} ----@class Camera2D @ Camera2D, defines position/orientation in 2d space ----@alias Camera2D_ptr Camera2D ----@alias Camera2D_ptr_ptr Camera2D ----@field offset Vector2 # Camera offset (displacement from target) ----@field target Vector2 # Camera target (rotation and zoom origin) ----@field rotation number # Camera rotation in degrees ----@field zoom number # Camera zoom (scaling), should be 1.0f by default ----Constructed using `rl.new("Camera2D", ...)` -local Camera2D = {} ----@class Mesh @ Mesh, vertex data and vao/vbo ----@alias Mesh_ptr Mesh ----@alias Mesh_ptr_ptr Mesh ----@field vertexCount number # Number of vertices stored in arrays ----@field triangleCount number # Number of triangles stored (indexed or not) ----@field vertices number # Vertex position (XYZ - 3 components per vertex) (shader-location = 0) ----@field texcoords number # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) ----@field texcoords2 number # Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) ----@field normals number # Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) ----@field tangents number # Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) ----@field colors string|lightuserdata # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) ----@field indices unsigned_short_ptr|lightuserdata # Vertex indices (in case vertex data comes indexed) ----@field animVertices number # Animated vertex positions (after bones transformations) ----@field animNormals number # Animated normals (after bones transformations) ----@field boneIds string|lightuserdata # Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning) ----@field boneWeights number # Vertex bone weight, up to 4 bones influence by vertex (skinning) ----@field vaoId number # OpenGL Vertex Array Object id ----@field vboId number # OpenGL Vertex Buffer Objects id (default vertex data) ----Constructed using `rl.new("Mesh", ...)` -local Mesh = {} ----@class Shader @ Shader ----@alias Shader_ptr Shader ----@alias Shader_ptr_ptr Shader ----@field id number # Shader program id ----@field locs number # Shader locations array (RL_MAX_SHADER_LOCATIONS) ----Constructed using `rl.new("Shader", ...)` -local Shader = {} ----@class MaterialMap @ MaterialMap ----@alias MaterialMap_ptr MaterialMap ----@alias MaterialMap_ptr_ptr MaterialMap ----@field texture Texture2D # Material map texture ----@field color Color # Material map color ----@field value number # Material map value ----Constructed using `rl.new("MaterialMap", ...)` -local MaterialMap = {} ----@class Material @ Material, includes shader and maps ----@alias Material_ptr Material ----@alias Material_ptr_ptr Material ----@field shader Shader # Material shader ----@field maps MaterialMap_ptr|lightuserdata # Material maps array (MAX_MATERIAL_MAPS) ----@field params number # Material generic parameters (if required) ----Constructed using `rl.new("Material", ...)` -local Material = {} ----@class Transform @ Transform, vertex transformation data ----@alias Transform_ptr Transform ----@alias Transform_ptr_ptr Transform ----@field translation Vector3 # Translation ----@field rotation Quaternion # Rotation ----@field scale Vector3 # Scale ----Constructed using `rl.new("Transform", ...)` -local Transform = {} ----@class BoneInfo @ Bone, skeletal animation bone ----@alias BoneInfo_ptr BoneInfo ----@alias BoneInfo_ptr_ptr BoneInfo ----@field name number|string[] # Bone name ----@field parent number # Bone parent ----Constructed using `rl.new("BoneInfo", ...)` -local BoneInfo = {} ----@class Model @ Model, meshes, materials and animation data ----@alias Model_ptr Model ----@alias Model_ptr_ptr Model ----@field transform Matrix # Local transform matrix ----@field meshCount number # Number of meshes ----@field materialCount number # Number of materials ----@field meshes Mesh_ptr|lightuserdata # Meshes array ----@field materials Material_ptr|lightuserdata # Materials array ----@field meshMaterial number # Mesh material number ----@field boneCount number # Number of bones ----@field bones BoneInfo_ptr|lightuserdata # Bones information (skeleton) ----@field bindPose Transform_ptr|lightuserdata # Bones base transformation (pose) ----Constructed using `rl.new("Model", ...)` -local Model = {} ----@class ModelAnimation @ ModelAnimation ----@alias ModelAnimation_ptr ModelAnimation ----@alias ModelAnimation_ptr_ptr ModelAnimation ----@field boneCount number # Number of bones ----@field frameCount number # Number of animation frames ----@field bones BoneInfo_ptr|lightuserdata # Bones information (skeleton) ----@field framePoses Transform_ptr_ptr|lightuserdata # Poses array by frame ----@field name number|string[] # Animation name ----Constructed using `rl.new("ModelAnimation", ...)` -local ModelAnimation = {} ----@class Ray @ Ray, ray for raycasting ----@alias Ray_ptr Ray ----@alias Ray_ptr_ptr Ray ----@field position Vector3 # Ray position (origin) ----@field direction Vector3 # Ray direction ----Constructed using `rl.new("Ray", ...)` -local Ray = {} ----@class RayCollision @ RayCollision, ray hit information ----@alias RayCollision_ptr RayCollision ----@alias RayCollision_ptr_ptr RayCollision ----@field hit bool # Did the ray hit something? ----@field distance number # Distance to the nearest hit ----@field point Vector3 # Point of the nearest hit ----@field normal Vector3 # Surface normal of hit ----Constructed using `rl.new("RayCollision", ...)` -local RayCollision = {} ----@class BoundingBox @ BoundingBox ----@alias BoundingBox_ptr BoundingBox ----@alias BoundingBox_ptr_ptr BoundingBox ----@field min Vector3 # Minimum vertex box-corner ----@field max Vector3 # Maximum vertex box-corner ----Constructed using `rl.new("BoundingBox", ...)` -local BoundingBox = {} ----@class Wave @ Wave, audio wave data ----@alias Wave_ptr Wave ----@alias Wave_ptr_ptr Wave ----@field frameCount number # Total number of frames (considering channels) ----@field sampleRate number # Frequency (samples per second) ----@field sampleSize number # Bit depth (bits per sample): 8, 16, 32 (24 not supported) ----@field channels number # Number of channels (1-mono, 2-stereo, ...) ----@field data string|lightuserdata # Buffer data pointer ----Constructed using `rl.new("Wave", ...)` -local Wave = {} ----@class AudioStream @ AudioStream, custom audio stream ----@alias AudioStream_ptr AudioStream ----@alias AudioStream_ptr_ptr AudioStream ----@field buffer rAudioBuffer_ptr|lightuserdata # Pointer to internal data used by the audio system ----@field processor rAudioProcessor_ptr|lightuserdata # Pointer to internal data processor, useful for audio effects ----@field sampleRate number # Frequency (samples per second) ----@field sampleSize number # Bit depth (bits per sample): 8, 16, 32 (24 not supported) ----@field channels number # Number of channels (1-mono, 2-stereo, ...) ----Constructed using `rl.new("AudioStream", ...)` -local AudioStream = {} ----@class Sound @ Sound ----@alias Sound_ptr Sound ----@alias Sound_ptr_ptr Sound ----@field stream AudioStream # Audio stream ----@field frameCount number # Total number of frames (considering channels) ----Constructed using `rl.new("Sound", ...)` -local Sound = {} ----@class Music @ Music, audio stream, anything longer than ~10 seconds should be streamed ----@alias Music_ptr Music ----@alias Music_ptr_ptr Music ----@field stream AudioStream # Audio stream ----@field frameCount number # Total number of frames (considering channels) ----@field looping bool # Music looping enable ----@field ctxType number # Type of music context (audio filetype) ----@field ctxData string|lightuserdata # Audio context data, depends on type ----Constructed using `rl.new("Music", ...)` -local Music = {} ----@class VrDeviceInfo @ VrDeviceInfo, Head-Mounted-Display device parameters ----@alias VrDeviceInfo_ptr VrDeviceInfo ----@alias VrDeviceInfo_ptr_ptr VrDeviceInfo ----@field hResolution number # Horizontal resolution in pixels ----@field vResolution number # Vertical resolution in pixels ----@field hScreenSize number # Horizontal size in meters ----@field vScreenSize number # Vertical size in meters ----@field vScreenCenter number # Screen center in meters ----@field eyeToScreenDistance number # Distance between eye and display in meters ----@field lensSeparationDistance number # Lens separation distance in meters ----@field interpupillaryDistance number # IPD (distance between pupils) in meters ----@field lensDistortionValues number # Lens distortion constant parameters ----@field chromaAbCorrection number # Chromatic aberration correction parameters ----Constructed using `rl.new("VrDeviceInfo", ...)` -local VrDeviceInfo = {} ----@class VrStereoConfig @ VrStereoConfig, VR stereo rendering configuration for simulator ----@alias VrStereoConfig_ptr VrStereoConfig ----@alias VrStereoConfig_ptr_ptr VrStereoConfig ----@field projection Matrix[2] # VR projection matrices (per eye) ----@field viewOffset Matrix[2] # VR view offset matrices (per eye) ----@field leftLensCenter number # VR left lens center ----@field rightLensCenter number # VR right lens center ----@field leftScreenCenter number # VR left screen center ----@field rightScreenCenter number # VR right screen center ----@field scale number # VR distortion scale ----@field scaleIn number # VR distortion scale in ----Constructed using `rl.new("VrStereoConfig", ...)` -local VrStereoConfig = {} ----@class FilePathList @ File path list ----@alias FilePathList_ptr FilePathList ----@alias FilePathList_ptr_ptr FilePathList ----@field capacity number # Filepaths max entries ----@field count number # Filepaths entries count ----@field paths string|lightuserdata # Filepaths entries ----Constructed using `rl.new("FilePathList", ...)` -local FilePathList = {} ----@class AutomationEvent @ Automation event ----@alias AutomationEvent_ptr AutomationEvent ----@alias AutomationEvent_ptr_ptr AutomationEvent ----@field frame number # Event frame ----@field type number # Event type (AutomationEventType) ----@field params number # Event parameters (if required) ----Constructed using `rl.new("AutomationEvent", ...)` -local AutomationEvent = {} ----@class AutomationEventList @ Automation event list ----@alias AutomationEventList_ptr AutomationEventList ----@alias AutomationEventList_ptr_ptr AutomationEventList ----@field capacity number # Events max entries (MAX_AUTOMATION_EVENTS) ----@field count number # Events entries count ----@field events AutomationEvent_ptr|lightuserdata # Events entries ----Constructed using `rl.new("AutomationEventList", ...)` -local AutomationEventList = {} ----@param width number ----@param height number ----@param title string|lightuserdata ----Initialize window and OpenGL context -function rl.InitWindow(width,height,title) end ----Close window and unload OpenGL context -function rl.CloseWindow() end ----@return bool ----Check if application should close (KEY_ESCAPE pressed or windows close icon clicked) -function rl.WindowShouldClose() end ----@return bool ----Check if window has been initialized successfully -function rl.IsWindowReady() end ----@return bool ----Check if window is currently fullscreen -function rl.IsWindowFullscreen() end ----@return bool ----Check if window is currently hidden (only PLATFORM_DESKTOP) -function rl.IsWindowHidden() end ----@return bool ----Check if window is currently minimized (only PLATFORM_DESKTOP) -function rl.IsWindowMinimized() end ----@return bool ----Check if window is currently maximized (only PLATFORM_DESKTOP) -function rl.IsWindowMaximized() end ----@return bool ----Check if window is currently focused (only PLATFORM_DESKTOP) -function rl.IsWindowFocused() end ----@return bool ----Check if window has been resized last frame -function rl.IsWindowResized() end ----@param flag number ----@return bool ----Check if one specific window flag is enabled -function rl.IsWindowState(flag) end ----@param flags number ----Set window configuration state using flags (only PLATFORM_DESKTOP) -function rl.SetWindowState(flags) end ----@param flags number ----Clear window configuration state flags -function rl.ClearWindowState(flags) end ----Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP) -function rl.ToggleFullscreen() end ----Toggle window state: borderless windowed (only PLATFORM_DESKTOP) -function rl.ToggleBorderlessWindowed() end ----Set window state: maximized, if resizable (only PLATFORM_DESKTOP) -function rl.MaximizeWindow() end ----Set window state: minimized, if resizable (only PLATFORM_DESKTOP) -function rl.MinimizeWindow() end ----Set window state: not minimized/maximized (only PLATFORM_DESKTOP) -function rl.RestoreWindow() end ----@param image Image ----Set icon for window (single image, RGBA 32bit, only PLATFORM_DESKTOP) -function rl.SetWindowIcon(image) end ----@param images Image_ptr|lightuserdata ----@param count number ----Set icon for window (multiple images, RGBA 32bit, only PLATFORM_DESKTOP) -function rl.SetWindowIcons(images,count) end ----@param title string|lightuserdata ----Set title for window (only PLATFORM_DESKTOP and PLATFORM_WEB) -function rl.SetWindowTitle(title) end ----@param x number ----@param y number ----Set window position on screen (only PLATFORM_DESKTOP) -function rl.SetWindowPosition(x,y) end ----@param monitor number ----Set monitor for the current window -function rl.SetWindowMonitor(monitor) end ----@param width number ----@param height number ----Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) -function rl.SetWindowMinSize(width,height) end ----@param width number ----@param height number ----Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE) -function rl.SetWindowMaxSize(width,height) end ----@param width number ----@param height number ----Set window dimensions -function rl.SetWindowSize(width,height) end ----@param opacity number ----Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP) -function rl.SetWindowOpacity(opacity) end ----Set window focused (only PLATFORM_DESKTOP) -function rl.SetWindowFocused() end ----@return string|lightuserdata ----Get native window handle -function rl.GetWindowHandle() end ----@return number ----Get current screen width -function rl.GetScreenWidth() end ----@return number ----Get current screen height -function rl.GetScreenHeight() end ----@return number ----Get current render width (it considers HiDPI) -function rl.GetRenderWidth() end ----@return number ----Get current render height (it considers HiDPI) -function rl.GetRenderHeight() end ----@return number ----Get number of connected monitors -function rl.GetMonitorCount() end ----@return number ----Get current connected monitor -function rl.GetCurrentMonitor() end ----@param monitor number ----@return Vector2 ----Get specified monitor position -function rl.GetMonitorPosition(monitor) end ----@param monitor number ----@return number ----Get specified monitor width (current video mode used by monitor) -function rl.GetMonitorWidth(monitor) end ----@param monitor number ----@return number ----Get specified monitor height (current video mode used by monitor) -function rl.GetMonitorHeight(monitor) end ----@param monitor number ----@return number ----Get specified monitor physical width in millimetres -function rl.GetMonitorPhysicalWidth(monitor) end ----@param monitor number ----@return number ----Get specified monitor physical height in millimetres -function rl.GetMonitorPhysicalHeight(monitor) end ----@param monitor number ----@return number ----Get specified monitor refresh rate -function rl.GetMonitorRefreshRate(monitor) end ----@return Vector2 ----Get window position XY on monitor -function rl.GetWindowPosition() end ----@return Vector2 ----Get window scale DPI factor -function rl.GetWindowScaleDPI() end ----@param monitor number ----@return string|lightuserdata ----Get the human-readable, UTF-8 encoded name of the specified monitor -function rl.GetMonitorName(monitor) end ----@param text string|lightuserdata ----Set clipboard text content -function rl.SetClipboardText(text) end ----@return string|lightuserdata ----Get clipboard text content -function rl.GetClipboardText() end ----Enable waiting for events on EndDrawing(), no automatic event polling -function rl.EnableEventWaiting() end ----Disable waiting for events on EndDrawing(), automatic events polling -function rl.DisableEventWaiting() end ----Shows cursor -function rl.ShowCursor() end ----Hides cursor -function rl.HideCursor() end ----@return bool ----Check if cursor is not visible -function rl.IsCursorHidden() end ----Enables cursor (unlock cursor) -function rl.EnableCursor() end ----Disables cursor (lock cursor) -function rl.DisableCursor() end ----@return bool ----Check if cursor is on the screen -function rl.IsCursorOnScreen() end ----@param color Color ----Set background color (framebuffer clear color) -function rl.ClearBackground(color) end ----Setup canvas (framebuffer) to start drawing -function rl.BeginDrawing() end ----End canvas drawing and swap buffers (double buffering) -function rl.EndDrawing() end ----@param camera Camera2D ----Begin 2D mode with custom camera (2D) -function rl.BeginMode2D(camera) end ----Ends 2D mode with custom camera -function rl.EndMode2D() end ----@param camera Camera3D ----Begin 3D mode with custom camera (3D) -function rl.BeginMode3D(camera) end ----Ends 3D mode and returns to default 2D orthographic mode -function rl.EndMode3D() end ----@param target RenderTexture2D ----Begin drawing to render texture -function rl.BeginTextureMode(target) end ----Ends drawing to render texture -function rl.EndTextureMode() end ----@param shader Shader ----Begin custom shader drawing -function rl.BeginShaderMode(shader) end ----End custom shader drawing (use default shader) -function rl.EndShaderMode() end ----@param mode number ----Begin blending mode (alpha, additive, multiplied, subtract, custom) -function rl.BeginBlendMode(mode) end ----End blending mode (reset to default: alpha blending) -function rl.EndBlendMode() end ----@param x number ----@param y number ----@param width number ----@param height number ----Begin scissor mode (define screen area for following drawing) -function rl.BeginScissorMode(x,y,width,height) end ----End scissor mode -function rl.EndScissorMode() end ----@param config VrStereoConfig ----Begin stereo rendering (requires VR simulator) -function rl.BeginVrStereoMode(config) end ----End stereo rendering (requires VR simulator) -function rl.EndVrStereoMode() end ----@param device VrDeviceInfo ----@return VrStereoConfig ----Load VR stereo config for VR simulator device parameters -function rl.LoadVrStereoConfig(device) end ----@param config VrStereoConfig ----Unload VR stereo config -function rl.UnloadVrStereoConfig(config) end ----@param vsFileName string|lightuserdata ----@param fsFileName string|lightuserdata ----@return Shader ----Load shader from files and bind default locations -function rl.LoadShader(vsFileName,fsFileName) end ----@param vsCode string|lightuserdata ----@param fsCode string|lightuserdata ----@return Shader ----Load shader from code strings and bind default locations -function rl.LoadShaderFromMemory(vsCode,fsCode) end ----@param shader Shader ----@return bool ----Check if a shader is ready -function rl.IsShaderReady(shader) end ----@param shader Shader ----@param uniformName string|lightuserdata ----@return number ----Get shader uniform location -function rl.GetShaderLocation(shader,uniformName) end ----@param shader Shader ----@param attribName string|lightuserdata ----@return number ----Get shader attribute location -function rl.GetShaderLocationAttrib(shader,attribName) end ----@param shader Shader ----@param locIndex number ----@param value string|lightuserdata ----@param uniformType number ----Set shader uniform value -function rl.SetShaderValue(shader,locIndex,value,uniformType) end ----@param shader Shader ----@param locIndex number ----@param value string|lightuserdata ----@param uniformType number ----@param count number ----Set shader uniform value vector -function rl.SetShaderValueV(shader,locIndex,value,uniformType,count) end ----@param shader Shader ----@param locIndex number ----@param mat Matrix ----Set shader uniform value (matrix 4x4) -function rl.SetShaderValueMatrix(shader,locIndex,mat) end ----@param shader Shader ----@param locIndex number ----@param texture Texture2D ----Set shader uniform value for texture (sampler2d) -function rl.SetShaderValueTexture(shader,locIndex,texture) end ----@param shader Shader ----Unload shader from GPU memory (VRAM) -function rl.UnloadShader(shader) end ----@param mousePosition Vector2 ----@param camera Camera ----@return Ray ----Get a ray trace from mouse position -function rl.GetMouseRay(mousePosition,camera) end ----@param camera Camera ----@return Matrix ----Get camera transform matrix (view matrix) -function rl.GetCameraMatrix(camera) end ----@param camera Camera2D ----@return Matrix ----Get camera 2d transform matrix -function rl.GetCameraMatrix2D(camera) end ----@param position Vector3 ----@param camera Camera ----@return Vector2 ----Get the screen space position for a 3d world space position -function rl.GetWorldToScreen(position,camera) end ----@param position Vector2 ----@param camera Camera2D ----@return Vector2 ----Get the world space position for a 2d camera screen space position -function rl.GetScreenToWorld2D(position,camera) end ----@param position Vector3 ----@param camera Camera ----@param width number ----@param height number ----@return Vector2 ----Get size position for a 3d world space position -function rl.GetWorldToScreenEx(position,camera,width,height) end ----@param position Vector2 ----@param camera Camera2D ----@return Vector2 ----Get the screen space position for a 2d camera world space position -function rl.GetWorldToScreen2D(position,camera) end ----@param fps number ----Set target FPS (maximum) -function rl.SetTargetFPS(fps) end ----@return number ----Get time in seconds for last frame drawn (delta time) -function rl.GetFrameTime() end ----@return number ----Get elapsed time in seconds since InitWindow() -function rl.GetTime() end ----@return number ----Get current FPS -function rl.GetFPS() end ----Swap back buffer with front buffer (screen drawing) -function rl.SwapScreenBuffer() end ----Register all input events -function rl.PollInputEvents() end ----@param seconds number ----Wait for some time (halt program execution) -function rl.WaitTime(seconds) end ----@param seed number ----Set the seed for the random number generator -function rl.SetRandomSeed(seed) end ----@param min number ----@param max number ----@return number ----Get a random value between min and max (both included) -function rl.GetRandomValue(min,max) end ----@param count number ----@param min number ----@param max number ----@return number ----Load random values sequence, no values repeated -function rl.LoadRandomSequence(count,min,max) end ----@param sequence number ----Unload random values sequence -function rl.UnloadRandomSequence(sequence) end ----@param fileName string|lightuserdata ----Takes a screenshot of current screen (filename extension defines format) -function rl.TakeScreenshot(fileName) end ----@param flags number ----Setup init configuration flags (view FLAGS) -function rl.SetConfigFlags(flags) end ----@param url string|lightuserdata ----Open URL with default system browser (if available) -function rl.OpenURL(url) end ----@param logLevel number ----@param text string|lightuserdata ----@param args ... ----Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) -function rl.TraceLog(logLevel,text,args) end ----@param logLevel number ----Set the current threshold (minimum) log level -function rl.SetTraceLogLevel(logLevel) end ----@param size number ----@return string|lightuserdata ----Internal memory allocator -function rl.MemAlloc(size) end ----@param ptr string|lightuserdata ----@param size number ----@return string|lightuserdata ----Internal memory reallocator -function rl.MemRealloc(ptr,size) end ----@param ptr string|lightuserdata ----Internal memory free -function rl.MemFree(ptr) end ----@param callback TraceLogCallback ----Set custom trace log -function rl.SetTraceLogCallback(callback) end ----@param callback LoadFileDataCallback ----Set custom file binary data loader -function rl.SetLoadFileDataCallback(callback) end ----@param callback SaveFileDataCallback ----Set custom file binary data saver -function rl.SetSaveFileDataCallback(callback) end ----@param callback LoadFileTextCallback ----Set custom file text data loader -function rl.SetLoadFileTextCallback(callback) end ----@param callback SaveFileTextCallback ----Set custom file text data saver -function rl.SetSaveFileTextCallback(callback) end ----@param fileName string|lightuserdata ----@param dataSize number ----@return string|lightuserdata ----Load file data as byte array (read) -function rl.LoadFileData(fileName,dataSize) end ----@param data string|lightuserdata ----Unload file data allocated by LoadFileData() -function rl.UnloadFileData(data) end ----@param fileName string|lightuserdata ----@param data string|lightuserdata ----@param dataSize number ----@return bool ----Save data to file from byte array (write), returns true on success -function rl.SaveFileData(fileName,data,dataSize) end ----@param data string|lightuserdata ----@param dataSize number ----@param fileName string|lightuserdata ----@return bool ----Export data to code (.h), returns true on success -function rl.ExportDataAsCode(data,dataSize,fileName) end ----@param fileName string|lightuserdata ----@return string|lightuserdata ----Load text data from file (read), returns a '\0' terminated string -function rl.LoadFileText(fileName) end ----@param text string|lightuserdata ----Unload file text data allocated by LoadFileText() -function rl.UnloadFileText(text) end ----@param fileName string|lightuserdata ----@param text string|lightuserdata ----@return bool ----Save text data to file (write), string must be '\0' terminated, returns true on success -function rl.SaveFileText(fileName,text) end ----@param fileName string|lightuserdata ----@return bool ----Check if file exists -function rl.FileExists(fileName) end ----@param dirPath string|lightuserdata ----@return bool ----Check if a directory path exists -function rl.DirectoryExists(dirPath) end ----@param fileName string|lightuserdata ----@param ext string|lightuserdata ----@return bool ----Check file extension (including point: .png, .wav) -function rl.IsFileExtension(fileName,ext) end ----@param fileName string|lightuserdata ----@return number ----Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) -function rl.GetFileLength(fileName) end ----@param fileName string|lightuserdata ----@return string|lightuserdata ----Get pointer to extension for a filename string (includes dot: '.png') -function rl.GetFileExtension(fileName) end ----@param filePath string|lightuserdata ----@return string|lightuserdata ----Get pointer to filename for a path string -function rl.GetFileName(filePath) end ----@param filePath string|lightuserdata ----@return string|lightuserdata ----Get filename string without extension (uses static string) -function rl.GetFileNameWithoutExt(filePath) end ----@param filePath string|lightuserdata ----@return string|lightuserdata ----Get full path for a given fileName with path (uses static string) -function rl.GetDirectoryPath(filePath) end ----@param dirPath string|lightuserdata ----@return string|lightuserdata ----Get previous directory path for a given path (uses static string) -function rl.GetPrevDirectoryPath(dirPath) end ----@return string|lightuserdata ----Get current working directory (uses static string) -function rl.GetWorkingDirectory() end ----@return string|lightuserdata ----Get the directory of the running application (uses static string) -function rl.GetApplicationDirectory() end ----@param dir string|lightuserdata ----@return bool ----Change working directory, return true on success -function rl.ChangeDirectory(dir) end ----@param path string|lightuserdata ----@return bool ----Check if a given path is a file or a directory -function rl.IsPathFile(path) end ----@param dirPath string|lightuserdata ----@return FilePathList ----Load directory filepaths -function rl.LoadDirectoryFiles(dirPath) end ----@param basePath string|lightuserdata ----@param filter string|lightuserdata ----@param scanSubdirs bool ----@return FilePathList ----Load directory filepaths with extension filtering and recursive directory scan -function rl.LoadDirectoryFilesEx(basePath,filter,scanSubdirs) end ----@param files FilePathList ----Unload filepaths -function rl.UnloadDirectoryFiles(files) end ----@return bool ----Check if a file has been dropped into window -function rl.IsFileDropped() end ----@return FilePathList ----Load dropped filepaths -function rl.LoadDroppedFiles() end ----@param files FilePathList ----Unload dropped filepaths -function rl.UnloadDroppedFiles(files) end ----@param fileName string|lightuserdata ----@return number ----Get file modification time (last write time) -function rl.GetFileModTime(fileName) end ----@param data string|lightuserdata ----@param dataSize number ----@param compDataSize number ----@return string|lightuserdata ----Compress data (DEFLATE algorithm), memory must be MemFree() -function rl.CompressData(data,dataSize,compDataSize) end ----@param compData string|lightuserdata ----@param compDataSize number ----@param dataSize number ----@return string|lightuserdata ----Decompress data (DEFLATE algorithm), memory must be MemFree() -function rl.DecompressData(compData,compDataSize,dataSize) end ----@param data string|lightuserdata ----@param dataSize number ----@param outputSize number ----@return string|lightuserdata ----Encode data to Base64 string, memory must be MemFree() -function rl.EncodeDataBase64(data,dataSize,outputSize) end ----@param data string|lightuserdata ----@param outputSize number ----@return string|lightuserdata ----Decode Base64 string data, memory must be MemFree() -function rl.DecodeDataBase64(data,outputSize) end ----@param fileName string|lightuserdata ----@return AutomationEventList ----Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS -function rl.LoadAutomationEventList(fileName) end ----@param list AutomationEventList_ptr|lightuserdata ----Unload automation events list from file -function rl.UnloadAutomationEventList(list) end ----@param list AutomationEventList ----@param fileName string|lightuserdata ----@return bool ----Export automation events list as text file -function rl.ExportAutomationEventList(list,fileName) end ----@param list AutomationEventList_ptr|lightuserdata ----Set automation event list to record to -function rl.SetAutomationEventList(list) end ----@param frame number ----Set automation event internal base frame to start recording -function rl.SetAutomationEventBaseFrame(frame) end ----Start recording automation events (AutomationEventList must be set) -function rl.StartAutomationEventRecording() end ----Stop recording automation events -function rl.StopAutomationEventRecording() end ----@param event AutomationEvent ----Play a recorded automation event -function rl.PlayAutomationEvent(event) end ----@param key number ----@return bool ----Check if a key has been pressed once -function rl.IsKeyPressed(key) end ----@param key number ----@return bool ----Check if a key has been pressed again (Only PLATFORM_DESKTOP) -function rl.IsKeyPressedRepeat(key) end ----@param key number ----@return bool ----Check if a key is being pressed -function rl.IsKeyDown(key) end ----@param key number ----@return bool ----Check if a key has been released once -function rl.IsKeyReleased(key) end ----@param key number ----@return bool ----Check if a key is NOT being pressed -function rl.IsKeyUp(key) end ----@return number ----Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty -function rl.GetKeyPressed() end ----@return number ----Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty -function rl.GetCharPressed() end ----@param key number ----Set a custom key to exit program (default is ESC) -function rl.SetExitKey(key) end ----@param gamepad number ----@return bool ----Check if a gamepad is available -function rl.IsGamepadAvailable(gamepad) end ----@param gamepad number ----@return string|lightuserdata ----Get gamepad internal name id -function rl.GetGamepadName(gamepad) end ----@param gamepad number ----@param button number ----@return bool ----Check if a gamepad button has been pressed once -function rl.IsGamepadButtonPressed(gamepad,button) end ----@param gamepad number ----@param button number ----@return bool ----Check if a gamepad button is being pressed -function rl.IsGamepadButtonDown(gamepad,button) end ----@param gamepad number ----@param button number ----@return bool ----Check if a gamepad button has been released once -function rl.IsGamepadButtonReleased(gamepad,button) end ----@param gamepad number ----@param button number ----@return bool ----Check if a gamepad button is NOT being pressed -function rl.IsGamepadButtonUp(gamepad,button) end ----@return number ----Get the last gamepad button pressed -function rl.GetGamepadButtonPressed() end ----@param gamepad number ----@return number ----Get gamepad axis count for a gamepad -function rl.GetGamepadAxisCount(gamepad) end ----@param gamepad number ----@param axis number ----@return number ----Get axis movement value for a gamepad axis -function rl.GetGamepadAxisMovement(gamepad,axis) end ----@param mappings string|lightuserdata ----@return number ----Set internal gamepad mappings (SDL_GameControllerDB) -function rl.SetGamepadMappings(mappings) end ----@param button number ----@return bool ----Check if a mouse button has been pressed once -function rl.IsMouseButtonPressed(button) end ----@param button number ----@return bool ----Check if a mouse button is being pressed -function rl.IsMouseButtonDown(button) end ----@param button number ----@return bool ----Check if a mouse button has been released once -function rl.IsMouseButtonReleased(button) end ----@param button number ----@return bool ----Check if a mouse button is NOT being pressed -function rl.IsMouseButtonUp(button) end ----@return number ----Get mouse position X -function rl.GetMouseX() end ----@return number ----Get mouse position Y -function rl.GetMouseY() end ----@return Vector2 ----Get mouse position XY -function rl.GetMousePosition() end ----@return Vector2 ----Get mouse delta between frames -function rl.GetMouseDelta() end ----@param x number ----@param y number ----Set mouse position XY -function rl.SetMousePosition(x,y) end ----@param offsetX number ----@param offsetY number ----Set mouse offset -function rl.SetMouseOffset(offsetX,offsetY) end ----@param scaleX number ----@param scaleY number ----Set mouse scaling -function rl.SetMouseScale(scaleX,scaleY) end ----@return number ----Get mouse wheel movement for X or Y, whichever is larger -function rl.GetMouseWheelMove() end ----@return Vector2 ----Get mouse wheel movement for both X and Y -function rl.GetMouseWheelMoveV() end ----@param cursor number ----Set mouse cursor -function rl.SetMouseCursor(cursor) end ----@return number ----Get touch position X for touch point 0 (relative to screen size) -function rl.GetTouchX() end ----@return number ----Get touch position Y for touch point 0 (relative to screen size) -function rl.GetTouchY() end ----@param index number ----@return Vector2 ----Get touch position XY for a touch point index (relative to screen size) -function rl.GetTouchPosition(index) end ----@param index number ----@return number ----Get touch point identifier for given index -function rl.GetTouchPointId(index) end ----@return number ----Get number of touch points -function rl.GetTouchPointCount() end ----@param flags number ----Enable a set of gestures using flags -function rl.SetGesturesEnabled(flags) end ----@param gesture number ----@return bool ----Check if a gesture have been detected -function rl.IsGestureDetected(gesture) end ----@return number ----Get latest detected gesture -function rl.GetGestureDetected() end ----@return number ----Get gesture hold time in milliseconds -function rl.GetGestureHoldDuration() end ----@return Vector2 ----Get gesture drag vector -function rl.GetGestureDragVector() end ----@return number ----Get gesture drag angle -function rl.GetGestureDragAngle() end ----@return Vector2 ----Get gesture pinch delta -function rl.GetGesturePinchVector() end ----@return number ----Get gesture pinch angle -function rl.GetGesturePinchAngle() end ----@param camera Camera_ptr|lightuserdata ----@param mode number ----Update camera position for selected mode -function rl.UpdateCamera(camera,mode) end ----@param camera Camera_ptr|lightuserdata ----@param movement Vector3 ----@param rotation Vector3 ----@param zoom number ----Update camera movement/rotation -function rl.UpdateCameraPro(camera,movement,rotation,zoom) end ----@param texture Texture2D ----@param source Rectangle ----Set texture and rectangle to be used on shapes drawing -function rl.SetShapesTexture(texture,source) end ----@param posX number ----@param posY number ----@param color Color ----Draw a pixel -function rl.DrawPixel(posX,posY,color) end ----@param position Vector2 ----@param color Color ----Draw a pixel (Vector version) -function rl.DrawPixelV(position,color) end ----@param startPosX number ----@param startPosY number ----@param endPosX number ----@param endPosY number ----@param color Color ----Draw a line -function rl.DrawLine(startPosX,startPosY,endPosX,endPosY,color) end ----@param startPos Vector2 ----@param endPos Vector2 ----@param color Color ----Draw a line (using gl lines) -function rl.DrawLineV(startPos,endPos,color) end ----@param startPos Vector2 ----@param endPos Vector2 ----@param thick number ----@param color Color ----Draw a line (using triangles/quads) -function rl.DrawLineEx(startPos,endPos,thick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param color Color ----Draw lines sequence (using gl lines) -function rl.DrawLineStrip(points,pointCount,color) end ----@param startPos Vector2 ----@param endPos Vector2 ----@param thick number ----@param color Color ----Draw line segment cubic-bezier in-out interpolation -function rl.DrawLineBezier(startPos,endPos,thick,color) end ----@param centerX number ----@param centerY number ----@param radius number ----@param color Color ----Draw a color-filled circle -function rl.DrawCircle(centerX,centerY,radius,color) end ----@param center Vector2 ----@param radius number ----@param startAngle number ----@param endAngle number ----@param segments number ----@param color Color ----Draw a piece of a circle -function rl.DrawCircleSector(center,radius,startAngle,endAngle,segments,color) end ----@param center Vector2 ----@param radius number ----@param startAngle number ----@param endAngle number ----@param segments number ----@param color Color ----Draw circle sector outline -function rl.DrawCircleSectorLines(center,radius,startAngle,endAngle,segments,color) end ----@param centerX number ----@param centerY number ----@param radius number ----@param color1 Color ----@param color2 Color ----Draw a gradient-filled circle -function rl.DrawCircleGradient(centerX,centerY,radius,color1,color2) end ----@param center Vector2 ----@param radius number ----@param color Color ----Draw a color-filled circle (Vector version) -function rl.DrawCircleV(center,radius,color) end ----@param centerX number ----@param centerY number ----@param radius number ----@param color Color ----Draw circle outline -function rl.DrawCircleLines(centerX,centerY,radius,color) end ----@param center Vector2 ----@param radius number ----@param color Color ----Draw circle outline (Vector version) -function rl.DrawCircleLinesV(center,radius,color) end ----@param centerX number ----@param centerY number ----@param radiusH number ----@param radiusV number ----@param color Color ----Draw ellipse -function rl.DrawEllipse(centerX,centerY,radiusH,radiusV,color) end ----@param centerX number ----@param centerY number ----@param radiusH number ----@param radiusV number ----@param color Color ----Draw ellipse outline -function rl.DrawEllipseLines(centerX,centerY,radiusH,radiusV,color) end ----@param center Vector2 ----@param innerRadius number ----@param outerRadius number ----@param startAngle number ----@param endAngle number ----@param segments number ----@param color Color ----Draw ring -function rl.DrawRing(center,innerRadius,outerRadius,startAngle,endAngle,segments,color) end ----@param center Vector2 ----@param innerRadius number ----@param outerRadius number ----@param startAngle number ----@param endAngle number ----@param segments number ----@param color Color ----Draw ring outline -function rl.DrawRingLines(center,innerRadius,outerRadius,startAngle,endAngle,segments,color) end ----@param posX number ----@param posY number ----@param width number ----@param height number ----@param color Color ----Draw a color-filled rectangle -function rl.DrawRectangle(posX,posY,width,height,color) end ----@param position Vector2 ----@param size Vector2 ----@param color Color ----Draw a color-filled rectangle (Vector version) -function rl.DrawRectangleV(position,size,color) end ----@param rec Rectangle ----@param color Color ----Draw a color-filled rectangle -function rl.DrawRectangleRec(rec,color) end ----@param rec Rectangle ----@param origin Vector2 ----@param rotation number ----@param color Color ----Draw a color-filled rectangle with pro parameters -function rl.DrawRectanglePro(rec,origin,rotation,color) end ----@param posX number ----@param posY number ----@param width number ----@param height number ----@param color1 Color ----@param color2 Color ----Draw a vertical-gradient-filled rectangle -function rl.DrawRectangleGradientV(posX,posY,width,height,color1,color2) end ----@param posX number ----@param posY number ----@param width number ----@param height number ----@param color1 Color ----@param color2 Color ----Draw a horizontal-gradient-filled rectangle -function rl.DrawRectangleGradientH(posX,posY,width,height,color1,color2) end ----@param rec Rectangle ----@param col1 Color ----@param col2 Color ----@param col3 Color ----@param col4 Color ----Draw a gradient-filled rectangle with custom vertex colors -function rl.DrawRectangleGradientEx(rec,col1,col2,col3,col4) end ----@param posX number ----@param posY number ----@param width number ----@param height number ----@param color Color ----Draw rectangle outline -function rl.DrawRectangleLines(posX,posY,width,height,color) end ----@param rec Rectangle ----@param lineThick number ----@param color Color ----Draw rectangle outline with extended parameters -function rl.DrawRectangleLinesEx(rec,lineThick,color) end ----@param rec Rectangle ----@param roundness number ----@param segments number ----@param color Color ----Draw rectangle with rounded edges -function rl.DrawRectangleRounded(rec,roundness,segments,color) end ----@param rec Rectangle ----@param roundness number ----@param segments number ----@param lineThick number ----@param color Color ----Draw rectangle with rounded edges outline -function rl.DrawRectangleRoundedLines(rec,roundness,segments,lineThick,color) end ----@param v1 Vector2 ----@param v2 Vector2 ----@param v3 Vector2 ----@param color Color ----Draw a color-filled triangle (vertex in counter-clockwise order!) -function rl.DrawTriangle(v1,v2,v3,color) end ----@param v1 Vector2 ----@param v2 Vector2 ----@param v3 Vector2 ----@param color Color ----Draw triangle outline (vertex in counter-clockwise order!) -function rl.DrawTriangleLines(v1,v2,v3,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param color Color ----Draw a triangle fan defined by points (first vertex is the center) -function rl.DrawTriangleFan(points,pointCount,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param color Color ----Draw a triangle strip defined by points -function rl.DrawTriangleStrip(points,pointCount,color) end ----@param center Vector2 ----@param sides number ----@param radius number ----@param rotation number ----@param color Color ----Draw a regular polygon (Vector version) -function rl.DrawPoly(center,sides,radius,rotation,color) end ----@param center Vector2 ----@param sides number ----@param radius number ----@param rotation number ----@param color Color ----Draw a polygon outline of n sides -function rl.DrawPolyLines(center,sides,radius,rotation,color) end ----@param center Vector2 ----@param sides number ----@param radius number ----@param rotation number ----@param lineThick number ----@param color Color ----Draw a polygon outline of n sides with extended parameters -function rl.DrawPolyLinesEx(center,sides,radius,rotation,lineThick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param thick number ----@param color Color ----Draw spline: Linear, minimum 2 points -function rl.DrawSplineLinear(points,pointCount,thick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param thick number ----@param color Color ----Draw spline: B-Spline, minimum 4 points -function rl.DrawSplineBasis(points,pointCount,thick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param thick number ----@param color Color ----Draw spline: Catmull-Rom, minimum 4 points -function rl.DrawSplineCatmullRom(points,pointCount,thick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param thick number ----@param color Color ----Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] -function rl.DrawSplineBezierQuadratic(points,pointCount,thick,color) end ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@param thick number ----@param color Color ----Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] -function rl.DrawSplineBezierCubic(points,pointCount,thick,color) end ----@param p1 Vector2 ----@param p2 Vector2 ----@param thick number ----@param color Color ----Draw spline segment: Linear, 2 points -function rl.DrawSplineSegmentLinear(p1,p2,thick,color) end ----@param p1 Vector2 ----@param p2 Vector2 ----@param p3 Vector2 ----@param p4 Vector2 ----@param thick number ----@param color Color ----Draw spline segment: B-Spline, 4 points -function rl.DrawSplineSegmentBasis(p1,p2,p3,p4,thick,color) end ----@param p1 Vector2 ----@param p2 Vector2 ----@param p3 Vector2 ----@param p4 Vector2 ----@param thick number ----@param color Color ----Draw spline segment: Catmull-Rom, 4 points -function rl.DrawSplineSegmentCatmullRom(p1,p2,p3,p4,thick,color) end ----@param p1 Vector2 ----@param c2 Vector2 ----@param p3 Vector2 ----@param thick number ----@param color Color ----Draw spline segment: Quadratic Bezier, 2 points, 1 control point -function rl.DrawSplineSegmentBezierQuadratic(p1,c2,p3,thick,color) end ----@param p1 Vector2 ----@param c2 Vector2 ----@param c3 Vector2 ----@param p4 Vector2 ----@param thick number ----@param color Color ----Draw spline segment: Cubic Bezier, 2 points, 2 control points -function rl.DrawSplineSegmentBezierCubic(p1,c2,c3,p4,thick,color) end ----@param startPos Vector2 ----@param endPos Vector2 ----@param t number ----@return Vector2 ----Get (evaluate) spline point: Linear -function rl.GetSplinePointLinear(startPos,endPos,t) end ----@param p1 Vector2 ----@param p2 Vector2 ----@param p3 Vector2 ----@param p4 Vector2 ----@param t number ----@return Vector2 ----Get (evaluate) spline point: B-Spline -function rl.GetSplinePointBasis(p1,p2,p3,p4,t) end ----@param p1 Vector2 ----@param p2 Vector2 ----@param p3 Vector2 ----@param p4 Vector2 ----@param t number ----@return Vector2 ----Get (evaluate) spline point: Catmull-Rom -function rl.GetSplinePointCatmullRom(p1,p2,p3,p4,t) end ----@param p1 Vector2 ----@param c2 Vector2 ----@param p3 Vector2 ----@param t number ----@return Vector2 ----Get (evaluate) spline point: Quadratic Bezier -function rl.GetSplinePointBezierQuad(p1,c2,p3,t) end ----@param p1 Vector2 ----@param c2 Vector2 ----@param c3 Vector2 ----@param p4 Vector2 ----@param t number ----@return Vector2 ----Get (evaluate) spline point: Cubic Bezier -function rl.GetSplinePointBezierCubic(p1,c2,c3,p4,t) end ----@param rec1 Rectangle ----@param rec2 Rectangle ----@return bool ----Check collision between two rectangles -function rl.CheckCollisionRecs(rec1,rec2) end ----@param center1 Vector2 ----@param radius1 number ----@param center2 Vector2 ----@param radius2 number ----@return bool ----Check collision between two circles -function rl.CheckCollisionCircles(center1,radius1,center2,radius2) end ----@param center Vector2 ----@param radius number ----@param rec Rectangle ----@return bool ----Check collision between circle and rectangle -function rl.CheckCollisionCircleRec(center,radius,rec) end ----@param point Vector2 ----@param rec Rectangle ----@return bool ----Check if point is inside rectangle -function rl.CheckCollisionPointRec(point,rec) end ----@param point Vector2 ----@param center Vector2 ----@param radius number ----@return bool ----Check if point is inside circle -function rl.CheckCollisionPointCircle(point,center,radius) end ----@param point Vector2 ----@param p1 Vector2 ----@param p2 Vector2 ----@param p3 Vector2 ----@return bool ----Check if point is inside a triangle -function rl.CheckCollisionPointTriangle(point,p1,p2,p3) end ----@param point Vector2 ----@param points Vector2_ptr|lightuserdata ----@param pointCount number ----@return bool ----Check if point is within a polygon described by array of vertices -function rl.CheckCollisionPointPoly(point,points,pointCount) end ----@param startPos1 Vector2 ----@param endPos1 Vector2 ----@param startPos2 Vector2 ----@param endPos2 Vector2 ----@param collisionPoint Vector2_ptr|lightuserdata ----@return bool ----Check the collision between two lines defined by two points each, returns collision point by reference -function rl.CheckCollisionLines(startPos1,endPos1,startPos2,endPos2,collisionPoint) end ----@param point Vector2 ----@param p1 Vector2 ----@param p2 Vector2 ----@param threshold number ----@return bool ----Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] -function rl.CheckCollisionPointLine(point,p1,p2,threshold) end ----@param rec1 Rectangle ----@param rec2 Rectangle ----@return Rectangle ----Get collision rectangle for two rectangles collision -function rl.GetCollisionRec(rec1,rec2) end ----@param fileName string|lightuserdata ----@return Image ----Load image from file into CPU memory (RAM) -function rl.LoadImage(fileName) end ----@param fileName string|lightuserdata ----@param width number ----@param height number ----@param format number ----@param headerSize number ----@return Image ----Load image from RAW file data -function rl.LoadImageRaw(fileName,width,height,format,headerSize) end ----@param fileNameOrString string|lightuserdata ----@param width number ----@param height number ----@return Image ----Load image from SVG file data or string with specified size -function rl.LoadImageSvg(fileNameOrString,width,height) end ----@param fileName string|lightuserdata ----@param frames number ----@return Image ----Load image sequence from file (frames appended to image.data) -function rl.LoadImageAnim(fileName,frames) end ----@param fileType string|lightuserdata ----@param fileData string|lightuserdata ----@param dataSize number ----@return Image ----Load image from memory buffer, fileType refers to extension: i.e. '.png' -function rl.LoadImageFromMemory(fileType,fileData,dataSize) end ----@param texture Texture2D ----@return Image ----Load image from GPU texture data -function rl.LoadImageFromTexture(texture) end ----@return Image ----Load image from screen buffer and (screenshot) -function rl.LoadImageFromScreen() end ----@param image Image ----@return bool ----Check if an image is ready -function rl.IsImageReady(image) end ----@param image Image ----Unload image from CPU memory (RAM) -function rl.UnloadImage(image) end ----@param image Image ----@param fileName string|lightuserdata ----@return bool ----Export image data to file, returns true on success -function rl.ExportImage(image,fileName) end ----@param image Image ----@param fileType string|lightuserdata ----@param fileSize number ----@return string|lightuserdata ----Export image to memory buffer -function rl.ExportImageToMemory(image,fileType,fileSize) end ----@param image Image ----@param fileName string|lightuserdata ----@return bool ----Export image as code file defining an array of bytes, returns true on success -function rl.ExportImageAsCode(image,fileName) end ----@param width number ----@param height number ----@param color Color ----@return Image ----Generate image: plain color -function rl.GenImageColor(width,height,color) end ----@param width number ----@param height number ----@param direction number ----@param start Color ----@param end_ Color ----@return Image ----Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient -function rl.GenImageGradientLinear(width,height,direction,start,end_) end ----@param width number ----@param height number ----@param density number ----@param inner Color ----@param outer Color ----@return Image ----Generate image: radial gradient -function rl.GenImageGradientRadial(width,height,density,inner,outer) end ----@param width number ----@param height number ----@param density number ----@param inner Color ----@param outer Color ----@return Image ----Generate image: square gradient -function rl.GenImageGradientSquare(width,height,density,inner,outer) end ----@param width number ----@param height number ----@param checksX number ----@param checksY number ----@param col1 Color ----@param col2 Color ----@return Image ----Generate image: checked -function rl.GenImageChecked(width,height,checksX,checksY,col1,col2) end ----@param width number ----@param height number ----@param factor number ----@return Image ----Generate image: white noise -function rl.GenImageWhiteNoise(width,height,factor) end ----@param width number ----@param height number ----@param offsetX number ----@param offsetY number ----@param scale number ----@return Image ----Generate image: perlin noise -function rl.GenImagePerlinNoise(width,height,offsetX,offsetY,scale) end ----@param width number ----@param height number ----@param tileSize number ----@return Image ----Generate image: cellular algorithm, bigger tileSize means bigger cells -function rl.GenImageCellular(width,height,tileSize) end ----@param width number ----@param height number ----@param text string|lightuserdata ----@return Image ----Generate image: grayscale image from text data -function rl.GenImageText(width,height,text) end ----@param image Image ----@return Image ----Create an image duplicate (useful for transformations) -function rl.ImageCopy(image) end ----@param image Image ----@param rec Rectangle ----@return Image ----Create an image from another image piece -function rl.ImageFromImage(image,rec) end ----@param text string|lightuserdata ----@param fontSize number ----@param color Color ----@return Image ----Create an image from text (default font) -function rl.ImageText(text,fontSize,color) end ----@param font Font ----@param text string|lightuserdata ----@param fontSize number ----@param spacing number ----@param tint Color ----@return Image ----Create an image from text (custom sprite font) -function rl.ImageTextEx(font,text,fontSize,spacing,tint) end ----@param image Image_ptr|lightuserdata ----@param newFormat number ----Convert image data to desired format -function rl.ImageFormat(image,newFormat) end ----@param image Image_ptr|lightuserdata ----@param fill Color ----Convert image to POT (power-of-two) -function rl.ImageToPOT(image,fill) end ----@param image Image_ptr|lightuserdata ----@param crop Rectangle ----Crop an image to a defined rectangle -function rl.ImageCrop(image,crop) end ----@param image Image_ptr|lightuserdata ----@param threshold number ----Crop image depending on alpha value -function rl.ImageAlphaCrop(image,threshold) end ----@param image Image_ptr|lightuserdata ----@param color Color ----@param threshold number ----Clear alpha channel to desired color -function rl.ImageAlphaClear(image,color,threshold) end ----@param image Image_ptr|lightuserdata ----@param alphaMask Image ----Apply alpha mask to image -function rl.ImageAlphaMask(image,alphaMask) end ----@param image Image_ptr|lightuserdata ----Premultiply alpha channel -function rl.ImageAlphaPremultiply(image) end ----@param image Image_ptr|lightuserdata ----@param blurSize number ----Apply Gaussian blur using a box blur approximation -function rl.ImageBlurGaussian(image,blurSize) end ----@param image Image_ptr|lightuserdata ----@param newWidth number ----@param newHeight number ----Resize image (Bicubic scaling algorithm) -function rl.ImageResize(image,newWidth,newHeight) end ----@param image Image_ptr|lightuserdata ----@param newWidth number ----@param newHeight number ----Resize image (Nearest-Neighbor scaling algorithm) -function rl.ImageResizeNN(image,newWidth,newHeight) end ----@param image Image_ptr|lightuserdata ----@param newWidth number ----@param newHeight number ----@param offsetX number ----@param offsetY number ----@param fill Color ----Resize canvas and fill with color -function rl.ImageResizeCanvas(image,newWidth,newHeight,offsetX,offsetY,fill) end ----@param image Image_ptr|lightuserdata ----Compute all mipmap levels for a provided image -function rl.ImageMipmaps(image) end ----@param image Image_ptr|lightuserdata ----@param rBpp number ----@param gBpp number ----@param bBpp number ----@param aBpp number ----Dither image data to 16bpp or lower (Floyd-Steinberg dithering) -function rl.ImageDither(image,rBpp,gBpp,bBpp,aBpp) end ----@param image Image_ptr|lightuserdata ----Flip image vertically -function rl.ImageFlipVertical(image) end ----@param image Image_ptr|lightuserdata ----Flip image horizontally -function rl.ImageFlipHorizontal(image) end ----@param image Image_ptr|lightuserdata ----@param degrees number ----Rotate image by input angle in degrees (-359 to 359) -function rl.ImageRotate(image,degrees) end ----@param image Image_ptr|lightuserdata ----Rotate image clockwise 90deg -function rl.ImageRotateCW(image) end ----@param image Image_ptr|lightuserdata ----Rotate image counter-clockwise 90deg -function rl.ImageRotateCCW(image) end ----@param image Image_ptr|lightuserdata ----@param color Color ----Modify image color: tint -function rl.ImageColorTint(image,color) end ----@param image Image_ptr|lightuserdata ----Modify image color: invert -function rl.ImageColorInvert(image) end ----@param image Image_ptr|lightuserdata ----Modify image color: grayscale -function rl.ImageColorGrayscale(image) end ----@param image Image_ptr|lightuserdata ----@param contrast number ----Modify image color: contrast (-100 to 100) -function rl.ImageColorContrast(image,contrast) end ----@param image Image_ptr|lightuserdata ----@param brightness number ----Modify image color: brightness (-255 to 255) -function rl.ImageColorBrightness(image,brightness) end ----@param image Image_ptr|lightuserdata ----@param color Color ----@param replace Color ----Modify image color: replace color -function rl.ImageColorReplace(image,color,replace) end ----@param image Image ----@return Color_ptr|lightuserdata ----Load color data from image as a Color array (RGBA - 32bit) -function rl.LoadImageColors(image) end ----@param image Image ----@param maxPaletteSize number ----@param colorCount number ----@return Color_ptr|lightuserdata ----Load colors palette from image as a Color array (RGBA - 32bit) -function rl.LoadImagePalette(image,maxPaletteSize,colorCount) end ----@param colors Color_ptr|lightuserdata ----Unload color data loaded with LoadImageColors() -function rl.UnloadImageColors(colors) end ----@param colors Color_ptr|lightuserdata ----Unload colors palette loaded with LoadImagePalette() -function rl.UnloadImagePalette(colors) end ----@param image Image ----@param threshold number ----@return Rectangle ----Get image alpha border rectangle -function rl.GetImageAlphaBorder(image,threshold) end ----@param image Image ----@param x number ----@param y number ----@return Color ----Get image pixel color at (x, y) position -function rl.GetImageColor(image,x,y) end ----@param dst Image_ptr|lightuserdata ----@param color Color ----Clear image background with given color -function rl.ImageClearBackground(dst,color) end ----@param dst Image_ptr|lightuserdata ----@param posX number ----@param posY number ----@param color Color ----Draw pixel within an image -function rl.ImageDrawPixel(dst,posX,posY,color) end ----@param dst Image_ptr|lightuserdata ----@param position Vector2 ----@param color Color ----Draw pixel within an image (Vector version) -function rl.ImageDrawPixelV(dst,position,color) end ----@param dst Image_ptr|lightuserdata ----@param startPosX number ----@param startPosY number ----@param endPosX number ----@param endPosY number ----@param color Color ----Draw line within an image -function rl.ImageDrawLine(dst,startPosX,startPosY,endPosX,endPosY,color) end ----@param dst Image_ptr|lightuserdata ----@param start Vector2 ----@param end_ Vector2 ----@param color Color ----Draw line within an image (Vector version) -function rl.ImageDrawLineV(dst,start,end_,color) end ----@param dst Image_ptr|lightuserdata ----@param centerX number ----@param centerY number ----@param radius number ----@param color Color ----Draw a filled circle within an image -function rl.ImageDrawCircle(dst,centerX,centerY,radius,color) end ----@param dst Image_ptr|lightuserdata ----@param center Vector2 ----@param radius number ----@param color Color ----Draw a filled circle within an image (Vector version) -function rl.ImageDrawCircleV(dst,center,radius,color) end ----@param dst Image_ptr|lightuserdata ----@param centerX number ----@param centerY number ----@param radius number ----@param color Color ----Draw circle outline within an image -function rl.ImageDrawCircleLines(dst,centerX,centerY,radius,color) end ----@param dst Image_ptr|lightuserdata ----@param center Vector2 ----@param radius number ----@param color Color ----Draw circle outline within an image (Vector version) -function rl.ImageDrawCircleLinesV(dst,center,radius,color) end ----@param dst Image_ptr|lightuserdata ----@param posX number ----@param posY number ----@param width number ----@param height number ----@param color Color ----Draw rectangle within an image -function rl.ImageDrawRectangle(dst,posX,posY,width,height,color) end ----@param dst Image_ptr|lightuserdata ----@param position Vector2 ----@param size Vector2 ----@param color Color ----Draw rectangle within an image (Vector version) -function rl.ImageDrawRectangleV(dst,position,size,color) end ----@param dst Image_ptr|lightuserdata ----@param rec Rectangle ----@param color Color ----Draw rectangle within an image -function rl.ImageDrawRectangleRec(dst,rec,color) end ----@param dst Image_ptr|lightuserdata ----@param rec Rectangle ----@param thick number ----@param color Color ----Draw rectangle lines within an image -function rl.ImageDrawRectangleLines(dst,rec,thick,color) end ----@param dst Image_ptr|lightuserdata ----@param src Image ----@param srcRec Rectangle ----@param dstRec Rectangle ----@param tint Color ----Draw a source image within a destination image (tint applied to source) -function rl.ImageDraw(dst,src,srcRec,dstRec,tint) end ----@param dst Image_ptr|lightuserdata ----@param text string|lightuserdata ----@param posX number ----@param posY number ----@param fontSize number ----@param color Color ----Draw text (using default font) within an image (destination) -function rl.ImageDrawText(dst,text,posX,posY,fontSize,color) end ----@param dst Image_ptr|lightuserdata ----@param font Font ----@param text string|lightuserdata ----@param position Vector2 ----@param fontSize number ----@param spacing number ----@param tint Color ----Draw text (custom sprite font) within an image (destination) -function rl.ImageDrawTextEx(dst,font,text,position,fontSize,spacing,tint) end ----@param fileName string|lightuserdata ----@return Texture2D ----Load texture from file into GPU memory (VRAM) -function rl.LoadTexture(fileName) end ----@param image Image ----@return Texture2D ----Load texture from image data -function rl.LoadTextureFromImage(image) end ----@param image Image ----@param layout number ----@return TextureCubemap ----Load cubemap from image, multiple image cubemap layouts supported -function rl.LoadTextureCubemap(image,layout) end ----@param width number ----@param height number ----@return RenderTexture2D ----Load texture for rendering (framebuffer) -function rl.LoadRenderTexture(width,height) end ----@param texture Texture2D ----@return bool ----Check if a texture is ready -function rl.IsTextureReady(texture) end ----@param texture Texture2D ----Unload texture from GPU memory (VRAM) -function rl.UnloadTexture(texture) end ----@param target RenderTexture2D ----@return bool ----Check if a render texture is ready -function rl.IsRenderTextureReady(target) end ----@param target RenderTexture2D ----Unload render texture from GPU memory (VRAM) -function rl.UnloadRenderTexture(target) end ----@param texture Texture2D ----@param pixels string|lightuserdata ----Update GPU texture with new data -function rl.UpdateTexture(texture,pixels) end ----@param texture Texture2D ----@param rec Rectangle ----@param pixels string|lightuserdata ----Update GPU texture rectangle with new data -function rl.UpdateTextureRec(texture,rec,pixels) end ----@param texture Texture2D_ptr|lightuserdata ----Generate GPU mipmaps for a texture -function rl.GenTextureMipmaps(texture) end ----@param texture Texture2D ----@param filter number ----Set texture scaling filter mode -function rl.SetTextureFilter(texture,filter) end ----@param texture Texture2D ----@param wrap number ----Set texture wrapping mode -function rl.SetTextureWrap(texture,wrap) end ----@param texture Texture2D ----@param posX number ----@param posY number ----@param tint Color ----Draw a Texture2D -function rl.DrawTexture(texture,posX,posY,tint) end ----@param texture Texture2D ----@param position Vector2 ----@param tint Color ----Draw a Texture2D with position defined as Vector2 -function rl.DrawTextureV(texture,position,tint) end ----@param texture Texture2D ----@param position Vector2 ----@param rotation number ----@param scale number ----@param tint Color ----Draw a Texture2D with extended parameters -function rl.DrawTextureEx(texture,position,rotation,scale,tint) end ----@param texture Texture2D ----@param source Rectangle ----@param position Vector2 ----@param tint Color ----Draw a part of a texture defined by a rectangle -function rl.DrawTextureRec(texture,source,position,tint) end ----@param texture Texture2D ----@param source Rectangle ----@param dest Rectangle ----@param origin Vector2 ----@param rotation number ----@param tint Color ----Draw a part of a texture defined by a rectangle with 'pro' parameters -function rl.DrawTexturePro(texture,source,dest,origin,rotation,tint) end ----@param texture Texture2D ----@param nPatchInfo NPatchInfo ----@param dest Rectangle ----@param origin Vector2 ----@param rotation number ----@param tint Color ----Draws a texture (or part of it) that stretches or shrinks nicely -function rl.DrawTextureNPatch(texture,nPatchInfo,dest,origin,rotation,tint) end ----@param color Color ----@param alpha number ----@return Color ----Get color with alpha applied, alpha goes from 0.0f to 1.0f -function rl.Fade(color,alpha) end ----@param color Color ----@return number ----Get hexadecimal value for a Color -function rl.ColorToInt(color) end ----@param color Color ----@return Vector4 ----Get Color normalized as float [0..1] -function rl.ColorNormalize(color) end ----@param normalized Vector4 ----@return Color ----Get Color from normalized values [0..1] -function rl.ColorFromNormalized(normalized) end ----@param color Color ----@return Vector3 ----Get HSV values for a Color, hue [0..360], saturation/value [0..1] -function rl.ColorToHSV(color) end ----@param hue number ----@param saturation number ----@param value number ----@return Color ----Get a Color from HSV values, hue [0..360], saturation/value [0..1] -function rl.ColorFromHSV(hue,saturation,value) end ----@param color Color ----@param tint Color ----@return Color ----Get color multiplied with another color -function rl.ColorTint(color,tint) end ----@param color Color ----@param factor number ----@return Color ----Get color with brightness correction, brightness factor goes from -1.0f to 1.0f -function rl.ColorBrightness(color,factor) end ----@param color Color ----@param contrast number ----@return Color ----Get color with contrast correction, contrast values between -1.0f and 1.0f -function rl.ColorContrast(color,contrast) end ----@param color Color ----@param alpha number ----@return Color ----Get color with alpha applied, alpha goes from 0.0f to 1.0f -function rl.ColorAlpha(color,alpha) end ----@param dst Color ----@param src Color ----@param tint Color ----@return Color ----Get src alpha-blended into dst color with tint -function rl.ColorAlphaBlend(dst,src,tint) end ----@param hexValue number ----@return Color ----Get Color structure from hexadecimal value -function rl.GetColor(hexValue) end ----@param srcPtr string|lightuserdata ----@param format number ----@return Color ----Get Color from a source pixel pointer of certain format -function rl.GetPixelColor(srcPtr,format) end ----@param dstPtr string|lightuserdata ----@param color Color ----@param format number ----Set color formatted into destination pixel pointer -function rl.SetPixelColor(dstPtr,color,format) end ----@param width number ----@param height number ----@param format number ----@return number ----Get pixel data size in bytes for certain format -function rl.GetPixelDataSize(width,height,format) end ----@return Font ----Get the default Font -function rl.GetFontDefault() end ----@param fileName string|lightuserdata ----@return Font ----Load font from file into GPU memory (VRAM) -function rl.LoadFont(fileName) end ----@param fileName string|lightuserdata ----@param fontSize number ----@param codepoints number ----@param codepointCount number ----@return Font ----Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character setFont -function rl.LoadFontEx(fileName,fontSize,codepoints,codepointCount) end ----@param image Image ----@param key Color ----@param firstChar number ----@return Font ----Load font from Image (XNA style) -function rl.LoadFontFromImage(image,key,firstChar) end ----@param fileType string|lightuserdata ----@param fileData string|lightuserdata ----@param dataSize number ----@param fontSize number ----@param codepoints number ----@param codepointCount number ----@return Font ----Load font from memory buffer, fileType refers to extension: i.e. '.ttf' -function rl.LoadFontFromMemory(fileType,fileData,dataSize,fontSize,codepoints,codepointCount) end ----@param font Font ----@return bool ----Check if a font is ready -function rl.IsFontReady(font) end ----@param fileData string|lightuserdata ----@param dataSize number ----@param fontSize number ----@param codepoints number ----@param codepointCount number ----@param type number ----@return GlyphInfo_ptr|lightuserdata ----Load font data for further use -function rl.LoadFontData(fileData,dataSize,fontSize,codepoints,codepointCount,type) end ----@param glyphs const_GlyphInfo_ptr|lightuserdata ----@param glyphRecs Rectangle_ptr_ptr|lightuserdata ----@param glyphCount number ----@param fontSize number ----@param padding number ----@param packMethod number ----@return Image ----Generate image font atlas using chars info -function rl.GenImageFontAtlas(glyphs,glyphRecs,glyphCount,fontSize,padding,packMethod) end ----@param glyphs GlyphInfo_ptr|lightuserdata ----@param glyphCount number ----Unload font chars info data (RAM) -function rl.UnloadFontData(glyphs,glyphCount) end ----@param font Font ----Unload font from GPU memory (VRAM) -function rl.UnloadFont(font) end ----@param font Font ----@param fileName string|lightuserdata ----@return bool ----Export font as code file, returns true on success -function rl.ExportFontAsCode(font,fileName) end ----@param posX number ----@param posY number ----Draw current FPS -function rl.DrawFPS(posX,posY) end ----@param text string|lightuserdata ----@param posX number ----@param posY number ----@param fontSize number ----@param color Color ----Draw text (using default font) -function rl.DrawText(text,posX,posY,fontSize,color) end ----@param font Font ----@param text string|lightuserdata ----@param position Vector2 ----@param fontSize number ----@param spacing number ----@param tint Color ----Draw text using font and additional parameters -function rl.DrawTextEx(font,text,position,fontSize,spacing,tint) end ----@param font Font ----@param text string|lightuserdata ----@param position Vector2 ----@param origin Vector2 ----@param rotation number ----@param fontSize number ----@param spacing number ----@param tint Color ----Draw text using Font and pro parameters (rotation) -function rl.DrawTextPro(font,text,position,origin,rotation,fontSize,spacing,tint) end ----@param font Font ----@param codepoint number ----@param position Vector2 ----@param fontSize number ----@param tint Color ----Draw one character (codepoint) -function rl.DrawTextCodepoint(font,codepoint,position,fontSize,tint) end ----@param font Font ----@param codepoints number ----@param codepointCount number ----@param position Vector2 ----@param fontSize number ----@param spacing number ----@param tint Color ----Draw multiple character (codepoint) -function rl.DrawTextCodepoints(font,codepoints,codepointCount,position,fontSize,spacing,tint) end ----@param spacing number ----Set vertical line spacing when drawing with line-breaks -function rl.SetTextLineSpacing(spacing) end ----@param text string|lightuserdata ----@param fontSize number ----@return number ----Measure string width for default font -function rl.MeasureText(text,fontSize) end ----@param font Font ----@param text string|lightuserdata ----@param fontSize number ----@param spacing number ----@return Vector2 ----Measure string size for Font -function rl.MeasureTextEx(font,text,fontSize,spacing) end ----@param font Font ----@param codepoint number ----@return number ----Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found -function rl.GetGlyphIndex(font,codepoint) end ----@param font Font ----@param codepoint number ----@return GlyphInfo ----Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found -function rl.GetGlyphInfo(font,codepoint) end ----@param font Font ----@param codepoint number ----@return Rectangle ----Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found -function rl.GetGlyphAtlasRec(font,codepoint) end ----@param codepoints number ----@param length number ----@return string|lightuserdata ----Load UTF-8 text encoded from codepoints array -function rl.LoadUTF8(codepoints,length) end ----@param text string|lightuserdata ----Unload UTF-8 text encoded from codepoints array -function rl.UnloadUTF8(text) end ----@param text string|lightuserdata ----@param count number ----@return number ----Load all codepoints from a UTF-8 text string, codepoints count returned by parameter -function rl.LoadCodepoints(text,count) end ----@param codepoints number ----Unload codepoints data from memory -function rl.UnloadCodepoints(codepoints) end ----@param text string|lightuserdata ----@return number ----Get total number of codepoints in a UTF-8 encoded string -function rl.GetCodepointCount(text) end ----@param text string|lightuserdata ----@param codepointSize number ----@return number ----Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure -function rl.GetCodepoint(text,codepointSize) end ----@param text string|lightuserdata ----@param codepointSize number ----@return number ----Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure -function rl.GetCodepointNext(text,codepointSize) end ----@param text string|lightuserdata ----@param codepointSize number ----@return number ----Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure -function rl.GetCodepointPrevious(text,codepointSize) end ----@param codepoint number ----@param utf8Size number ----@return string|lightuserdata ----Encode one codepoint into UTF-8 byte array (array length returned as parameter) -function rl.CodepointToUTF8(codepoint,utf8Size) end ----@param dst string|lightuserdata ----@param src string|lightuserdata ----@return number ----Copy one string to another, returns bytes copied -function rl.TextCopy(dst,src) end ----@param text1 string|lightuserdata ----@param text2 string|lightuserdata ----@return bool ----Check if two text string are equal -function rl.TextIsEqual(text1,text2) end ----@param text string|lightuserdata ----@return number ----Get text length, checks for '\0' ending -function rl.TextLength(text) end ----@param text string|lightuserdata ----@param args ... ----@return string|lightuserdata ----Text formatting with variables (sprintf() style) -function rl.TextFormat(text,args) end ----@param text string|lightuserdata ----@param position number ----@param length number ----@return string|lightuserdata ----Get a piece of a text string -function rl.TextSubtext(text,position,length) end ----@param text string|lightuserdata ----@param replace string|lightuserdata ----@param by string|lightuserdata ----@return string|lightuserdata ----Replace text string (WARNING: memory must be freed!) -function rl.TextReplace(text,replace,by) end ----@param text string|lightuserdata ----@param insert string|lightuserdata ----@param position number ----@return string|lightuserdata ----Insert text in a position (WARNING: memory must be freed!) -function rl.TextInsert(text,insert,position) end ----@param textList string|lightuserdata ----@param count number ----@param delimiter string|lightuserdata ----@return string|lightuserdata ----Join text strings with delimiter -function rl.TextJoin(textList,count,delimiter) end ----@param text string|lightuserdata ----@param delimiter number|string[] ----@param count number ----@return string|lightuserdata ----Split text into multiple strings -function rl.TextSplit(text,delimiter,count) end ----@param text string|lightuserdata ----@param append string|lightuserdata ----@param position number ----Append text at specific position and move cursor! -function rl.TextAppend(text,append,position) end ----@param text string|lightuserdata ----@param find string|lightuserdata ----@return number ----Find first text occurrence within a string -function rl.TextFindIndex(text,find) end ----@param text string|lightuserdata ----@return string|lightuserdata ----Get upper case version of provided string -function rl.TextToUpper(text) end ----@param text string|lightuserdata ----@return string|lightuserdata ----Get lower case version of provided string -function rl.TextToLower(text) end ----@param text string|lightuserdata ----@return string|lightuserdata ----Get Pascal case notation version of provided string -function rl.TextToPascal(text) end ----@param text string|lightuserdata ----@return number ----Get integer value from text (negative values not supported) -function rl.TextToInteger(text) end ----@param startPos Vector3 ----@param endPos Vector3 ----@param color Color ----Draw a line in 3D world space -function rl.DrawLine3D(startPos,endPos,color) end ----@param position Vector3 ----@param color Color ----Draw a point in 3D space, actually a small line -function rl.DrawPoint3D(position,color) end ----@param center Vector3 ----@param radius number ----@param rotationAxis Vector3 ----@param rotationAngle number ----@param color Color ----Draw a circle in 3D world space -function rl.DrawCircle3D(center,radius,rotationAxis,rotationAngle,color) end ----@param v1 Vector3 ----@param v2 Vector3 ----@param v3 Vector3 ----@param color Color ----Draw a color-filled triangle (vertex in counter-clockwise order!) -function rl.DrawTriangle3D(v1,v2,v3,color) end ----@param points Vector3_ptr|lightuserdata ----@param pointCount number ----@param color Color ----Draw a triangle strip defined by points -function rl.DrawTriangleStrip3D(points,pointCount,color) end ----@param position Vector3 ----@param width number ----@param height number ----@param length number ----@param color Color ----Draw cube -function rl.DrawCube(position,width,height,length,color) end ----@param position Vector3 ----@param size Vector3 ----@param color Color ----Draw cube (Vector version) -function rl.DrawCubeV(position,size,color) end ----@param position Vector3 ----@param width number ----@param height number ----@param length number ----@param color Color ----Draw cube wires -function rl.DrawCubeWires(position,width,height,length,color) end ----@param position Vector3 ----@param size Vector3 ----@param color Color ----Draw cube wires (Vector version) -function rl.DrawCubeWiresV(position,size,color) end ----@param centerPos Vector3 ----@param radius number ----@param color Color ----Draw sphere -function rl.DrawSphere(centerPos,radius,color) end ----@param centerPos Vector3 ----@param radius number ----@param rings number ----@param slices number ----@param color Color ----Draw sphere with extended parameters -function rl.DrawSphereEx(centerPos,radius,rings,slices,color) end ----@param centerPos Vector3 ----@param radius number ----@param rings number ----@param slices number ----@param color Color ----Draw sphere wires -function rl.DrawSphereWires(centerPos,radius,rings,slices,color) end ----@param position Vector3 ----@param radiusTop number ----@param radiusBottom number ----@param height number ----@param slices number ----@param color Color ----Draw a cylinder/cone -function rl.DrawCylinder(position,radiusTop,radiusBottom,height,slices,color) end ----@param startPos Vector3 ----@param endPos Vector3 ----@param startRadius number ----@param endRadius number ----@param sides number ----@param color Color ----Draw a cylinder with base at startPos and top at endPos -function rl.DrawCylinderEx(startPos,endPos,startRadius,endRadius,sides,color) end ----@param position Vector3 ----@param radiusTop number ----@param radiusBottom number ----@param height number ----@param slices number ----@param color Color ----Draw a cylinder/cone wires -function rl.DrawCylinderWires(position,radiusTop,radiusBottom,height,slices,color) end ----@param startPos Vector3 ----@param endPos Vector3 ----@param startRadius number ----@param endRadius number ----@param sides number ----@param color Color ----Draw a cylinder wires with base at startPos and top at endPos -function rl.DrawCylinderWiresEx(startPos,endPos,startRadius,endRadius,sides,color) end ----@param startPos Vector3 ----@param endPos Vector3 ----@param radius number ----@param slices number ----@param rings number ----@param color Color ----Draw a capsule with the center of its sphere caps at startPos and endPos -function rl.DrawCapsule(startPos,endPos,radius,slices,rings,color) end ----@param startPos Vector3 ----@param endPos Vector3 ----@param radius number ----@param slices number ----@param rings number ----@param color Color ----Draw capsule wireframe with the center of its sphere caps at startPos and endPos -function rl.DrawCapsuleWires(startPos,endPos,radius,slices,rings,color) end ----@param centerPos Vector3 ----@param size Vector2 ----@param color Color ----Draw a plane XZ -function rl.DrawPlane(centerPos,size,color) end ----@param ray Ray ----@param color Color ----Draw a ray line -function rl.DrawRay(ray,color) end ----@param slices number ----@param spacing number ----Draw a grid (centered at (0, 0, 0)) -function rl.DrawGrid(slices,spacing) end ----@param fileName string|lightuserdata ----@return Model ----Load model from files (meshes and materials) -function rl.LoadModel(fileName) end ----@param mesh Mesh ----@return Model ----Load model from generated mesh (default material) -function rl.LoadModelFromMesh(mesh) end ----@param model Model ----@return bool ----Check if a model is ready -function rl.IsModelReady(model) end ----@param model Model ----Unload model (including meshes) from memory (RAM and/or VRAM) -function rl.UnloadModel(model) end ----@param model Model ----@return BoundingBox ----Compute model bounding box limits (considers all meshes) -function rl.GetModelBoundingBox(model) end ----@param model Model ----@param position Vector3 ----@param scale number ----@param tint Color ----Draw a model (with texture if set) -function rl.DrawModel(model,position,scale,tint) end ----@param model Model ----@param position Vector3 ----@param rotationAxis Vector3 ----@param rotationAngle number ----@param scale Vector3 ----@param tint Color ----Draw a model with extended parameters -function rl.DrawModelEx(model,position,rotationAxis,rotationAngle,scale,tint) end ----@param model Model ----@param position Vector3 ----@param scale number ----@param tint Color ----Draw a model wires (with texture if set) -function rl.DrawModelWires(model,position,scale,tint) end ----@param model Model ----@param position Vector3 ----@param rotationAxis Vector3 ----@param rotationAngle number ----@param scale Vector3 ----@param tint Color ----Draw a model wires (with texture if set) with extended parameters -function rl.DrawModelWiresEx(model,position,rotationAxis,rotationAngle,scale,tint) end ----@param box BoundingBox ----@param color Color ----Draw bounding box (wires) -function rl.DrawBoundingBox(box,color) end ----@param camera Camera ----@param texture Texture2D ----@param position Vector3 ----@param size number ----@param tint Color ----Draw a billboard texture -function rl.DrawBillboard(camera,texture,position,size,tint) end ----@param camera Camera ----@param texture Texture2D ----@param source Rectangle ----@param position Vector3 ----@param size Vector2 ----@param tint Color ----Draw a billboard texture defined by source -function rl.DrawBillboardRec(camera,texture,source,position,size,tint) end ----@param camera Camera ----@param texture Texture2D ----@param source Rectangle ----@param position Vector3 ----@param up Vector3 ----@param size Vector2 ----@param origin Vector2 ----@param rotation number ----@param tint Color ----Draw a billboard texture defined by source and rotation -function rl.DrawBillboardPro(camera,texture,source,position,up,size,origin,rotation,tint) end ----@param mesh Mesh_ptr|lightuserdata ----@param dynamic bool ----Upload mesh vertex data in GPU and provide VAO/VBO ids -function rl.UploadMesh(mesh,dynamic) end ----@param mesh Mesh ----@param index number ----@param data string|lightuserdata ----@param dataSize number ----@param offset number ----Update mesh vertex data in GPU for a specific buffer index -function rl.UpdateMeshBuffer(mesh,index,data,dataSize,offset) end ----@param mesh Mesh ----Unload mesh data from CPU and GPU -function rl.UnloadMesh(mesh) end ----@param mesh Mesh ----@param material Material ----@param transform Matrix ----Draw a 3d mesh with material and transform -function rl.DrawMesh(mesh,material,transform) end ----@param mesh Mesh ----@param material Material ----@param transforms const_Matrix_ptr|lightuserdata ----@param instances number ----Draw multiple mesh instances with material and different transforms -function rl.DrawMeshInstanced(mesh,material,transforms,instances) end ----@param mesh Mesh ----@param fileName string|lightuserdata ----@return bool ----Export mesh data to file, returns true on success -function rl.ExportMesh(mesh,fileName) end ----@param mesh Mesh ----@return BoundingBox ----Compute mesh bounding box limits -function rl.GetMeshBoundingBox(mesh) end ----@param mesh Mesh_ptr|lightuserdata ----Compute mesh tangents -function rl.GenMeshTangents(mesh) end ----@param sides number ----@param radius number ----@return Mesh ----Generate polygonal mesh -function rl.GenMeshPoly(sides,radius) end ----@param width number ----@param length number ----@param resX number ----@param resZ number ----@return Mesh ----Generate plane mesh (with subdivisions) -function rl.GenMeshPlane(width,length,resX,resZ) end ----@param width number ----@param height number ----@param length number ----@return Mesh ----Generate cuboid mesh -function rl.GenMeshCube(width,height,length) end ----@param radius number ----@param rings number ----@param slices number ----@return Mesh ----Generate sphere mesh (standard sphere) -function rl.GenMeshSphere(radius,rings,slices) end ----@param radius number ----@param rings number ----@param slices number ----@return Mesh ----Generate half-sphere mesh (no bottom cap) -function rl.GenMeshHemiSphere(radius,rings,slices) end ----@param radius number ----@param height number ----@param slices number ----@return Mesh ----Generate cylinder mesh -function rl.GenMeshCylinder(radius,height,slices) end ----@param radius number ----@param height number ----@param slices number ----@return Mesh ----Generate cone/pyramid mesh -function rl.GenMeshCone(radius,height,slices) end ----@param radius number ----@param size number ----@param radSeg number ----@param sides number ----@return Mesh ----Generate torus mesh -function rl.GenMeshTorus(radius,size,radSeg,sides) end ----@param radius number ----@param size number ----@param radSeg number ----@param sides number ----@return Mesh ----Generate trefoil knot mesh -function rl.GenMeshKnot(radius,size,radSeg,sides) end ----@param heightmap Image ----@param size Vector3 ----@return Mesh ----Generate heightmap mesh from image data -function rl.GenMeshHeightmap(heightmap,size) end ----@param cubicmap Image ----@param cubeSize Vector3 ----@return Mesh ----Generate cubes-based map mesh from image data -function rl.GenMeshCubicmap(cubicmap,cubeSize) end ----@param fileName string|lightuserdata ----@param materialCount number ----@return Material_ptr|lightuserdata ----Load materials from model file -function rl.LoadMaterials(fileName,materialCount) end ----@return Material ----Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) -function rl.LoadMaterialDefault() end ----@param material Material ----@return bool ----Check if a material is ready -function rl.IsMaterialReady(material) end ----@param material Material ----Unload material from GPU memory (VRAM) -function rl.UnloadMaterial(material) end ----@param material Material_ptr|lightuserdata ----@param mapType number ----@param texture Texture2D ----Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) -function rl.SetMaterialTexture(material,mapType,texture) end ----@param model Model_ptr|lightuserdata ----@param meshId number ----@param materialId number ----Set material for a mesh -function rl.SetModelMeshMaterial(model,meshId,materialId) end ----@param fileName string|lightuserdata ----@param animCount number ----@return ModelAnimation_ptr|lightuserdata ----Load model animations from file -function rl.LoadModelAnimations(fileName,animCount) end ----@param model Model ----@param anim ModelAnimation ----@param frame number ----Update model animation pose -function rl.UpdateModelAnimation(model,anim,frame) end ----@param anim ModelAnimation ----Unload animation data -function rl.UnloadModelAnimation(anim) end ----@param animations ModelAnimation_ptr|lightuserdata ----@param animCount number ----Unload animation array data -function rl.UnloadModelAnimations(animations,animCount) end ----@param model Model ----@param anim ModelAnimation ----@return bool ----Check model animation skeleton match -function rl.IsModelAnimationValid(model,anim) end ----@param center1 Vector3 ----@param radius1 number ----@param center2 Vector3 ----@param radius2 number ----@return bool ----Check collision between two spheres -function rl.CheckCollisionSpheres(center1,radius1,center2,radius2) end ----@param box1 BoundingBox ----@param box2 BoundingBox ----@return bool ----Check collision between two bounding boxes -function rl.CheckCollisionBoxes(box1,box2) end ----@param box BoundingBox ----@param center Vector3 ----@param radius number ----@return bool ----Check collision between box and sphere -function rl.CheckCollisionBoxSphere(box,center,radius) end ----@param ray Ray ----@param center Vector3 ----@param radius number ----@return RayCollision ----Get collision info between ray and sphere -function rl.GetRayCollisionSphere(ray,center,radius) end ----@param ray Ray ----@param box BoundingBox ----@return RayCollision ----Get collision info between ray and box -function rl.GetRayCollisionBox(ray,box) end ----@param ray Ray ----@param mesh Mesh ----@param transform Matrix ----@return RayCollision ----Get collision info between ray and mesh -function rl.GetRayCollisionMesh(ray,mesh,transform) end ----@param ray Ray ----@param p1 Vector3 ----@param p2 Vector3 ----@param p3 Vector3 ----@return RayCollision ----Get collision info between ray and triangle -function rl.GetRayCollisionTriangle(ray,p1,p2,p3) end ----@param ray Ray ----@param p1 Vector3 ----@param p2 Vector3 ----@param p3 Vector3 ----@param p4 Vector3 ----@return RayCollision ----Get collision info between ray and quad -function rl.GetRayCollisionQuad(ray,p1,p2,p3,p4) end ----Initialize audio device and context -function rl.InitAudioDevice() end ----Close the audio device and context -function rl.CloseAudioDevice() end ----@return bool ----Check if audio device has been initialized successfully -function rl.IsAudioDeviceReady() end ----@param volume number ----Set master volume (listener) -function rl.SetMasterVolume(volume) end ----@return number ----Get master volume (listener) -function rl.GetMasterVolume() end ----@param fileName string|lightuserdata ----@return Wave ----Load wave data from file -function rl.LoadWave(fileName) end ----@param fileType string|lightuserdata ----@param fileData string|lightuserdata ----@param dataSize number ----@return Wave ----Load wave from memory buffer, fileType refers to extension: i.e. '.wav' -function rl.LoadWaveFromMemory(fileType,fileData,dataSize) end ----@param wave Wave ----@return bool ----Checks if wave data is ready -function rl.IsWaveReady(wave) end ----@param fileName string|lightuserdata ----@return Sound ----Load sound from file -function rl.LoadSound(fileName) end ----@param wave Wave ----@return Sound ----Load sound from wave data -function rl.LoadSoundFromWave(wave) end ----@param source Sound ----@return Sound ----Create a new sound that shares the same sample data as the source sound, does not own the sound data -function rl.LoadSoundAlias(source) end ----@param sound Sound ----@return bool ----Checks if a sound is ready -function rl.IsSoundReady(sound) end ----@param sound Sound ----@param data string|lightuserdata ----@param sampleCount number ----Update sound buffer with new data -function rl.UpdateSound(sound,data,sampleCount) end ----@param wave Wave ----Unload wave data -function rl.UnloadWave(wave) end ----@param sound Sound ----Unload sound -function rl.UnloadSound(sound) end ----@param alias Sound ----Unload a sound alias (does not deallocate sample data) -function rl.UnloadSoundAlias(alias) end ----@param wave Wave ----@param fileName string|lightuserdata ----@return bool ----Export wave data to file, returns true on success -function rl.ExportWave(wave,fileName) end ----@param wave Wave ----@param fileName string|lightuserdata ----@return bool ----Export wave sample data to code (.h), returns true on success -function rl.ExportWaveAsCode(wave,fileName) end ----@param sound Sound ----Play a sound -function rl.PlaySound(sound) end ----@param sound Sound ----Stop playing a sound -function rl.StopSound(sound) end ----@param sound Sound ----Pause a sound -function rl.PauseSound(sound) end ----@param sound Sound ----Resume a paused sound -function rl.ResumeSound(sound) end ----@param sound Sound ----@return bool ----Check if a sound is currently playing -function rl.IsSoundPlaying(sound) end ----@param sound Sound ----@param volume number ----Set volume for a sound (1.0 is max level) -function rl.SetSoundVolume(sound,volume) end ----@param sound Sound ----@param pitch number ----Set pitch for a sound (1.0 is base level) -function rl.SetSoundPitch(sound,pitch) end ----@param sound Sound ----@param pan number ----Set pan for a sound (0.5 is center) -function rl.SetSoundPan(sound,pan) end ----@param wave Wave ----@return Wave ----Copy a wave to a new wave -function rl.WaveCopy(wave) end ----@param wave Wave_ptr|lightuserdata ----@param initSample number ----@param finalSample number ----Crop a wave to defined samples range -function rl.WaveCrop(wave,initSample,finalSample) end ----@param wave Wave_ptr|lightuserdata ----@param sampleRate number ----@param sampleSize number ----@param channels number ----Convert wave data to desired format -function rl.WaveFormat(wave,sampleRate,sampleSize,channels) end ----@param wave Wave ----@return number ----Load samples data from wave as a 32bit float data array -function rl.LoadWaveSamples(wave) end ----@param samples number ----Unload samples data loaded with LoadWaveSamples() -function rl.UnloadWaveSamples(samples) end ----@param fileName string|lightuserdata ----@return Music ----Load music stream from file -function rl.LoadMusicStream(fileName) end ----@param fileType string|lightuserdata ----@param data string|lightuserdata ----@param dataSize number ----@return Music ----Load music stream from data -function rl.LoadMusicStreamFromMemory(fileType,data,dataSize) end ----@param music Music ----@return bool ----Checks if a music stream is ready -function rl.IsMusicReady(music) end ----@param music Music ----Unload music stream -function rl.UnloadMusicStream(music) end ----@param music Music ----Start music playing -function rl.PlayMusicStream(music) end ----@param music Music ----@return bool ----Check if music is playing -function rl.IsMusicStreamPlaying(music) end ----@param music Music ----Updates buffers for music streaming -function rl.UpdateMusicStream(music) end ----@param music Music ----Stop music playing -function rl.StopMusicStream(music) end ----@param music Music ----Pause music playing -function rl.PauseMusicStream(music) end ----@param music Music ----Resume playing paused music -function rl.ResumeMusicStream(music) end ----@param music Music ----@param position number ----Seek music to a position (in seconds) -function rl.SeekMusicStream(music,position) end ----@param music Music ----@param volume number ----Set volume for music (1.0 is max level) -function rl.SetMusicVolume(music,volume) end ----@param music Music ----@param pitch number ----Set pitch for a music (1.0 is base level) -function rl.SetMusicPitch(music,pitch) end ----@param music Music ----@param pan number ----Set pan for a music (0.5 is center) -function rl.SetMusicPan(music,pan) end ----@param music Music ----@return number ----Get music time length (in seconds) -function rl.GetMusicTimeLength(music) end ----@param music Music ----@return number ----Get current music time played (in seconds) -function rl.GetMusicTimePlayed(music) end ----@param sampleRate number ----@param sampleSize number ----@param channels number ----@return AudioStream ----Load audio stream (to stream raw audio pcm data) -function rl.LoadAudioStream(sampleRate,sampleSize,channels) end ----@param stream AudioStream ----@return bool ----Checks if an audio stream is ready -function rl.IsAudioStreamReady(stream) end ----@param stream AudioStream ----Unload audio stream and free memory -function rl.UnloadAudioStream(stream) end ----@param stream AudioStream ----@param data string|lightuserdata ----@param frameCount number ----Update audio stream buffers with data -function rl.UpdateAudioStream(stream,data,frameCount) end ----@param stream AudioStream ----@return bool ----Check if any audio stream buffers requires refill -function rl.IsAudioStreamProcessed(stream) end ----@param stream AudioStream ----Play audio stream -function rl.PlayAudioStream(stream) end ----@param stream AudioStream ----Pause audio stream -function rl.PauseAudioStream(stream) end ----@param stream AudioStream ----Resume audio stream -function rl.ResumeAudioStream(stream) end ----@param stream AudioStream ----@return bool ----Check if audio stream is playing -function rl.IsAudioStreamPlaying(stream) end ----@param stream AudioStream ----Stop audio stream -function rl.StopAudioStream(stream) end ----@param stream AudioStream ----@param volume number ----Set volume for audio stream (1.0 is max level) -function rl.SetAudioStreamVolume(stream,volume) end ----@param stream AudioStream ----@param pitch number ----Set pitch for audio stream (1.0 is base level) -function rl.SetAudioStreamPitch(stream,pitch) end ----@param stream AudioStream ----@param pan number ----Set pan for audio stream (0.5 is centered) -function rl.SetAudioStreamPan(stream,pan) end ----@param size number ----Default size for new audio streams -function rl.SetAudioStreamBufferSizeDefault(size) end ----@param stream AudioStream ----@param callback AudioCallback ----Audio thread callback to request new data -function rl.SetAudioStreamCallback(stream,callback) end ----@param stream AudioStream ----@param processor AudioCallback ----Attach audio stream processor to stream, receives the samples as s -function rl.AttachAudioStreamProcessor(stream,processor) end ----@param stream AudioStream ----@param processor AudioCallback ----Detach audio stream processor from stream -function rl.DetachAudioStreamProcessor(stream,processor) end ----@param processor AudioCallback ----Attach audio stream processor to the entire audio pipeline, receives the samples as s -function rl.AttachAudioMixedProcessor(processor) end ----@param processor AudioCallback ----Detach audio stream processor from the entire audio pipeline -function rl.DetachAudioMixedProcessor(processor) end ----@alias CameraProjection ----| 'CAMERA_PERSPECTIVE' ----| 'CAMERA_ORTHOGRAPHIC' ----Camera projection - ----Perspective projection -rl.CAMERA_PERSPECTIVE = 0 ----Orthographic projection -rl.CAMERA_ORTHOGRAPHIC = 1 ----@alias CameraMode ----| 'CAMERA_CUSTOM' ----| 'CAMERA_FREE' ----| 'CAMERA_ORBITAL' ----| 'CAMERA_FIRST_PERSON' ----| 'CAMERA_THIRD_PERSON' ----Camera system modes - ----Camera custom, controlled by user (UpdateCamera() does nothing) -rl.CAMERA_CUSTOM = 0 ----Camera free mode -rl.CAMERA_FREE = 1 ----Camera orbital, around target, zoom supported -rl.CAMERA_ORBITAL = 2 ----Camera first person -rl.CAMERA_FIRST_PERSON = 3 ----Camera third person -rl.CAMERA_THIRD_PERSON = 4 ----@class Vector2 @ Vector2, 2 components ----@alias Vector2_ptr Vector2 ----@alias Vector2_ptr_ptr Vector2 ----@field x number # Vector x component ----@field y number # Vector y component ----Constructed using `rl.new("Vector2", ...)` -local Vector2 = {} ----@class Vector3 @ Vector3, 3 components ----@alias Vector3_ptr Vector3 ----@alias Vector3_ptr_ptr Vector3 ----@field x number # Vector x component ----@field y number # Vector y component ----@field z number # Vector z component ----Constructed using `rl.new("Vector3", ...)` -local Vector3 = {} ----@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right-handed ----@alias Matrix_ptr Matrix ----@alias Matrix_ptr_ptr Matrix ----@field m0 number # Matrix first row (4 components) ----@field m4 number # Matrix first row (4 components) ----@field m8 number # Matrix first row (4 components) ----@field m12 number # Matrix first row (4 components) ----@field m1 number # Matrix second row (4 components) ----@field m5 number # Matrix second row (4 components) ----@field m9 number # Matrix second row (4 components) ----@field m13 number # Matrix second row (4 components) ----@field m2 number # Matrix third row (4 components) ----@field m6 number # Matrix third row (4 components) ----@field m10 number # Matrix third row (4 components) ----@field m14 number # Matrix third row (4 components) ----@field m3 number # Matrix fourth row (4 components) ----@field m7 number # Matrix fourth row (4 components) ----@field m11 number # Matrix fourth row (4 components) ----@field m15 number # Matrix fourth row (4 components) ----Constructed using `rl.new("Matrix", ...)` -local Matrix = {} ----@class Camera3D @ Camera type, defines a camera position/orientation in 3d space ----@alias Camera3D_ptr Camera3D ----@alias Camera3D_ptr_ptr Camera3D ----@field position Vector3 # Camera position ----@field target Vector3 # Camera target it looks-at ----@field up Vector3 # Camera up vector (rotation over its axis) ----@field fovy number # Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic ----@field projection number # Camera projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC ----Constructed using `rl.new("Camera3D", ...)` -local Camera3D = {} ----@param camera Camera_ptr|lightuserdata ----@return Vector3 -function rl.GetCameraForward(camera) end ----@param camera Camera_ptr|lightuserdata ----@return Vector3 -function rl.GetCameraUp(camera) end ----@param camera Camera_ptr|lightuserdata ----@return Vector3 -function rl.GetCameraRight(camera) end ----@param camera Camera_ptr|lightuserdata ----@param distance number ----@param moveInWorldPlane bool -function rl.CameraMoveForward(camera,distance,moveInWorldPlane) end ----@param camera Camera_ptr|lightuserdata ----@param distance number -function rl.CameraMoveUp(camera,distance) end ----@param camera Camera_ptr|lightuserdata ----@param distance number ----@param moveInWorldPlane bool -function rl.CameraMoveRight(camera,distance,moveInWorldPlane) end ----@param camera Camera_ptr|lightuserdata ----@param delta number -function rl.CameraMoveToTarget(camera,delta) end ----@param camera Camera_ptr|lightuserdata ----@param angle number ----@param rotateAroundTarget bool -function rl.CameraYaw(camera,angle,rotateAroundTarget) end ----@param camera Camera_ptr|lightuserdata ----@param angle number ----@param lockView bool ----@param rotateAroundTarget bool ----@param rotateUp bool -function rl.CameraPitch(camera,angle,lockView,rotateAroundTarget,rotateUp) end ----@param camera Camera_ptr|lightuserdata ----@param angle number -function rl.CameraRoll(camera,angle) end ----@param camera Camera_ptr|lightuserdata ----@return Matrix -function rl.GetCameraViewMatrix(camera) end ----@param camera Camera_ptr|lightuserdata ----@param aspect number ----@return Matrix -function rl.GetCameraProjectionMatrix(camera,aspect) end ----@alias rlGlVersion ----| 'OPENGL_11' ----| 'OPENGL_21' ----| 'OPENGL_33' ----| 'OPENGL_43' ----| 'OPENGL_ES_20' - -rl.OPENGL_11 = 1 -rl.OPENGL_21 = 2 -rl.OPENGL_33 = 3 -rl.OPENGL_43 = 4 -rl.OPENGL_ES_20 = 5 ----@alias rlFramebufferAttachType ----| 'RL_ATTACHMENT_COLOR_CHANNEL0' ----| 'RL_ATTACHMENT_COLOR_CHANNEL1' ----| 'RL_ATTACHMENT_COLOR_CHANNEL2' ----| 'RL_ATTACHMENT_COLOR_CHANNEL3' ----| 'RL_ATTACHMENT_COLOR_CHANNEL4' ----| 'RL_ATTACHMENT_COLOR_CHANNEL5' ----| 'RL_ATTACHMENT_COLOR_CHANNEL6' ----| 'RL_ATTACHMENT_COLOR_CHANNEL7' ----| 'RL_ATTACHMENT_DEPTH' ----| 'RL_ATTACHMENT_STENCIL' - -rl.RL_ATTACHMENT_COLOR_CHANNEL0 = 0 -rl.RL_ATTACHMENT_COLOR_CHANNEL1 = 1 -rl.RL_ATTACHMENT_COLOR_CHANNEL2 = 2 -rl.RL_ATTACHMENT_COLOR_CHANNEL3 = 3 -rl.RL_ATTACHMENT_COLOR_CHANNEL4 = 4 -rl.RL_ATTACHMENT_COLOR_CHANNEL5 = 5 -rl.RL_ATTACHMENT_COLOR_CHANNEL6 = 6 -rl.RL_ATTACHMENT_COLOR_CHANNEL7 = 7 -rl.RL_ATTACHMENT_DEPTH = 100 -rl.RL_ATTACHMENT_STENCIL = 200 ----@alias rlFramebufferAttachTextureType ----| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_X' ----| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_X' ----| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_Y' ----| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y' ----| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_Z' ----| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z' ----| 'RL_ATTACHMENT_TEXTURE2D' ----| 'RL_ATTACHMENT_RENDERBUFFER' - -rl.RL_ATTACHMENT_CUBEMAP_POSITIVE_X = 0 -rl.RL_ATTACHMENT_CUBEMAP_NEGATIVE_X = 1 -rl.RL_ATTACHMENT_CUBEMAP_POSITIVE_Y = 2 -rl.RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y = 3 -rl.RL_ATTACHMENT_CUBEMAP_POSITIVE_Z = 4 -rl.RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z = 5 -rl.RL_ATTACHMENT_TEXTURE2D = 100 -rl.RL_ATTACHMENT_RENDERBUFFER = 200 ----@alias rlTraceLogLevel ----| 'RL_LOG_ALL' ----| 'RL_LOG_TRACE' ----| 'RL_LOG_DEBUG' ----| 'RL_LOG_INFO' ----| 'RL_LOG_WARNING' ----| 'RL_LOG_ERROR' ----| 'RL_LOG_FATAL' ----| 'RL_LOG_NONE' ----Trace log level - ----Display all logs -rl.RL_LOG_ALL = 0 ----Trace logging, intended for internal use only -rl.RL_LOG_TRACE = 1 ----Debug logging, used for internal debugging, it should be disabled on release builds -rl.RL_LOG_DEBUG = 2 ----Info logging, used for program execution info -rl.RL_LOG_INFO = 3 ----Warning logging, used on recoverable failures -rl.RL_LOG_WARNING = 4 ----Error logging, used on unrecoverable failures -rl.RL_LOG_ERROR = 5 ----Fatal logging, used to abort program: exit(EXIT_FAILURE) -rl.RL_LOG_FATAL = 6 ----Disable logging -rl.RL_LOG_NONE = 7 ----@alias rlPixelFormat ----| 'RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R32' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32' ----| 'RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32' ----| 'RL_PIXELFORMAT_COMPRESSED_DXT1_RGB' ----| 'RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_ETC1_RGB' ----| 'RL_PIXELFORMAT_COMPRESSED_ETC2_RGB' ----| 'RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_PVRT_RGB' ----| 'RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA' ----| 'RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA' ----Texture formats (support depends on OpenGL version) - ----8 bit per pixel (no alpha) -rl.RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 ----8*2 bpp (2 channels) -rl.RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 ----16 bpp -rl.RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 ----24 bpp -rl.RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 ----16 bpp (1 bit alpha) -rl.RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 ----16 bpp (4 bit alpha) -rl.RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 ----32 bpp -rl.RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 ----32 bpp (1 channel - float) -rl.RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8 ----32*3 bpp (3 channels - float) -rl.RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 ----32*4 bpp (4 channels - float) -rl.RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 ----4 bpp (no alpha) -rl.RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 11 ----4 bpp (1 bit alpha) -rl.RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 12 ----8 bpp -rl.RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 13 ----8 bpp -rl.RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 14 ----4 bpp -rl.RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 15 ----4 bpp -rl.RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 16 ----8 bpp -rl.RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 17 ----4 bpp -rl.RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 18 ----4 bpp -rl.RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 19 ----8 bpp -rl.RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 20 ----2 bpp -rl.RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 21 ----@alias rlTextureFilter ----| 'RL_TEXTURE_FILTER_POINT' ----| 'RL_TEXTURE_FILTER_BILINEAR' ----| 'RL_TEXTURE_FILTER_TRILINEAR' ----| 'RL_TEXTURE_FILTER_ANISOTROPIC_4X' ----| 'RL_TEXTURE_FILTER_ANISOTROPIC_8X' ----| 'RL_TEXTURE_FILTER_ANISOTROPIC_16X' ----Texture parameters: filter mode - ----No filter, just pixel approximation -rl.RL_TEXTURE_FILTER_POINT = 0 ----Linear filtering -rl.RL_TEXTURE_FILTER_BILINEAR = 1 ----Trilinear filtering (linear with mipmaps) -rl.RL_TEXTURE_FILTER_TRILINEAR = 2 ----Anisotropic filtering 4x -rl.RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3 ----Anisotropic filtering 8x -rl.RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4 ----Anisotropic filtering 16x -rl.RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5 ----@alias rlBlendMode ----| 'RL_BLEND_ALPHA' ----| 'RL_BLEND_ADDITIVE' ----| 'RL_BLEND_MULTIPLIED' ----| 'RL_BLEND_ADD_COLORS' ----| 'RL_BLEND_SUBTRACT_COLORS' ----| 'RL_BLEND_ALPHA_PREMULTIPLY' ----| 'RL_BLEND_CUSTOM' ----Color blending modes (pre-defined) - ----Blend textures considering alpha (default) -rl.RL_BLEND_ALPHA = 0 ----Blend textures adding colors -rl.RL_BLEND_ADDITIVE = 1 ----Blend textures multiplying colors -rl.RL_BLEND_MULTIPLIED = 2 ----Blend textures adding colors (alternative) -rl.RL_BLEND_ADD_COLORS = 3 ----Blend textures subtracting colors (alternative) -rl.RL_BLEND_SUBTRACT_COLORS = 4 ----Blend premultiplied textures considering alpha -rl.RL_BLEND_ALPHA_PREMULTIPLY = 5 ----Blend textures using custom src/dst factors (use rlSetBlendFactors()) -rl.RL_BLEND_CUSTOM = 6 ----@alias rlShaderLocationIndex ----| 'RL_SHADER_LOC_VERTEX_POSITION' ----| 'RL_SHADER_LOC_VERTEX_TEXCOORD01' ----| 'RL_SHADER_LOC_VERTEX_TEXCOORD02' ----| 'RL_SHADER_LOC_VERTEX_NORMAL' ----| 'RL_SHADER_LOC_VERTEX_TANGENT' ----| 'RL_SHADER_LOC_VERTEX_COLOR' ----| 'RL_SHADER_LOC_MATRIX_MVP' ----| 'RL_SHADER_LOC_MATRIX_VIEW' ----| 'RL_SHADER_LOC_MATRIX_PROJECTION' ----| 'RL_SHADER_LOC_MATRIX_MODEL' ----| 'RL_SHADER_LOC_MATRIX_NORMAL' ----| 'RL_SHADER_LOC_VECTOR_VIEW' ----| 'RL_SHADER_LOC_COLOR_DIFFUSE' ----| 'RL_SHADER_LOC_COLOR_SPECULAR' ----| 'RL_SHADER_LOC_COLOR_AMBIENT' ----| 'RL_SHADER_LOC_MAP_ALBEDO' ----| 'RL_SHADER_LOC_MAP_METALNESS' ----| 'RL_SHADER_LOC_MAP_NORMAL' ----| 'RL_SHADER_LOC_MAP_ROUGHNESS' ----| 'RL_SHADER_LOC_MAP_OCCLUSION' ----| 'RL_SHADER_LOC_MAP_EMISSION' ----| 'RL_SHADER_LOC_MAP_HEIGHT' ----| 'RL_SHADER_LOC_MAP_CUBEMAP' ----| 'RL_SHADER_LOC_MAP_IRRADIANCE' ----| 'RL_SHADER_LOC_MAP_PREFILTER' ----| 'RL_SHADER_LOC_MAP_BRDF' ----Shader location point type - ----Shader location: vertex attribute: position -rl.RL_SHADER_LOC_VERTEX_POSITION = 0 ----Shader location: vertex attribute: texcoord01 -rl.RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1 ----Shader location: vertex attribute: texcoord02 -rl.RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2 ----Shader location: vertex attribute: normal -rl.RL_SHADER_LOC_VERTEX_NORMAL = 3 ----Shader location: vertex attribute: tangent -rl.RL_SHADER_LOC_VERTEX_TANGENT = 4 ----Shader location: vertex attribute: color -rl.RL_SHADER_LOC_VERTEX_COLOR = 5 ----Shader location: matrix uniform: model-view-projection -rl.RL_SHADER_LOC_MATRIX_MVP = 6 ----Shader location: matrix uniform: view (camera transform) -rl.RL_SHADER_LOC_MATRIX_VIEW = 7 ----Shader location: matrix uniform: projection -rl.RL_SHADER_LOC_MATRIX_PROJECTION = 8 ----Shader location: matrix uniform: model (transform) -rl.RL_SHADER_LOC_MATRIX_MODEL = 9 ----Shader location: matrix uniform: normal -rl.RL_SHADER_LOC_MATRIX_NORMAL = 10 ----Shader location: vector uniform: view -rl.RL_SHADER_LOC_VECTOR_VIEW = 11 ----Shader location: vector uniform: diffuse color -rl.RL_SHADER_LOC_COLOR_DIFFUSE = 12 ----Shader location: vector uniform: specular color -rl.RL_SHADER_LOC_COLOR_SPECULAR = 13 ----Shader location: vector uniform: ambient color -rl.RL_SHADER_LOC_COLOR_AMBIENT = 14 ----Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE) -rl.RL_SHADER_LOC_MAP_ALBEDO = 15 ----Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR) -rl.RL_SHADER_LOC_MAP_METALNESS = 16 ----Shader location: sampler2d texture: normal -rl.RL_SHADER_LOC_MAP_NORMAL = 17 ----Shader location: sampler2d texture: roughness -rl.RL_SHADER_LOC_MAP_ROUGHNESS = 18 ----Shader location: sampler2d texture: occlusion -rl.RL_SHADER_LOC_MAP_OCCLUSION = 19 ----Shader location: sampler2d texture: emission -rl.RL_SHADER_LOC_MAP_EMISSION = 20 ----Shader location: sampler2d texture: height -rl.RL_SHADER_LOC_MAP_HEIGHT = 21 ----Shader location: samplerCube texture: cubemap -rl.RL_SHADER_LOC_MAP_CUBEMAP = 22 ----Shader location: samplerCube texture: irradiance -rl.RL_SHADER_LOC_MAP_IRRADIANCE = 23 ----Shader location: samplerCube texture: prefilter -rl.RL_SHADER_LOC_MAP_PREFILTER = 24 ----Shader location: sampler2d texture: brdf -rl.RL_SHADER_LOC_MAP_BRDF = 25 ----@alias rlShaderUniformDataType ----| 'RL_SHADER_UNIFORM_FLOAT' ----| 'RL_SHADER_UNIFORM_VEC2' ----| 'RL_SHADER_UNIFORM_VEC3' ----| 'RL_SHADER_UNIFORM_VEC4' ----| 'RL_SHADER_UNIFORM_INT' ----| 'RL_SHADER_UNIFORM_IVEC2' ----| 'RL_SHADER_UNIFORM_IVEC3' ----| 'RL_SHADER_UNIFORM_IVEC4' ----| 'RL_SHADER_UNIFORM_SAMPLER2D' ----Shader uniform data type - ----Shader uniform type: float -rl.RL_SHADER_UNIFORM_FLOAT = 0 ----Shader uniform type: vec2 (2 float) -rl.RL_SHADER_UNIFORM_VEC2 = 1 ----Shader uniform type: vec3 (3 float) -rl.RL_SHADER_UNIFORM_VEC3 = 2 ----Shader uniform type: vec4 (4 float) -rl.RL_SHADER_UNIFORM_VEC4 = 3 ----Shader uniform type: int -rl.RL_SHADER_UNIFORM_INT = 4 ----Shader uniform type: ivec2 (2 int) -rl.RL_SHADER_UNIFORM_IVEC2 = 5 ----Shader uniform type: ivec3 (3 int) -rl.RL_SHADER_UNIFORM_IVEC3 = 6 ----Shader uniform type: ivec4 (4 int) -rl.RL_SHADER_UNIFORM_IVEC4 = 7 ----Shader uniform type: sampler2d -rl.RL_SHADER_UNIFORM_SAMPLER2D = 8 ----@alias rlShaderAttributeDataType ----| 'RL_SHADER_ATTRIB_FLOAT' ----| 'RL_SHADER_ATTRIB_VEC2' ----| 'RL_SHADER_ATTRIB_VEC3' ----| 'RL_SHADER_ATTRIB_VEC4' ----Shader attribute data types - ----Shader attribute type: float -rl.RL_SHADER_ATTRIB_FLOAT = 0 ----Shader attribute type: vec2 (2 float) -rl.RL_SHADER_ATTRIB_VEC2 = 1 ----Shader attribute type: vec3 (3 float) -rl.RL_SHADER_ATTRIB_VEC3 = 2 ----Shader attribute type: vec4 (4 float) -rl.RL_SHADER_ATTRIB_VEC4 = 3 ----@class rlVertexBuffer @ Dynamic vertex buffers (position + texcoords + colors + indices arrays) ----@alias rlVertexBuffer_ptr rlVertexBuffer ----@alias rlVertexBuffer_ptr_ptr rlVertexBuffer ----@field elementCount number # Number of elements in the buffer (QUADS) ----@field vertices number # Vertex position (XYZ - 3 components per vertex) (shader-location = 0) ----@field texcoords number # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) ----@field colors string|lightuserdata # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) ----@field vaoId number # Vertex array id to be used on the draw -> Using RLGL.currentBatch->vertexBuffer.vaoId ----@field indices number # Vertex indices (in case vertex data comes indexed) (6 indices per quad) ----@field rlRenderBatch #endif ----@field vertexAlignment #if_defined(GRAPHICS_API_OPENGL_ES2) # Number of vertex required for index alignment (LINES, TRIANGLES) ----@field indices unsigned_short_ptr|lightuserdata # Vertex indices (in case vertex data comes indexed) (6 indices per quad) ----@field mode #endif # Drawing mode: LINES, TRIANGLES, QUADS ----@field vaoId number # OpenGL Vertex Array Object id ----@field vboId number # OpenGL Vertex Buffer Objects id (4 types of vertex data) ----Constructed using `rl.new("rlVertexBuffer", ...)` -local rlVertexBuffer = {} ----@class rlDrawCall @ of those state-change happens (this is done in core module) ----@alias rlDrawCall_ptr rlDrawCall ----@alias rlDrawCall_ptr_ptr rlDrawCall ----@field mode number # Drawing mode: LINES, TRIANGLES, QUADS ----@field vertexCount number # Number of vertex of the draw ----@field vertexAlignment number # Number of vertex required for index alignment (LINES, TRIANGLES) ----@field textureId number # Texture id to be used on the draw -> Use to create new draw call if changes ----Constructed using `rl.new("rlDrawCall", ...)` -local rlDrawCall = {} ----@class rlRenderBatch @ rlRenderBatch type ----@alias rlRenderBatch_ptr rlRenderBatch ----@alias rlRenderBatch_ptr_ptr rlRenderBatch ----@field bufferCount number # Number of vertex buffers (multi-buffering support) ----@field currentBuffer number # Current buffer tracking in case of multi-buffering ----@field vertexBuffer rlVertexBuffer_ptr|lightuserdata # Dynamic buffer(s) for vertex data ----@field draws rlDrawCall_ptr|lightuserdata # Draw calls array, depends on textureId ----@field drawCounter number # Draw calls counter ----@field currentDepth number # Current depth value for next draw ----Constructed using `rl.new("rlRenderBatch", ...)` -local rlRenderBatch = {} ----@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right handed ----@alias Matrix_ptr Matrix ----@alias Matrix_ptr_ptr Matrix ----@field m0 number # Matrix first row (4 components) ----@field m4 number # Matrix first row (4 components) ----@field m8 number # Matrix first row (4 components) ----@field m12 number # Matrix first row (4 components) ----@field m1 number # Matrix second row (4 components) ----@field m5 number # Matrix second row (4 components) ----@field m9 number # Matrix second row (4 components) ----@field m13 number # Matrix second row (4 components) ----@field m2 number # Matrix third row (4 components) ----@field m6 number # Matrix third row (4 components) ----@field m10 number # Matrix third row (4 components) ----@field m14 number # Matrix third row (4 components) ----@field m3 number # Matrix fourth row (4 components) ----@field m7 number # Matrix fourth row (4 components) ----@field m11 number # Matrix fourth row (4 components) ----@field m15 number # Matrix fourth row (4 components) ----Constructed using `rl.new("Matrix", ...)` -local Matrix = {} ----@class rlglData ----@alias rlglData_ptr rlglData ----@alias rlglData_ptr_ptr rlglData ----@field currentBatch rlRenderBatch_ptr|lightuserdata # Current render batch ----@field defaultBatch rlRenderBatch # Default internal render batch ----@field vertexCounter number # Current active render batch vertex counter (generic, used for all batches) ----@field texcoordx number # Current active texture coordinate (added on glVertex*()) ----@field texcoordy number # Current active texture coordinate (added on glVertex*()) ----@field normalx number # Current active normal (added on glVertex*()) ----@field normaly number # Current active normal (added on glVertex*()) ----@field normalz number # Current active normal (added on glVertex*()) ----@field colorr number|string[] # Current active color (added on glVertex*()) ----@field colorg number|string[] # Current active color (added on glVertex*()) ----@field colorb number|string[] # Current active color (added on glVertex*()) ----@field colora number|string[] # Current active color (added on glVertex*()) ----@field currentMatrixMode number # Current matrix mode ----@field currentMatrix Matrix_ptr|lightuserdata # Current matrix pointer ----@field modelview Matrix # Default modelview matrix ----@field projection Matrix # Default projection matrix ----@field transform Matrix # Transform matrix to be used with rlTranslate, rlRotate, rlScale ----@field transformRequired bool # Require transform matrix application to current draw-call vertex (if required) ----@field stack Matrix[RL_MAX_MATRIX_STACK_SIZE] # Matrix stack for push/pop ----@field stackCounter number # Matrix stack counter ----@field defaultTextureId number # Default texture used on shapes/poly drawing (required by shader) ----@field activeTextureId number # Active texture ids to be enabled on batch drawing (0 active by default) ----@field defaultVShaderId number # Default vertex shader id (used by default shader program) ----@field defaultFShaderId number # Default fragment shader id (used by default shader program) ----@field defaultShaderId number # Default shader program id, supports vertex color and diffuse texture ----@field defaultShaderLocs number # Default shader locations pointer to be used on rendering ----@field currentShaderId number # Current shader id to be used on rendering (by default, defaultShaderId) ----@field currentShaderLocs number # Current shader locations pointer to be used on rendering (by default, defaultShaderLocs) ----@field stereoRender bool # Stereo rendering flag ----@field projectionStereo Matrix[2] # VR stereo rendering eyes projection matrices ----@field viewOffsetStereo Matrix[2] # VR stereo rendering eyes view offset matrices ----@field currentBlendMode number # Blending mode active ----@field glBlendSrcFactor number # Blending source factor ----@field glBlendDstFactor number # Blending destination factor ----@field glBlendEquation number # Blending equation ----@field framebufferWidth number # Current framebuffer width ----@field framebufferHeight number # Current framebuffer height ----Constructed using `rl.new("rlglData", ...)` -local rlglData = {} ----@param mode number ----Choose the current matrix to be transformed -function rl.rlMatrixMode(mode) end ----Push the current matrix to stack -function rl.rlPushMatrix() end ----Pop lattest inserted matrix from stack -function rl.rlPopMatrix() end ----Reset current matrix to identity matrix -function rl.rlLoadIdentity() end ----@param x number ----@param y number ----@param z number ----Multiply the current matrix by a translation matrix -function rl.rlTranslatef(x,y,z) end ----@param angle number ----@param x number ----@param y number ----@param z number ----Multiply the current matrix by a rotation matrix -function rl.rlRotatef(angle,x,y,z) end ----@param x number ----@param y number ----@param z number ----Multiply the current matrix by a scaling matrix -function rl.rlScalef(x,y,z) end ----@param matf number ----Multiply the current matrix by another matrix -function rl.rlMultMatrixf(matf) end ----@param left number ----@param right number ----@param bottom number ----@param top number ----@param znear number ----@param zfar number -function rl.rlFrustum(left,right,bottom,top,znear,zfar) end ----@param left number ----@param right number ----@param bottom number ----@param top number ----@param znear number ----@param zfar number -function rl.rlOrtho(left,right,bottom,top,znear,zfar) end ----@param x number ----@param y number ----@param width number ----@param height number ----Set the viewport area -function rl.rlViewport(x,y,width,height) end ----@param mode number ----Initialize drawing mode (how to organize vertex) -function rl.rlBegin(mode) end ----Finish vertex providing -function rl.rlEnd() end ----@param x number ----@param y number ----Define one vertex (position) - 2 int -function rl.rlVertex2i(x,y) end ----@param x number ----@param y number ----Define one vertex (position) - 2 float -function rl.rlVertex2f(x,y) end ----@param x number ----@param y number ----@param z number ----Define one vertex (position) - 3 float -function rl.rlVertex3f(x,y,z) end ----@param x number ----@param y number ----Define one vertex (texture coordinate) - 2 float -function rl.rlTexCoord2f(x,y) end ----@param x number ----@param y number ----@param z number ----Define one vertex (normal) - 3 float -function rl.rlNormal3f(x,y,z) end ----@param r number|string[] ----@param g number|string[] ----@param b number|string[] ----@param a number|string[] ----Define one vertex (color) - 4 byte -function rl.rlColor4ub(r,g,b,a) end ----@param x number ----@param y number ----@param z number ----Define one vertex (color) - 3 float -function rl.rlColor3f(x,y,z) end ----@param x number ----@param y number ----@param z number ----@param w number ----Define one vertex (color) - 4 float -function rl.rlColor4f(x,y,z,w) end ----@param vaoId number ----@return bool ----Enable vertex array (VAO, if supported) -function rl.rlEnableVertexArray(vaoId) end ----Disable vertex array (VAO, if supported) -function rl.rlDisableVertexArray() end ----@param id number ----Enable vertex buffer (VBO) -function rl.rlEnableVertexBuffer(id) end ----Disable vertex buffer (VBO) -function rl.rlDisableVertexBuffer() end ----@param id number ----Enable vertex buffer element (VBO element) -function rl.rlEnableVertexBufferElement(id) end ----Disable vertex buffer element (VBO element) -function rl.rlDisableVertexBufferElement() end ----@param index number ----Enable vertex attribute index -function rl.rlEnableVertexAttribute(index) end ----@param index number ----Disable vertex attribute index -function rl.rlDisableVertexAttribute(index) end ----@param vertexAttribType number ----@param buffer string|lightuserdata ----Enable attribute state pointer -function rl.rlEnableStatePointer(vertexAttribType,buffer) end ----@param vertexAttribType number ----Disable attribute state pointer -function rl.rlDisableStatePointer(vertexAttribType) end ----@param slot number ----Select and active a texture slot -function rl.rlActiveTextureSlot(slot) end ----@param id number ----Enable texture -function rl.rlEnableTexture(id) end ----Disable texture -function rl.rlDisableTexture() end ----@param id number ----Enable texture cubemap -function rl.rlEnableTextureCubemap(id) end ----Disable texture cubemap -function rl.rlDisableTextureCubemap() end ----@param id number ----@param param number ----@param value number ----Set texture parameters (filter, wrap) -function rl.rlTextureParameters(id,param,value) end ----@param id number ----Enable shader program -function rl.rlEnableShader(id) end ----Disable shader program -function rl.rlDisableShader() end ----@param id number ----Enable render texture (fbo) -function rl.rlEnableFramebuffer(id) end ----Disable render texture (fbo), return to default framebuffer -function rl.rlDisableFramebuffer() end ----@param count number ----Activate multiple draw color buffers -function rl.rlActiveDrawBuffers(count) end ----Enable color blending -function rl.rlEnableColorBlend() end ----Disable color blending -function rl.rlDisableColorBlend() end ----Enable depth test -function rl.rlEnableDepthTest() end ----Disable depth test -function rl.rlDisableDepthTest() end ----Enable depth write -function rl.rlEnableDepthMask() end ----Disable depth write -function rl.rlDisableDepthMask() end ----Enable backface culling -function rl.rlEnableBackfaceCulling() end ----Disable backface culling -function rl.rlDisableBackfaceCulling() end ----Enable scissor test -function rl.rlEnableScissorTest() end ----Disable scissor test -function rl.rlDisableScissorTest() end ----@param x number ----@param y number ----@param width number ----@param height number ----Scissor test -function rl.rlScissor(x,y,width,height) end ----Enable wire mode -function rl.rlEnableWireMode() end ----Disable wire mode -function rl.rlDisableWireMode() end ----@param width number ----Set the line drawing width -function rl.rlSetLineWidth(width) end ----@return number ----Get the line drawing width -function rl.rlGetLineWidth() end ----Enable line aliasing -function rl.rlEnableSmoothLines() end ----Disable line aliasing -function rl.rlDisableSmoothLines() end ----Enable stereo rendering -function rl.rlEnableStereoRender() end ----Disable stereo rendering -function rl.rlDisableStereoRender() end ----@return bool ----Check if stereo render is enabled -function rl.rlIsStereoRenderEnabled() end ----@param r number|string[] ----@param g number|string[] ----@param b number|string[] ----@param a number|string[] ----Clear color buffer with color -function rl.rlClearColor(r,g,b,a) end ----Clear used screen buffers (color and depth) -function rl.rlClearScreenBuffers() end ----Check and log OpenGL error codes -function rl.rlCheckErrors() end ----@param mode number ----Set blending mode -function rl.rlSetBlendMode(mode) end ----@param glSrcFactor number ----@param glDstFactor number ----@param glEquation number ----Set blending mode factor and equation (using OpenGL factors) -function rl.rlSetBlendFactors(glSrcFactor,glDstFactor,glEquation) end ----@param width number ----@param height number ----Initialize rlgl (buffers, shaders, textures, states) -function rl.rlglInit(width,height) end ----De-inititialize rlgl (buffers, shaders, textures) -function rl.rlglClose() end ----@param loader string|lightuserdata ----Load OpenGL extensions (loader function required) -function rl.rlLoadExtensions(loader) end ----@return number ----Get current OpenGL version -function rl.rlGetVersion() end ----@param width number ----Set current framebuffer width -function rl.rlSetFramebufferWidth(width) end ----@return number ----Get default framebuffer width -function rl.rlGetFramebufferWidth() end ----@param height number ----Set current framebuffer height -function rl.rlSetFramebufferHeight(height) end ----@return number ----Get default framebuffer height -function rl.rlGetFramebufferHeight() end ----@return number ----Get default texture id -function rl.rlGetTextureIdDefault() end ----@return number ----Get default shader id -function rl.rlGetShaderIdDefault() end ----@return number ----Get default shader locations -function rl.rlGetShaderLocsDefault() end ----@param numBuffers number ----@param bufferElements number ----@return rlRenderBatch ----Load a render batch system -function rl.rlLoadRenderBatch(numBuffers,bufferElements) end ----@param batch rlRenderBatch ----Unload render batch system -function rl.rlUnloadRenderBatch(batch) end ----@param batch rlRenderBatch_ptr|lightuserdata ----Draw render batch data (Update->Draw->Reset) -function rl.rlDrawRenderBatch(batch) end ----@param batch rlRenderBatch_ptr|lightuserdata ----Set the active render batch for rlgl (NULL for default internal) -function rl.rlSetRenderBatchActive(batch) end ----Update and draw internal render batch -function rl.rlDrawRenderBatchActive() end ----@param vCount number ----@return bool ----Check internal buffer overflow for a given number of vertex -function rl.rlCheckRenderBatchLimit(vCount) end ----@param id number ----Set current texture for render batch and check buffers limits -function rl.rlSetTexture(id) end ----@return number ----Load vertex array (vao) if supported -function rl.rlLoadVertexArray() end ----@param buffer string|lightuserdata ----@param size number ----@param dynamic bool ----@return number ----Load a vertex buffer attribute -function rl.rlLoadVertexBuffer(buffer,size,dynamic) end ----@param buffer string|lightuserdata ----@param size number ----@param dynamic bool ----@return number ----Load a new attributes element buffer -function rl.rlLoadVertexBufferElement(buffer,size,dynamic) end ----@param bufferId number ----@param data string|lightuserdata ----@param dataSize number ----@param offset number ----Update GPU buffer with new data -function rl.rlUpdateVertexBuffer(bufferId,data,dataSize,offset) end ----@param id number ----@param data string|lightuserdata ----@param dataSize number ----@param offset number ----Update vertex buffer elements with new data -function rl.rlUpdateVertexBufferElements(id,data,dataSize,offset) end ----@param vaoId number -function rl.rlUnloadVertexArray(vaoId) end ----@param vboId number -function rl.rlUnloadVertexBuffer(vboId) end ----@param index number ----@param compSize number ----@param type number ----@param normalized bool ----@param stride number ----@param pointer string|lightuserdata -function rl.rlSetVertexAttribute(index,compSize,type,normalized,stride,pointer) end ----@param index number ----@param divisor number -function rl.rlSetVertexAttributeDivisor(index,divisor) end ----@param locIndex number ----@param value string|lightuserdata ----@param attribType number ----@param count number ----Set vertex attribute default value -function rl.rlSetVertexAttributeDefault(locIndex,value,attribType,count) end ----@param offset number ----@param count number -function rl.rlDrawVertexArray(offset,count) end ----@param offset number ----@param count number ----@param buffer string|lightuserdata -function rl.rlDrawVertexArrayElements(offset,count,buffer) end ----@param offset number ----@param count number ----@param instances number -function rl.rlDrawVertexArrayInstanced(offset,count,instances) end ----@param offset number ----@param count number ----@param buffer string|lightuserdata ----@param instances number -function rl.rlDrawVertexArrayElementsInstanced(offset,count,buffer,instances) end ----@param data string|lightuserdata ----@param width number ----@param height number ----@param format number ----@param mipmapCount number ----@return number ----Load texture in GPU -function rl.rlLoadTexture(data,width,height,format,mipmapCount) end ----@param width number ----@param height number ----@param useRenderBuffer bool ----@return number ----Load depth texture/renderbuffer (to be attached to fbo) -function rl.rlLoadTextureDepth(width,height,useRenderBuffer) end ----@param data string|lightuserdata ----@param size number ----@param format number ----@return number ----Load texture cubemap -function rl.rlLoadTextureCubemap(data,size,format) end ----@param id number ----@param offsetX number ----@param offsetY number ----@param width number ----@param height number ----@param format number ----@param data string|lightuserdata ----Update GPU texture with new data -function rl.rlUpdateTexture(id,offsetX,offsetY,width,height,format,data) end ----@param format number ----@param glInternalFormat number ----@param glFormat number ----@param glType number ----Get OpenGL internal formats -function rl.rlGetGlTextureFormats(format,glInternalFormat,glFormat,glType) end ----@param format number ----@return string|lightuserdata ----Get name string for pixel format -function rl.rlGetPixelFormatName(format) end ----@param id number ----Unload texture from GPU memory -function rl.rlUnloadTexture(id) end ----@param id number ----@param width number ----@param height number ----@param format number ----@param mipmaps number ----Generate mipmap data for selected texture -function rl.rlGenTextureMipmaps(id,width,height,format,mipmaps) end ----@param id number ----@param width number ----@param height number ----@param format number ----@return string|lightuserdata ----Read texture pixel data -function rl.rlReadTexturePixels(id,width,height,format) end ----@param width number ----@param height number ----@return string|lightuserdata ----Read screen pixel data (color buffer) -function rl.rlReadScreenPixels(width,height) end ----@param width number ----@param height number ----@return number ----Load an empty framebuffer -function rl.rlLoadFramebuffer(width,height) end ----@param fboId number ----@param texId number ----@param attachType number ----@param texType number ----@param mipLevel number ----Attach texture/renderbuffer to a framebuffer -function rl.rlFramebufferAttach(fboId,texId,attachType,texType,mipLevel) end ----@param id number ----@return bool ----Verify framebuffer is complete -function rl.rlFramebufferComplete(id) end ----@param id number ----Delete framebuffer from GPU -function rl.rlUnloadFramebuffer(id) end ----@param vsCode string|lightuserdata ----@param fsCode string|lightuserdata ----@return number ----Load shader from code strings -function rl.rlLoadShaderCode(vsCode,fsCode) end ----@param shaderCode string|lightuserdata ----@param type number ----@return number ----Compile custom shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER) -function rl.rlCompileShader(shaderCode,type) end ----@param vShaderId number ----@param fShaderId number ----@return number ----Load custom shader program -function rl.rlLoadShaderProgram(vShaderId,fShaderId) end ----@param id number ----Unload shader program -function rl.rlUnloadShaderProgram(id) end ----@param shaderId number ----@param uniformName string|lightuserdata ----@return number ----Get shader location uniform -function rl.rlGetLocationUniform(shaderId,uniformName) end ----@param shaderId number ----@param attribName string|lightuserdata ----@return number ----Get shader location attribute -function rl.rlGetLocationAttrib(shaderId,attribName) end ----@param locIndex number ----@param value string|lightuserdata ----@param uniformType number ----@param count number ----Set shader value uniform -function rl.rlSetUniform(locIndex,value,uniformType,count) end ----@param locIndex number ----@param mat Matrix ----Set shader value matrix -function rl.rlSetUniformMatrix(locIndex,mat) end ----@param locIndex number ----@param textureId number ----Set shader value sampler -function rl.rlSetUniformSampler(locIndex,textureId) end ----@param id number ----@param locs number ----Set shader currently active (id and locations) -function rl.rlSetShader(id,locs) end ----@param shaderId number ----@return number ----Load compute shader program -function rl.rlLoadComputeShaderProgram(shaderId) end ----@param groupX number ----@param groupY number ----@param groupZ number ----Dispatch compute shader (equivalent to *draw* for graphics pilepine) -function rl.rlComputeShaderDispatch(groupX,groupY,groupZ) end ----@param size number ----@param data string|lightuserdata ----@param usageHint number ----@return number ----Load shader storage buffer object (SSBO) -function rl.rlLoadShaderBuffer(size,data,usageHint) end ----@param ssboId number ----Unload shader storage buffer object (SSBO) -function rl.rlUnloadShaderBuffer(ssboId) end ----@param id number ----@param data string|lightuserdata ----@param dataSize number ----@param offset number ----Update SSBO buffer data -function rl.rlUpdateShaderBufferElements(id,data,dataSize,offset) end ----@param id number ----@return number ----Get SSBO buffer size -function rl.rlGetShaderBufferSize(id) end ----@param id number ----@param dest string|lightuserdata ----@param count number ----@param offset number ----Bind SSBO buffer -function rl.rlReadShaderBufferElements(id,dest,count,offset) end ----@param id number ----@param index number ----Copy SSBO buffer data -function rl.rlBindShaderBuffer(id,index) end ----@param destId number ----@param srcId number ----@param destOffset number ----@param srcOffset number ----@param count number ----Copy SSBO buffer data -function rl.rlCopyBuffersElements(destId,srcId,destOffset,srcOffset,count) end ----@param id number ----@param index number ----@param format number ----@param readonly number ----Bind image texture -function rl.rlBindImageTexture(id,index,format,readonly) end ----@return Matrix ----Get internal modelview matrix -function rl.rlGetMatrixModelview() end ----@return Matrix ----Get internal projection matrix -function rl.rlGetMatrixProjection() end ----@return Matrix ----Get internal accumulated transform matrix -function rl.rlGetMatrixTransform() end ----@param eye number ----@return Matrix ----Get internal projection matrix for stereo render (selected eye) -function rl.rlGetMatrixProjectionStereo(eye) end ----@param eye number ----@return Matrix ----Get internal view offset matrix for stereo render (selected eye) -function rl.rlGetMatrixViewOffsetStereo(eye) end ----@param proj Matrix ----Set a custom projection matrix (replaces internal projection matrix) -function rl.rlSetMatrixProjection(proj) end ----@param view Matrix ----Set a custom modelview matrix (replaces internal modelview matrix) -function rl.rlSetMatrixModelview(view) end ----@param right Matrix ----@param left Matrix ----Set eyes projection matrices for stereo rendering -function rl.rlSetMatrixProjectionStereo(right,left) end ----@param right Matrix ----@param left Matrix ----Set eyes view offsets matrices for stereo rendering -function rl.rlSetMatrixViewOffsetStereo(right,left) end ----Load and draw a cube -function rl.rlLoadDrawCube() end ----Load and draw a quad -function rl.rlLoadDrawQuad() end ----@param eye number ----@return Matrix -function rl.rlGetMatrixProjectionStereo(eye) end ----@param eye number ----@return Matrix -function rl.rlGetMatrixViewOffsetStereo(eye) end ----Create a new variable of ffi type `t` ----@overload fun(t: '"Vector2"', ...): Vector2 ----@overload fun(t: '"Matrix2x2"', ...): Matrix2x2 ----@overload fun(t: '"PhysicsVertexData"', ...): PhysicsVertexData ----@overload fun(t: '"PhysicsShape"', ...): PhysicsShape ----@overload fun(t: '"PhysicsBodyData"', ...): PhysicsBodyData ----@overload fun(t: '"PhysicsManifoldData"', ...): PhysicsManifoldData ----@overload fun(t: '"Vector2"', ...): Vector2 ----@overload fun(t: '"Vector3"', ...): Vector3 ----@overload fun(t: '"Color"', ...): Color ----@overload fun(t: '"Rectangle"', ...): Rectangle ----@overload fun(t: '"Texture2D"', ...): Texture2D ----@overload fun(t: '"Image"', ...): Image ----@overload fun(t: '"GlyphInfo"', ...): GlyphInfo ----@overload fun(t: '"Font"', ...): Font ----@overload fun(t: '"GuiStyleProp"', ...): GuiStyleProp ----@overload fun(t: '"GuiTextStyle"', ...): GuiTextStyle ----@overload fun(t: '"Vector2"', ...): Vector2 ----@overload fun(t: '"Vector3"', ...): Vector3 ----@overload fun(t: '"Vector4"', ...): Vector4 ----@overload fun(t: '"Matrix"', ...): Matrix ----@overload fun(t: '"Color"', ...): Color ----@overload fun(t: '"Rectangle"', ...): Rectangle ----@overload fun(t: '"Image"', ...): Image ----@overload fun(t: '"Texture"', ...): Texture ----@overload fun(t: '"RenderTexture"', ...): RenderTexture ----@overload fun(t: '"NPatchInfo"', ...): NPatchInfo ----@overload fun(t: '"GlyphInfo"', ...): GlyphInfo ----@overload fun(t: '"Font"', ...): Font ----@overload fun(t: '"Camera3D"', ...): Camera3D ----@overload fun(t: '"Camera2D"', ...): Camera2D ----@overload fun(t: '"Mesh"', ...): Mesh ----@overload fun(t: '"Shader"', ...): Shader ----@overload fun(t: '"MaterialMap"', ...): MaterialMap ----@overload fun(t: '"Material"', ...): Material ----@overload fun(t: '"Transform"', ...): Transform ----@overload fun(t: '"BoneInfo"', ...): BoneInfo ----@overload fun(t: '"Model"', ...): Model ----@overload fun(t: '"ModelAnimation"', ...): ModelAnimation ----@overload fun(t: '"Ray"', ...): Ray ----@overload fun(t: '"RayCollision"', ...): RayCollision ----@overload fun(t: '"BoundingBox"', ...): BoundingBox ----@overload fun(t: '"Wave"', ...): Wave ----@overload fun(t: '"AudioStream"', ...): AudioStream ----@overload fun(t: '"Sound"', ...): Sound ----@overload fun(t: '"Music"', ...): Music ----@overload fun(t: '"VrDeviceInfo"', ...): VrDeviceInfo ----@overload fun(t: '"VrStereoConfig"', ...): VrStereoConfig ----@overload fun(t: '"FilePathList"', ...): FilePathList ----@overload fun(t: '"AutomationEvent"', ...): AutomationEvent ----@overload fun(t: '"AutomationEventList"', ...): AutomationEventList ----@overload fun(t: '"Vector2"', ...): Vector2 ----@overload fun(t: '"Vector3"', ...): Vector3 ----@overload fun(t: '"Matrix"', ...): Matrix ----@overload fun(t: '"Camera3D"', ...): Camera3D ----@overload fun(t: '"rlVertexBuffer"', ...): rlVertexBuffer ----@overload fun(t: '"rlDrawCall"', ...): rlDrawCall ----@overload fun(t: '"rlRenderBatch"', ...): rlRenderBatch ----@overload fun(t: '"Matrix"', ...): Matrix ----@overload fun(t: '"rlglData"', ...): rlglData -function rl.new(...) end +---@meta [raylib-lua] +---@diagnostic disable +---raylib-lua binding +rl = {} +---Internal raylua stuff +raylua = {} +---@type string +---raylib-lua version string +raylua.version = "" +---Start a repl, and block until repl is active. +function raylua.repl() end +---@type function|nil +---@return string|nil content, string|nil error +---@param path string +---Load an internal payload file. +---Only exists in raylua_e or raylua_r +function raylua.loadfile(path) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Linear +function rl.EaseLinearNone(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Linear In +function rl.EaseLinearIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Linear Out +function rl.EaseLinearOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Linear In Out +function rl.EaseLinearInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Sine In +function rl.EaseSineIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Sine Out +function rl.EaseSineOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Sine Out +function rl.EaseSineInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Circular In +function rl.EaseCircIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Circular Out +function rl.EaseCircOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Circular In Out +function rl.EaseCircInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Cubic In +function rl.EaseCubicIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Cubic Out +function rl.EaseCubicOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Cubic In Out +function rl.EaseCubicInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Quadratic In +function rl.EaseQuadIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Quadratic Out +function rl.EaseQuadOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Quadratic In Out +function rl.EaseQuadInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Exponential In +function rl.EaseExpoIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Exponential Out +function rl.EaseExpoOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Exponential In Out +function rl.EaseExpoInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Back In +function rl.EaseBackIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Back Out +function rl.EaseBackOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Back In Out +function rl.EaseBackInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Bounce Out +function rl.EaseBounceOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Bounce In +function rl.EaseBounceIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Bounce In Out +function rl.EaseBounceInOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Elastic In +function rl.EaseElasticIn(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Elastic Out +function rl.EaseElasticOut(t,b,c,d) end +---@param t number +---@param b number +---@param c number +---@param d number +---@return number +---Ease: Elastic In Out +function rl.EaseElasticInOut(t,b,c,d) end +---@alias ConfigFlags +---| 'FLAG_VSYNC_HINT' +---| 'FLAG_FULLSCREEN_MODE' +---| 'FLAG_WINDOW_RESIZABLE' +---| 'FLAG_WINDOW_UNDECORATED' +---| 'FLAG_WINDOW_HIDDEN' +---| 'FLAG_WINDOW_MINIMIZED' +---| 'FLAG_WINDOW_MAXIMIZED' +---| 'FLAG_WINDOW_UNFOCUSED' +---| 'FLAG_WINDOW_TOPMOST' +---| 'FLAG_WINDOW_ALWAYS_RUN' +---| 'FLAG_WINDOW_TRANSPARENT' +---| 'FLAG_WINDOW_HIGHDPI' +---| 'FLAG_WINDOW_MOUSE_PASSTHROUGH' +---| 'FLAG_BORDERLESS_WINDOWED_MODE' +---| 'FLAG_MSAA_4X_HINT' +---| 'FLAG_INTERLACED_HINT' +---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 run program in borderless windowed mode +rl.FLAG_BORDERLESS_WINDOWED_MODE = 32768 +---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 +---@alias TraceLogLevel +---| 'LOG_ALL' +---| 'LOG_TRACE' +---| 'LOG_DEBUG' +---| 'LOG_INFO' +---| 'LOG_WARNING' +---| 'LOG_ERROR' +---| 'LOG_FATAL' +---| 'LOG_NONE' +---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 +---@alias KeyboardKey +---| 'KEY_NULL' +---| 'KEY_APOSTROPHE' +---| 'KEY_COMMA' +---| 'KEY_MINUS' +---| 'KEY_PERIOD' +---| 'KEY_SLASH' +---| 'KEY_ZERO' +---| 'KEY_ONE' +---| 'KEY_TWO' +---| 'KEY_THREE' +---| 'KEY_FOUR' +---| 'KEY_FIVE' +---| 'KEY_SIX' +---| 'KEY_SEVEN' +---| 'KEY_EIGHT' +---| 'KEY_NINE' +---| 'KEY_SEMICOLON' +---| 'KEY_EQUAL' +---| 'KEY_A' +---| 'KEY_B' +---| 'KEY_C' +---| 'KEY_D' +---| 'KEY_E' +---| 'KEY_F' +---| 'KEY_G' +---| 'KEY_H' +---| 'KEY_I' +---| 'KEY_J' +---| 'KEY_K' +---| 'KEY_L' +---| 'KEY_M' +---| 'KEY_N' +---| 'KEY_O' +---| 'KEY_P' +---| 'KEY_Q' +---| 'KEY_R' +---| 'KEY_S' +---| 'KEY_T' +---| 'KEY_U' +---| 'KEY_V' +---| 'KEY_W' +---| 'KEY_X' +---| 'KEY_Y' +---| 'KEY_Z' +---| 'KEY_LEFT_BRACKET' +---| 'KEY_BACKSLASH' +---| 'KEY_RIGHT_BRACKET' +---| 'KEY_GRAVE' +---| 'KEY_SPACE' +---| 'KEY_ESCAPE' +---| 'KEY_ENTER' +---| 'KEY_TAB' +---| 'KEY_BACKSPACE' +---| 'KEY_INSERT' +---| 'KEY_DELETE' +---| 'KEY_RIGHT' +---| 'KEY_LEFT' +---| 'KEY_DOWN' +---| 'KEY_UP' +---| 'KEY_PAGE_UP' +---| 'KEY_PAGE_DOWN' +---| 'KEY_HOME' +---| 'KEY_END' +---| 'KEY_CAPS_LOCK' +---| 'KEY_SCROLL_LOCK' +---| 'KEY_NUM_LOCK' +---| 'KEY_PRINT_SCREEN' +---| 'KEY_PAUSE' +---| 'KEY_F1' +---| 'KEY_F2' +---| 'KEY_F3' +---| 'KEY_F4' +---| 'KEY_F5' +---| 'KEY_F6' +---| 'KEY_F7' +---| 'KEY_F8' +---| 'KEY_F9' +---| 'KEY_F10' +---| 'KEY_F11' +---| 'KEY_F12' +---| 'KEY_LEFT_SHIFT' +---| 'KEY_LEFT_CONTROL' +---| 'KEY_LEFT_ALT' +---| 'KEY_LEFT_SUPER' +---| 'KEY_RIGHT_SHIFT' +---| 'KEY_RIGHT_CONTROL' +---| 'KEY_RIGHT_ALT' +---| 'KEY_RIGHT_SUPER' +---| 'KEY_KB_MENU' +---| 'KEY_KP_0' +---| 'KEY_KP_1' +---| 'KEY_KP_2' +---| 'KEY_KP_3' +---| 'KEY_KP_4' +---| 'KEY_KP_5' +---| 'KEY_KP_6' +---| 'KEY_KP_7' +---| 'KEY_KP_8' +---| 'KEY_KP_9' +---| 'KEY_KP_DECIMAL' +---| 'KEY_KP_DIVIDE' +---| 'KEY_KP_MULTIPLY' +---| 'KEY_KP_SUBTRACT' +---| 'KEY_KP_ADD' +---| 'KEY_KP_ENTER' +---| 'KEY_KP_EQUAL' +---| 'KEY_BACK' +---| 'KEY_MENU' +---| 'KEY_VOLUME_UP' +---| 'KEY_VOLUME_DOWN' +---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 +---@alias MouseButton +---| 'MOUSE_BUTTON_LEFT' +---| 'MOUSE_BUTTON_RIGHT' +---| 'MOUSE_BUTTON_MIDDLE' +---| 'MOUSE_BUTTON_SIDE' +---| 'MOUSE_BUTTON_EXTRA' +---| 'MOUSE_BUTTON_FORWARD' +---| 'MOUSE_BUTTON_BACK' +---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 +---@alias MouseCursor +---| 'MOUSE_CURSOR_DEFAULT' +---| 'MOUSE_CURSOR_ARROW' +---| 'MOUSE_CURSOR_IBEAM' +---| 'MOUSE_CURSOR_CROSSHAIR' +---| 'MOUSE_CURSOR_POINTING_HAND' +---| 'MOUSE_CURSOR_RESIZE_EW' +---| 'MOUSE_CURSOR_RESIZE_NS' +---| 'MOUSE_CURSOR_RESIZE_NWSE' +---| 'MOUSE_CURSOR_RESIZE_NESW' +---| 'MOUSE_CURSOR_RESIZE_ALL' +---| 'MOUSE_CURSOR_NOT_ALLOWED' +---Mouse cursor + +---Default 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 +---@alias GamepadButton +---| 'GAMEPAD_BUTTON_UNKNOWN' +---| 'GAMEPAD_BUTTON_LEFT_FACE_UP' +---| 'GAMEPAD_BUTTON_LEFT_FACE_RIGHT' +---| 'GAMEPAD_BUTTON_LEFT_FACE_DOWN' +---| 'GAMEPAD_BUTTON_LEFT_FACE_LEFT' +---| 'GAMEPAD_BUTTON_RIGHT_FACE_UP' +---| 'GAMEPAD_BUTTON_RIGHT_FACE_RIGHT' +---| 'GAMEPAD_BUTTON_RIGHT_FACE_DOWN' +---| 'GAMEPAD_BUTTON_RIGHT_FACE_LEFT' +---| 'GAMEPAD_BUTTON_LEFT_TRIGGER_1' +---| 'GAMEPAD_BUTTON_LEFT_TRIGGER_2' +---| 'GAMEPAD_BUTTON_RIGHT_TRIGGER_1' +---| 'GAMEPAD_BUTTON_RIGHT_TRIGGER_2' +---| 'GAMEPAD_BUTTON_MIDDLE_LEFT' +---| 'GAMEPAD_BUTTON_MIDDLE' +---| 'GAMEPAD_BUTTON_MIDDLE_RIGHT' +---| 'GAMEPAD_BUTTON_LEFT_THUMB' +---| 'GAMEPAD_BUTTON_RIGHT_THUMB' +---Gamepad buttons + +---Unknown button, 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: Circle, Xbox: B) +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: Square, Xbox: X) +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 (first), 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 +---@alias GamepadAxis +---| 'GAMEPAD_AXIS_LEFT_X' +---| 'GAMEPAD_AXIS_LEFT_Y' +---| 'GAMEPAD_AXIS_RIGHT_X' +---| 'GAMEPAD_AXIS_RIGHT_Y' +---| 'GAMEPAD_AXIS_LEFT_TRIGGER' +---| 'GAMEPAD_AXIS_RIGHT_TRIGGER' +---Gamepad axes + +---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 +---@alias MaterialMapIndex +---| 'MATERIAL_MAP_ALBEDO' +---| 'MATERIAL_MAP_METALNESS' +---| 'MATERIAL_MAP_NORMAL' +---| 'MATERIAL_MAP_ROUGHNESS' +---| 'MATERIAL_MAP_OCCLUSION' +---| 'MATERIAL_MAP_EMISSION' +---| 'MATERIAL_MAP_HEIGHT' +---| 'MATERIAL_MAP_CUBEMAP' +---| 'MATERIAL_MAP_IRRADIANCE' +---| 'MATERIAL_MAP_PREFILTER' +---| 'MATERIAL_MAP_BRDF' +---Material map 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 +---@alias ShaderLocationIndex +---| 'SHADER_LOC_VERTEX_POSITION' +---| 'SHADER_LOC_VERTEX_TEXCOORD01' +---| 'SHADER_LOC_VERTEX_TEXCOORD02' +---| 'SHADER_LOC_VERTEX_NORMAL' +---| 'SHADER_LOC_VERTEX_TANGENT' +---| 'SHADER_LOC_VERTEX_COLOR' +---| 'SHADER_LOC_MATRIX_MVP' +---| 'SHADER_LOC_MATRIX_VIEW' +---| 'SHADER_LOC_MATRIX_PROJECTION' +---| 'SHADER_LOC_MATRIX_MODEL' +---| 'SHADER_LOC_MATRIX_NORMAL' +---| 'SHADER_LOC_VECTOR_VIEW' +---| 'SHADER_LOC_COLOR_DIFFUSE' +---| 'SHADER_LOC_COLOR_SPECULAR' +---| 'SHADER_LOC_COLOR_AMBIENT' +---| 'SHADER_LOC_MAP_ALBEDO' +---| 'SHADER_LOC_MAP_METALNESS' +---| 'SHADER_LOC_MAP_NORMAL' +---| 'SHADER_LOC_MAP_ROUGHNESS' +---| 'SHADER_LOC_MAP_OCCLUSION' +---| 'SHADER_LOC_MAP_EMISSION' +---| 'SHADER_LOC_MAP_HEIGHT' +---| 'SHADER_LOC_MAP_CUBEMAP' +---| 'SHADER_LOC_MAP_IRRADIANCE' +---| 'SHADER_LOC_MAP_PREFILTER' +---| 'SHADER_LOC_MAP_BRDF' +---| 'SHADER_LOC_VERTEX_BONEIDS' +---| 'SHADER_LOC_VERTEX_BONEWEIGHTS' +---| 'SHADER_LOC_MATRIX_BONETRANSFORMS' +---| 'SHADER_LOC_VERTEX_INSTANCETRANSFORM' +---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: heightmap +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: bone indices +rl.SHADER_LOC_VERTEX_BONEIDS = 26 +---Shader location: vertex attribute: bone weights +rl.SHADER_LOC_VERTEX_BONEWEIGHTS = 27 +---Shader location: matrix attribute: bone transforms (animation) +rl.SHADER_LOC_MATRIX_BONETRANSFORMS = 28 +---Shader location: vertex attribute: instance transforms +rl.SHADER_LOC_VERTEX_INSTANCETRANSFORM = 29 +---@alias ShaderUniformDataType +---| 'SHADER_UNIFORM_FLOAT' +---| 'SHADER_UNIFORM_VEC2' +---| 'SHADER_UNIFORM_VEC3' +---| 'SHADER_UNIFORM_VEC4' +---| 'SHADER_UNIFORM_INT' +---| 'SHADER_UNIFORM_IVEC2' +---| 'SHADER_UNIFORM_IVEC3' +---| 'SHADER_UNIFORM_IVEC4' +---| 'SHADER_UNIFORM_UINT' +---| 'SHADER_UNIFORM_UIVEC2' +---| 'SHADER_UNIFORM_UIVEC3' +---| 'SHADER_UNIFORM_UIVEC4' +---| 'SHADER_UNIFORM_SAMPLER2D' +---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: unsigned int +rl.SHADER_UNIFORM_UINT = 8 +---Shader uniform type: uivec2 (2 unsigned int) +rl.SHADER_UNIFORM_UIVEC2 = 9 +---Shader uniform type: uivec3 (3 unsigned int) +rl.SHADER_UNIFORM_UIVEC3 = 10 +---Shader uniform type: uivec4 (4 unsigned int) +rl.SHADER_UNIFORM_UIVEC4 = 11 +---Shader uniform type: sampler2d +rl.SHADER_UNIFORM_SAMPLER2D = 12 +---@alias ShaderAttributeDataType +---| 'SHADER_ATTRIB_FLOAT' +---| 'SHADER_ATTRIB_VEC2' +---| 'SHADER_ATTRIB_VEC3' +---| 'SHADER_ATTRIB_VEC4' +---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 +---@alias PixelFormat +---| 'PIXELFORMAT_UNCOMPRESSED_GRAYSCALE' +---| 'PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA' +---| 'PIXELFORMAT_UNCOMPRESSED_R5G6B5' +---| 'PIXELFORMAT_UNCOMPRESSED_R8G8B8' +---| 'PIXELFORMAT_UNCOMPRESSED_R5G5B5A1' +---| 'PIXELFORMAT_UNCOMPRESSED_R4G4B4A4' +---| 'PIXELFORMAT_UNCOMPRESSED_R8G8B8A8' +---| 'PIXELFORMAT_UNCOMPRESSED_R32' +---| 'PIXELFORMAT_UNCOMPRESSED_R32G32B32' +---| 'PIXELFORMAT_UNCOMPRESSED_R32G32B32A32' +---| 'PIXELFORMAT_UNCOMPRESSED_R16' +---| 'PIXELFORMAT_UNCOMPRESSED_R16G16B16' +---| 'PIXELFORMAT_UNCOMPRESSED_R16G16B16A16' +---| 'PIXELFORMAT_COMPRESSED_DXT1_RGB' +---| 'PIXELFORMAT_COMPRESSED_DXT1_RGBA' +---| 'PIXELFORMAT_COMPRESSED_DXT3_RGBA' +---| 'PIXELFORMAT_COMPRESSED_DXT5_RGBA' +---| 'PIXELFORMAT_COMPRESSED_ETC1_RGB' +---| 'PIXELFORMAT_COMPRESSED_ETC2_RGB' +---| 'PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA' +---| 'PIXELFORMAT_COMPRESSED_PVRT_RGB' +---| 'PIXELFORMAT_COMPRESSED_PVRT_RGBA' +---| 'PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA' +---| 'PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA' +---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 +---16 bpp (1 channel - half float) +rl.PIXELFORMAT_UNCOMPRESSED_R16 = 11 +---16*3 bpp (3 channels - half float) +rl.PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 +---16*4 bpp (4 channels - half float) +rl.PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 +---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 +---@alias TextureFilter +---| 'TEXTURE_FILTER_POINT' +---| 'TEXTURE_FILTER_BILINEAR' +---| 'TEXTURE_FILTER_TRILINEAR' +---| 'TEXTURE_FILTER_ANISOTROPIC_4X' +---| 'TEXTURE_FILTER_ANISOTROPIC_8X' +---| 'TEXTURE_FILTER_ANISOTROPIC_16X' +---Texture parameters: filter mode + +---No filter, 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 +---@alias TextureWrap +---| 'TEXTURE_WRAP_REPEAT' +---| 'TEXTURE_WRAP_CLAMP' +---| 'TEXTURE_WRAP_MIRROR_REPEAT' +---| 'TEXTURE_WRAP_MIRROR_CLAMP' +---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 +---@alias CubemapLayout +---| 'CUBEMAP_LAYOUT_AUTO_DETECT' +---| 'CUBEMAP_LAYOUT_LINE_VERTICAL' +---| 'CUBEMAP_LAYOUT_LINE_HORIZONTAL' +---| 'CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR' +---| 'CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE' +---Cubemap 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 +---@alias FontType +---| 'FONT_DEFAULT' +---| 'FONT_BITMAP' +---| 'FONT_SDF' +---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 +---@alias BlendMode +---| 'BLEND_ALPHA' +---| 'BLEND_ADDITIVE' +---| 'BLEND_MULTIPLIED' +---| 'BLEND_ADD_COLORS' +---| 'BLEND_SUBTRACT_COLORS' +---| 'BLEND_ALPHA_PREMULTIPLY' +---| 'BLEND_CUSTOM' +---| 'BLEND_CUSTOM_SEPARATE' +---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 +---@alias Gesture +---| 'GESTURE_NONE' +---| 'GESTURE_TAP' +---| 'GESTURE_DOUBLETAP' +---| 'GESTURE_HOLD' +---| 'GESTURE_DRAG' +---| 'GESTURE_SWIPE_RIGHT' +---| 'GESTURE_SWIPE_LEFT' +---| 'GESTURE_SWIPE_UP' +---| 'GESTURE_SWIPE_DOWN' +---| 'GESTURE_PINCH_IN' +---| 'GESTURE_PINCH_OUT' +---Gesture + +---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 +---@alias CameraMode +---| 'CAMERA_CUSTOM' +---| 'CAMERA_FREE' +---| 'CAMERA_ORBITAL' +---| 'CAMERA_FIRST_PERSON' +---| 'CAMERA_THIRD_PERSON' +---Camera system modes + +---Camera custom, controlled by user (UpdateCamera() does nothing) +rl.CAMERA_CUSTOM = 0 +---Camera free mode +rl.CAMERA_FREE = 1 +---Camera orbital, around target, zoom supported +rl.CAMERA_ORBITAL = 2 +---Camera first person +rl.CAMERA_FIRST_PERSON = 3 +---Camera third person +rl.CAMERA_THIRD_PERSON = 4 +---@alias CameraProjection +---| 'CAMERA_PERSPECTIVE' +---| 'CAMERA_ORTHOGRAPHIC' +---Camera projection + +---Perspective projection +rl.CAMERA_PERSPECTIVE = 0 +---Orthographic projection +rl.CAMERA_ORTHOGRAPHIC = 1 +---@alias NPatchLayout +---| 'NPATCH_NINE_PATCH' +---| 'NPATCH_THREE_PATCH_VERTICAL' +---| 'NPATCH_THREE_PATCH_HORIZONTAL' +---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 +---@class Vector2 @ Vector2, 2 components +---@alias Vector2_ptr Vector2 +---@alias Vector2_ptr_ptr Vector2 +---@field x number # Vector x component +---@field y number # Vector y component +---Constructed using `rl.new("Vector2", ...)` +local Vector2 = {} +---@class Vector3 @ Vector3, 3 components +---@alias Vector3_ptr Vector3 +---@alias Vector3_ptr_ptr Vector3 +---@field x number # Vector x component +---@field y number # Vector y component +---@field z number # Vector z component +---Constructed using `rl.new("Vector3", ...)` +local Vector3 = {} +---@class Vector4 @ Vector4, 4 components +---@alias Vector4_ptr Vector4 +---@alias Vector4_ptr_ptr Vector4 +---@field x number # Vector x component +---@field y number # Vector y component +---@field z number # Vector z component +---@field w number # Vector w component +---Constructed using `rl.new("Vector4", ...)` +local Vector4 = {} +---@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right-handed +---@alias Matrix_ptr Matrix +---@alias Matrix_ptr_ptr Matrix +---@field m0 number # Matrix first row (4 components) +---@field m4 number # Matrix first row (4 components) +---@field m8 number # Matrix first row (4 components) +---@field m12 number # Matrix first row (4 components) +---@field m1 number # Matrix second row (4 components) +---@field m5 number # Matrix second row (4 components) +---@field m9 number # Matrix second row (4 components) +---@field m13 number # Matrix second row (4 components) +---@field m2 number # Matrix third row (4 components) +---@field m6 number # Matrix third row (4 components) +---@field m10 number # Matrix third row (4 components) +---@field m14 number # Matrix third row (4 components) +---@field m3 number # Matrix fourth row (4 components) +---@field m7 number # Matrix fourth row (4 components) +---@field m11 number # Matrix fourth row (4 components) +---@field m15 number # Matrix fourth row (4 components) +---Constructed using `rl.new("Matrix", ...)` +local Matrix = {} +---@class Color @ Color, 4 components, R8G8B8A8 (32bit) +---@alias Color_ptr Color +---@alias Color_ptr_ptr Color +---@field r number|string[] # Color red value +---@field g number|string[] # Color green value +---@field b number|string[] # Color blue value +---@field a number|string[] # Color alpha value +---Constructed using `rl.new("Color", ...)` +local Color = {} +---@class Rectangle @ Rectangle, 4 components +---@alias Rectangle_ptr Rectangle +---@alias Rectangle_ptr_ptr Rectangle +---@field x number # Rectangle top-left corner position x +---@field y number # Rectangle top-left corner position y +---@field width number # Rectangle width +---@field height number # Rectangle height +---Constructed using `rl.new("Rectangle", ...)` +local Rectangle = {} +---@class Image @ Image, pixel data stored in CPU memory (RAM) +---@alias Image_ptr Image +---@alias Image_ptr_ptr Image +---@field data string|lightuserdata # Image raw data +---@field width number # Image base width +---@field height number # Image base height +---@field mipmaps number # Mipmap levels, 1 by default +---@field format number # Data format (PixelFormat type) +---Constructed using `rl.new("Image", ...)` +local Image = {} +---@class Texture @ Texture, tex data stored in GPU memory (VRAM) +---@alias Texture_ptr Texture +---@alias Texture_ptr_ptr Texture +---@alias Texture2D Texture +---@field id number # OpenGL texture id +---@field width number # Texture base width +---@field height number # Texture base height +---@field mipmaps number # Mipmap levels, 1 by default +---@field format number # Data format (PixelFormat type) +---Constructed using `rl.new("Texture", ...)` +local Texture = {} +---@class RenderTexture @ RenderTexture, fbo for texture rendering +---@alias RenderTexture_ptr RenderTexture +---@alias RenderTexture_ptr_ptr RenderTexture +---@alias RenderTexture2D RenderTexture +---@field id number # OpenGL framebuffer object id +---@field texture Texture # Color buffer attachment texture +---@field depth Texture # Depth buffer attachment texture +---Constructed using `rl.new("RenderTexture", ...)` +local RenderTexture = {} +---@class NPatchInfo @ NPatchInfo, n-patch layout info +---@alias NPatchInfo_ptr NPatchInfo +---@alias NPatchInfo_ptr_ptr NPatchInfo +---@field source Rectangle # Texture source rectangle +---@field left number # Left border offset +---@field top number # Top border offset +---@field right number # Right border offset +---@field bottom number # Bottom border offset +---@field layout number # Layout of the n-patch: 3x3, 1x3 or 3x1 +---Constructed using `rl.new("NPatchInfo", ...)` +local NPatchInfo = {} +---@class GlyphInfo @ GlyphInfo, font characters glyphs info +---@alias GlyphInfo_ptr GlyphInfo +---@alias GlyphInfo_ptr_ptr GlyphInfo +---@field value number # Character value (Unicode) +---@field offsetX number # Character offset X when drawing +---@field offsetY number # Character offset Y when drawing +---@field advanceX number # Character advance position X +---@field image Image # Character image data +---Constructed using `rl.new("GlyphInfo", ...)` +local GlyphInfo = {} +---@class Font @ Font, font texture and GlyphInfo array data +---@alias Font_ptr Font +---@alias Font_ptr_ptr Font +---@field baseSize number # Base size (default chars height) +---@field glyphCount number # Number of glyph characters +---@field glyphPadding number # Padding around the glyph characters +---@field texture Texture2D # Texture atlas containing the glyphs +---@field recs Rectangle_ptr|lightuserdata # Rectangles in texture for the glyphs +---@field glyphs GlyphInfo_ptr|lightuserdata # Glyphs info data +---Constructed using `rl.new("Font", ...)` +local Font = {} +---@class Camera3D @ Camera, defines position/orientation in 3d space +---@alias Camera3D_ptr Camera3D +---@alias Camera3D_ptr_ptr Camera3D +---@field position Vector3 # Camera position +---@field target Vector3 # Camera target it looks-at +---@field up Vector3 # Camera up vector (rotation over its axis) +---@field fovy number # Camera field-of-view aperture in Y (degrees) in perspective, used as near plane height in world units in orthographic +---@field projection number # Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC +---Constructed using `rl.new("Camera3D", ...)` +local Camera3D = {} +---@class Camera2D @ Camera2D, defines position/orientation in 2d space +---@alias Camera2D_ptr Camera2D +---@alias Camera2D_ptr_ptr Camera2D +---@field offset Vector2 # Camera offset (screen space offset from window origin) +---@field target Vector2 # Camera target (world space target point that is mapped to screen space offset) +---@field rotation number # Camera rotation in degrees (pivots around target) +---@field zoom number # Camera zoom (scaling around target), must not be set to 0, set to 1.0f for no scale +---Constructed using `rl.new("Camera2D", ...)` +local Camera2D = {} +---@class Mesh @ Mesh, vertex data and vao/vbo +---@alias Mesh_ptr Mesh +---@alias Mesh_ptr_ptr Mesh +---@field vertexCount number # Number of vertices stored in arrays +---@field triangleCount number # Number of triangles stored (indexed or not) +---@field vertices number # Vertex position (XYZ - 3 components per vertex) (shader-location = 0) +---@field texcoords number # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) +---@field texcoords2 number # Vertex texture second coordinates (UV - 2 components per vertex) (shader-location = 5) +---@field normals number # Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) +---@field tangents number # Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) +---@field colors string|lightuserdata # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +---@field indices unsigned_short_ptr|lightuserdata # Vertex indices (in case vertex data comes indexed) +---@field boneCount number # Number of bones (MAX: 256 bones) +---@field boneIndices string|lightuserdata # Vertex bone indices, up to 4 bones influence by vertex (skinning) (shader-location = 6) +---@field boneWeights number # Vertex bone weight, up to 4 bones influence by vertex (skinning) (shader-location = 7) +---@field animVertices number # Animated vertex positions (after bones transformations) +---@field animNormals number # Animated normals (after bones transformations) +---@field vaoId number # OpenGL Vertex Array Object id +---@field vboId number # OpenGL Vertex Buffer Objects id (default vertex data) +---Constructed using `rl.new("Mesh", ...)` +local Mesh = {} +---@class Shader @ Shader +---@alias Shader_ptr Shader +---@alias Shader_ptr_ptr Shader +---@field id number # Shader program id +---@field locs number # Shader locations array (RL_MAX_SHADER_LOCATIONS) +---Constructed using `rl.new("Shader", ...)` +local Shader = {} +---@class MaterialMap @ MaterialMap +---@alias MaterialMap_ptr MaterialMap +---@alias MaterialMap_ptr_ptr MaterialMap +---@field texture Texture2D # Material map texture +---@field color Color # Material map color +---@field value number # Material map value +---Constructed using `rl.new("MaterialMap", ...)` +local MaterialMap = {} +---@class Material @ Material, includes shader and maps +---@alias Material_ptr Material +---@alias Material_ptr_ptr Material +---@field shader Shader # Material shader +---@field maps MaterialMap_ptr|lightuserdata # Material maps array (MAX_MATERIAL_MAPS) +---@field params number # Material generic parameters (if required) +---Constructed using `rl.new("Material", ...)` +local Material = {} +---@class Transform @ Transform, vertex transformation data +---@alias Transform_ptr Transform +---@alias Transform_ptr_ptr Transform +---@field translation Vector3 # Translation +---@field rotation Quaternion # Rotation +---@field scale Vector3 # Scale +---Constructed using `rl.new("Transform", ...)` +local Transform = {} +---@class BoneInfo @ Bone, skeletal animation bone +---@alias BoneInfo_ptr BoneInfo +---@alias BoneInfo_ptr_ptr BoneInfo +---@field name number|string[] # Bone name +---@field parent number # Bone parent +---Constructed using `rl.new("BoneInfo", ...)` +local BoneInfo = {} +---@class ModelSkeleton @ Skeleton, animation bones hierarchy +---@alias ModelSkeleton_ptr ModelSkeleton +---@alias ModelSkeleton_ptr_ptr ModelSkeleton +---@field boneCount number # Number of bones +---@field bones BoneInfo_ptr|lightuserdata # Bones information (skeleton) +---@field bindPose ModelAnimPose # Bones base transformation (Transform[]) +---Constructed using `rl.new("ModelSkeleton", ...)` +local ModelSkeleton = {} +---@class Model @ Model, meshes, materials and animation data +---@alias Model_ptr Model +---@alias Model_ptr_ptr Model +---@field transform Matrix # Local transform matrix +---@field meshCount number # Number of meshes +---@field materialCount number # Number of materials +---@field meshes Mesh_ptr|lightuserdata # Meshes array +---@field materials Material_ptr|lightuserdata # Materials array +---@field meshMaterial number # Mesh material number +---@field skeleton ModelSkeleton # Skeleton for animation +---@field currentPose ModelAnimPose # Current animation pose (Transform[]) +---@field boneMatrices Matrix_ptr|lightuserdata # Bones animated transformation matrices +---Constructed using `rl.new("Model", ...)` +local Model = {} +---@class ModelAnimation @ ModelAnimation, contains a full animation sequence +---@alias ModelAnimation_ptr ModelAnimation +---@alias ModelAnimation_ptr_ptr ModelAnimation +---@field name number|string[] # Animation name +---@field boneCount number # Number of bones (per pose) +---@field keyframeCount number # Number of animation key frames +---@field keyframePoses ModelAnimPose_ptr|lightuserdata # Animation sequence keyframe poses [keyframe][pose] +---Constructed using `rl.new("ModelAnimation", ...)` +local ModelAnimation = {} +---@class Ray @ Ray, ray for raycasting +---@alias Ray_ptr Ray +---@alias Ray_ptr_ptr Ray +---@field position Vector3 # Ray position (origin) +---@field direction Vector3 # Ray direction (normalized) +---Constructed using `rl.new("Ray", ...)` +local Ray = {} +---@class RayCollision @ RayCollision, ray hit information +---@alias RayCollision_ptr RayCollision +---@alias RayCollision_ptr_ptr RayCollision +---@field hit bool # Did the ray hit something? +---@field distance number # Distance to the nearest hit +---@field point Vector3 # Point of the nearest hit +---@field normal Vector3 # Surface normal of hit +---Constructed using `rl.new("RayCollision", ...)` +local RayCollision = {} +---@class BoundingBox @ BoundingBox +---@alias BoundingBox_ptr BoundingBox +---@alias BoundingBox_ptr_ptr BoundingBox +---@field min Vector3 # Minimum vertex box-corner +---@field max Vector3 # Maximum vertex box-corner +---Constructed using `rl.new("BoundingBox", ...)` +local BoundingBox = {} +---@class Wave @ Wave, audio wave data +---@alias Wave_ptr Wave +---@alias Wave_ptr_ptr Wave +---@field frameCount number # Total number of frames (considering channels) +---@field sampleRate number # Frequency (samples per second) +---@field sampleSize number # Bit depth (bits per sample): 8, 16, 32 (24 not supported) +---@field channels number # Number of channels (1-mono, 2-stereo, ...) +---@field data string|lightuserdata # Buffer data pointer +---Constructed using `rl.new("Wave", ...)` +local Wave = {} +---@class AudioStream @ AudioStream, custom audio stream +---@alias AudioStream_ptr AudioStream +---@alias AudioStream_ptr_ptr AudioStream +---@field buffer rAudioBuffer_ptr|lightuserdata # Pointer to internal data used by the audio system +---@field processor rAudioProcessor_ptr|lightuserdata # Pointer to internal data processor, useful for audio effects +---@field sampleRate number # Frequency (samples per second) +---@field sampleSize number # Bit depth (bits per sample): 8, 16, 32 (24 not supported) +---@field channels number # Number of channels (1-mono, 2-stereo, ...) +---Constructed using `rl.new("AudioStream", ...)` +local AudioStream = {} +---@class Sound @ Sound +---@alias Sound_ptr Sound +---@alias Sound_ptr_ptr Sound +---@field stream AudioStream # Audio stream +---@field frameCount number # Total number of frames (considering channels) +---Constructed using `rl.new("Sound", ...)` +local Sound = {} +---@class Music @ Music, audio stream, anything longer than ~10 seconds should be streamed +---@alias Music_ptr Music +---@alias Music_ptr_ptr Music +---@field stream AudioStream # Audio stream +---@field frameCount number # Total number of frames (considering channels) +---@field looping bool # Music looping enable +---@field ctxType number # Type of music context (audio filetype) +---@field ctxData string|lightuserdata # Audio context data, depends on type +---Constructed using `rl.new("Music", ...)` +local Music = {} +---@class VrDeviceInfo @ VrDeviceInfo, Head-Mounted-Display device parameters +---@alias VrDeviceInfo_ptr VrDeviceInfo +---@alias VrDeviceInfo_ptr_ptr VrDeviceInfo +---@field hResolution number # Horizontal resolution in pixels +---@field vResolution number # Vertical resolution in pixels +---@field hScreenSize number # Horizontal size in meters +---@field vScreenSize number # Vertical size in meters +---@field eyeToScreenDistance number # Distance between eye and display in meters +---@field lensSeparationDistance number # Lens separation distance in meters +---@field interpupillaryDistance number # IPD (distance between pupils) in meters +---@field lensDistortionValues number # Lens distortion constant parameters +---@field chromaAbCorrection number # Chromatic aberration correction parameters +---Constructed using `rl.new("VrDeviceInfo", ...)` +local VrDeviceInfo = {} +---@class VrStereoConfig @ VrStereoConfig, VR stereo rendering configuration for simulator +---@alias VrStereoConfig_ptr VrStereoConfig +---@alias VrStereoConfig_ptr_ptr VrStereoConfig +---@field projection Matrix[2] # VR projection matrices (per eye) +---@field viewOffset Matrix[2] # VR view offset matrices (per eye) +---@field leftLensCenter number # VR left lens center +---@field rightLensCenter number # VR right lens center +---@field leftScreenCenter number # VR left screen center +---@field rightScreenCenter number # VR right screen center +---@field scale number # VR distortion scale +---@field scaleIn number # VR distortion scale in +---Constructed using `rl.new("VrStereoConfig", ...)` +local VrStereoConfig = {} +---@class FilePathList @ File path list +---@alias FilePathList_ptr FilePathList +---@alias FilePathList_ptr_ptr FilePathList +---@field count number # Filepaths entries count +---@field paths string|lightuserdata # Filepaths entries +---Constructed using `rl.new("FilePathList", ...)` +local FilePathList = {} +---@class AutomationEvent @ Automation event +---@alias AutomationEvent_ptr AutomationEvent +---@alias AutomationEvent_ptr_ptr AutomationEvent +---@field frame number # Event frame +---@field type number # Event type (AutomationEventType) +---@field params number # Event parameters (if required) +---Constructed using `rl.new("AutomationEvent", ...)` +local AutomationEvent = {} +---@class AutomationEventList @ Automation event list +---@alias AutomationEventList_ptr AutomationEventList +---@alias AutomationEventList_ptr_ptr AutomationEventList +---@field capacity number # Events max entries (MAX_AUTOMATION_EVENTS) +---@field count number # Events entries count +---@field events AutomationEvent_ptr|lightuserdata # Events entries +---Constructed using `rl.new("AutomationEventList", ...)` +local AutomationEventList = {} +---@param width number +---@param height number +---@param title string|lightuserdata +---Initialize window and OpenGL context +function rl.InitWindow(width,height,title) end +---Close window and unload OpenGL context +function rl.CloseWindow() end +---@return bool +---Check if application should close (KEY_ESCAPE pressed or windows close icon clicked) +function rl.WindowShouldClose() end +---@return bool +---Check if window has been initialized successfully +function rl.IsWindowReady() end +---@return bool +---Check if window is currently fullscreen +function rl.IsWindowFullscreen() end +---@return bool +---Check if window is currently hidden +function rl.IsWindowHidden() end +---@return bool +---Check if window is currently minimized +function rl.IsWindowMinimized() end +---@return bool +---Check if window is currently maximized +function rl.IsWindowMaximized() end +---@return bool +---Check if window is currently focused +function rl.IsWindowFocused() end +---@return bool +---Check if window has been resized last frame +function rl.IsWindowResized() end +---@param flag number +---@return bool +---Check if one specific window flag is enabled +function rl.IsWindowState(flag) end +---@param flags number +---Set window configuration state using flags +function rl.SetWindowState(flags) end +---@param flags number +---Clear window configuration state flags +function rl.ClearWindowState(flags) end +---Toggle window state: fullscreen/windowed, resizes monitor to match window resolution +function rl.ToggleFullscreen() end +---Toggle window state: borderless windowed, resizes window to match monitor resolution +function rl.ToggleBorderlessWindowed() end +---Set window state: maximized, if resizable +function rl.MaximizeWindow() end +---Set window state: minimized, if resizable +function rl.MinimizeWindow() end +---Restore window from being minimized/maximized +function rl.RestoreWindow() end +---@param image Image +---Set icon for window (single image, RGBA 32bit) +function rl.SetWindowIcon(image) end +---@param images Image_ptr|lightuserdata +---@param count number +---Set icon for window (multiple images, RGBA 32bit) +function rl.SetWindowIcons(images,count) end +---@param title string|lightuserdata +---Set title for window +function rl.SetWindowTitle(title) end +---@param x number +---@param y number +---Set window position on screen +function rl.SetWindowPosition(x,y) end +---@param monitor number +---Set monitor for the current window +function rl.SetWindowMonitor(monitor) end +---@param width number +---@param height number +---Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE) +function rl.SetWindowMinSize(width,height) end +---@param width number +---@param height number +---Set window maximum dimensions (for FLAG_WINDOW_RESIZABLE) +function rl.SetWindowMaxSize(width,height) end +---@param width number +---@param height number +---Set window dimensions +function rl.SetWindowSize(width,height) end +---@param opacity number +---Set window opacity [0.0f..1.0f] +function rl.SetWindowOpacity(opacity) end +---Set window focused +function rl.SetWindowFocused() end +---@return string|lightuserdata +---Get native window handle +function rl.GetWindowHandle() end +---@return number +---Get current screen width +function rl.GetScreenWidth() end +---@return number +---Get current screen height +function rl.GetScreenHeight() end +---@return number +---Get current render width (it considers HiDPI) +function rl.GetRenderWidth() end +---@return number +---Get current render height (it considers HiDPI) +function rl.GetRenderHeight() end +---@return number +---Get number of connected monitors +function rl.GetMonitorCount() end +---@return number +---Get current monitor where window is placed +function rl.GetCurrentMonitor() end +---@param monitor number +---@return Vector2 +---Get specified monitor position +function rl.GetMonitorPosition(monitor) end +---@param monitor number +---@return number +---Get specified monitor width (current video mode used by monitor) +function rl.GetMonitorWidth(monitor) end +---@param monitor number +---@return number +---Get specified monitor height (current video mode used by monitor) +function rl.GetMonitorHeight(monitor) end +---@param monitor number +---@return number +---Get specified monitor physical width in millimetres +function rl.GetMonitorPhysicalWidth(monitor) end +---@param monitor number +---@return number +---Get specified monitor physical height in millimetres +function rl.GetMonitorPhysicalHeight(monitor) end +---@param monitor number +---@return number +---Get specified monitor refresh rate +function rl.GetMonitorRefreshRate(monitor) end +---@return Vector2 +---Get window position XY on monitor +function rl.GetWindowPosition() end +---@return Vector2 +---Get window scale DPI factor +function rl.GetWindowScaleDPI() end +---@param monitor number +---@return string|lightuserdata +---Get the human-readable, UTF-8 encoded name of the specified monitor +function rl.GetMonitorName(monitor) end +---@param text string|lightuserdata +---Set clipboard text content +function rl.SetClipboardText(text) end +---@return string|lightuserdata +---Get clipboard text content +function rl.GetClipboardText() end +---@return Image +---Get clipboard image content +function rl.GetClipboardImage() end +---Enable waiting for events on EndDrawing(), no automatic event polling +function rl.EnableEventWaiting() end +---Disable waiting for events on EndDrawing(), automatic events polling +function rl.DisableEventWaiting() end +---Shows cursor +function rl.ShowCursor() end +---Hides cursor +function rl.HideCursor() end +---@return bool +---Check if cursor is not visible +function rl.IsCursorHidden() end +---Enables cursor (unlock cursor) +function rl.EnableCursor() end +---Disables cursor (lock cursor) +function rl.DisableCursor() end +---@return bool +---Check if cursor is on the screen +function rl.IsCursorOnScreen() end +---@param color Color +---Set background color (framebuffer clear color) +function rl.ClearBackground(color) end +---Setup canvas (framebuffer) to start drawing +function rl.BeginDrawing() end +---End canvas drawing and swap buffers (double buffering) +function rl.EndDrawing() end +---@param camera Camera2D +---Begin 2D mode with custom camera (2D) +function rl.BeginMode2D(camera) end +---Ends 2D mode with custom camera +function rl.EndMode2D() end +---@param camera Camera3D +---Begin 3D mode with custom camera (3D) +function rl.BeginMode3D(camera) end +---Ends 3D mode and returns to default 2D orthographic mode +function rl.EndMode3D() end +---@param target RenderTexture2D +---Begin drawing to render texture +function rl.BeginTextureMode(target) end +---Ends drawing to render texture +function rl.EndTextureMode() end +---@param shader Shader +---Begin custom shader drawing +function rl.BeginShaderMode(shader) end +---End custom shader drawing (use default shader) +function rl.EndShaderMode() end +---@param mode number +---Begin blending mode (alpha, additive, multiplied, subtract, custom) +function rl.BeginBlendMode(mode) end +---End blending mode (reset to default: alpha blending) +function rl.EndBlendMode() end +---@param x number +---@param y number +---@param width number +---@param height number +---Begin scissor mode (define screen area for following drawing) +function rl.BeginScissorMode(x,y,width,height) end +---End scissor mode +function rl.EndScissorMode() end +---@param config VrStereoConfig +---Begin stereo rendering (requires VR simulator) +function rl.BeginVrStereoMode(config) end +---End stereo rendering (requires VR simulator) +function rl.EndVrStereoMode() end +---@param device VrDeviceInfo +---@return VrStereoConfig +---Load VR stereo config for VR simulator device parameters +function rl.LoadVrStereoConfig(device) end +---@param config VrStereoConfig +---Unload VR stereo config +function rl.UnloadVrStereoConfig(config) end +---@param vsFileName string|lightuserdata +---@param fsFileName string|lightuserdata +---@return Shader +---Load shader from files and bind default locations +function rl.LoadShader(vsFileName,fsFileName) end +---@param vsCode string|lightuserdata +---@param fsCode string|lightuserdata +---@return Shader +---Load shader from code strings and bind default locations +function rl.LoadShaderFromMemory(vsCode,fsCode) end +---@param shader Shader +---@return bool +---Check if a shader is valid (loaded on GPU) +function rl.IsShaderValid(shader) end +---@param shader Shader +---@param uniformName string|lightuserdata +---@return number +---Get shader uniform location +function rl.GetShaderLocation(shader,uniformName) end +---@param shader Shader +---@param attribName string|lightuserdata +---@return number +---Get shader attribute location +function rl.GetShaderLocationAttrib(shader,attribName) end +---@param shader Shader +---@param locIndex number +---@param value string|lightuserdata +---@param uniformType number +---Set shader uniform value +function rl.SetShaderValue(shader,locIndex,value,uniformType) end +---@param shader Shader +---@param locIndex number +---@param value string|lightuserdata +---@param uniformType number +---@param count number +---Set shader uniform value vector +function rl.SetShaderValueV(shader,locIndex,value,uniformType,count) end +---@param shader Shader +---@param locIndex number +---@param mat Matrix +---Set shader uniform value (matrix 4x4) +function rl.SetShaderValueMatrix(shader,locIndex,mat) end +---@param shader Shader +---@param locIndex number +---@param texture Texture2D +---Set shader uniform value and bind the texture (sampler2d) +function rl.SetShaderValueTexture(shader,locIndex,texture) end +---@param shader Shader +---Unload shader from GPU memory (VRAM) +function rl.UnloadShader(shader) end +---@param position Vector2 +---@param camera Camera +---@return Ray +---Get a ray trace from screen position (i.e mouse) +function rl.GetScreenToWorldRay(position,camera) end +---@param position Vector2 +---@param camera Camera +---@param width number +---@param height number +---@return Ray +---Get a ray trace from screen position (i.e mouse) in a viewport +function rl.GetScreenToWorldRayEx(position,camera,width,height) end +---@param position Vector3 +---@param camera Camera +---@return Vector2 +---Get the screen space position for a 3d world space position +function rl.GetWorldToScreen(position,camera) end +---@param position Vector3 +---@param camera Camera +---@param width number +---@param height number +---@return Vector2 +---Get size position for a 3d world space position +function rl.GetWorldToScreenEx(position,camera,width,height) end +---@param position Vector2 +---@param camera Camera2D +---@return Vector2 +---Get the screen space position for a 2d camera world space position +function rl.GetWorldToScreen2D(position,camera) end +---@param position Vector2 +---@param camera Camera2D +---@return Vector2 +---Get the world space position for a 2d camera screen space position +function rl.GetScreenToWorld2D(position,camera) end +---@param camera Camera +---@return Matrix +---Get camera transform matrix (view matrix) +function rl.GetCameraMatrix(camera) end +---@param camera Camera2D +---@return Matrix +---Get camera 2d transform matrix +function rl.GetCameraMatrix2D(camera) end +---@param fps number +---Set target FPS (maximum) +function rl.SetTargetFPS(fps) end +---@return number +---Get time in seconds for last frame drawn (delta time) +function rl.GetFrameTime() end +---@return number +---Get elapsed time in seconds since InitWindow() +function rl.GetTime() end +---@return number +---Get current FPS +function rl.GetFPS() end +---Swap back buffer with front buffer (screen drawing) +function rl.SwapScreenBuffer() end +---Register all input events +function rl.PollInputEvents() end +---@param seconds number +---Wait for some time (halt program execution) +function rl.WaitTime(seconds) end +---@param seed number +---Set the seed for the random number generator +function rl.SetRandomSeed(seed) end +---@param min number +---@param max number +---@return number +---Get a random value between min and max (both included) +function rl.GetRandomValue(min,max) end +---@param count number +---@param min number +---@param max number +---@return number +---Load random values sequence, no values repeated +function rl.LoadRandomSequence(count,min,max) end +---@param sequence number +---Unload random values sequence +function rl.UnloadRandomSequence(sequence) end +---@param fileName string|lightuserdata +---Takes a screenshot of current screen (filename extension defines format) +function rl.TakeScreenshot(fileName) end +---@param flags number +---Setup init configuration flags (view FLAGS) +function rl.SetConfigFlags(flags) end +---@param url string|lightuserdata +---Open URL with default system browser (if available) +function rl.OpenURL(url) end +---@param logLevel number +---Set the current threshold (minimum) log level +function rl.SetTraceLogLevel(logLevel) end +---@param logLevel number +---@param text string|lightuserdata +---@param args ... +---Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...) +function rl.TraceLog(logLevel,text,args) end +---@param callback TraceLogCallback +---Set custom trace log +function rl.SetTraceLogCallback(callback) end +---@param size number +---@return string|lightuserdata +---Internal memory allocator +function rl.MemAlloc(size) end +---@param ptr string|lightuserdata +---@param size number +---@return string|lightuserdata +---Internal memory reallocator +function rl.MemRealloc(ptr,size) end +---@param ptr string|lightuserdata +---Internal memory free +function rl.MemFree(ptr) end +---@param fileName string|lightuserdata +---@param dataSize number +---@return string|lightuserdata +---Load file data as byte array (read) +function rl.LoadFileData(fileName,dataSize) end +---@param data string|lightuserdata +---Unload file data allocated by LoadFileData() +function rl.UnloadFileData(data) end +---@param fileName string|lightuserdata +---@param data string|lightuserdata +---@param dataSize number +---@return bool +---Save data to file from byte array (write), returns true on success +function rl.SaveFileData(fileName,data,dataSize) end +---@param data string|lightuserdata +---@param dataSize number +---@param fileName string|lightuserdata +---@return bool +---Export data to code (.h), returns true on success +function rl.ExportDataAsCode(data,dataSize,fileName) end +---@param fileName string|lightuserdata +---@return string|lightuserdata +---Load text data from file (read), returns a '\\0' terminated string +function rl.LoadFileText(fileName) end +---@param text string|lightuserdata +---Unload file text data allocated by LoadFileText() +function rl.UnloadFileText(text) end +---@param fileName string|lightuserdata +---@param text string|lightuserdata +---@return bool +---Save text data to file (write), string must be '\\0' terminated, returns true on success +function rl.SaveFileText(fileName,text) end +---@param callback LoadFileDataCallback +---Set custom file binary data loader +function rl.SetLoadFileDataCallback(callback) end +---@param callback SaveFileDataCallback +---Set custom file binary data saver +function rl.SetSaveFileDataCallback(callback) end +---@param callback LoadFileTextCallback +---Set custom file text data loader +function rl.SetLoadFileTextCallback(callback) end +---@param callback SaveFileTextCallback +---Set custom file text data saver +function rl.SetSaveFileTextCallback(callback) end +---@param fileName string|lightuserdata +---@param fileRename string|lightuserdata +---@return number +---Rename file (if exists) +function rl.FileRename(fileName,fileRename) end +---@param fileName string|lightuserdata +---@return number +---Remove file (if exists) +function rl.FileRemove(fileName) end +---@param srcPath string|lightuserdata +---@param dstPath string|lightuserdata +---@return number +---Copy file from one path to another, dstPath created if it doesn't exist +function rl.FileCopy(srcPath,dstPath) end +---@param srcPath string|lightuserdata +---@param dstPath string|lightuserdata +---@return number +---Move file from one directory to another, dstPath created if it doesn't exist +function rl.FileMove(srcPath,dstPath) end +---@param fileName string|lightuserdata +---@param search string|lightuserdata +---@param replacement string|lightuserdata +---@return number +---Replace text in an existing file +function rl.FileTextReplace(fileName,search,replacement) end +---@param fileName string|lightuserdata +---@param search string|lightuserdata +---@return number +---Find text in existing file +function rl.FileTextFindIndex(fileName,search) end +---@param fileName string|lightuserdata +---@return bool +---Check if file exists +function rl.FileExists(fileName) end +---@param dirPath string|lightuserdata +---@return bool +---Check if a directory path exists +function rl.DirectoryExists(dirPath) end +---@param fileName string|lightuserdata +---@param ext string|lightuserdata +---@return bool +---Check file extension (recommended include point: .png, .wav) +function rl.IsFileExtension(fileName,ext) end +---@param fileName string|lightuserdata +---@return number +---Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h) +function rl.GetFileLength(fileName) end +---@param fileName string|lightuserdata +---@return number +---Get file modification time (last write time) +function rl.GetFileModTime(fileName) end +---@param fileName string|lightuserdata +---@return string|lightuserdata +---Get pointer to extension for a filename string (includes dot: '.png') +function rl.GetFileExtension(fileName) end +---@param filePath string|lightuserdata +---@return string|lightuserdata +---Get pointer to filename for a path string +function rl.GetFileName(filePath) end +---@param filePath string|lightuserdata +---@return string|lightuserdata +---Get filename string without extension (uses static string) +function rl.GetFileNameWithoutExt(filePath) end +---@param filePath string|lightuserdata +---@return string|lightuserdata +---Get full path for a given fileName with path (uses static string) +function rl.GetDirectoryPath(filePath) end +---@param dirPath string|lightuserdata +---@return string|lightuserdata +---Get previous directory path for a given path (uses static string) +function rl.GetPrevDirectoryPath(dirPath) end +---@return string|lightuserdata +---Get current working directory (uses static string) +function rl.GetWorkingDirectory() end +---@return string|lightuserdata +---Get the directory of the running application (uses static string) +function rl.GetApplicationDirectory() end +---@param dirPath string|lightuserdata +---@return number +---Create directories (including full path requested), returns 0 on success +function rl.MakeDirectory(dirPath) end +---@param dirPath string|lightuserdata +---@return bool +---Change working directory, return true on success +function rl.ChangeDirectory(dirPath) end +---@param path string|lightuserdata +---@return bool +---Check if a given path is a file or a directory +function rl.IsPathFile(path) end +---@param fileName string|lightuserdata +---@return bool +---Check if fileName is valid for the platform/OS +function rl.IsFileNameValid(fileName) end +---@param dirPath string|lightuserdata +---@return FilePathList +---Load directory filepaths, files and directories, no subdirs scan +function rl.LoadDirectoryFiles(dirPath) end +---@param basePath string|lightuserdata +---@param filter string|lightuserdata +---@param scanSubdirs bool +---@return FilePathList +---Load directory filepaths with extension filtering and subdir scan; some filters available: "*.*", "FILES*", "DIRS*" +function rl.LoadDirectoryFilesEx(basePath,filter,scanSubdirs) end +---@param files FilePathList +---Unload filepaths +function rl.UnloadDirectoryFiles(files) end +---@return bool +---Check if a file has been dropped into window +function rl.IsFileDropped() end +---@return FilePathList +---Load dropped filepaths +function rl.LoadDroppedFiles() end +---@param files FilePathList +---Unload dropped filepaths +function rl.UnloadDroppedFiles(files) end +---@param dirPath string|lightuserdata +---@return number +---Get the file count in a directory +function rl.GetDirectoryFileCount(dirPath) end +---@param basePath string|lightuserdata +---@param filter string|lightuserdata +---@param scanSubdirs bool +---@return number +---Get the file count in a directory with extension filtering and recursive directory scan. Use 'DIR' in the filter string to include directories in the result +function rl.GetDirectoryFileCountEx(basePath,filter,scanSubdirs) end +---@param data string|lightuserdata +---@param dataSize number +---@param compDataSize number +---@return string|lightuserdata +---Compress data (DEFLATE algorithm), memory must be MemFree() +function rl.CompressData(data,dataSize,compDataSize) end +---@param compData string|lightuserdata +---@param compDataSize number +---@param dataSize number +---@return string|lightuserdata +---Decompress data (DEFLATE algorithm), memory must be MemFree() +function rl.DecompressData(compData,compDataSize,dataSize) end +---@param data string|lightuserdata +---@param dataSize number +---@param outputSize number +---@return string|lightuserdata +---Encode data to Base64 string (includes NULL terminator), memory must be MemFree() +function rl.EncodeDataBase64(data,dataSize,outputSize) end +---@param text string|lightuserdata +---@param outputSize number +---@return string|lightuserdata +---Decode Base64 string (expected NULL terminated), memory must be MemFree() +function rl.DecodeDataBase64(text,outputSize) end +---@param data string|lightuserdata +---@param dataSize number +---@return number +---Compute CRC32 hash code +function rl.ComputeCRC32(data,dataSize) end +---@param data string|lightuserdata +---@param dataSize number +---@return number +---Compute MD5 hash code, returns static int[4] (16 bytes) +function rl.ComputeMD5(data,dataSize) end +---@param data string|lightuserdata +---@param dataSize number +---@return number +---Compute SHA1 hash code, returns static int[5] (20 bytes) +function rl.ComputeSHA1(data,dataSize) end +---@param data string|lightuserdata +---@param dataSize number +---@return number +---Compute SHA256 hash code, returns static int[8] (32 bytes) +function rl.ComputeSHA256(data,dataSize) end +---@param fileName string|lightuserdata +---@return AutomationEventList +---Load automation events list from file, NULL for empty list, capacity = MAX_AUTOMATION_EVENTS +function rl.LoadAutomationEventList(fileName) end +---@param list AutomationEventList +---Unload automation events list from file +function rl.UnloadAutomationEventList(list) end +---@param list AutomationEventList +---@param fileName string|lightuserdata +---@return bool +---Export automation events list as text file +function rl.ExportAutomationEventList(list,fileName) end +---@param list AutomationEventList_ptr|lightuserdata +---Set automation event list to record to +function rl.SetAutomationEventList(list) end +---@param frame number +---Set automation event internal base frame to start recording +function rl.SetAutomationEventBaseFrame(frame) end +---Start recording automation events (AutomationEventList must be set) +function rl.StartAutomationEventRecording() end +---Stop recording automation events +function rl.StopAutomationEventRecording() end +---@param event AutomationEvent +---Play a recorded automation event +function rl.PlayAutomationEvent(event) end +---@param key number +---@return bool +---Check if a key has been pressed once +function rl.IsKeyPressed(key) end +---@param key number +---@return bool +---Check if a key has been pressed again +function rl.IsKeyPressedRepeat(key) end +---@param key number +---@return bool +---Check if a key is being pressed +function rl.IsKeyDown(key) end +---@param key number +---@return bool +---Check if a key has been released once +function rl.IsKeyReleased(key) end +---@param key number +---@return bool +---Check if a key is NOT being pressed +function rl.IsKeyUp(key) end +---@return number +---Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty +function rl.GetKeyPressed() end +---@return number +---Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty +function rl.GetCharPressed() end +---@param key number +---@return string|lightuserdata +---Get name of a QWERTY key on the current keyboard layout (eg returns string 'q' for KEY_A on an AZERTY keyboard) +function rl.GetKeyName(key) end +---@param key number +---Set a custom key to exit program (default is ESC) +function rl.SetExitKey(key) end +---@param gamepad number +---@return bool +---Check if a gamepad is available +function rl.IsGamepadAvailable(gamepad) end +---@param gamepad number +---@return string|lightuserdata +---Get gamepad internal name id +function rl.GetGamepadName(gamepad) end +---@param gamepad number +---@param button number +---@return bool +---Check if a gamepad button has been pressed once +function rl.IsGamepadButtonPressed(gamepad,button) end +---@param gamepad number +---@param button number +---@return bool +---Check if a gamepad button is being pressed +function rl.IsGamepadButtonDown(gamepad,button) end +---@param gamepad number +---@param button number +---@return bool +---Check if a gamepad button has been released once +function rl.IsGamepadButtonReleased(gamepad,button) end +---@param gamepad number +---@param button number +---@return bool +---Check if a gamepad button is NOT being pressed +function rl.IsGamepadButtonUp(gamepad,button) end +---@return number +---Get the last gamepad button pressed +function rl.GetGamepadButtonPressed() end +---@param gamepad number +---@return number +---Get axis count for a gamepad +function rl.GetGamepadAxisCount(gamepad) end +---@param gamepad number +---@param axis number +---@return number +---Get movement value for a gamepad axis +function rl.GetGamepadAxisMovement(gamepad,axis) end +---@param mappings string|lightuserdata +---@return number +---Set internal gamepad mappings (SDL_GameControllerDB) +function rl.SetGamepadMappings(mappings) end +---@param gamepad number +---@param leftMotor number +---@param rightMotor number +---@param duration number +---Set gamepad vibration for both motors (duration in seconds) +function rl.SetGamepadVibration(gamepad,leftMotor,rightMotor,duration) end +---@param button number +---@return bool +---Check if a mouse button has been pressed once +function rl.IsMouseButtonPressed(button) end +---@param button number +---@return bool +---Check if a mouse button is being pressed +function rl.IsMouseButtonDown(button) end +---@param button number +---@return bool +---Check if a mouse button has been released once +function rl.IsMouseButtonReleased(button) end +---@param button number +---@return bool +---Check if a mouse button is NOT being pressed +function rl.IsMouseButtonUp(button) end +---@return number +---Get mouse position X +function rl.GetMouseX() end +---@return number +---Get mouse position Y +function rl.GetMouseY() end +---@return Vector2 +---Get mouse position XY +function rl.GetMousePosition() end +---@return Vector2 +---Get mouse delta between frames +function rl.GetMouseDelta() end +---@param x number +---@param y number +---Set mouse position XY +function rl.SetMousePosition(x,y) end +---@param offsetX number +---@param offsetY number +---Set mouse offset +function rl.SetMouseOffset(offsetX,offsetY) end +---@param scaleX number +---@param scaleY number +---Set mouse scaling +function rl.SetMouseScale(scaleX,scaleY) end +---@return number +---Get mouse wheel movement for X or Y, whichever is larger +function rl.GetMouseWheelMove() end +---@return Vector2 +---Get mouse wheel movement for both X and Y +function rl.GetMouseWheelMoveV() end +---@param cursor number +---Set mouse cursor +function rl.SetMouseCursor(cursor) end +---@return number +---Get touch position X for touch point 0 (relative to screen size) +function rl.GetTouchX() end +---@return number +---Get touch position Y for touch point 0 (relative to screen size) +function rl.GetTouchY() end +---@param index number +---@return Vector2 +---Get touch position XY for a touch point index (relative to screen size) +function rl.GetTouchPosition(index) end +---@param index number +---@return number +---Get touch point identifier for given index +function rl.GetTouchPointId(index) end +---@return number +---Get number of touch points +function rl.GetTouchPointCount() end +---@param flags number +---Enable a set of gestures using flags +function rl.SetGesturesEnabled(flags) end +---@param gesture number +---@return bool +---Check if a gesture have been detected +function rl.IsGestureDetected(gesture) end +---@return number +---Get latest detected gesture +function rl.GetGestureDetected() end +---@return number +---Get gesture hold time in seconds +function rl.GetGestureHoldDuration() end +---@return Vector2 +---Get gesture drag vector +function rl.GetGestureDragVector() end +---@return number +---Get gesture drag angle +function rl.GetGestureDragAngle() end +---@return Vector2 +---Get gesture pinch delta +function rl.GetGesturePinchVector() end +---@return number +---Get gesture pinch angle +function rl.GetGesturePinchAngle() end +---@param camera Camera_ptr|lightuserdata +---@param mode number +---Update camera position for selected mode +function rl.UpdateCamera(camera,mode) end +---@param camera Camera_ptr|lightuserdata +---@param movement Vector3 +---@param rotation Vector3 +---@param zoom number +---Update camera movement/rotation +function rl.UpdateCameraPro(camera,movement,rotation,zoom) end +---@param texture Texture2D +---@param source Rectangle +---Set texture and rectangle to be used on shapes drawing +function rl.SetShapesTexture(texture,source) end +---@return Texture2D +---Get texture that is used for shapes drawing +function rl.GetShapesTexture() end +---@return Rectangle +---Get texture source rectangle that is used for shapes drawing +function rl.GetShapesTextureRectangle() end +---@param posX number +---@param posY number +---@param color Color +---Draw a pixel using geometry [Can be slow, use with care] +function rl.DrawPixel(posX,posY,color) end +---@param position Vector2 +---@param color Color +---Draw a pixel using geometry (Vector version) [Can be slow, use with care] +function rl.DrawPixelV(position,color) end +---@param startPosX number +---@param startPosY number +---@param endPosX number +---@param endPosY number +---@param color Color +---Draw a line +function rl.DrawLine(startPosX,startPosY,endPosX,endPosY,color) end +---@param startPos Vector2 +---@param endPos Vector2 +---@param color Color +---Draw a line (using gl lines) +function rl.DrawLineV(startPos,endPos,color) end +---@param startPos Vector2 +---@param endPos Vector2 +---@param thick number +---@param color Color +---Draw a line (using triangles/quads) +function rl.DrawLineEx(startPos,endPos,thick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw lines sequence (using gl lines) +function rl.DrawLineStrip(points,pointCount,color) end +---@param startPos Vector2 +---@param endPos Vector2 +---@param thick number +---@param color Color +---Draw line segment cubic-bezier in-out interpolation +function rl.DrawLineBezier(startPos,endPos,thick,color) end +---@param startPos Vector2 +---@param endPos Vector2 +---@param dashSize number +---@param spaceSize number +---@param color Color +---Draw a dashed line +function rl.DrawLineDashed(startPos,endPos,dashSize,spaceSize,color) end +---@param centerX number +---@param centerY number +---@param radius number +---@param color Color +---Draw a color-filled circle +function rl.DrawCircle(centerX,centerY,radius,color) end +---@param center Vector2 +---@param radius number +---@param color Color +---Draw a color-filled circle (Vector version) +function rl.DrawCircleV(center,radius,color) end +---@param center Vector2 +---@param radius number +---@param inner Color +---@param outer Color +---Draw a gradient-filled circle +function rl.DrawCircleGradient(center,radius,inner,outer) end +---@param center Vector2 +---@param radius number +---@param startAngle number +---@param endAngle number +---@param segments number +---@param color Color +---Draw a piece of a circle +function rl.DrawCircleSector(center,radius,startAngle,endAngle,segments,color) end +---@param center Vector2 +---@param radius number +---@param startAngle number +---@param endAngle number +---@param segments number +---@param color Color +---Draw circle sector outline +function rl.DrawCircleSectorLines(center,radius,startAngle,endAngle,segments,color) end +---@param centerX number +---@param centerY number +---@param radius number +---@param color Color +---Draw circle outline +function rl.DrawCircleLines(centerX,centerY,radius,color) end +---@param center Vector2 +---@param radius number +---@param color Color +---Draw circle outline (Vector version) +function rl.DrawCircleLinesV(center,radius,color) end +---@param centerX number +---@param centerY number +---@param radiusH number +---@param radiusV number +---@param color Color +---Draw ellipse +function rl.DrawEllipse(centerX,centerY,radiusH,radiusV,color) end +---@param center Vector2 +---@param radiusH number +---@param radiusV number +---@param color Color +---Draw ellipse (Vector version) +function rl.DrawEllipseV(center,radiusH,radiusV,color) end +---@param centerX number +---@param centerY number +---@param radiusH number +---@param radiusV number +---@param color Color +---Draw ellipse outline +function rl.DrawEllipseLines(centerX,centerY,radiusH,radiusV,color) end +---@param center Vector2 +---@param radiusH number +---@param radiusV number +---@param color Color +---Draw ellipse outline (Vector version) +function rl.DrawEllipseLinesV(center,radiusH,radiusV,color) end +---@param center Vector2 +---@param innerRadius number +---@param outerRadius number +---@param startAngle number +---@param endAngle number +---@param segments number +---@param color Color +---Draw ring +function rl.DrawRing(center,innerRadius,outerRadius,startAngle,endAngle,segments,color) end +---@param center Vector2 +---@param innerRadius number +---@param outerRadius number +---@param startAngle number +---@param endAngle number +---@param segments number +---@param color Color +---Draw ring outline +function rl.DrawRingLines(center,innerRadius,outerRadius,startAngle,endAngle,segments,color) end +---@param posX number +---@param posY number +---@param width number +---@param height number +---@param color Color +---Draw a color-filled rectangle +function rl.DrawRectangle(posX,posY,width,height,color) end +---@param position Vector2 +---@param size Vector2 +---@param color Color +---Draw a color-filled rectangle (Vector version) +function rl.DrawRectangleV(position,size,color) end +---@param rec Rectangle +---@param color Color +---Draw a color-filled rectangle +function rl.DrawRectangleRec(rec,color) end +---@param rec Rectangle +---@param origin Vector2 +---@param rotation number +---@param color Color +---Draw a color-filled rectangle with pro parameters +function rl.DrawRectanglePro(rec,origin,rotation,color) end +---@param posX number +---@param posY number +---@param width number +---@param height number +---@param top Color +---@param bottom Color +---Draw a vertical-gradient-filled rectangle +function rl.DrawRectangleGradientV(posX,posY,width,height,top,bottom) end +---@param posX number +---@param posY number +---@param width number +---@param height number +---@param left Color +---@param right Color +---Draw a horizontal-gradient-filled rectangle +function rl.DrawRectangleGradientH(posX,posY,width,height,left,right) end +---@param rec Rectangle +---@param topLeft Color +---@param bottomLeft Color +---@param bottomRight Color +---@param topRight Color +---Draw a gradient-filled rectangle with custom vertex colors +function rl.DrawRectangleGradientEx(rec,topLeft,bottomLeft,bottomRight,topRight) end +---@param posX number +---@param posY number +---@param width number +---@param height number +---@param color Color +---Draw rectangle outline +function rl.DrawRectangleLines(posX,posY,width,height,color) end +---@param rec Rectangle +---@param lineThick number +---@param color Color +---Draw rectangle outline with extended parameters +function rl.DrawRectangleLinesEx(rec,lineThick,color) end +---@param rec Rectangle +---@param roundness number +---@param segments number +---@param color Color +---Draw rectangle with rounded edges +function rl.DrawRectangleRounded(rec,roundness,segments,color) end +---@param rec Rectangle +---@param roundness number +---@param segments number +---@param color Color +---Draw rectangle lines with rounded edges +function rl.DrawRectangleRoundedLines(rec,roundness,segments,color) end +---@param rec Rectangle +---@param roundness number +---@param segments number +---@param lineThick number +---@param color Color +---Draw rectangle with rounded edges outline +function rl.DrawRectangleRoundedLinesEx(rec,roundness,segments,lineThick,color) end +---@param v1 Vector2 +---@param v2 Vector2 +---@param v3 Vector2 +---@param color Color +---Draw a color-filled triangle (vertex in counter-clockwise order!) +function rl.DrawTriangle(v1,v2,v3,color) end +---@param v1 Vector2 +---@param v2 Vector2 +---@param v3 Vector2 +---@param color Color +---Draw triangle outline (vertex in counter-clockwise order!) +function rl.DrawTriangleLines(v1,v2,v3,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw a triangle fan defined by points (first vertex is the center) +function rl.DrawTriangleFan(points,pointCount,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw a triangle strip defined by points +function rl.DrawTriangleStrip(points,pointCount,color) end +---@param center Vector2 +---@param sides number +---@param radius number +---@param rotation number +---@param color Color +---Draw a regular polygon (Vector version) +function rl.DrawPoly(center,sides,radius,rotation,color) end +---@param center Vector2 +---@param sides number +---@param radius number +---@param rotation number +---@param color Color +---Draw a polygon outline of n sides +function rl.DrawPolyLines(center,sides,radius,rotation,color) end +---@param center Vector2 +---@param sides number +---@param radius number +---@param rotation number +---@param lineThick number +---@param color Color +---Draw a polygon outline of n sides with extended parameters +function rl.DrawPolyLinesEx(center,sides,radius,rotation,lineThick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param thick number +---@param color Color +---Draw spline: Linear, minimum 2 points +function rl.DrawSplineLinear(points,pointCount,thick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param thick number +---@param color Color +---Draw spline: B-Spline, minimum 4 points +function rl.DrawSplineBasis(points,pointCount,thick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param thick number +---@param color Color +---Draw spline: Catmull-Rom, minimum 4 points +function rl.DrawSplineCatmullRom(points,pointCount,thick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param thick number +---@param color Color +---Draw spline: Quadratic Bezier, minimum 3 points (1 control point): [p1, c2, p3, c4...] +function rl.DrawSplineBezierQuadratic(points,pointCount,thick,color) end +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param thick number +---@param color Color +---Draw spline: Cubic Bezier, minimum 4 points (2 control points): [p1, c2, c3, p4, c5, c6...] +function rl.DrawSplineBezierCubic(points,pointCount,thick,color) end +---@param p1 Vector2 +---@param p2 Vector2 +---@param thick number +---@param color Color +---Draw spline segment: Linear, 2 points +function rl.DrawSplineSegmentLinear(p1,p2,thick,color) end +---@param p1 Vector2 +---@param p2 Vector2 +---@param p3 Vector2 +---@param p4 Vector2 +---@param thick number +---@param color Color +---Draw spline segment: B-Spline, 4 points +function rl.DrawSplineSegmentBasis(p1,p2,p3,p4,thick,color) end +---@param p1 Vector2 +---@param p2 Vector2 +---@param p3 Vector2 +---@param p4 Vector2 +---@param thick number +---@param color Color +---Draw spline segment: Catmull-Rom, 4 points +function rl.DrawSplineSegmentCatmullRom(p1,p2,p3,p4,thick,color) end +---@param p1 Vector2 +---@param c2 Vector2 +---@param p3 Vector2 +---@param thick number +---@param color Color +---Draw spline segment: Quadratic Bezier, 2 points, 1 control point +function rl.DrawSplineSegmentBezierQuadratic(p1,c2,p3,thick,color) end +---@param p1 Vector2 +---@param c2 Vector2 +---@param c3 Vector2 +---@param p4 Vector2 +---@param thick number +---@param color Color +---Draw spline segment: Cubic Bezier, 2 points, 2 control points +function rl.DrawSplineSegmentBezierCubic(p1,c2,c3,p4,thick,color) end +---@param startPos Vector2 +---@param endPos Vector2 +---@param t number +---@return Vector2 +---Get (evaluate) spline point: Linear +function rl.GetSplinePointLinear(startPos,endPos,t) end +---@param p1 Vector2 +---@param p2 Vector2 +---@param p3 Vector2 +---@param p4 Vector2 +---@param t number +---@return Vector2 +---Get (evaluate) spline point: B-Spline +function rl.GetSplinePointBasis(p1,p2,p3,p4,t) end +---@param p1 Vector2 +---@param p2 Vector2 +---@param p3 Vector2 +---@param p4 Vector2 +---@param t number +---@return Vector2 +---Get (evaluate) spline point: Catmull-Rom +function rl.GetSplinePointCatmullRom(p1,p2,p3,p4,t) end +---@param p1 Vector2 +---@param c2 Vector2 +---@param p3 Vector2 +---@param t number +---@return Vector2 +---Get (evaluate) spline point: Quadratic Bezier +function rl.GetSplinePointBezierQuad(p1,c2,p3,t) end +---@param p1 Vector2 +---@param c2 Vector2 +---@param c3 Vector2 +---@param p4 Vector2 +---@param t number +---@return Vector2 +---Get (evaluate) spline point: Cubic Bezier +function rl.GetSplinePointBezierCubic(p1,c2,c3,p4,t) end +---@param rec1 Rectangle +---@param rec2 Rectangle +---@return bool +---Check collision between two rectangles +function rl.CheckCollisionRecs(rec1,rec2) end +---@param center1 Vector2 +---@param radius1 number +---@param center2 Vector2 +---@param radius2 number +---@return bool +---Check collision between two circles +function rl.CheckCollisionCircles(center1,radius1,center2,radius2) end +---@param center Vector2 +---@param radius number +---@param rec Rectangle +---@return bool +---Check collision between circle and rectangle +function rl.CheckCollisionCircleRec(center,radius,rec) end +---@param center Vector2 +---@param radius number +---@param p1 Vector2 +---@param p2 Vector2 +---@return bool +---Check if circle collides with a line created betweeen two points [p1] and [p2] +function rl.CheckCollisionCircleLine(center,radius,p1,p2) end +---@param point Vector2 +---@param rec Rectangle +---@return bool +---Check if point is inside rectangle +function rl.CheckCollisionPointRec(point,rec) end +---@param point Vector2 +---@param center Vector2 +---@param radius number +---@return bool +---Check if point is inside circle +function rl.CheckCollisionPointCircle(point,center,radius) end +---@param point Vector2 +---@param p1 Vector2 +---@param p2 Vector2 +---@param p3 Vector2 +---@return bool +---Check if point is inside a triangle +function rl.CheckCollisionPointTriangle(point,p1,p2,p3) end +---@param point Vector2 +---@param p1 Vector2 +---@param p2 Vector2 +---@param threshold number +---@return bool +---Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold] +function rl.CheckCollisionPointLine(point,p1,p2,threshold) end +---@param point Vector2 +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@return bool +---Check if point is within a polygon described by array of vertices +function rl.CheckCollisionPointPoly(point,points,pointCount) end +---@param startPos1 Vector2 +---@param endPos1 Vector2 +---@param startPos2 Vector2 +---@param endPos2 Vector2 +---@param collisionPoint Vector2_ptr|lightuserdata +---@return bool +---Check the collision between two lines defined by two points each, returns collision point by reference +function rl.CheckCollisionLines(startPos1,endPos1,startPos2,endPos2,collisionPoint) end +---@param rec1 Rectangle +---@param rec2 Rectangle +---@return Rectangle +---Get collision rectangle for two rectangles collision +function rl.GetCollisionRec(rec1,rec2) end +---@param fileName string|lightuserdata +---@return Image +---Load image from file into CPU memory (RAM) +function rl.LoadImage(fileName) end +---@param fileName string|lightuserdata +---@param width number +---@param height number +---@param format number +---@param headerSize number +---@return Image +---Load image from RAW file data +function rl.LoadImageRaw(fileName,width,height,format,headerSize) end +---@param fileName string|lightuserdata +---@param frames number +---@return Image +---Load image sequence from file (frames appended to image.data) +function rl.LoadImageAnim(fileName,frames) end +---@param fileType string|lightuserdata +---@param fileData string|lightuserdata +---@param dataSize number +---@param frames number +---@return Image +---Load image sequence from memory buffer +function rl.LoadImageAnimFromMemory(fileType,fileData,dataSize,frames) end +---@param fileType string|lightuserdata +---@param fileData string|lightuserdata +---@param dataSize number +---@return Image +---Load image from memory buffer, fileType refers to extension: i.e. '.png' +function rl.LoadImageFromMemory(fileType,fileData,dataSize) end +---@param texture Texture2D +---@return Image +---Load image from GPU texture data +function rl.LoadImageFromTexture(texture) end +---@return Image +---Load image from screen buffer and (screenshot) +function rl.LoadImageFromScreen() end +---@param image Image +---@return bool +---Check if an image is valid (data and parameters) +function rl.IsImageValid(image) end +---@param image Image +---Unload image from CPU memory (RAM) +function rl.UnloadImage(image) end +---@param image Image +---@param fileName string|lightuserdata +---@return bool +---Export image data to file, returns true on success +function rl.ExportImage(image,fileName) end +---@param image Image +---@param fileType string|lightuserdata +---@param fileSize number +---@return string|lightuserdata +---Export image to memory buffer, memory must be MemFree() +function rl.ExportImageToMemory(image,fileType,fileSize) end +---@param image Image +---@param fileName string|lightuserdata +---@return bool +---Export image as code file defining an array of bytes, returns true on success +function rl.ExportImageAsCode(image,fileName) end +---@param width number +---@param height number +---@param color Color +---@return Image +---Generate image: plain color +function rl.GenImageColor(width,height,color) end +---@param width number +---@param height number +---@param direction number +---@param start Color +---@param end_ Color +---@return Image +---Generate image: linear gradient, direction in degrees [0..360], 0=Vertical gradient +function rl.GenImageGradientLinear(width,height,direction,start,end_) end +---@param width number +---@param height number +---@param density number +---@param inner Color +---@param outer Color +---@return Image +---Generate image: radial gradient +function rl.GenImageGradientRadial(width,height,density,inner,outer) end +---@param width number +---@param height number +---@param density number +---@param inner Color +---@param outer Color +---@return Image +---Generate image: square gradient +function rl.GenImageGradientSquare(width,height,density,inner,outer) end +---@param width number +---@param height number +---@param checksX number +---@param checksY number +---@param col1 Color +---@param col2 Color +---@return Image +---Generate image: checked +function rl.GenImageChecked(width,height,checksX,checksY,col1,col2) end +---@param width number +---@param height number +---@param factor number +---@return Image +---Generate image: white noise +function rl.GenImageWhiteNoise(width,height,factor) end +---@param width number +---@param height number +---@param offsetX number +---@param offsetY number +---@param scale number +---@return Image +---Generate image: perlin noise +function rl.GenImagePerlinNoise(width,height,offsetX,offsetY,scale) end +---@param width number +---@param height number +---@param tileSize number +---@return Image +---Generate image: cellular algorithm, bigger tileSize means bigger cells +function rl.GenImageCellular(width,height,tileSize) end +---@param width number +---@param height number +---@param text string|lightuserdata +---@return Image +---Generate image: grayscale image from text data +function rl.GenImageText(width,height,text) end +---@param image Image +---@return Image +---Create an image duplicate (useful for transformations) +function rl.ImageCopy(image) end +---@param image Image +---@param rec Rectangle +---@return Image +---Create an image from another image piece +function rl.ImageFromImage(image,rec) end +---@param image Image +---@param selectedChannel number +---@return Image +---Create an image from a selected channel of another image (GRAYSCALE) +function rl.ImageFromChannel(image,selectedChannel) end +---@param text string|lightuserdata +---@param fontSize number +---@param color Color +---@return Image +---Create an image from text (default font) +function rl.ImageText(text,fontSize,color) end +---@param font Font +---@param text string|lightuserdata +---@param fontSize number +---@param spacing number +---@param tint Color +---@return Image +---Create an image from text (custom sprite font) +function rl.ImageTextEx(font,text,fontSize,spacing,tint) end +---@param image Image_ptr|lightuserdata +---@param newFormat number +---Convert image data to desired format +function rl.ImageFormat(image,newFormat) end +---@param image Image_ptr|lightuserdata +---@param fill Color +---Convert image to POT (power-of-two) +function rl.ImageToPOT(image,fill) end +---@param image Image_ptr|lightuserdata +---@param crop Rectangle +---Crop an image to a defined rectangle +function rl.ImageCrop(image,crop) end +---@param image Image_ptr|lightuserdata +---@param threshold number +---Crop image depending on alpha value +function rl.ImageAlphaCrop(image,threshold) end +---@param image Image_ptr|lightuserdata +---@param color Color +---@param threshold number +---Clear alpha channel to desired color +function rl.ImageAlphaClear(image,color,threshold) end +---@param image Image_ptr|lightuserdata +---@param alphaMask Image +---Apply alpha mask to image +function rl.ImageAlphaMask(image,alphaMask) end +---@param image Image_ptr|lightuserdata +---Premultiply alpha channel +function rl.ImageAlphaPremultiply(image) end +---@param image Image_ptr|lightuserdata +---@param blurSize number +---Apply Gaussian blur using a box blur approximation +function rl.ImageBlurGaussian(image,blurSize) end +---@param image Image_ptr|lightuserdata +---@param kernel number +---@param kernelSize number +---Apply custom square convolution kernel to image +function rl.ImageKernelConvolution(image,kernel,kernelSize) end +---@param image Image_ptr|lightuserdata +---@param newWidth number +---@param newHeight number +---Resize image (Bicubic scaling algorithm) +function rl.ImageResize(image,newWidth,newHeight) end +---@param image Image_ptr|lightuserdata +---@param newWidth number +---@param newHeight number +---Resize image (Nearest-Neighbor scaling algorithm) +function rl.ImageResizeNN(image,newWidth,newHeight) end +---@param image Image_ptr|lightuserdata +---@param newWidth number +---@param newHeight number +---@param offsetX number +---@param offsetY number +---@param fill Color +---Resize canvas and fill with color +function rl.ImageResizeCanvas(image,newWidth,newHeight,offsetX,offsetY,fill) end +---@param image Image_ptr|lightuserdata +---Compute all mipmap levels for a provided image +function rl.ImageMipmaps(image) end +---@param image Image_ptr|lightuserdata +---@param rBpp number +---@param gBpp number +---@param bBpp number +---@param aBpp number +---Dither image data to 16bpp or lower (Floyd-Steinberg dithering) +function rl.ImageDither(image,rBpp,gBpp,bBpp,aBpp) end +---@param image Image_ptr|lightuserdata +---Flip image vertically +function rl.ImageFlipVertical(image) end +---@param image Image_ptr|lightuserdata +---Flip image horizontally +function rl.ImageFlipHorizontal(image) end +---@param image Image_ptr|lightuserdata +---@param degrees number +---Rotate image by input angle in degrees (-359 to 359) +function rl.ImageRotate(image,degrees) end +---@param image Image_ptr|lightuserdata +---Rotate image clockwise 90deg +function rl.ImageRotateCW(image) end +---@param image Image_ptr|lightuserdata +---Rotate image counter-clockwise 90deg +function rl.ImageRotateCCW(image) end +---@param image Image_ptr|lightuserdata +---@param color Color +---Modify image color: tint +function rl.ImageColorTint(image,color) end +---@param image Image_ptr|lightuserdata +---Modify image color: invert +function rl.ImageColorInvert(image) end +---@param image Image_ptr|lightuserdata +---Modify image color: grayscale +function rl.ImageColorGrayscale(image) end +---@param image Image_ptr|lightuserdata +---@param contrast number +---Modify image color: contrast (-100 to 100) +function rl.ImageColorContrast(image,contrast) end +---@param image Image_ptr|lightuserdata +---@param brightness number +---Modify image color: brightness (-255 to 255) +function rl.ImageColorBrightness(image,brightness) end +---@param image Image_ptr|lightuserdata +---@param color Color +---@param replace Color +---Modify image color: replace color +function rl.ImageColorReplace(image,color,replace) end +---@param image Image +---@return Color_ptr|lightuserdata +---Load color data from image as a Color array (RGBA - 32bit) +function rl.LoadImageColors(image) end +---@param image Image +---@param maxPaletteSize number +---@param colorCount number +---@return Color_ptr|lightuserdata +---Load colors palette from image as a Color array (RGBA - 32bit) +function rl.LoadImagePalette(image,maxPaletteSize,colorCount) end +---@param colors Color_ptr|lightuserdata +---Unload color data loaded with LoadImageColors() +function rl.UnloadImageColors(colors) end +---@param colors Color_ptr|lightuserdata +---Unload colors palette loaded with LoadImagePalette() +function rl.UnloadImagePalette(colors) end +---@param image Image +---@param threshold number +---@return Rectangle +---Get image alpha border rectangle +function rl.GetImageAlphaBorder(image,threshold) end +---@param image Image +---@param x number +---@param y number +---@return Color +---Get image pixel color at (x, y) position +function rl.GetImageColor(image,x,y) end +---@param dst Image_ptr|lightuserdata +---@param color Color +---Clear image background with given color +function rl.ImageClearBackground(dst,color) end +---@param dst Image_ptr|lightuserdata +---@param posX number +---@param posY number +---@param color Color +---Draw pixel within an image +function rl.ImageDrawPixel(dst,posX,posY,color) end +---@param dst Image_ptr|lightuserdata +---@param position Vector2 +---@param color Color +---Draw pixel within an image (Vector version) +function rl.ImageDrawPixelV(dst,position,color) end +---@param dst Image_ptr|lightuserdata +---@param startPosX number +---@param startPosY number +---@param endPosX number +---@param endPosY number +---@param color Color +---Draw line within an image +function rl.ImageDrawLine(dst,startPosX,startPosY,endPosX,endPosY,color) end +---@param dst Image_ptr|lightuserdata +---@param start Vector2 +---@param end_ Vector2 +---@param color Color +---Draw line within an image (Vector version) +function rl.ImageDrawLineV(dst,start,end_,color) end +---@param dst Image_ptr|lightuserdata +---@param start Vector2 +---@param end_ Vector2 +---@param thick number +---@param color Color +---Draw a line defining thickness within an image +function rl.ImageDrawLineEx(dst,start,end_,thick,color) end +---@param dst Image_ptr|lightuserdata +---@param centerX number +---@param centerY number +---@param radius number +---@param color Color +---Draw a filled circle within an image +function rl.ImageDrawCircle(dst,centerX,centerY,radius,color) end +---@param dst Image_ptr|lightuserdata +---@param center Vector2 +---@param radius number +---@param color Color +---Draw a filled circle within an image (Vector version) +function rl.ImageDrawCircleV(dst,center,radius,color) end +---@param dst Image_ptr|lightuserdata +---@param centerX number +---@param centerY number +---@param radius number +---@param color Color +---Draw circle outline within an image +function rl.ImageDrawCircleLines(dst,centerX,centerY,radius,color) end +---@param dst Image_ptr|lightuserdata +---@param center Vector2 +---@param radius number +---@param color Color +---Draw circle outline within an image (Vector version) +function rl.ImageDrawCircleLinesV(dst,center,radius,color) end +---@param dst Image_ptr|lightuserdata +---@param posX number +---@param posY number +---@param width number +---@param height number +---@param color Color +---Draw rectangle within an image +function rl.ImageDrawRectangle(dst,posX,posY,width,height,color) end +---@param dst Image_ptr|lightuserdata +---@param position Vector2 +---@param size Vector2 +---@param color Color +---Draw rectangle within an image (Vector version) +function rl.ImageDrawRectangleV(dst,position,size,color) end +---@param dst Image_ptr|lightuserdata +---@param rec Rectangle +---@param color Color +---Draw rectangle within an image +function rl.ImageDrawRectangleRec(dst,rec,color) end +---@param dst Image_ptr|lightuserdata +---@param rec Rectangle +---@param thick number +---@param color Color +---Draw rectangle lines within an image +function rl.ImageDrawRectangleLines(dst,rec,thick,color) end +---@param dst Image_ptr|lightuserdata +---@param v1 Vector2 +---@param v2 Vector2 +---@param v3 Vector2 +---@param color Color +---Draw triangle within an image +function rl.ImageDrawTriangle(dst,v1,v2,v3,color) end +---@param dst Image_ptr|lightuserdata +---@param v1 Vector2 +---@param v2 Vector2 +---@param v3 Vector2 +---@param c1 Color +---@param c2 Color +---@param c3 Color +---Draw triangle with interpolated colors within an image +function rl.ImageDrawTriangleEx(dst,v1,v2,v3,c1,c2,c3) end +---@param dst Image_ptr|lightuserdata +---@param v1 Vector2 +---@param v2 Vector2 +---@param v3 Vector2 +---@param color Color +---Draw triangle outline within an image +function rl.ImageDrawTriangleLines(dst,v1,v2,v3,color) end +---@param dst Image_ptr|lightuserdata +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw a triangle fan defined by points within an image (first vertex is the center) +function rl.ImageDrawTriangleFan(dst,points,pointCount,color) end +---@param dst Image_ptr|lightuserdata +---@param points const_Vector2_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw a triangle strip defined by points within an image +function rl.ImageDrawTriangleStrip(dst,points,pointCount,color) end +---@param dst Image_ptr|lightuserdata +---@param src Image +---@param srcRec Rectangle +---@param dstRec Rectangle +---@param tint Color +---Draw a source image within a destination image (tint applied to source) +function rl.ImageDraw(dst,src,srcRec,dstRec,tint) end +---@param dst Image_ptr|lightuserdata +---@param text string|lightuserdata +---@param posX number +---@param posY number +---@param fontSize number +---@param color Color +---Draw text (using default font) within an image (destination) +function rl.ImageDrawText(dst,text,posX,posY,fontSize,color) end +---@param dst Image_ptr|lightuserdata +---@param font Font +---@param text string|lightuserdata +---@param position Vector2 +---@param fontSize number +---@param spacing number +---@param tint Color +---Draw text (custom sprite font) within an image (destination) +function rl.ImageDrawTextEx(dst,font,text,position,fontSize,spacing,tint) end +---@param fileName string|lightuserdata +---@return Texture2D +---Load texture from file into GPU memory (VRAM) +function rl.LoadTexture(fileName) end +---@param image Image +---@return Texture2D +---Load texture from image data +function rl.LoadTextureFromImage(image) end +---@param image Image +---@param layout number +---@return TextureCubemap +---Load cubemap from image, multiple image cubemap layouts supported +function rl.LoadTextureCubemap(image,layout) end +---@param width number +---@param height number +---@return RenderTexture2D +---Load texture for rendering (framebuffer) +function rl.LoadRenderTexture(width,height) end +---@param texture Texture2D +---@return bool +---Check if a texture is valid (loaded in GPU) +function rl.IsTextureValid(texture) end +---@param texture Texture2D +---Unload texture from GPU memory (VRAM) +function rl.UnloadTexture(texture) end +---@param target RenderTexture2D +---@return bool +---Check if a render texture is valid (loaded in GPU) +function rl.IsRenderTextureValid(target) end +---@param target RenderTexture2D +---Unload render texture from GPU memory (VRAM) +function rl.UnloadRenderTexture(target) end +---@param texture Texture2D +---@param pixels string|lightuserdata +---Update GPU texture with new data (pixels should be able to fill texture) +function rl.UpdateTexture(texture,pixels) end +---@param texture Texture2D +---@param rec Rectangle +---@param pixels string|lightuserdata +---Update GPU texture rectangle with new data (pixels and rec should fit in texture) +function rl.UpdateTextureRec(texture,rec,pixels) end +---@param texture Texture2D_ptr|lightuserdata +---Generate GPU mipmaps for a texture +function rl.GenTextureMipmaps(texture) end +---@param texture Texture2D +---@param filter number +---Set texture scaling filter mode +function rl.SetTextureFilter(texture,filter) end +---@param texture Texture2D +---@param wrap number +---Set texture wrapping mode +function rl.SetTextureWrap(texture,wrap) end +---@param texture Texture2D +---@param posX number +---@param posY number +---@param tint Color +---Draw a Texture2D +function rl.DrawTexture(texture,posX,posY,tint) end +---@param texture Texture2D +---@param position Vector2 +---@param tint Color +---Draw a Texture2D with position defined as Vector2 +function rl.DrawTextureV(texture,position,tint) end +---@param texture Texture2D +---@param position Vector2 +---@param rotation number +---@param scale number +---@param tint Color +---Draw a Texture2D with extended parameters +function rl.DrawTextureEx(texture,position,rotation,scale,tint) end +---@param texture Texture2D +---@param source Rectangle +---@param position Vector2 +---@param tint Color +---Draw a part of a texture defined by a rectangle +function rl.DrawTextureRec(texture,source,position,tint) end +---@param texture Texture2D +---@param source Rectangle +---@param dest Rectangle +---@param origin Vector2 +---@param rotation number +---@param tint Color +---Draw a part of a texture defined by a rectangle with 'pro' parameters +function rl.DrawTexturePro(texture,source,dest,origin,rotation,tint) end +---@param texture Texture2D +---@param nPatchInfo NPatchInfo +---@param dest Rectangle +---@param origin Vector2 +---@param rotation number +---@param tint Color +---Draws a texture (or part of it) that stretches or shrinks nicely +function rl.DrawTextureNPatch(texture,nPatchInfo,dest,origin,rotation,tint) end +---@param col1 Color +---@param col2 Color +---@return bool +---Check if two colors are equal +function rl.ColorIsEqual(col1,col2) end +---@param color Color +---@param alpha number +---@return Color +---Get color with alpha applied, alpha goes from 0.0f to 1.0f +function rl.Fade(color,alpha) end +---@param color Color +---@return number +---Get hexadecimal value for a Color (0xRRGGBBAA) +function rl.ColorToInt(color) end +---@param color Color +---@return Vector4 +---Get Color normalized as float [0..1] +function rl.ColorNormalize(color) end +---@param normalized Vector4 +---@return Color +---Get Color from normalized values [0..1] +function rl.ColorFromNormalized(normalized) end +---@param color Color +---@return Vector3 +---Get HSV values for a Color, hue [0..360], saturation/value [0..1] +function rl.ColorToHSV(color) end +---@param hue number +---@param saturation number +---@param value number +---@return Color +---Get a Color from HSV values, hue [0..360], saturation/value [0..1] +function rl.ColorFromHSV(hue,saturation,value) end +---@param color Color +---@param tint Color +---@return Color +---Get color multiplied with another color +function rl.ColorTint(color,tint) end +---@param color Color +---@param factor number +---@return Color +---Get color with brightness correction, brightness factor goes from -1.0f to 1.0f +function rl.ColorBrightness(color,factor) end +---@param color Color +---@param contrast number +---@return Color +---Get color with contrast correction, contrast values between -1.0f and 1.0f +function rl.ColorContrast(color,contrast) end +---@param color Color +---@param alpha number +---@return Color +---Get color with alpha applied, alpha goes from 0.0f to 1.0f +function rl.ColorAlpha(color,alpha) end +---@param dst Color +---@param src Color +---@param tint Color +---@return Color +---Get src alpha-blended into dst color with tint +function rl.ColorAlphaBlend(dst,src,tint) end +---@param color1 Color +---@param color2 Color +---@param factor number +---@return Color +---Get color lerp interpolation between two colors, factor [0.0f..1.0f] +function rl.ColorLerp(color1,color2,factor) end +---@param hexValue number +---@return Color +---Get Color structure from hexadecimal value +function rl.GetColor(hexValue) end +---@param srcPtr string|lightuserdata +---@param format number +---@return Color +---Get Color from a source pixel pointer of certain format +function rl.GetPixelColor(srcPtr,format) end +---@param dstPtr string|lightuserdata +---@param color Color +---@param format number +---Set color formatted into destination pixel pointer +function rl.SetPixelColor(dstPtr,color,format) end +---@param width number +---@param height number +---@param format number +---@return number +---Get pixel data size in bytes for certain format +function rl.GetPixelDataSize(width,height,format) end +---@return Font +---Get the default Font +function rl.GetFontDefault() end +---@param fileName string|lightuserdata +---@return Font +---Load font from file into GPU memory (VRAM) +function rl.LoadFont(fileName) end +---@param fileName string|lightuserdata +---@param fontSize number +---@param codepoints number +---@param codepointCount number +---@return Font +---Load font from file with extended parameters, use NULL for codepoints and 0 for codepointCount to load the default character set, font size is provided in pixels height +function rl.LoadFontEx(fileName,fontSize,codepoints,codepointCount) end +---@param image Image +---@param key Color +---@param firstChar number +---@return Font +---Load font from Image (XNA style) +function rl.LoadFontFromImage(image,key,firstChar) end +---@param fileType string|lightuserdata +---@param fileData string|lightuserdata +---@param dataSize number +---@param fontSize number +---@param codepoints number +---@param codepointCount number +---@return Font +---Load font from memory buffer, fileType refers to extension: i.e. '.ttf' +function rl.LoadFontFromMemory(fileType,fileData,dataSize,fontSize,codepoints,codepointCount) end +---@param font Font +---@return bool +---Check if a font is valid (font data loaded, WARNING: GPU texture not checked) +function rl.IsFontValid(font) end +---@param fileData string|lightuserdata +---@param dataSize number +---@param fontSize number +---@param codepoints number +---@param codepointCount number +---@param type number +---@param glyphCount number +---@return GlyphInfo_ptr|lightuserdata +---Load font data for further use +function rl.LoadFontData(fileData,dataSize,fontSize,codepoints,codepointCount,type,glyphCount) end +---@param glyphs const_GlyphInfo_ptr|lightuserdata +---@param glyphRecs Rectangle_ptr_ptr|lightuserdata +---@param glyphCount number +---@param fontSize number +---@param padding number +---@param packMethod number +---@return Image +---Generate image font atlas using chars info +function rl.GenImageFontAtlas(glyphs,glyphRecs,glyphCount,fontSize,padding,packMethod) end +---@param glyphs GlyphInfo_ptr|lightuserdata +---@param glyphCount number +---Unload font chars info data (RAM) +function rl.UnloadFontData(glyphs,glyphCount) end +---@param font Font +---Unload font from GPU memory (VRAM) +function rl.UnloadFont(font) end +---@param font Font +---@param fileName string|lightuserdata +---@return bool +---Export font as code file, returns true on success +function rl.ExportFontAsCode(font,fileName) end +---@param posX number +---@param posY number +---Draw current FPS +function rl.DrawFPS(posX,posY) end +---@param text string|lightuserdata +---@param posX number +---@param posY number +---@param fontSize number +---@param color Color +---Draw text (using default font) +function rl.DrawText(text,posX,posY,fontSize,color) end +---@param font Font +---@param text string|lightuserdata +---@param position Vector2 +---@param fontSize number +---@param spacing number +---@param tint Color +---Draw text using font and additional parameters +function rl.DrawTextEx(font,text,position,fontSize,spacing,tint) end +---@param font Font +---@param text string|lightuserdata +---@param position Vector2 +---@param origin Vector2 +---@param rotation number +---@param fontSize number +---@param spacing number +---@param tint Color +---Draw text using Font and pro parameters (rotation) +function rl.DrawTextPro(font,text,position,origin,rotation,fontSize,spacing,tint) end +---@param font Font +---@param codepoint number +---@param position Vector2 +---@param fontSize number +---@param tint Color +---Draw one character (codepoint) +function rl.DrawTextCodepoint(font,codepoint,position,fontSize,tint) end +---@param font Font +---@param codepoints number +---@param codepointCount number +---@param position Vector2 +---@param fontSize number +---@param spacing number +---@param tint Color +---Draw multiple character (codepoint) +function rl.DrawTextCodepoints(font,codepoints,codepointCount,position,fontSize,spacing,tint) end +---@param spacing number +---Set vertical line spacing when drawing with line-breaks +function rl.SetTextLineSpacing(spacing) end +---@param text string|lightuserdata +---@param fontSize number +---@return number +---Measure string width for default font +function rl.MeasureText(text,fontSize) end +---@param font Font +---@param text string|lightuserdata +---@param fontSize number +---@param spacing number +---@return Vector2 +---Measure string size for Font +function rl.MeasureTextEx(font,text,fontSize,spacing) end +---@param font Font +---@param codepoints number +---@param length number +---@param fontSize number +---@param spacing number +---@return Vector2 +---Measure string size for an existing array of codepoints for Font +function rl.MeasureTextCodepoints(font,codepoints,length,fontSize,spacing) end +---@param font Font +---@param codepoint number +---@return number +---Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found +function rl.GetGlyphIndex(font,codepoint) end +---@param font Font +---@param codepoint number +---@return GlyphInfo +---Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found +function rl.GetGlyphInfo(font,codepoint) end +---@param font Font +---@param codepoint number +---@return Rectangle +---Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found +function rl.GetGlyphAtlasRec(font,codepoint) end +---@param codepoints number +---@param length number +---@return string|lightuserdata +---Load UTF-8 text encoded from codepoints array +function rl.LoadUTF8(codepoints,length) end +---@param text string|lightuserdata +---Unload UTF-8 text encoded from codepoints array +function rl.UnloadUTF8(text) end +---@param text string|lightuserdata +---@param count number +---@return number +---Load all codepoints from a UTF-8 text string, codepoints count returned by parameter +function rl.LoadCodepoints(text,count) end +---@param codepoints number +---Unload codepoints data from memory +function rl.UnloadCodepoints(codepoints) end +---@param text string|lightuserdata +---@return number +---Get total number of codepoints in a UTF-8 encoded string +function rl.GetCodepointCount(text) end +---@param text string|lightuserdata +---@param codepointSize number +---@return number +---Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure +function rl.GetCodepoint(text,codepointSize) end +---@param text string|lightuserdata +---@param codepointSize number +---@return number +---Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure +function rl.GetCodepointNext(text,codepointSize) end +---@param text string|lightuserdata +---@param codepointSize number +---@return number +---Get previous codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure +function rl.GetCodepointPrevious(text,codepointSize) end +---@param codepoint number +---@param utf8Size number +---@return string|lightuserdata +---Encode one codepoint into UTF-8 byte array (array length returned as parameter) +function rl.CodepointToUTF8(codepoint,utf8Size) end +---@param text string|lightuserdata +---@param count number +---@return string|lightuserdata +---Load text as separate lines ('\\n') +function rl.LoadTextLines(text,count) end +---@param text string|lightuserdata +---@param lineCount number +---Unload text lines +function rl.UnloadTextLines(text,lineCount) end +---@param dst string|lightuserdata +---@param src string|lightuserdata +---@return number +---Copy one string to another, returns bytes copied +function rl.TextCopy(dst,src) end +---@param text1 string|lightuserdata +---@param text2 string|lightuserdata +---@return bool +---Check if two text string are equal +function rl.TextIsEqual(text1,text2) end +---@param text string|lightuserdata +---@return number +---Get text length, checks for '\\0' ending +function rl.TextLength(text) end +---@param text string|lightuserdata +---@param args ... +---@return string|lightuserdata +---Text formatting with variables (sprintf() style) +function rl.TextFormat(text,args) end +---@param text string|lightuserdata +---@param position number +---@param length number +---@return string|lightuserdata +---Get a piece of a text string +function rl.TextSubtext(text,position,length) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Remove text spaces, concat words +function rl.TextRemoveSpaces(text) end +---@param text string|lightuserdata +---@param begin string|lightuserdata +---@param end_ string|lightuserdata +---@return string|lightuserdata +---Get text between two strings +function rl.GetTextBetween(text,begin,end_) end +---@param text string|lightuserdata +---@param search string|lightuserdata +---@param replacement string|lightuserdata +---@return string|lightuserdata +---Replace text string with new string +function rl.TextReplace(text,search,replacement) end +---@param text string|lightuserdata +---@param search string|lightuserdata +---@param replacement string|lightuserdata +---@return string|lightuserdata +---Replace text string with new string, memory must be MemFree() +function rl.TextReplaceAlloc(text,search,replacement) end +---@param text string|lightuserdata +---@param begin string|lightuserdata +---@param end_ string|lightuserdata +---@param replacement string|lightuserdata +---@return string|lightuserdata +---Replace text between two specific strings +function rl.TextReplaceBetween(text,begin,end_,replacement) end +---@param text string|lightuserdata +---@param begin string|lightuserdata +---@param end_ string|lightuserdata +---@param replacement string|lightuserdata +---@return string|lightuserdata +---Replace text between two specific strings, memory must be MemFree() +function rl.TextReplaceBetweenAlloc(text,begin,end_,replacement) end +---@param text string|lightuserdata +---@param insert string|lightuserdata +---@param position number +---@return string|lightuserdata +---Insert text in a defined byte position +function rl.TextInsert(text,insert,position) end +---@param text string|lightuserdata +---@param insert string|lightuserdata +---@param position number +---@return string|lightuserdata +---Insert text in a defined byte position, memory must be MemFree() +function rl.TextInsertAlloc(text,insert,position) end +---@param textList string|lightuserdata +---@param count number +---@param delimiter string|lightuserdata +---@return string|lightuserdata +---Join text strings with delimiter +function rl.TextJoin(textList,count,delimiter) end +---@param text string|lightuserdata +---@param delimiter number|string[] +---@param count number +---@return string|lightuserdata +---Split text into multiple strings, using MAX_TEXTSPLIT_COUNT static strings +function rl.TextSplit(text,delimiter,count) end +---@param text string|lightuserdata +---@param append string|lightuserdata +---@param position number +---Append text at specific position and move cursor +function rl.TextAppend(text,append,position) end +---@param text string|lightuserdata +---@param search string|lightuserdata +---@return number +---Find first text occurrence within a string, -1 if not found +function rl.TextFindIndex(text,search) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Get upper case version of provided string +function rl.TextToUpper(text) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Get lower case version of provided string +function rl.TextToLower(text) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Get Pascal case notation version of provided string +function rl.TextToPascal(text) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Get Snake case notation version of provided string +function rl.TextToSnake(text) end +---@param text string|lightuserdata +---@return string|lightuserdata +---Get Camel case notation version of provided string +function rl.TextToCamel(text) end +---@param text string|lightuserdata +---@return number +---Get integer value from text +function rl.TextToInteger(text) end +---@param text string|lightuserdata +---@return number +---Get float value from text +function rl.TextToFloat(text) end +---@param startPos Vector3 +---@param endPos Vector3 +---@param color Color +---Draw a line in 3D world space +function rl.DrawLine3D(startPos,endPos,color) end +---@param position Vector3 +---@param color Color +---Draw a point in 3D space, actually a small line +function rl.DrawPoint3D(position,color) end +---@param center Vector3 +---@param radius number +---@param rotationAxis Vector3 +---@param rotationAngle number +---@param color Color +---Draw a circle in 3D world space +function rl.DrawCircle3D(center,radius,rotationAxis,rotationAngle,color) end +---@param v1 Vector3 +---@param v2 Vector3 +---@param v3 Vector3 +---@param color Color +---Draw a color-filled triangle (vertex in counter-clockwise order!) +function rl.DrawTriangle3D(v1,v2,v3,color) end +---@param points const_Vector3_ptr|lightuserdata +---@param pointCount number +---@param color Color +---Draw a triangle strip defined by points +function rl.DrawTriangleStrip3D(points,pointCount,color) end +---@param position Vector3 +---@param width number +---@param height number +---@param length number +---@param color Color +---Draw cube +function rl.DrawCube(position,width,height,length,color) end +---@param position Vector3 +---@param size Vector3 +---@param color Color +---Draw cube (Vector version) +function rl.DrawCubeV(position,size,color) end +---@param position Vector3 +---@param width number +---@param height number +---@param length number +---@param color Color +---Draw cube wires +function rl.DrawCubeWires(position,width,height,length,color) end +---@param position Vector3 +---@param size Vector3 +---@param color Color +---Draw cube wires (Vector version) +function rl.DrawCubeWiresV(position,size,color) end +---@param centerPos Vector3 +---@param radius number +---@param color Color +---Draw sphere +function rl.DrawSphere(centerPos,radius,color) end +---@param centerPos Vector3 +---@param radius number +---@param rings number +---@param slices number +---@param color Color +---Draw sphere with extended parameters +function rl.DrawSphereEx(centerPos,radius,rings,slices,color) end +---@param centerPos Vector3 +---@param radius number +---@param rings number +---@param slices number +---@param color Color +---Draw sphere wires +function rl.DrawSphereWires(centerPos,radius,rings,slices,color) end +---@param position Vector3 +---@param radiusTop number +---@param radiusBottom number +---@param height number +---@param slices number +---@param color Color +---Draw a cylinder/cone +function rl.DrawCylinder(position,radiusTop,radiusBottom,height,slices,color) end +---@param startPos Vector3 +---@param endPos Vector3 +---@param startRadius number +---@param endRadius number +---@param sides number +---@param color Color +---Draw a cylinder with base at startPos and top at endPos +function rl.DrawCylinderEx(startPos,endPos,startRadius,endRadius,sides,color) end +---@param position Vector3 +---@param radiusTop number +---@param radiusBottom number +---@param height number +---@param slices number +---@param color Color +---Draw a cylinder/cone wires +function rl.DrawCylinderWires(position,radiusTop,radiusBottom,height,slices,color) end +---@param startPos Vector3 +---@param endPos Vector3 +---@param startRadius number +---@param endRadius number +---@param sides number +---@param color Color +---Draw a cylinder wires with base at startPos and top at endPos +function rl.DrawCylinderWiresEx(startPos,endPos,startRadius,endRadius,sides,color) end +---@param startPos Vector3 +---@param endPos Vector3 +---@param radius number +---@param slices number +---@param rings number +---@param color Color +---Draw a capsule with the center of its sphere caps at startPos and endPos +function rl.DrawCapsule(startPos,endPos,radius,slices,rings,color) end +---@param startPos Vector3 +---@param endPos Vector3 +---@param radius number +---@param slices number +---@param rings number +---@param color Color +---Draw capsule wireframe with the center of its sphere caps at startPos and endPos +function rl.DrawCapsuleWires(startPos,endPos,radius,slices,rings,color) end +---@param centerPos Vector3 +---@param size Vector2 +---@param color Color +---Draw a plane XZ +function rl.DrawPlane(centerPos,size,color) end +---@param ray Ray +---@param color Color +---Draw a ray line +function rl.DrawRay(ray,color) end +---@param slices number +---@param spacing number +---Draw a grid (centered at (0, 0, 0)) +function rl.DrawGrid(slices,spacing) end +---@param fileName string|lightuserdata +---@return Model +---Load model from files (meshes and materials) +function rl.LoadModel(fileName) end +---@param mesh Mesh +---@return Model +---Load model from generated mesh (default material) +function rl.LoadModelFromMesh(mesh) end +---@param model Model +---@return bool +---Check if a model is valid (loaded in GPU, VAO/VBOs) +function rl.IsModelValid(model) end +---@param model Model +---Unload model (including meshes) from memory (RAM and/or VRAM) +function rl.UnloadModel(model) end +---@param model Model +---@return BoundingBox +---Compute model bounding box limits (considers all meshes) +function rl.GetModelBoundingBox(model) end +---@param model Model +---@param position Vector3 +---@param scale number +---@param tint Color +---Draw a model (with texture if set) +function rl.DrawModel(model,position,scale,tint) end +---@param model Model +---@param position Vector3 +---@param rotationAxis Vector3 +---@param rotationAngle number +---@param scale Vector3 +---@param tint Color +---Draw a model with extended parameters +function rl.DrawModelEx(model,position,rotationAxis,rotationAngle,scale,tint) end +---@param model Model +---@param position Vector3 +---@param scale number +---@param tint Color +---Draw a model wires (with texture if set) +function rl.DrawModelWires(model,position,scale,tint) end +---@param model Model +---@param position Vector3 +---@param rotationAxis Vector3 +---@param rotationAngle number +---@param scale Vector3 +---@param tint Color +---Draw a model wires (with texture if set) with extended parameters +function rl.DrawModelWiresEx(model,position,rotationAxis,rotationAngle,scale,tint) end +---@param box BoundingBox +---@param color Color +---Draw bounding box (wires) +function rl.DrawBoundingBox(box,color) end +---@param camera Camera +---@param texture Texture2D +---@param position Vector3 +---@param scale number +---@param tint Color +---Draw a billboard texture +function rl.DrawBillboard(camera,texture,position,scale,tint) end +---@param camera Camera +---@param texture Texture2D +---@param source Rectangle +---@param position Vector3 +---@param size Vector2 +---@param tint Color +---Draw a billboard texture defined by source +function rl.DrawBillboardRec(camera,texture,source,position,size,tint) end +---@param camera Camera +---@param texture Texture2D +---@param source Rectangle +---@param position Vector3 +---@param up Vector3 +---@param size Vector2 +---@param origin Vector2 +---@param rotation number +---@param tint Color +---Draw a billboard texture defined by source and rotation +function rl.DrawBillboardPro(camera,texture,source,position,up,size,origin,rotation,tint) end +---@param mesh Mesh_ptr|lightuserdata +---@param dynamic bool +---Upload mesh vertex data in GPU and provide VAO/VBO ids +function rl.UploadMesh(mesh,dynamic) end +---@param mesh Mesh +---@param index number +---@param data string|lightuserdata +---@param dataSize number +---@param offset number +---Update mesh vertex data in GPU for a specific buffer index +function rl.UpdateMeshBuffer(mesh,index,data,dataSize,offset) end +---@param mesh Mesh +---Unload mesh data from CPU and GPU +function rl.UnloadMesh(mesh) end +---@param mesh Mesh +---@param material Material +---@param transform Matrix +---Draw a 3d mesh with material and transform +function rl.DrawMesh(mesh,material,transform) end +---@param mesh Mesh +---@param material Material +---@param transforms const_Matrix_ptr|lightuserdata +---@param instances number +---Draw multiple mesh instances with material and different transforms +function rl.DrawMeshInstanced(mesh,material,transforms,instances) end +---@param mesh Mesh +---@return BoundingBox +---Compute mesh bounding box limits +function rl.GetMeshBoundingBox(mesh) end +---@param mesh Mesh_ptr|lightuserdata +---Compute mesh tangents +function rl.GenMeshTangents(mesh) end +---@param mesh Mesh +---@param fileName string|lightuserdata +---@return bool +---Export mesh data to file, returns true on success +function rl.ExportMesh(mesh,fileName) end +---@param mesh Mesh +---@param fileName string|lightuserdata +---@return bool +---Export mesh as code file (.h) defining multiple arrays of vertex attributes +function rl.ExportMeshAsCode(mesh,fileName) end +---@param sides number +---@param radius number +---@return Mesh +---Generate polygonal mesh +function rl.GenMeshPoly(sides,radius) end +---@param width number +---@param length number +---@param resX number +---@param resZ number +---@return Mesh +---Generate plane mesh (with subdivisions) +function rl.GenMeshPlane(width,length,resX,resZ) end +---@param width number +---@param height number +---@param length number +---@return Mesh +---Generate cuboid mesh +function rl.GenMeshCube(width,height,length) end +---@param radius number +---@param rings number +---@param slices number +---@return Mesh +---Generate sphere mesh (standard sphere) +function rl.GenMeshSphere(radius,rings,slices) end +---@param radius number +---@param rings number +---@param slices number +---@return Mesh +---Generate half-sphere mesh (no bottom cap) +function rl.GenMeshHemiSphere(radius,rings,slices) end +---@param radius number +---@param height number +---@param slices number +---@return Mesh +---Generate cylinder mesh +function rl.GenMeshCylinder(radius,height,slices) end +---@param radius number +---@param height number +---@param slices number +---@return Mesh +---Generate cone/pyramid mesh +function rl.GenMeshCone(radius,height,slices) end +---@param radius number +---@param size number +---@param radSeg number +---@param sides number +---@return Mesh +---Generate torus mesh +function rl.GenMeshTorus(radius,size,radSeg,sides) end +---@param radius number +---@param size number +---@param radSeg number +---@param sides number +---@return Mesh +---Generate trefoil knot mesh +function rl.GenMeshKnot(radius,size,radSeg,sides) end +---@param heightmap Image +---@param size Vector3 +---@return Mesh +---Generate heightmap mesh from image data +function rl.GenMeshHeightmap(heightmap,size) end +---@param cubicmap Image +---@param cubeSize Vector3 +---@return Mesh +---Generate cubes-based map mesh from image data +function rl.GenMeshCubicmap(cubicmap,cubeSize) end +---@param fileName string|lightuserdata +---@param materialCount number +---@return Material_ptr|lightuserdata +---Load materials from model file +function rl.LoadMaterials(fileName,materialCount) end +---@return Material +---Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps) +function rl.LoadMaterialDefault() end +---@param material Material +---@return bool +---Check if a material is valid (shader assigned, map textures loaded in GPU) +function rl.IsMaterialValid(material) end +---@param material Material +---Unload material from GPU memory (VRAM) +function rl.UnloadMaterial(material) end +---@param material Material_ptr|lightuserdata +---@param mapType number +---@param texture Texture2D +---Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...) +function rl.SetMaterialTexture(material,mapType,texture) end +---@param model Model_ptr|lightuserdata +---@param meshId number +---@param materialId number +---Set material for a mesh +function rl.SetModelMeshMaterial(model,meshId,materialId) end +---@param fileName string|lightuserdata +---@param animCount number +---@return ModelAnimation_ptr|lightuserdata +---Load model animations from file +function rl.LoadModelAnimations(fileName,animCount) end +---@param model Model +---@param anim ModelAnimation +---@param frame number +---Update model animation pose (vertex buffers and bone matrices) +function rl.UpdateModelAnimation(model,anim,frame) end +---@param model Model +---@param animA ModelAnimation +---@param frameA number +---@param animB ModelAnimation +---@param frameB number +---@param blend number +---Update model animation pose, blending two animations +function rl.UpdateModelAnimationEx(model,animA,frameA,animB,frameB,blend) end +---@param animations ModelAnimation_ptr|lightuserdata +---@param animCount number +---Unload animation array data +function rl.UnloadModelAnimations(animations,animCount) end +---@param model Model +---@param anim ModelAnimation +---@return bool +---Check model animation skeleton match +function rl.IsModelAnimationValid(model,anim) end +---@param center1 Vector3 +---@param radius1 number +---@param center2 Vector3 +---@param radius2 number +---@return bool +---Check collision between two spheres +function rl.CheckCollisionSpheres(center1,radius1,center2,radius2) end +---@param box1 BoundingBox +---@param box2 BoundingBox +---@return bool +---Check collision between two bounding boxes +function rl.CheckCollisionBoxes(box1,box2) end +---@param box BoundingBox +---@param center Vector3 +---@param radius number +---@return bool +---Check collision between box and sphere +function rl.CheckCollisionBoxSphere(box,center,radius) end +---@param ray Ray +---@param center Vector3 +---@param radius number +---@return RayCollision +---Get collision info between ray and sphere +function rl.GetRayCollisionSphere(ray,center,radius) end +---@param ray Ray +---@param box BoundingBox +---@return RayCollision +---Get collision info between ray and box +function rl.GetRayCollisionBox(ray,box) end +---@param ray Ray +---@param mesh Mesh +---@param transform Matrix +---@return RayCollision +---Get collision info between ray and mesh +function rl.GetRayCollisionMesh(ray,mesh,transform) end +---@param ray Ray +---@param p1 Vector3 +---@param p2 Vector3 +---@param p3 Vector3 +---@return RayCollision +---Get collision info between ray and triangle +function rl.GetRayCollisionTriangle(ray,p1,p2,p3) end +---@param ray Ray +---@param p1 Vector3 +---@param p2 Vector3 +---@param p3 Vector3 +---@param p4 Vector3 +---@return RayCollision +---Get collision info between ray and quad +function rl.GetRayCollisionQuad(ray,p1,p2,p3,p4) end +---Initialize audio device and context +function rl.InitAudioDevice() end +---Close the audio device and context +function rl.CloseAudioDevice() end +---@return bool +---Check if audio device has been initialized successfully +function rl.IsAudioDeviceReady() end +---@param volume number +---Set master volume (listener) +function rl.SetMasterVolume(volume) end +---@return number +---Get master volume (listener) +function rl.GetMasterVolume() end +---@param fileName string|lightuserdata +---@return Wave +---Load wave data from file +function rl.LoadWave(fileName) end +---@param fileType string|lightuserdata +---@param fileData string|lightuserdata +---@param dataSize number +---@return Wave +---Load wave from memory buffer, fileType refers to extension: i.e. '.wav' +function rl.LoadWaveFromMemory(fileType,fileData,dataSize) end +---@param wave Wave +---@return bool +---Checks if wave data is valid (data loaded and parameters) +function rl.IsWaveValid(wave) end +---@param fileName string|lightuserdata +---@return Sound +---Load sound from file +function rl.LoadSound(fileName) end +---@param wave Wave +---@return Sound +---Load sound from wave data +function rl.LoadSoundFromWave(wave) end +---@param source Sound +---@return Sound +---Create a new sound that shares the same sample data as the source sound, does not own the sound data +function rl.LoadSoundAlias(source) end +---@param sound Sound +---@return bool +---Checks if a sound is valid (data loaded and buffers initialized) +function rl.IsSoundValid(sound) end +---@param sound Sound +---@param data string|lightuserdata +---@param sampleCount number +---Update sound buffer with new data (default data format: 32 bit float, stereo) +function rl.UpdateSound(sound,data,sampleCount) end +---@param wave Wave +---Unload wave data +function rl.UnloadWave(wave) end +---@param sound Sound +---Unload sound +function rl.UnloadSound(sound) end +---@param alias Sound +---Unload a sound alias (does not deallocate sample data) +function rl.UnloadSoundAlias(alias) end +---@param wave Wave +---@param fileName string|lightuserdata +---@return bool +---Export wave data to file, returns true on success +function rl.ExportWave(wave,fileName) end +---@param wave Wave +---@param fileName string|lightuserdata +---@return bool +---Export wave sample data to code (.h), returns true on success +function rl.ExportWaveAsCode(wave,fileName) end +---@param sound Sound +---Play a sound +function rl.PlaySound(sound) end +---@param sound Sound +---Stop playing a sound +function rl.StopSound(sound) end +---@param sound Sound +---Pause a sound +function rl.PauseSound(sound) end +---@param sound Sound +---Resume a paused sound +function rl.ResumeSound(sound) end +---@param sound Sound +---@return bool +---Check if a sound is currently playing +function rl.IsSoundPlaying(sound) end +---@param sound Sound +---@param volume number +---Set volume for a sound (1.0 is max level) +function rl.SetSoundVolume(sound,volume) end +---@param sound Sound +---@param pitch number +---Set pitch for a sound (1.0 is base level) +function rl.SetSoundPitch(sound,pitch) end +---@param sound Sound +---@param pan number +---Set pan for a sound (-1.0 left, 0.0 center, 1.0 right) +function rl.SetSoundPan(sound,pan) end +---@param wave Wave +---@return Wave +---Copy a wave to a new wave +function rl.WaveCopy(wave) end +---@param wave Wave_ptr|lightuserdata +---@param initFrame number +---@param finalFrame number +---Crop a wave to defined frames range +function rl.WaveCrop(wave,initFrame,finalFrame) end +---@param wave Wave_ptr|lightuserdata +---@param sampleRate number +---@param sampleSize number +---@param channels number +---Convert wave data to desired format +function rl.WaveFormat(wave,sampleRate,sampleSize,channels) end +---@param wave Wave +---@return number +---Load samples data from wave as a 32bit float data array +function rl.LoadWaveSamples(wave) end +---@param samples number +---Unload samples data loaded with LoadWaveSamples() +function rl.UnloadWaveSamples(samples) end +---@param fileName string|lightuserdata +---@return Music +---Load music stream from file +function rl.LoadMusicStream(fileName) end +---@param fileType string|lightuserdata +---@param data string|lightuserdata +---@param dataSize number +---@return Music +---Load music stream from data +function rl.LoadMusicStreamFromMemory(fileType,data,dataSize) end +---@param music Music +---@return bool +---Checks if a music stream is valid (context and buffers initialized) +function rl.IsMusicValid(music) end +---@param music Music +---Unload music stream +function rl.UnloadMusicStream(music) end +---@param music Music +---Start music playing +function rl.PlayMusicStream(music) end +---@param music Music +---@return bool +---Check if music is playing +function rl.IsMusicStreamPlaying(music) end +---@param music Music +---Updates buffers for music streaming +function rl.UpdateMusicStream(music) end +---@param music Music +---Stop music playing +function rl.StopMusicStream(music) end +---@param music Music +---Pause music playing +function rl.PauseMusicStream(music) end +---@param music Music +---Resume playing paused music +function rl.ResumeMusicStream(music) end +---@param music Music +---@param position number +---Seek music to a position (in seconds) +function rl.SeekMusicStream(music,position) end +---@param music Music +---@param volume number +---Set volume for music (1.0 is max level) +function rl.SetMusicVolume(music,volume) end +---@param music Music +---@param pitch number +---Set pitch for a music (1.0 is base level) +function rl.SetMusicPitch(music,pitch) end +---@param music Music +---@param pan number +---Set pan for a music (-1.0 left, 0.0 center, 1.0 right) +function rl.SetMusicPan(music,pan) end +---@param music Music +---@return number +---Get music time length (in seconds) +function rl.GetMusicTimeLength(music) end +---@param music Music +---@return number +---Get current music time played (in seconds) +function rl.GetMusicTimePlayed(music) end +---@param sampleRate number +---@param sampleSize number +---@param channels number +---@return AudioStream +---Load audio stream (to stream raw audio pcm data) +function rl.LoadAudioStream(sampleRate,sampleSize,channels) end +---@param stream AudioStream +---@return bool +---Checks if an audio stream is valid (buffers initialized) +function rl.IsAudioStreamValid(stream) end +---@param stream AudioStream +---Unload audio stream and free memory +function rl.UnloadAudioStream(stream) end +---@param stream AudioStream +---@param data string|lightuserdata +---@param frameCount number +---Update audio stream buffers with data +function rl.UpdateAudioStream(stream,data,frameCount) end +---@param stream AudioStream +---@return bool +---Check if any audio stream buffers requires refill +function rl.IsAudioStreamProcessed(stream) end +---@param stream AudioStream +---Play audio stream +function rl.PlayAudioStream(stream) end +---@param stream AudioStream +---Pause audio stream +function rl.PauseAudioStream(stream) end +---@param stream AudioStream +---Resume audio stream +function rl.ResumeAudioStream(stream) end +---@param stream AudioStream +---@return bool +---Check if audio stream is playing +function rl.IsAudioStreamPlaying(stream) end +---@param stream AudioStream +---Stop audio stream +function rl.StopAudioStream(stream) end +---@param stream AudioStream +---@param volume number +---Set volume for audio stream (1.0 is max level) +function rl.SetAudioStreamVolume(stream,volume) end +---@param stream AudioStream +---@param pitch number +---Set pitch for audio stream (1.0 is base level) +function rl.SetAudioStreamPitch(stream,pitch) end +---@param stream AudioStream +---@param pan number +---Set pan for audio stream (-1.0 to 1.0 range, 0.0 is centered) +function rl.SetAudioStreamPan(stream,pan) end +---@param size number +---Default size for new audio streams +function rl.SetAudioStreamBufferSizeDefault(size) end +---@param stream AudioStream +---@param callback AudioCallback +---Audio thread callback to request new data +function rl.SetAudioStreamCallback(stream,callback) end +---@param stream AudioStream +---@param processor AudioCallback +---Attach audio stream processor to stream, receives frames x 2 samples as 'float' (stereo) +function rl.AttachAudioStreamProcessor(stream,processor) end +---@param stream AudioStream +---@param processor AudioCallback +---Detach audio stream processor from stream +function rl.DetachAudioStreamProcessor(stream,processor) end +---@param processor AudioCallback +---Attach audio stream processor to the entire audio pipeline, receives frames x 2 samples as 'float' (stereo) +function rl.AttachAudioMixedProcessor(processor) end +---@param processor AudioCallback +---Detach audio stream processor from the entire audio pipeline +function rl.DetachAudioMixedProcessor(processor) end +---@alias rlGlVersion +---| 'RL_OPENGL_SOFTWARE' +---| 'RL_OPENGL_11' +---| 'RL_OPENGL_21' +---| 'RL_OPENGL_33' +---| 'RL_OPENGL_43' +---| 'RL_OPENGL_ES_20' +---| 'RL_OPENGL_ES_30' +---OpenGL version + +---Software rendering +rl.RL_OPENGL_SOFTWARE = 0 +---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 +---OpenGL ES 3.0 (GLSL 300 es) +rl.RL_OPENGL_ES_30 = 6 +---@alias rlTraceLogLevel +---| 'RL_LOG_ALL' +---| 'RL_LOG_TRACE' +---| 'RL_LOG_DEBUG' +---| 'RL_LOG_INFO' +---| 'RL_LOG_WARNING' +---| 'RL_LOG_ERROR' +---| 'RL_LOG_FATAL' +---| 'RL_LOG_NONE' +---Trace log level + +---Display all logs +rl.RL_LOG_ALL = 0 +---Trace logging, intended for internal use only +rl.RL_LOG_TRACE = 1 +---Debug logging, used for internal debugging, it should be disabled on release builds +rl.RL_LOG_DEBUG = 2 +---Info logging, used for program execution info +rl.RL_LOG_INFO = 3 +---Warning logging, used on recoverable failures +rl.RL_LOG_WARNING = 4 +---Error logging, used on unrecoverable failures +rl.RL_LOG_ERROR = 5 +---Fatal logging, used to abort program: exit(EXIT_FAILURE) +rl.RL_LOG_FATAL = 6 +---Disable logging +rl.RL_LOG_NONE = 7 +---@alias rlPixelFormat +---| 'RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R32' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R16' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16' +---| 'RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16' +---| 'RL_PIXELFORMAT_COMPRESSED_DXT1_RGB' +---| 'RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_ETC1_RGB' +---| 'RL_PIXELFORMAT_COMPRESSED_ETC2_RGB' +---| 'RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_PVRT_RGB' +---| 'RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA' +---| 'RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA' +---Texture pixel formats + +---8 bit per pixel (no alpha) +rl.RL_PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 +---8*2 bpp (2 channels) +rl.RL_PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 +---16 bpp +rl.RL_PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 +---24 bpp +rl.RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 +---16 bpp (1 bit alpha) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 +---16 bpp (4 bit alpha) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 +---32 bpp +rl.RL_PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 +---32 bpp (1 channel - float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R32 = 8 +---32*3 bpp (3 channels - float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 +---32*4 bpp (4 channels - float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 +---16 bpp (1 channel - half float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R16 = 11 +---16*3 bpp (3 channels - half float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 +---16*4 bpp (4 channels - half float) +rl.RL_PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 +---4 bpp (no alpha) +rl.RL_PIXELFORMAT_COMPRESSED_DXT1_RGB = 14 +---4 bpp (1 bit alpha) +rl.RL_PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15 +---8 bpp +rl.RL_PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16 +---8 bpp +rl.RL_PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17 +---4 bpp +rl.RL_PIXELFORMAT_COMPRESSED_ETC1_RGB = 18 +---4 bpp +rl.RL_PIXELFORMAT_COMPRESSED_ETC2_RGB = 19 +---8 bpp +rl.RL_PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20 +---4 bpp +rl.RL_PIXELFORMAT_COMPRESSED_PVRT_RGB = 21 +---4 bpp +rl.RL_PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22 +---8 bpp +rl.RL_PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23 +---2 bpp +rl.RL_PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24 +---@alias rlTextureFilter +---| 'RL_TEXTURE_FILTER_POINT' +---| 'RL_TEXTURE_FILTER_BILINEAR' +---| 'RL_TEXTURE_FILTER_TRILINEAR' +---| 'RL_TEXTURE_FILTER_ANISOTROPIC_4X' +---| 'RL_TEXTURE_FILTER_ANISOTROPIC_8X' +---| 'RL_TEXTURE_FILTER_ANISOTROPIC_16X' +---Texture parameters: filter mode + +---No filter, pixel approximation +rl.RL_TEXTURE_FILTER_POINT = 0 +---Linear filtering +rl.RL_TEXTURE_FILTER_BILINEAR = 1 +---Trilinear filtering (linear with mipmaps) +rl.RL_TEXTURE_FILTER_TRILINEAR = 2 +---Anisotropic filtering 4x +rl.RL_TEXTURE_FILTER_ANISOTROPIC_4X = 3 +---Anisotropic filtering 8x +rl.RL_TEXTURE_FILTER_ANISOTROPIC_8X = 4 +---Anisotropic filtering 16x +rl.RL_TEXTURE_FILTER_ANISOTROPIC_16X = 5 +---@alias rlBlendMode +---| 'RL_BLEND_ALPHA' +---| 'RL_BLEND_ADDITIVE' +---| 'RL_BLEND_MULTIPLIED' +---| 'RL_BLEND_ADD_COLORS' +---| 'RL_BLEND_SUBTRACT_COLORS' +---| 'RL_BLEND_ALPHA_PREMULTIPLY' +---| 'RL_BLEND_CUSTOM' +---| 'RL_BLEND_CUSTOM_SEPARATE' +---Color blending modes (pre-defined) + +---Blend textures considering alpha (default) +rl.RL_BLEND_ALPHA = 0 +---Blend textures adding colors +rl.RL_BLEND_ADDITIVE = 1 +---Blend textures multiplying colors +rl.RL_BLEND_MULTIPLIED = 2 +---Blend textures adding colors (alternative) +rl.RL_BLEND_ADD_COLORS = 3 +---Blend textures subtracting colors (alternative) +rl.RL_BLEND_SUBTRACT_COLORS = 4 +---Blend premultiplied textures considering alpha +rl.RL_BLEND_ALPHA_PREMULTIPLY = 5 +---Blend textures using custom src/dst factors (use rlSetBlendFactors()) +rl.RL_BLEND_CUSTOM = 6 +---Blend textures using custom src/dst factors (use rlSetBlendFactorsSeparate()) +rl.RL_BLEND_CUSTOM_SEPARATE = 7 +---@alias rlShaderLocationIndex +---| 'RL_SHADER_LOC_VERTEX_POSITION' +---| 'RL_SHADER_LOC_VERTEX_TEXCOORD01' +---| 'RL_SHADER_LOC_VERTEX_TEXCOORD02' +---| 'RL_SHADER_LOC_VERTEX_NORMAL' +---| 'RL_SHADER_LOC_VERTEX_TANGENT' +---| 'RL_SHADER_LOC_VERTEX_COLOR' +---| 'RL_SHADER_LOC_MATRIX_MVP' +---| 'RL_SHADER_LOC_MATRIX_VIEW' +---| 'RL_SHADER_LOC_MATRIX_PROJECTION' +---| 'RL_SHADER_LOC_MATRIX_MODEL' +---| 'RL_SHADER_LOC_MATRIX_NORMAL' +---| 'RL_SHADER_LOC_VECTOR_VIEW' +---| 'RL_SHADER_LOC_COLOR_DIFFUSE' +---| 'RL_SHADER_LOC_COLOR_SPECULAR' +---| 'RL_SHADER_LOC_COLOR_AMBIENT' +---| 'RL_SHADER_LOC_MAP_ALBEDO' +---| 'RL_SHADER_LOC_MAP_METALNESS' +---| 'RL_SHADER_LOC_MAP_NORMAL' +---| 'RL_SHADER_LOC_MAP_ROUGHNESS' +---| 'RL_SHADER_LOC_MAP_OCCLUSION' +---| 'RL_SHADER_LOC_MAP_EMISSION' +---| 'RL_SHADER_LOC_MAP_HEIGHT' +---| 'RL_SHADER_LOC_MAP_CUBEMAP' +---| 'RL_SHADER_LOC_MAP_IRRADIANCE' +---| 'RL_SHADER_LOC_MAP_PREFILTER' +---| 'RL_SHADER_LOC_MAP_BRDF' +---Shader location point type + +---Shader location: vertex attribute: position +rl.RL_SHADER_LOC_VERTEX_POSITION = 0 +---Shader location: vertex attribute: texcoord01 +rl.RL_SHADER_LOC_VERTEX_TEXCOORD01 = 1 +---Shader location: vertex attribute: texcoord02 +rl.RL_SHADER_LOC_VERTEX_TEXCOORD02 = 2 +---Shader location: vertex attribute: normal +rl.RL_SHADER_LOC_VERTEX_NORMAL = 3 +---Shader location: vertex attribute: tangent +rl.RL_SHADER_LOC_VERTEX_TANGENT = 4 +---Shader location: vertex attribute: color +rl.RL_SHADER_LOC_VERTEX_COLOR = 5 +---Shader location: matrix uniform: model-view-projection +rl.RL_SHADER_LOC_MATRIX_MVP = 6 +---Shader location: matrix uniform: view (camera transform) +rl.RL_SHADER_LOC_MATRIX_VIEW = 7 +---Shader location: matrix uniform: projection +rl.RL_SHADER_LOC_MATRIX_PROJECTION = 8 +---Shader location: matrix uniform: model (transform) +rl.RL_SHADER_LOC_MATRIX_MODEL = 9 +---Shader location: matrix uniform: normal +rl.RL_SHADER_LOC_MATRIX_NORMAL = 10 +---Shader location: vector uniform: view +rl.RL_SHADER_LOC_VECTOR_VIEW = 11 +---Shader location: vector uniform: diffuse color +rl.RL_SHADER_LOC_COLOR_DIFFUSE = 12 +---Shader location: vector uniform: specular color +rl.RL_SHADER_LOC_COLOR_SPECULAR = 13 +---Shader location: vector uniform: ambient color +rl.RL_SHADER_LOC_COLOR_AMBIENT = 14 +---Shader location: sampler2d texture: albedo (same as: RL_SHADER_LOC_MAP_DIFFUSE) +rl.RL_SHADER_LOC_MAP_ALBEDO = 15 +---Shader location: sampler2d texture: metalness (same as: RL_SHADER_LOC_MAP_SPECULAR) +rl.RL_SHADER_LOC_MAP_METALNESS = 16 +---Shader location: sampler2d texture: normal +rl.RL_SHADER_LOC_MAP_NORMAL = 17 +---Shader location: sampler2d texture: roughness +rl.RL_SHADER_LOC_MAP_ROUGHNESS = 18 +---Shader location: sampler2d texture: occlusion +rl.RL_SHADER_LOC_MAP_OCCLUSION = 19 +---Shader location: sampler2d texture: emission +rl.RL_SHADER_LOC_MAP_EMISSION = 20 +---Shader location: sampler2d texture: height +rl.RL_SHADER_LOC_MAP_HEIGHT = 21 +---Shader location: samplerCube texture: cubemap +rl.RL_SHADER_LOC_MAP_CUBEMAP = 22 +---Shader location: samplerCube texture: irradiance +rl.RL_SHADER_LOC_MAP_IRRADIANCE = 23 +---Shader location: samplerCube texture: prefilter +rl.RL_SHADER_LOC_MAP_PREFILTER = 24 +---Shader location: sampler2d texture: brdf +rl.RL_SHADER_LOC_MAP_BRDF = 25 +---@alias rlShaderUniformDataType +---| 'RL_SHADER_UNIFORM_FLOAT' +---| 'RL_SHADER_UNIFORM_VEC2' +---| 'RL_SHADER_UNIFORM_VEC3' +---| 'RL_SHADER_UNIFORM_VEC4' +---| 'RL_SHADER_UNIFORM_INT' +---| 'RL_SHADER_UNIFORM_IVEC2' +---| 'RL_SHADER_UNIFORM_IVEC3' +---| 'RL_SHADER_UNIFORM_IVEC4' +---| 'RL_SHADER_UNIFORM_UINT' +---| 'RL_SHADER_UNIFORM_UIVEC2' +---| 'RL_SHADER_UNIFORM_UIVEC3' +---| 'RL_SHADER_UNIFORM_UIVEC4' +---| 'RL_SHADER_UNIFORM_SAMPLER2D' +---Shader uniform data type + +---Shader uniform type: float +rl.RL_SHADER_UNIFORM_FLOAT = 0 +---Shader uniform type: vec2 (2 float) +rl.RL_SHADER_UNIFORM_VEC2 = 1 +---Shader uniform type: vec3 (3 float) +rl.RL_SHADER_UNIFORM_VEC3 = 2 +---Shader uniform type: vec4 (4 float) +rl.RL_SHADER_UNIFORM_VEC4 = 3 +---Shader uniform type: int +rl.RL_SHADER_UNIFORM_INT = 4 +---Shader uniform type: ivec2 (2 int) +rl.RL_SHADER_UNIFORM_IVEC2 = 5 +---Shader uniform type: ivec3 (3 int) +rl.RL_SHADER_UNIFORM_IVEC3 = 6 +---Shader uniform type: ivec4 (4 int) +rl.RL_SHADER_UNIFORM_IVEC4 = 7 +---Shader uniform type: unsigned int +rl.RL_SHADER_UNIFORM_UINT = 8 +---Shader uniform type: uivec2 (2 unsigned int) +rl.RL_SHADER_UNIFORM_UIVEC2 = 9 +---Shader uniform type: uivec3 (3 unsigned int) +rl.RL_SHADER_UNIFORM_UIVEC3 = 10 +---Shader uniform type: uivec4 (4 unsigned int) +rl.RL_SHADER_UNIFORM_UIVEC4 = 11 +---Shader uniform type: sampler2d +rl.RL_SHADER_UNIFORM_SAMPLER2D = 12 +---@alias rlShaderAttributeDataType +---| 'RL_SHADER_ATTRIB_FLOAT' +---| 'RL_SHADER_ATTRIB_VEC2' +---| 'RL_SHADER_ATTRIB_VEC3' +---| 'RL_SHADER_ATTRIB_VEC4' +---Shader attribute data types + +---Shader attribute type: float +rl.RL_SHADER_ATTRIB_FLOAT = 0 +---Shader attribute type: vec2 (2 float) +rl.RL_SHADER_ATTRIB_VEC2 = 1 +---Shader attribute type: vec3 (3 float) +rl.RL_SHADER_ATTRIB_VEC3 = 2 +---Shader attribute type: vec4 (4 float) +rl.RL_SHADER_ATTRIB_VEC4 = 3 +---@alias rlFramebufferAttachType +---| 'RL_ATTACHMENT_COLOR_CHANNEL0' +---| 'RL_ATTACHMENT_COLOR_CHANNEL1' +---| 'RL_ATTACHMENT_COLOR_CHANNEL2' +---| 'RL_ATTACHMENT_COLOR_CHANNEL3' +---| 'RL_ATTACHMENT_COLOR_CHANNEL4' +---| 'RL_ATTACHMENT_COLOR_CHANNEL5' +---| 'RL_ATTACHMENT_COLOR_CHANNEL6' +---| 'RL_ATTACHMENT_COLOR_CHANNEL7' +---| 'RL_ATTACHMENT_DEPTH' +---| 'RL_ATTACHMENT_STENCIL' +---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 +---@alias rlFramebufferAttachTextureType +---| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_X' +---| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_X' +---| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_Y' +---| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_Y' +---| 'RL_ATTACHMENT_CUBEMAP_POSITIVE_Z' +---| 'RL_ATTACHMENT_CUBEMAP_NEGATIVE_Z' +---| 'RL_ATTACHMENT_TEXTURE2D' +---| 'RL_ATTACHMENT_RENDERBUFFER' +---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 +---@alias rlCullMode +---| 'RL_CULL_FACE_FRONT' +---| 'RL_CULL_FACE_BACK' +---Face culling mode + +rl.RL_CULL_FACE_FRONT = 0 +rl.RL_CULL_FACE_BACK = 1 +---@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right handed +---@alias Matrix_ptr Matrix +---@alias Matrix_ptr_ptr Matrix +---@field m0 number # Matrix first row (4 components) +---@field m4 number # Matrix first row (4 components) +---@field m8 number # Matrix first row (4 components) +---@field m12 number # Matrix first row (4 components) +---@field m1 number # Matrix second row (4 components) +---@field m5 number # Matrix second row (4 components) +---@field m9 number # Matrix second row (4 components) +---@field m13 number # Matrix second row (4 components) +---@field m2 number # Matrix third row (4 components) +---@field m6 number # Matrix third row (4 components) +---@field m10 number # Matrix third row (4 components) +---@field m14 number # Matrix third row (4 components) +---@field m3 number # Matrix fourth row (4 components) +---@field m7 number # Matrix fourth row (4 components) +---@field m11 number # Matrix fourth row (4 components) +---@field m15 number # Matrix fourth row (4 components) +---Constructed using `rl.new("Matrix", ...)` +local Matrix = {} +---@class rlVertexBuffer @ Dynamic vertex buffers (position + texcoords + colors + indices arrays) +---@alias rlVertexBuffer_ptr rlVertexBuffer +---@alias rlVertexBuffer_ptr_ptr rlVertexBuffer +---@field elementCount number # Number of elements in the buffer (QUADS) +---@field vertices number # Vertex position (XYZ - 3 components per vertex) (shader-location = 0) +---@field texcoords number # Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) +---@field normals number # Vertex normal (XYZ - 3 components per vertex) (shader-location = 2) +---@field colors string|lightuserdata # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +---@field indices number # Vertex indices (in case vertex data comes indexed) (6 indices per quad) +---@field indices number # Vertex indices (in case vertex data comes indexed) (6 indices per quad) +---@field mode #endif # Drawing mode: LINES, TRIANGLES, QUADS +---@field vboId #if_defined(GRAPHICS_API_OPENGL_ES2)[5] # OpenGL Vertex Buffer Objects id (5 types of vertex data) +---@field indices unsigned_short_ptr|lightuserdata # Vertex indices (in case vertex data comes indexed) (6 indices per quad) +---@field colors #endif # Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) +---@field vaoId number # OpenGL Vertex Array Object id +---@field vboId number # OpenGL Vertex Buffer Objects id (5 types of vertex data) +---Constructed using `rl.new("rlVertexBuffer", ...)` +local rlVertexBuffer = {} +---@class rlDrawCall @ of those state-change happens (this is done in core module) +---@alias rlDrawCall_ptr rlDrawCall +---@alias rlDrawCall_ptr_ptr rlDrawCall +---@field mode number # Drawing mode: LINES, TRIANGLES, QUADS +---@field vertexCount number # Number of vertex of the draw +---@field vertexAlignment number # Number of vertex required for index alignment (LINES, TRIANGLES) +---@field textureId number # Texture id to be used on the draw -> Use to create new draw call if changes +---Constructed using `rl.new("rlDrawCall", ...)` +local rlDrawCall = {} +---@class rlRenderBatch @ rlRenderBatch type +---@alias rlRenderBatch_ptr rlRenderBatch +---@alias rlRenderBatch_ptr_ptr rlRenderBatch +---@field bufferCount number # Number of vertex buffers (multi-buffering support) +---@field currentBuffer number # Current buffer tracking in case of multi-buffering +---@field vertexBuffer rlVertexBuffer_ptr|lightuserdata # Dynamic buffer(s) for vertex data +---@field draws rlDrawCall_ptr|lightuserdata # Draw calls array, depends on textureId +---@field drawCounter number # Draw calls counter +---@field currentDepth number # Current depth value for next draw +---Constructed using `rl.new("rlRenderBatch", ...)` +local rlRenderBatch = {} +---@param mode number +---Choose the current matrix to be transformed +function rl.rlMatrixMode(mode) end +---Push the current matrix to stack +function rl.rlPushMatrix() end +---Pop latest inserted matrix from stack +function rl.rlPopMatrix() end +---Reset current matrix to identity matrix +function rl.rlLoadIdentity() end +---@param x number +---@param y number +---@param z number +---Multiply the current matrix by a translation matrix +function rl.rlTranslatef(x,y,z) end +---@param angle number +---@param x number +---@param y number +---@param z number +---Multiply the current matrix by a rotation matrix +function rl.rlRotatef(angle,x,y,z) end +---@param x number +---@param y number +---@param z number +---Multiply the current matrix by a scaling matrix +function rl.rlScalef(x,y,z) end +---@param matf number +---Multiply the current matrix by another matrix +function rl.rlMultMatrixf(matf) end +---@param left number +---@param right number +---@param bottom number +---@param top number +---@param znear number +---@param zfar number +function rl.rlFrustum(left,right,bottom,top,znear,zfar) end +---@param left number +---@param right number +---@param bottom number +---@param top number +---@param znear number +---@param zfar number +function rl.rlOrtho(left,right,bottom,top,znear,zfar) end +---@param x number +---@param y number +---@param width number +---@param height number +---Set the viewport area +function rl.rlViewport(x,y,width,height) end +---@param nearPlane number +---@param farPlane number +---Set clip planes distances +function rl.rlSetClipPlanes(nearPlane,farPlane) end +---@return number +---Get cull plane distance near +function rl.rlGetCullDistanceNear() end +---@return number +---Get cull plane distance far +function rl.rlGetCullDistanceFar() end +---@param mode number +---Initialize drawing mode (how to organize vertex) +function rl.rlBegin(mode) end +---Finish vertex providing +function rl.rlEnd() end +---@param x number +---@param y number +---Define one vertex (position) - 2 int +function rl.rlVertex2i(x,y) end +---@param x number +---@param y number +---Define one vertex (position) - 2 float +function rl.rlVertex2f(x,y) end +---@param x number +---@param y number +---@param z number +---Define one vertex (position) - 3 float +function rl.rlVertex3f(x,y,z) end +---@param x number +---@param y number +---Define one vertex (texture coordinate) - 2 float +function rl.rlTexCoord2f(x,y) end +---@param x number +---@param y number +---@param z number +---Define one vertex (normal) - 3 float +function rl.rlNormal3f(x,y,z) end +---@param r number|string[] +---@param g number|string[] +---@param b number|string[] +---@param a number|string[] +---Define one vertex (color) - 4 byte +function rl.rlColor4ub(r,g,b,a) end +---@param x number +---@param y number +---@param z number +---Define one vertex (color) - 3 float +function rl.rlColor3f(x,y,z) end +---@param x number +---@param y number +---@param z number +---@param w number +---Define one vertex (color) - 4 float +function rl.rlColor4f(x,y,z,w) end +---@param vaoId number +---@return bool +---Enable vertex array (VAO, if supported) +function rl.rlEnableVertexArray(vaoId) end +---Disable vertex array (VAO, if supported) +function rl.rlDisableVertexArray() end +---@param id number +---Enable vertex buffer (VBO) +function rl.rlEnableVertexBuffer(id) end +---Disable vertex buffer (VBO) +function rl.rlDisableVertexBuffer() end +---@param id number +---Enable vertex buffer element (VBO element) +function rl.rlEnableVertexBufferElement(id) end +---Disable vertex buffer element (VBO element) +function rl.rlDisableVertexBufferElement() end +---@param index number +---Enable vertex attribute index +function rl.rlEnableVertexAttribute(index) end +---@param index number +---Disable vertex attribute index +function rl.rlDisableVertexAttribute(index) end +---@param vertexAttribType number +---@param buffer string|lightuserdata +---Enable attribute state pointer +function rl.rlEnableStatePointer(vertexAttribType,buffer) end +---@param vertexAttribType number +---Disable attribute state pointer +function rl.rlDisableStatePointer(vertexAttribType) end +---@param slot number +---Select and active a texture slot +function rl.rlActiveTextureSlot(slot) end +---@param id number +---Enable texture +function rl.rlEnableTexture(id) end +---Disable texture +function rl.rlDisableTexture() end +---@param id number +---Enable texture cubemap +function rl.rlEnableTextureCubemap(id) end +---Disable texture cubemap +function rl.rlDisableTextureCubemap() end +---@param id number +---@param param number +---@param value number +---Set texture parameters (filter, wrap) +function rl.rlTextureParameters(id,param,value) end +---@param id number +---@param param number +---@param value number +---Set cubemap parameters (filter, wrap) +function rl.rlCubemapParameters(id,param,value) end +---@param id number +---Enable shader program +function rl.rlEnableShader(id) end +---Disable shader program +function rl.rlDisableShader() end +---@param id number +---Enable render texture (fbo) +function rl.rlEnableFramebuffer(id) end +---Disable render texture (fbo), return to default framebuffer +function rl.rlDisableFramebuffer() end +---@return number +---Get the currently active render texture (fbo), 0 for default framebuffer +function rl.rlGetActiveFramebuffer() end +---@param count number +---Activate multiple draw color buffers +function rl.rlActiveDrawBuffers(count) end +---@param srcX number +---@param srcY number +---@param srcWidth number +---@param srcHeight number +---@param dstX number +---@param dstY number +---@param dstWidth number +---@param dstHeight number +---@param bufferMask number +---Blit active framebuffer to main framebuffer +function rl.rlBlitFramebuffer(srcX,srcY,srcWidth,srcHeight,dstX,dstY,dstWidth,dstHeight,bufferMask) end +---@param target number +---@param framebuffer number +---Bind framebuffer (FBO) +function rl.rlBindFramebuffer(target,framebuffer) end +---Enable color blending +function rl.rlEnableColorBlend() end +---Disable color blending +function rl.rlDisableColorBlend() end +---Enable depth test +function rl.rlEnableDepthTest() end +---Disable depth test +function rl.rlDisableDepthTest() end +---Enable depth write +function rl.rlEnableDepthMask() end +---Disable depth write +function rl.rlDisableDepthMask() end +---Enable backface culling +function rl.rlEnableBackfaceCulling() end +---Disable backface culling +function rl.rlDisableBackfaceCulling() end +---@param r bool +---@param g bool +---@param b bool +---@param a bool +---Color mask control +function rl.rlColorMask(r,g,b,a) end +---@param mode number +---Set face culling mode +function rl.rlSetCullFace(mode) end +---Enable scissor test +function rl.rlEnableScissorTest() end +---Disable scissor test +function rl.rlDisableScissorTest() end +---@param x number +---@param y number +---@param width number +---@param height number +---Scissor test +function rl.rlScissor(x,y,width,height) end +---Enable point mode +function rl.rlEnablePointMode() end +---Disable point mode +function rl.rlDisablePointMode() end +---@param size number +---Set the point drawing size +function rl.rlSetPointSize(size) end +---@return number +---Get the point drawing size +function rl.rlGetPointSize() end +---Enable wire mode +function rl.rlEnableWireMode() end +---Disable wire mode +function rl.rlDisableWireMode() end +---@param width number +---Set the line drawing width +function rl.rlSetLineWidth(width) end +---@return number +---Get the line drawing width +function rl.rlGetLineWidth() end +---Enable line aliasing +function rl.rlEnableSmoothLines() end +---Disable line aliasing +function rl.rlDisableSmoothLines() end +---Enable stereo rendering +function rl.rlEnableStereoRender() end +---Disable stereo rendering +function rl.rlDisableStereoRender() end +---@return bool +---Check if stereo render is enabled +function rl.rlIsStereoRenderEnabled() end +---@param r number|string[] +---@param g number|string[] +---@param b number|string[] +---@param a number|string[] +---Clear color buffer with color +function rl.rlClearColor(r,g,b,a) end +---Clear used screen buffers (color and depth) +function rl.rlClearScreenBuffers() end +---Check and log OpenGL error codes +function rl.rlCheckErrors() end +---@param mode number +---Set blending mode +function rl.rlSetBlendMode(mode) end +---@param glSrcFactor number +---@param glDstFactor number +---@param glEquation number +---Set blending mode factor and equation (using OpenGL factors) +function rl.rlSetBlendFactors(glSrcFactor,glDstFactor,glEquation) end +---@param glSrcRGB number +---@param glDstRGB number +---@param glSrcAlpha number +---@param glDstAlpha number +---@param glEqRGB number +---@param glEqAlpha number +---Set blending mode factors and equations separately (using OpenGL factors) +function rl.rlSetBlendFactorsSeparate(glSrcRGB,glDstRGB,glSrcAlpha,glDstAlpha,glEqRGB,glEqAlpha) end +---@param width number +---@param height number +---Initialize rlgl (buffers, shaders, textures, states) +function rl.rlglInit(width,height) end +---De-initialize rlgl (buffers, shaders, textures) +function rl.rlglClose() end +---@param loader string|lightuserdata +---Load OpenGL extensions (loader function required) +function rl.rlLoadExtensions(loader) end +---@param procName string|lightuserdata +---@return string|lightuserdata +---Get OpenGL procedure address +function rl.rlGetProcAddress(procName) end +---@return number +---Get current OpenGL version +function rl.rlGetVersion() end +---@param width number +---Set current framebuffer width +function rl.rlSetFramebufferWidth(width) end +---@return number +---Get default framebuffer width +function rl.rlGetFramebufferWidth() end +---@param height number +---Set current framebuffer height +function rl.rlSetFramebufferHeight(height) end +---@return number +---Get default framebuffer height +function rl.rlGetFramebufferHeight() end +---@return number +---Get default texture id +function rl.rlGetTextureIdDefault() end +---@return number +---Get default shader id +function rl.rlGetShaderIdDefault() end +---@return number +---Get default shader locations +function rl.rlGetShaderLocsDefault() end +---@param numBuffers number +---@param bufferElements number +---@return rlRenderBatch +---Load a render batch system +function rl.rlLoadRenderBatch(numBuffers,bufferElements) end +---@param batch rlRenderBatch +---Unload render batch system +function rl.rlUnloadRenderBatch(batch) end +---@param batch rlRenderBatch_ptr|lightuserdata +---Draw render batch data (Update->Draw->Reset) +function rl.rlDrawRenderBatch(batch) end +---@param batch rlRenderBatch_ptr|lightuserdata +---Set the active render batch for rlgl (NULL for default internal) +function rl.rlSetRenderBatchActive(batch) end +---Update and draw internal render batch +function rl.rlDrawRenderBatchActive() end +---@param vCount number +---@return bool +---Check internal buffer overflow for a given number of vertex +function rl.rlCheckRenderBatchLimit(vCount) end +---@param id number +---Set current texture for render batch and check buffers limits +function rl.rlSetTexture(id) end +---@return number +---Load vertex array (vao) if supported +function rl.rlLoadVertexArray() end +---@param buffer string|lightuserdata +---@param size number +---@param dynamic bool +---@return number +---Load a vertex buffer object +function rl.rlLoadVertexBuffer(buffer,size,dynamic) end +---@param buffer string|lightuserdata +---@param size number +---@param dynamic bool +---@return number +---Load vertex buffer elements object +function rl.rlLoadVertexBufferElement(buffer,size,dynamic) end +---@param bufferId number +---@param data string|lightuserdata +---@param dataSize number +---@param offset number +---Update vertex buffer object data on GPU buffer +function rl.rlUpdateVertexBuffer(bufferId,data,dataSize,offset) end +---@param id number +---@param data string|lightuserdata +---@param dataSize number +---@param offset number +---Update vertex buffer elements data on GPU buffer +function rl.rlUpdateVertexBufferElements(id,data,dataSize,offset) end +---@param vaoId number +---Unload vertex array (vao) +function rl.rlUnloadVertexArray(vaoId) end +---@param vboId number +---Unload vertex buffer object +function rl.rlUnloadVertexBuffer(vboId) end +---@param index number +---@param compSize number +---@param type number +---@param normalized bool +---@param stride number +---@param offset number +---Set vertex attribute data configuration +function rl.rlSetVertexAttribute(index,compSize,type,normalized,stride,offset) end +---@param index number +---@param divisor number +---Set vertex attribute data divisor +function rl.rlSetVertexAttributeDivisor(index,divisor) end +---@param locIndex number +---@param value string|lightuserdata +---@param attribType number +---@param count number +---Set vertex attribute default value, when attribute to provided +function rl.rlSetVertexAttributeDefault(locIndex,value,attribType,count) end +---@param offset number +---@param count number +---Draw vertex array (currently active vao) +function rl.rlDrawVertexArray(offset,count) end +---@param offset number +---@param count number +---@param buffer string|lightuserdata +---Draw vertex array elements +function rl.rlDrawVertexArrayElements(offset,count,buffer) end +---@param offset number +---@param count number +---@param instances number +---Draw vertex array (currently active vao) with instancing +function rl.rlDrawVertexArrayInstanced(offset,count,instances) end +---@param offset number +---@param count number +---@param buffer string|lightuserdata +---@param instances number +---Draw vertex array elements with instancing +function rl.rlDrawVertexArrayElementsInstanced(offset,count,buffer,instances) end +---@param data string|lightuserdata +---@param width number +---@param height number +---@param format number +---@param mipmapCount number +---@return number +---Load texture data +function rl.rlLoadTexture(data,width,height,format,mipmapCount) end +---@param width number +---@param height number +---@param useRenderBuffer bool +---@return number +---Load depth texture/renderbuffer (to be attached to fbo) +function rl.rlLoadTextureDepth(width,height,useRenderBuffer) end +---@param data string|lightuserdata +---@param size number +---@param format number +---@param mipmapCount number +---@return number +---Load texture cubemap data +function rl.rlLoadTextureCubemap(data,size,format,mipmapCount) end +---@param id number +---@param offsetX number +---@param offsetY number +---@param width number +---@param height number +---@param format number +---@param data string|lightuserdata +---Update texture with new data on GPU +function rl.rlUpdateTexture(id,offsetX,offsetY,width,height,format,data) end +---@param format number +---@param glInternalFormat number +---@param glFormat number +---@param glType number +---Get OpenGL internal formats +function rl.rlGetGlTextureFormats(format,glInternalFormat,glFormat,glType) end +---@param format number +---@return string|lightuserdata +---Get name string for pixel format +function rl.rlGetPixelFormatName(format) end +---@param id number +---Unload texture from GPU memory +function rl.rlUnloadTexture(id) end +---@param id number +---@param width number +---@param height number +---@param format number +---@param mipmaps number +---Generate mipmap data for selected texture +function rl.rlGenTextureMipmaps(id,width,height,format,mipmaps) end +---@param id number +---@param width number +---@param height number +---@param format number +---@return string|lightuserdata +---Read texture pixel data +function rl.rlReadTexturePixels(id,width,height,format) end +---@param width number +---@param height number +---@return string|lightuserdata +---Read screen pixel data (color buffer) +function rl.rlReadScreenPixels(width,height) end +---@return number +---Load an empty framebuffer +function rl.rlLoadFramebuffer() end +---@param id number +---@param texId number +---@param attachType number +---@param texType number +---@param mipLevel number +---Attach texture/renderbuffer to a framebuffer +function rl.rlFramebufferAttach(id,texId,attachType,texType,mipLevel) end +---@param id number +---@return bool +---Verify framebuffer is complete +function rl.rlFramebufferComplete(id) end +---@param id number +---Delete framebuffer from GPU +function rl.rlUnloadFramebuffer(id) end +---@param x number +---@param y number +---@param width number +---@param height number +---@param format number +---@param pixels string|lightuserdata +---Copy framebuffer pixel data to internal buffer +function rl.rlCopyFramebuffer(x,y,width,height,format,pixels) end +---@param width number +---@param height number +---Resize internal framebuffer +function rl.rlResizeFramebuffer(width,height) end +---@param code string|lightuserdata +---@param type number +---@return number +---Load (compile) shader and return shader id (type: RL_VERTEX_SHADER, RL_FRAGMENT_SHADER, RL_COMPUTE_SHADER) +function rl.rlLoadShader(code,type) end +---@param vsCode string|lightuserdata +---@param fsCode string|lightuserdata +---@return number +---Load shader from code strings +function rl.rlLoadShaderProgram(vsCode,fsCode) end +---@param vsId number +---@param fsId number +---@return number +---Load shader program, using already loaded shader ids +function rl.rlLoadShaderProgramEx(vsId,fsId) end +---@param csId number +---@return number +---Load compute shader program +function rl.rlLoadShaderProgramCompute(csId) end +---@param id number +---Unload shader, loaded with rlLoadShader() +function rl.rlUnloadShader(id) end +---@param id number +---Unload shader program +function rl.rlUnloadShaderProgram(id) end +---@param id number +---@param uniformName string|lightuserdata +---@return number +---Get shader location uniform, requires shader program id +function rl.rlGetLocationUniform(id,uniformName) end +---@param id number +---@param attribName string|lightuserdata +---@return number +---Get shader location attribute, requires shader program id +function rl.rlGetLocationAttrib(id,attribName) end +---@param locIndex number +---@param value string|lightuserdata +---@param uniformType number +---@param count number +---Set shader value uniform +function rl.rlSetUniform(locIndex,value,uniformType,count) end +---@param locIndex number +---@param mat Matrix +---Set shader value matrix +function rl.rlSetUniformMatrix(locIndex,mat) end +---@param locIndex number +---@param mat const_Matrix_ptr|lightuserdata +---@param count number +---Set shader value matrices +function rl.rlSetUniformMatrices(locIndex,mat,count) end +---@param locIndex number +---@param textureId number +---Set shader value sampler +function rl.rlSetUniformSampler(locIndex,textureId) end +---@param id number +---@param locs number +---Set shader currently active (id and locations) +function rl.rlSetShader(id,locs) end +---@param groupX number +---@param groupY number +---@param groupZ number +---Dispatch compute shader (equivalent to *draw* for graphics pipeline) +function rl.rlComputeShaderDispatch(groupX,groupY,groupZ) end +---@param size number +---@param data string|lightuserdata +---@param usageHint number +---@return number +---Load shader storage buffer object (SSBO) +function rl.rlLoadShaderBuffer(size,data,usageHint) end +---@param ssboId number +---Unload shader storage buffer object (SSBO) +function rl.rlUnloadShaderBuffer(ssboId) end +---@param id number +---@param data string|lightuserdata +---@param dataSize number +---@param offset number +---Update SSBO buffer data +function rl.rlUpdateShaderBuffer(id,data,dataSize,offset) end +---@param id number +---@param index number +---Bind SSBO buffer +function rl.rlBindShaderBuffer(id,index) end +---@param id number +---@param dest string|lightuserdata +---@param count number +---@param offset number +---Read SSBO buffer data (GPU->CPU) +function rl.rlReadShaderBuffer(id,dest,count,offset) end +---@param destId number +---@param srcId number +---@param destOffset number +---@param srcOffset number +---@param count number +---Copy SSBO data between buffers +function rl.rlCopyShaderBuffer(destId,srcId,destOffset,srcOffset,count) end +---@param id number +---@return number +---Get SSBO buffer size +function rl.rlGetShaderBufferSize(id) end +---@param id number +---@param index number +---@param format number +---@param readonly bool +---Bind image texture +function rl.rlBindImageTexture(id,index,format,readonly) end +---@return Matrix +---Get internal modelview matrix +function rl.rlGetMatrixModelview() end +---@return Matrix +---Get internal projection matrix +function rl.rlGetMatrixProjection() end +---@return Matrix +---Get internal accumulated transform matrix +function rl.rlGetMatrixTransform() end +---@param eye number +---@return Matrix +---Get internal projection matrix for stereo render (selected eye) +function rl.rlGetMatrixProjectionStereo(eye) end +---@param eye number +---@return Matrix +---Get internal view offset matrix for stereo render (selected eye) +function rl.rlGetMatrixViewOffsetStereo(eye) end +---@param proj Matrix +---Set a custom projection matrix (replaces internal projection matrix) +function rl.rlSetMatrixProjection(proj) end +---@param view Matrix +---Set a custom modelview matrix (replaces internal modelview matrix) +function rl.rlSetMatrixModelview(view) end +---@param right Matrix +---@param left Matrix +---Set eyes projection matrices for stereo rendering +function rl.rlSetMatrixProjectionStereo(right,left) end +---@param right Matrix +---@param left Matrix +---Set eyes view offsets matrices for stereo rendering +function rl.rlSetMatrixViewOffsetStereo(right,left) end +---Load and draw a cube +function rl.rlLoadDrawCube() end +---Load and draw a quad +function rl.rlLoadDrawQuad() end +---@alias CameraProjection +---| 'CAMERA_PERSPECTIVE' +---| 'CAMERA_ORTHOGRAPHIC' +---Camera projection + +---Perspective projection +rl.CAMERA_PERSPECTIVE = 0 +---Orthographic projection +rl.CAMERA_ORTHOGRAPHIC = 1 +---@alias CameraMode +---| 'CAMERA_CUSTOM' +---| 'CAMERA_FREE' +---| 'CAMERA_ORBITAL' +---| 'CAMERA_FIRST_PERSON' +---| 'CAMERA_THIRD_PERSON' +---Camera system modes + +---Camera custom, controlled by user (UpdateCamera() does nothing) +rl.CAMERA_CUSTOM = 0 +---Camera free mode +rl.CAMERA_FREE = 1 +---Camera orbital, around target, zoom supported +rl.CAMERA_ORBITAL = 2 +---Camera first person +rl.CAMERA_FIRST_PERSON = 3 +---Camera third person +rl.CAMERA_THIRD_PERSON = 4 +---@class Vector2 @ Vector2, 2 components +---@alias Vector2_ptr Vector2 +---@alias Vector2_ptr_ptr Vector2 +---@field x number # Vector x component +---@field y number # Vector y component +---Constructed using `rl.new("Vector2", ...)` +local Vector2 = {} +---@class Vector3 @ Vector3, 3 components +---@alias Vector3_ptr Vector3 +---@alias Vector3_ptr_ptr Vector3 +---@field x number # Vector x component +---@field y number # Vector y component +---@field z number # Vector z component +---Constructed using `rl.new("Vector3", ...)` +local Vector3 = {} +---@class Matrix @ Matrix, 4x4 components, column major, OpenGL style, right-handed +---@alias Matrix_ptr Matrix +---@alias Matrix_ptr_ptr Matrix +---@field m0 number # Matrix first row (4 components) +---@field m4 number # Matrix first row (4 components) +---@field m8 number # Matrix first row (4 components) +---@field m12 number # Matrix first row (4 components) +---@field m1 number # Matrix second row (4 components) +---@field m5 number # Matrix second row (4 components) +---@field m9 number # Matrix second row (4 components) +---@field m13 number # Matrix second row (4 components) +---@field m2 number # Matrix third row (4 components) +---@field m6 number # Matrix third row (4 components) +---@field m10 number # Matrix third row (4 components) +---@field m14 number # Matrix third row (4 components) +---@field m3 number # Matrix fourth row (4 components) +---@field m7 number # Matrix fourth row (4 components) +---@field m11 number # Matrix fourth row (4 components) +---@field m15 number # Matrix fourth row (4 components) +---Constructed using `rl.new("Matrix", ...)` +local Matrix = {} +---@class Camera3D @ Camera type, defines a camera position/orientation in 3d space +---@alias Camera3D_ptr Camera3D +---@alias Camera3D_ptr_ptr Camera3D +---@field position Vector3 # Camera position +---@field target Vector3 # Camera target it looks-at +---@field up Vector3 # Camera up vector (rotation over its axis) +---@field fovy number # Camera field-of-view aperture in Y (degrees) in perspective, used as near plane width in orthographic +---@field projection number # Camera projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC +---Constructed using `rl.new("Camera3D", ...)` +local Camera3D = {} +---@param camera Camera_ptr|lightuserdata +---@return Vector3 +function rl.GetCameraForward(camera) end +---@param camera Camera_ptr|lightuserdata +---@return Vector3 +function rl.GetCameraUp(camera) end +---@param camera Camera_ptr|lightuserdata +---@return Vector3 +function rl.GetCameraRight(camera) end +---@param camera Camera_ptr|lightuserdata +---@param distance number +---@param moveInWorldPlane bool +function rl.CameraMoveForward(camera,distance,moveInWorldPlane) end +---@param camera Camera_ptr|lightuserdata +---@param distance number +function rl.CameraMoveUp(camera,distance) end +---@param camera Camera_ptr|lightuserdata +---@param distance number +---@param moveInWorldPlane bool +function rl.CameraMoveRight(camera,distance,moveInWorldPlane) end +---@param camera Camera_ptr|lightuserdata +---@param delta number +function rl.CameraMoveToTarget(camera,delta) end +---@param camera Camera_ptr|lightuserdata +---@param angle number +---@param rotateAroundTarget bool +function rl.CameraYaw(camera,angle,rotateAroundTarget) end +---@param camera Camera_ptr|lightuserdata +---@param angle number +---@param lockView bool +---@param rotateAroundTarget bool +---@param rotateUp bool +function rl.CameraPitch(camera,angle,lockView,rotateAroundTarget,rotateUp) end +---@param camera Camera_ptr|lightuserdata +---@param angle number +function rl.CameraRoll(camera,angle) end +---@param camera Camera_ptr|lightuserdata +---@return Matrix +function rl.GetCameraViewMatrix(camera) end +---@param camera Camera_ptr|lightuserdata +---@param aspect number +---@return Matrix +function rl.GetCameraProjectionMatrix(camera,aspect) end +---@alias GuiState +---| 'STATE_NORMAL' +---| 'STATE_FOCUSED' +---| 'STATE_PRESSED' +---| 'STATE_DISABLED' +---Gui control state + +rl.STATE_NORMAL = 0 +rl.STATE_FOCUSED = 1 +rl.STATE_PRESSED = 2 +rl.STATE_DISABLED = 3 +---@alias GuiTextAlignment +---| 'TEXT_ALIGN_LEFT' +---| 'TEXT_ALIGN_CENTER' +---| 'TEXT_ALIGN_RIGHT' +---Gui control text alignment + +rl.TEXT_ALIGN_LEFT = 0 +rl.TEXT_ALIGN_CENTER = 1 +rl.TEXT_ALIGN_RIGHT = 2 +---@alias GuiTextAlignmentVertical +---| 'TEXT_ALIGN_TOP' +---| 'TEXT_ALIGN_MIDDLE' +---| 'TEXT_ALIGN_BOTTOM' +---Gui control text alignment vertical + +rl.TEXT_ALIGN_TOP = 0 +rl.TEXT_ALIGN_MIDDLE = 1 +rl.TEXT_ALIGN_BOTTOM = 2 +---@alias GuiTextWrapMode +---| 'TEXT_WRAP_NONE' +---| 'TEXT_WRAP_CHAR' +---| 'TEXT_WRAP_WORD' +---Gui control text wrap mode + +rl.TEXT_WRAP_NONE = 0 +rl.TEXT_WRAP_CHAR = 1 +rl.TEXT_WRAP_WORD = 2 +---@alias GuiControl +---| 'DEFAULT' +---| 'LABEL' +---| 'BUTTON' +---| 'TOGGLE' +---| 'SLIDER' +---| 'PROGRESSBAR' +---| 'CHECKBOX' +---| 'COMBOBOX' +---| 'DROPDOWNBOX' +---| 'TEXTBOX' +---| 'VALUEBOX' +---| 'SPINNER' +---| 'LISTVIEW' +---| 'COLORPICKER' +---| 'SCROLLBAR' +---| 'STATUSBAR' +---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, TOGGLESLIDER +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 +---@alias GuiControlProperty +---| 'BORDER_COLOR_NORMAL' +---| 'BASE_COLOR_NORMAL' +---| 'TEXT_COLOR_NORMAL' +---| 'BORDER_COLOR_FOCUSED' +---| 'BASE_COLOR_FOCUSED' +---| 'TEXT_COLOR_FOCUSED' +---| 'BORDER_COLOR_PRESSED' +---| 'BASE_COLOR_PRESSED' +---| 'TEXT_COLOR_PRESSED' +---| 'BORDER_COLOR_DISABLED' +---| 'BASE_COLOR_DISABLED' +---| 'TEXT_COLOR_DISABLED' +---| 'BORDER_WIDTH' +---| 'TEXT_PADDING' +---| 'TEXT_ALIGNMENT' +---Gui base properties for every control + +---Control border color in STATE_NORMAL +rl.BORDER_COLOR_NORMAL = 0 +---Control base color in STATE_NORMAL +rl.BASE_COLOR_NORMAL = 1 +---Control text color in STATE_NORMAL +rl.TEXT_COLOR_NORMAL = 2 +---Control border color in STATE_FOCUSED +rl.BORDER_COLOR_FOCUSED = 3 +---Control base color in STATE_FOCUSED +rl.BASE_COLOR_FOCUSED = 4 +---Control text color in STATE_FOCUSED +rl.TEXT_COLOR_FOCUSED = 5 +---Control border color in STATE_PRESSED +rl.BORDER_COLOR_PRESSED = 6 +---Control base color in STATE_PRESSED +rl.BASE_COLOR_PRESSED = 7 +---Control text color in STATE_PRESSED +rl.TEXT_COLOR_PRESSED = 8 +---Control border color in STATE_DISABLED +rl.BORDER_COLOR_DISABLED = 9 +---Control base color in STATE_DISABLED +rl.BASE_COLOR_DISABLED = 10 +---Control text color in STATE_DISABLED +rl.TEXT_COLOR_DISABLED = 11 +---Control border size, 0 for no border +rl.BORDER_WIDTH = 12 +---Control text padding, not considering border +rl.TEXT_PADDING = 13 +---Control text horizontal alignment inside control text bound (after border and padding) +rl.TEXT_ALIGNMENT = 14 +---@alias GuiDefaultProperty +---| 'TEXT_SIZE' +---| 'TEXT_SPACING' +---| 'LINE_COLOR' +---| 'BACKGROUND_COLOR' +---| 'TEXT_LINE_SPACING' +---| 'TEXT_ALIGNMENT_VERTICAL' +---| 'TEXT_WRAP_MODE' +---DEFAULT extended properties + +---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 +---@alias GuiToggleProperty +---| 'GROUP_PADDING' +---Toggle/ToggleGroup + +---ToggleGroup separation between toggles +rl.GROUP_PADDING = 16 +---@alias GuiSliderProperty +---| 'SLIDER_WIDTH' +---| 'SLIDER_PADDING' +---Slider/SliderBar + +---Slider size of internal bar +rl.SLIDER_WIDTH = 16 +---Slider/SliderBar internal bar padding +rl.SLIDER_PADDING = 17 +---@alias GuiProgressBarProperty +---| 'PROGRESS_PADDING' +---ProgressBar + +---ProgressBar internal padding +rl.PROGRESS_PADDING = 16 +---@alias GuiScrollBarProperty +---| 'ARROWS_SIZE' +---| 'ARROWS_VISIBLE' +---| 'SCROLL_SLIDER_PADDING' +---| 'SCROLL_SLIDER_SIZE' +---| 'SCROLL_PADDING' +---| 'SCROLL_SPEED' +---ScrollBar + +---ScrollBar arrows size +rl.ARROWS_SIZE = 16 +---ScrollBar arrows visible +rl.ARROWS_VISIBLE = 17 +---ScrollBar slider internal padding +rl.SCROLL_SLIDER_PADDING = 18 +---ScrollBar slider size +rl.SCROLL_SLIDER_SIZE = 19 +---ScrollBar scroll padding from arrows +rl.SCROLL_PADDING = 20 +---ScrollBar scrolling speed +rl.SCROLL_SPEED = 21 +---@alias GuiCheckBoxProperty +---| 'CHECK_PADDING' +---CheckBox + +---CheckBox internal check padding +rl.CHECK_PADDING = 16 +---@alias GuiComboBoxProperty +---| 'COMBO_BUTTON_WIDTH' +---| 'COMBO_BUTTON_SPACING' +---ComboBox + +---ComboBox right button width +rl.COMBO_BUTTON_WIDTH = 16 +---ComboBox button separation +rl.COMBO_BUTTON_SPACING = 17 +---@alias GuiDropdownBoxProperty +---| 'ARROW_PADDING' +---| 'DROPDOWN_ITEMS_SPACING' +---DropdownBox + +---DropdownBox arrow separation from border and items +rl.ARROW_PADDING = 16 +---DropdownBox items separation +rl.DROPDOWN_ITEMS_SPACING = 17 +---@alias GuiTextBoxProperty +---| 'TEXT_READONLY' +---TextBox/TextBoxMulti/ValueBox/Spinner + +---TextBox in read-only mode: 0-text editable, 1-text no-editable +rl.TEXT_READONLY = 16 +---@alias GuiSpinnerProperty +---| 'SPIN_BUTTON_WIDTH' +---| 'SPIN_BUTTON_SPACING' +---Spinner + +---Spinner left/right buttons width +rl.SPIN_BUTTON_WIDTH = 16 +---Spinner buttons separation +rl.SPIN_BUTTON_SPACING = 17 +---@alias GuiListViewProperty +---| 'LIST_ITEMS_HEIGHT' +---| 'LIST_ITEMS_SPACING' +---| 'SCROLLBAR_WIDTH' +---| 'SCROLLBAR_SIDE' +---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-SCROLLBAR_LEFT_SIDE, 1-SCROLLBAR_RIGHT_SIDE) +rl.SCROLLBAR_SIDE = 19 +---@alias GuiColorPickerProperty +---| 'COLOR_SELECTOR_SIZE' +---| 'HUEBAR_WIDTH' +---| 'HUEBAR_PADDING' +---| 'HUEBAR_SELECTOR_HEIGHT' +---| 'HUEBAR_SELECTOR_OVERFLOW' +---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 +---@alias GuiIconName +---| 'ICON_NONE' +---| 'ICON_FOLDER_FILE_OPEN' +---| 'ICON_FILE_SAVE_CLASSIC' +---| 'ICON_FOLDER_OPEN' +---| 'ICON_FOLDER_SAVE' +---| 'ICON_FILE_OPEN' +---| 'ICON_FILE_SAVE' +---| 'ICON_FILE_EXPORT' +---| 'ICON_FILE_ADD' +---| 'ICON_FILE_DELETE' +---| 'ICON_FILETYPE_TEXT' +---| 'ICON_FILETYPE_AUDIO' +---| 'ICON_FILETYPE_IMAGE' +---| 'ICON_FILETYPE_PLAY' +---| 'ICON_FILETYPE_VIDEO' +---| 'ICON_FILETYPE_INFO' +---| 'ICON_FILE_COPY' +---| 'ICON_FILE_CUT' +---| 'ICON_FILE_PASTE' +---| 'ICON_CURSOR_HAND' +---| 'ICON_CURSOR_POINTER' +---| 'ICON_CURSOR_CLASSIC' +---| 'ICON_PENCIL' +---| 'ICON_PENCIL_BIG' +---| 'ICON_BRUSH_CLASSIC' +---| 'ICON_BRUSH_PAINTER' +---| 'ICON_WATER_DROP' +---| 'ICON_COLOR_PICKER' +---| 'ICON_RUBBER' +---| 'ICON_COLOR_BUCKET' +---| 'ICON_TEXT_T' +---| 'ICON_TEXT_A' +---| 'ICON_SCALE' +---| 'ICON_RESIZE' +---| 'ICON_FILTER_POINT' +---| 'ICON_FILTER_BILINEAR' +---| 'ICON_CROP' +---| 'ICON_CROP_ALPHA' +---| 'ICON_SQUARE_TOGGLE' +---| 'ICON_SYMMETRY' +---| 'ICON_SYMMETRY_HORIZONTAL' +---| 'ICON_SYMMETRY_VERTICAL' +---| 'ICON_LENS' +---| 'ICON_LENS_BIG' +---| 'ICON_EYE_ON' +---| 'ICON_EYE_OFF' +---| 'ICON_FILTER_TOP' +---| 'ICON_FILTER' +---| 'ICON_TARGET_POINT' +---| 'ICON_TARGET_SMALL' +---| 'ICON_TARGET_BIG' +---| 'ICON_TARGET_MOVE' +---| 'ICON_CURSOR_MOVE' +---| 'ICON_CURSOR_SCALE' +---| 'ICON_CURSOR_SCALE_RIGHT' +---| 'ICON_CURSOR_SCALE_LEFT' +---| 'ICON_UNDO' +---| 'ICON_REDO' +---| 'ICON_REREDO' +---| 'ICON_MUTATE' +---| 'ICON_ROTATE' +---| 'ICON_REPEAT' +---| 'ICON_SHUFFLE' +---| 'ICON_EMPTYBOX' +---| 'ICON_TARGET' +---| 'ICON_TARGET_SMALL_FILL' +---| 'ICON_TARGET_BIG_FILL' +---| 'ICON_TARGET_MOVE_FILL' +---| 'ICON_CURSOR_MOVE_FILL' +---| 'ICON_CURSOR_SCALE_FILL' +---| 'ICON_CURSOR_SCALE_RIGHT_FILL' +---| 'ICON_CURSOR_SCALE_LEFT_FILL' +---| 'ICON_UNDO_FILL' +---| 'ICON_REDO_FILL' +---| 'ICON_REREDO_FILL' +---| 'ICON_MUTATE_FILL' +---| 'ICON_ROTATE_FILL' +---| 'ICON_REPEAT_FILL' +---| 'ICON_SHUFFLE_FILL' +---| 'ICON_EMPTYBOX_SMALL' +---| 'ICON_BOX' +---| 'ICON_BOX_TOP' +---| 'ICON_BOX_TOP_RIGHT' +---| 'ICON_BOX_RIGHT' +---| 'ICON_BOX_BOTTOM_RIGHT' +---| 'ICON_BOX_BOTTOM' +---| 'ICON_BOX_BOTTOM_LEFT' +---| 'ICON_BOX_LEFT' +---| 'ICON_BOX_TOP_LEFT' +---| 'ICON_BOX_CENTER' +---| 'ICON_BOX_CIRCLE_MASK' +---| 'ICON_POT' +---| 'ICON_ALPHA_MULTIPLY' +---| 'ICON_ALPHA_CLEAR' +---| 'ICON_DITHERING' +---| 'ICON_MIPMAPS' +---| 'ICON_BOX_GRID' +---| 'ICON_GRID' +---| 'ICON_BOX_CORNERS_SMALL' +---| 'ICON_BOX_CORNERS_BIG' +---| 'ICON_FOUR_BOXES' +---| 'ICON_GRID_FILL' +---| 'ICON_BOX_MULTISIZE' +---| 'ICON_ZOOM_SMALL' +---| 'ICON_ZOOM_MEDIUM' +---| 'ICON_ZOOM_BIG' +---| 'ICON_ZOOM_ALL' +---| 'ICON_ZOOM_CENTER' +---| 'ICON_BOX_DOTS_SMALL' +---| 'ICON_BOX_DOTS_BIG' +---| 'ICON_BOX_CONCENTRIC' +---| 'ICON_BOX_GRID_BIG' +---| 'ICON_OK_TICK' +---| 'ICON_CROSS' +---| 'ICON_ARROW_LEFT' +---| 'ICON_ARROW_RIGHT' +---| 'ICON_ARROW_DOWN' +---| 'ICON_ARROW_UP' +---| 'ICON_ARROW_LEFT_FILL' +---| 'ICON_ARROW_RIGHT_FILL' +---| 'ICON_ARROW_DOWN_FILL' +---| 'ICON_ARROW_UP_FILL' +---| 'ICON_AUDIO' +---| 'ICON_FX' +---| 'ICON_WAVE' +---| 'ICON_WAVE_SINUS' +---| 'ICON_WAVE_SQUARE' +---| 'ICON_WAVE_TRIANGULAR' +---| 'ICON_CROSS_SMALL' +---| 'ICON_PLAYER_PREVIOUS' +---| 'ICON_PLAYER_PLAY_BACK' +---| 'ICON_PLAYER_PLAY' +---| 'ICON_PLAYER_PAUSE' +---| 'ICON_PLAYER_STOP' +---| 'ICON_PLAYER_NEXT' +---| 'ICON_PLAYER_RECORD' +---| 'ICON_MAGNET' +---| 'ICON_LOCK_CLOSE' +---| 'ICON_LOCK_OPEN' +---| 'ICON_CLOCK' +---| 'ICON_TOOLS' +---| 'ICON_GEAR' +---| 'ICON_GEAR_BIG' +---| 'ICON_BIN' +---| 'ICON_HAND_POINTER' +---| 'ICON_LASER' +---| 'ICON_COIN' +---| 'ICON_EXPLOSION' +---| 'ICON_1UP' +---| 'ICON_PLAYER' +---| 'ICON_PLAYER_JUMP' +---| 'ICON_KEY' +---| 'ICON_DEMON' +---| 'ICON_TEXT_POPUP' +---| 'ICON_GEAR_EX' +---| 'ICON_CRACK' +---| 'ICON_CRACK_POINTS' +---| 'ICON_STAR' +---| 'ICON_DOOR' +---| 'ICON_EXIT' +---| 'ICON_MODE_2D' +---| 'ICON_MODE_3D' +---| 'ICON_CUBE' +---| 'ICON_CUBE_FACE_TOP' +---| 'ICON_CUBE_FACE_LEFT' +---| 'ICON_CUBE_FACE_FRONT' +---| 'ICON_CUBE_FACE_BOTTOM' +---| 'ICON_CUBE_FACE_RIGHT' +---| 'ICON_CUBE_FACE_BACK' +---| 'ICON_CAMERA' +---| 'ICON_SPECIAL' +---| 'ICON_LINK_NET' +---| 'ICON_LINK_BOXES' +---| 'ICON_LINK_MULTI' +---| 'ICON_LINK' +---| 'ICON_LINK_BROKE' +---| 'ICON_TEXT_NOTES' +---| 'ICON_NOTEBOOK' +---| 'ICON_SUITCASE' +---| 'ICON_SUITCASE_ZIP' +---| 'ICON_MAILBOX' +---| 'ICON_MONITOR' +---| 'ICON_PRINTER' +---| 'ICON_PHOTO_CAMERA' +---| 'ICON_PHOTO_CAMERA_FLASH' +---| 'ICON_HOUSE' +---| 'ICON_HEART' +---| 'ICON_CORNER' +---| 'ICON_VERTICAL_BARS' +---| 'ICON_VERTICAL_BARS_FILL' +---| 'ICON_LIFE_BARS' +---| 'ICON_INFO' +---| 'ICON_CROSSLINE' +---| 'ICON_HELP' +---| 'ICON_FILETYPE_ALPHA' +---| 'ICON_FILETYPE_HOME' +---| 'ICON_LAYERS_VISIBLE' +---| 'ICON_LAYERS' +---| 'ICON_WINDOW' +---| 'ICON_HIDPI' +---| 'ICON_FILETYPE_BINARY' +---| 'ICON_HEX' +---| 'ICON_SHIELD' +---| 'ICON_FILE_NEW' +---| 'ICON_FOLDER_ADD' +---| 'ICON_ALARM' +---| 'ICON_CPU' +---| 'ICON_ROM' +---| 'ICON_STEP_OVER' +---| 'ICON_STEP_INTO' +---| 'ICON_STEP_OUT' +---| 'ICON_RESTART' +---| 'ICON_BREAKPOINT_ON' +---| 'ICON_BREAKPOINT_OFF' +---| 'ICON_BURGER_MENU' +---| 'ICON_CASE_SENSITIVE' +---| 'ICON_REG_EXP' +---| 'ICON_FOLDER' +---| 'ICON_FILE' +---| 'ICON_SAND_TIMER' +---| 'ICON_220' +---| 'ICON_221' +---| 'ICON_222' +---| 'ICON_223' +---| 'ICON_224' +---| 'ICON_225' +---| 'ICON_226' +---| 'ICON_227' +---| 'ICON_228' +---| 'ICON_229' +---| 'ICON_230' +---| 'ICON_231' +---| 'ICON_232' +---| 'ICON_233' +---| 'ICON_234' +---| 'ICON_235' +---| 'ICON_236' +---| 'ICON_237' +---| 'ICON_238' +---| 'ICON_239' +---| 'ICON_240' +---| 'ICON_241' +---| 'ICON_242' +---| 'ICON_243' +---| 'ICON_244' +---| 'ICON_245' +---| 'ICON_246' +---| 'ICON_247' +---| 'ICON_248' +---| 'ICON_249' +---| 'ICON_250' +---| 'ICON_251' +---| 'ICON_252' +---| 'ICON_253' +---| 'ICON_254' +---| 'ICON_255' + +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 +rl.ICON_220 = 220 +rl.ICON_221 = 221 +rl.ICON_222 = 222 +rl.ICON_223 = 223 +rl.ICON_224 = 224 +rl.ICON_225 = 225 +rl.ICON_226 = 226 +rl.ICON_227 = 227 +rl.ICON_228 = 228 +rl.ICON_229 = 229 +rl.ICON_230 = 230 +rl.ICON_231 = 231 +rl.ICON_232 = 232 +rl.ICON_233 = 233 +rl.ICON_234 = 234 +rl.ICON_235 = 235 +rl.ICON_236 = 236 +rl.ICON_237 = 237 +rl.ICON_238 = 238 +rl.ICON_239 = 239 +rl.ICON_240 = 240 +rl.ICON_241 = 241 +rl.ICON_242 = 242 +rl.ICON_243 = 243 +rl.ICON_244 = 244 +rl.ICON_245 = 245 +rl.ICON_246 = 246 +rl.ICON_247 = 247 +rl.ICON_248 = 248 +rl.ICON_249 = 249 +rl.ICON_250 = 250 +rl.ICON_251 = 251 +rl.ICON_252 = 252 +rl.ICON_253 = 253 +rl.ICON_254 = 254 +rl.ICON_255 = 255 +---@class Vector2 @ Vector2 type +---@alias Vector2_ptr Vector2 +---@alias Vector2_ptr_ptr Vector2 +---@field x number +---@field y number +---Constructed using `rl.new("Vector2", ...)` +local Vector2 = {} +---@class Vector3 @ Vector3 type // -- ConvertHSVtoRGB(), ConvertRGBtoHSV() +---@alias Vector3_ptr Vector3 +---@alias Vector3_ptr_ptr Vector3 +---@field x number +---@field y number +---@field z number +---Constructed using `rl.new("Vector3", ...)` +local Vector3 = {} +---@class Color @ Color type, RGBA (32bit) +---@alias Color_ptr Color +---@alias Color_ptr_ptr Color +---@field r number|string[] +---@field g number|string[] +---@field b number|string[] +---@field a number|string[] +---Constructed using `rl.new("Color", ...)` +local Color = {} +---@class Rectangle @ Rectangle type +---@alias Rectangle_ptr Rectangle +---@alias Rectangle_ptr_ptr Rectangle +---@field x number +---@field y number +---@field width number +---@field height number +---Constructed using `rl.new("Rectangle", ...)` +local Rectangle = {} +---@class Texture2D @ It should be redesigned to be provided by user +---@alias Texture2D_ptr Texture2D +---@alias Texture2D_ptr_ptr Texture2D +---@field id number # OpenGL texture id +---@field width number # Texture base width +---@field height number # Texture base height +---@field mipmaps number # Mipmap levels, 1 by default +---@field format number # Data format (PixelFormat type) +---Constructed using `rl.new("Texture2D", ...)` +local Texture2D = {} +---@class Image @ Image, pixel data stored in CPU memory (RAM) +---@alias Image_ptr Image +---@alias Image_ptr_ptr Image +---@field data string|lightuserdata # Image raw data +---@field width number # Image base width +---@field height number # Image base height +---@field mipmaps number # Mipmap levels, 1 by default +---@field format number # Data format (PixelFormat type) +---Constructed using `rl.new("Image", ...)` +local Image = {} +---@class GlyphInfo @ GlyphInfo, font characters glyphs info +---@alias GlyphInfo_ptr GlyphInfo +---@alias GlyphInfo_ptr_ptr GlyphInfo +---@field value number # Character value (Unicode) +---@field offsetX number # Character offset X when drawing +---@field offsetY number # Character offset Y when drawing +---@field advanceX number # Character advance position X +---@field image Image # Character image data +---Constructed using `rl.new("GlyphInfo", ...)` +local GlyphInfo = {} +---@class Font @ It should be redesigned to be provided by user +---@alias Font_ptr Font +---@alias Font_ptr_ptr Font +---@field baseSize number # Base size (default chars height) +---@field glyphCount number # Number of glyph characters +---@field glyphPadding number # Padding around the glyph characters +---@field texture Texture2D # Texture atlas containing the glyphs +---@field recs Rectangle_ptr|lightuserdata # Rectangles in texture for the glyphs +---@field glyphs GlyphInfo_ptr|lightuserdata # Glyphs info data +---Constructed using `rl.new("Font", ...)` +local Font = {} +---@class GuiStyleProp @ NOTE: Used when exporting style as code for convenience +---@alias GuiStyleProp_ptr GuiStyleProp +---@alias GuiStyleProp_ptr_ptr GuiStyleProp +---@field controlId unsigned_short # Control identifier +---@field propertyId unsigned_short # Property identifier +---@field propertyValue number # Property value +---Constructed using `rl.new("GuiStyleProp", ...)` +local GuiStyleProp = {} +---@class GuiTextStyle @ NOTE: Text style is defined by control +---@alias GuiTextStyle_ptr GuiTextStyle +---@alias GuiTextStyle_ptr_ptr GuiTextStyle +---@field size number +---@field charSpacing number +---@field lineSpacing number +---@field alignmentH number +---@field alignmentV number +---@field padding number +---Constructed using `rl.new("GuiTextStyle", ...)` +local GuiTextStyle = {} +---Enable gui controls (global state) +function rl.GuiEnable() end +---Disable gui controls (global state) +function rl.GuiDisable() end +---Lock gui controls (global state) +function rl.GuiLock() end +---Unlock gui controls (global state) +function rl.GuiUnlock() end +---@return bool +---Check if gui is locked (global state) +function rl.GuiIsLocked() end +---@param alpha number +---Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f +function rl.GuiSetAlpha(alpha) end +---@param state number +---Set gui state (global state) +function rl.GuiSetState(state) end +---@return number +---Get gui state (global state) +function rl.GuiGetState() end +---@param font Font +---Set gui custom font (global state) +function rl.GuiSetFont(font) end +---@return Font +---Get gui custom font (global state) +function rl.GuiGetFont() end +---@param control number +---@param property number +---@param value number +---Set one style property +function rl.GuiSetStyle(control,property,value) end +---@param control number +---@param property number +---@return number +---Get one style property +function rl.GuiGetStyle(control,property) end +---@param fileName string|lightuserdata +---Load style file over global style variable (.rgs) +function rl.GuiLoadStyle(fileName) end +---Load style default over global style +function rl.GuiLoadStyleDefault() end +---Enable gui tooltips (global state) +function rl.GuiEnableTooltip() end +---Disable gui tooltips (global state) +function rl.GuiDisableTooltip() end +---@param tooltip string|lightuserdata +---Set tooltip string +function rl.GuiSetTooltip(tooltip) end +---@param iconId number +---@param text string|lightuserdata +---@return string|lightuserdata +---Get text with icon id prepended (if supported) +function rl.GuiIconText(iconId,text) end +---@param scale number +---Set default icon drawing size +function rl.GuiSetIconScale(scale) end +---@return number +---Get raygui icons data pointer +function rl.GuiGetIcons() end +---@param fileName string|lightuserdata +---@param loadIconsName bool +---@return string|lightuserdata +---Load raygui icons file (.rgi) into internal icons data +function rl.GuiLoadIcons(fileName,loadIconsName) end +---@param iconId number +---@param posX number +---@param posY number +---@param pixelSize number +---@param color Color +---Draw icon using pixel size at specified position +function rl.GuiDrawIcon(iconId,posX,posY,pixelSize,color) end +---@param bounds Rectangle +---@param title string|lightuserdata +---@return number +---Window Box control, shows a window that can be closed +function rl.GuiWindowBox(bounds,title) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Group Box control with text name +function rl.GuiGroupBox(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Line separator control, could contain text +function rl.GuiLine(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Panel control, useful to group controls +function rl.GuiPanel(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param count number +---@param active number +---@return number +---Tab Bar control, returns TAB to be closed or -1 +function rl.GuiTabBar(bounds,text,count,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param content Rectangle +---@param scroll Vector2_ptr|lightuserdata +---@param view Rectangle_ptr|lightuserdata +---@return number +---Scroll Panel control +function rl.GuiScrollPanel(bounds,text,content,scroll,view) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Label control, shows text +function rl.GuiLabel(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Button control, returns true when clicked +function rl.GuiButton(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Label button control, show true when clicked +function rl.GuiLabelButton(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param active bool_ptr|lightuserdata +---@return number +---Toggle Button control, returns true when active +function rl.GuiToggle(bounds,text,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param active number +---@return number +---Toggle Group control, returns active toggle index +function rl.GuiToggleGroup(bounds,text,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param active number +---@return number +---Toggle Slider control, returns true when clicked +function rl.GuiToggleSlider(bounds,text,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param checked bool_ptr|lightuserdata +---@return number +---Check Box control, returns true when active +function rl.GuiCheckBox(bounds,text,checked) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param active number +---@return number +---Combo Box control, returns selected item index +function rl.GuiComboBox(bounds,text,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param active number +---@param editMode bool +---@return number +---Dropdown Box control, returns selected item +function rl.GuiDropdownBox(bounds,text,active,editMode) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param value number +---@param minValue number +---@param maxValue number +---@param editMode bool +---@return number +---Spinner control, returns selected value +function rl.GuiSpinner(bounds,text,value,minValue,maxValue,editMode) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param value number +---@param minValue number +---@param maxValue number +---@param editMode bool +---@return number +---Value Box control, updates input text with numbers +function rl.GuiValueBox(bounds,text,value,minValue,maxValue,editMode) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param textSize number +---@param editMode bool +---@return number +---Text Box control, updates input text +function rl.GuiTextBox(bounds,text,textSize,editMode) end +---@param bounds Rectangle +---@param textLeft string|lightuserdata +---@param textRight string|lightuserdata +---@param value number +---@param minValue number +---@param maxValue number +---@return number +---Slider control, returns selected value +function rl.GuiSlider(bounds,textLeft,textRight,value,minValue,maxValue) end +---@param bounds Rectangle +---@param textLeft string|lightuserdata +---@param textRight string|lightuserdata +---@param value number +---@param minValue number +---@param maxValue number +---@return number +---Slider Bar control, returns selected value +function rl.GuiSliderBar(bounds,textLeft,textRight,value,minValue,maxValue) end +---@param bounds Rectangle +---@param textLeft string|lightuserdata +---@param textRight string|lightuserdata +---@param value number +---@param minValue number +---@param maxValue number +---@return number +---Progress Bar control, shows current progress value +function rl.GuiProgressBar(bounds,textLeft,textRight,value,minValue,maxValue) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Status Bar control, shows info text +function rl.GuiStatusBar(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@return number +---Dummy control for placeholders +function rl.GuiDummyRec(bounds,text) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param spacing number +---@param subdivs number +---@param mouseCell Vector2_ptr|lightuserdata +---@return number +---Grid control, returns mouse cell position +function rl.GuiGrid(bounds,text,spacing,subdivs,mouseCell) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param scrollIndex number +---@param active number +---@return number +---List View control, returns selected list item index +function rl.GuiListView(bounds,text,scrollIndex,active) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param count number +---@param scrollIndex number +---@param active number +---@param focus number +---@return number +---List View with extended parameters +function rl.GuiListViewEx(bounds,text,count,scrollIndex,active,focus) end +---@param bounds Rectangle +---@param title string|lightuserdata +---@param message string|lightuserdata +---@param buttons string|lightuserdata +---@return number +---Message Box control, displays a message +function rl.GuiMessageBox(bounds,title,message,buttons) end +---@param bounds Rectangle +---@param title string|lightuserdata +---@param message string|lightuserdata +---@param buttons string|lightuserdata +---@param text string|lightuserdata +---@param textMaxSize number +---@param secretViewActive bool_ptr|lightuserdata +---@return number +---Text Input Box control, ask for text, supports secret +function rl.GuiTextInputBox(bounds,title,message,buttons,text,textMaxSize,secretViewActive) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param color Color_ptr|lightuserdata +---@return number +---Color Picker control (multiple color controls) +function rl.GuiColorPicker(bounds,text,color) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param color Color_ptr|lightuserdata +---@return number +---Color Panel control +function rl.GuiColorPanel(bounds,text,color) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param alpha number +---@return number +---Color Bar Alpha control +function rl.GuiColorBarAlpha(bounds,text,alpha) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param value number +---@return number +---Color Bar Hue control +function rl.GuiColorBarHue(bounds,text,value) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param colorHsv Vector3_ptr|lightuserdata +---@return number +---Color Picker control that avoids conversion to RGB on each call (multiple color controls) +function rl.GuiColorPickerHSV(bounds,text,colorHsv) end +---@param bounds Rectangle +---@param text string|lightuserdata +---@param colorHsv Vector3_ptr|lightuserdata +---@return number +---Color Panel control that returns HSV color value, used by GuiColorPickerHSV() +function rl.GuiColorPanelHSV(bounds,text,colorHsv) end +---Create a new variable of ffi type `t` +---@overload fun(t: '"Vector2"', ...): Vector2 +---@overload fun(t: '"Vector3"', ...): Vector3 +---@overload fun(t: '"Vector4"', ...): Vector4 +---@overload fun(t: '"Matrix"', ...): Matrix +---@overload fun(t: '"Color"', ...): Color +---@overload fun(t: '"Rectangle"', ...): Rectangle +---@overload fun(t: '"Image"', ...): Image +---@overload fun(t: '"Texture"', ...): Texture +---@overload fun(t: '"RenderTexture"', ...): RenderTexture +---@overload fun(t: '"NPatchInfo"', ...): NPatchInfo +---@overload fun(t: '"GlyphInfo"', ...): GlyphInfo +---@overload fun(t: '"Font"', ...): Font +---@overload fun(t: '"Camera3D"', ...): Camera3D +---@overload fun(t: '"Camera2D"', ...): Camera2D +---@overload fun(t: '"Mesh"', ...): Mesh +---@overload fun(t: '"Shader"', ...): Shader +---@overload fun(t: '"MaterialMap"', ...): MaterialMap +---@overload fun(t: '"Material"', ...): Material +---@overload fun(t: '"Transform"', ...): Transform +---@overload fun(t: '"BoneInfo"', ...): BoneInfo +---@overload fun(t: '"ModelSkeleton"', ...): ModelSkeleton +---@overload fun(t: '"Model"', ...): Model +---@overload fun(t: '"ModelAnimation"', ...): ModelAnimation +---@overload fun(t: '"Ray"', ...): Ray +---@overload fun(t: '"RayCollision"', ...): RayCollision +---@overload fun(t: '"BoundingBox"', ...): BoundingBox +---@overload fun(t: '"Wave"', ...): Wave +---@overload fun(t: '"AudioStream"', ...): AudioStream +---@overload fun(t: '"Sound"', ...): Sound +---@overload fun(t: '"Music"', ...): Music +---@overload fun(t: '"VrDeviceInfo"', ...): VrDeviceInfo +---@overload fun(t: '"VrStereoConfig"', ...): VrStereoConfig +---@overload fun(t: '"FilePathList"', ...): FilePathList +---@overload fun(t: '"AutomationEvent"', ...): AutomationEvent +---@overload fun(t: '"AutomationEventList"', ...): AutomationEventList +---@overload fun(t: '"Matrix"', ...): Matrix +---@overload fun(t: '"rlVertexBuffer"', ...): rlVertexBuffer +---@overload fun(t: '"rlDrawCall"', ...): rlDrawCall +---@overload fun(t: '"rlRenderBatch"', ...): rlRenderBatch +---@overload fun(t: '"Vector2"', ...): Vector2 +---@overload fun(t: '"Vector3"', ...): Vector3 +---@overload fun(t: '"Matrix"', ...): Matrix +---@overload fun(t: '"Camera3D"', ...): Camera3D +---@overload fun(t: '"Vector2"', ...): Vector2 +---@overload fun(t: '"Vector3"', ...): Vector3 +---@overload fun(t: '"Color"', ...): Color +---@overload fun(t: '"Rectangle"', ...): Rectangle +---@overload fun(t: '"Texture2D"', ...): Texture2D +---@overload fun(t: '"Image"', ...): Image +---@overload fun(t: '"GlyphInfo"', ...): GlyphInfo +---@overload fun(t: '"Font"', ...): Font +---@overload fun(t: '"GuiStyleProp"', ...): GuiStyleProp +---@overload fun(t: '"GuiTextStyle"', ...): GuiTextStyle +function rl.new(...) end diff --git a/tools/genbind.lua b/tools/genbind.lua index 1de6669..d83bc8e 100644 --- a/tools/genbind.lua +++ b/tools/genbind.lua @@ -10,10 +10,12 @@ local structs = { "Matrix", "Color", "Rectangle", "Image", "Texture", "Texture2D", "RenderTexture", "NPatchInfo", "GlyphInfo", "Font", "Camera", "Camera2D", "Mesh", "Shader", "MaterialMap", - "Material", "Model", "Transform", "BoneInfo", "ModelAnimation", + "Material", "Model", "Transform", "ModelAnimPose", "BoneInfo", + "ModelSkeleton", "ModelAnimation", "Ray", "RayCollision", "BoundingBox", "Wave", "Sound", "Music", "AudioStream", "VrDeviceInfo", "Camera3D", "RenderTexture2D", - "TextureCubemap", "TraceLogCallback", "PhysicsBody", + "TextureCubemap", "TraceLogCallback", "LoadFileDataCallback", + "SaveFileDataCallback", "LoadFileTextCallback", "SaveFileTextCallback", "GestureEvent", "GuiStyle", "GuiTextBoxState", "TraceLogCallback", "VertexBuffer", "DrawCall", "RenderBatch", "ShaderAttributeDataType", "MaterialMapIndex", "VrStereoConfig", diff --git a/tools/physac.h b/tools/physac.h deleted file mode 100644 index afff34e..0000000 --- a/tools/physac.h +++ /dev/null @@ -1,19 +0,0 @@ -void InitPhysics(void) -void UpdatePhysics(void) -void ResetPhysics(void) -void ClosePhysics(void) -void SetPhysicsTimeStep(double delta) -void SetPhysicsGravity(float x, float y) -PhysicsBody CreatePhysicsBodyCircle(Vector2 pos, float radius, float density) -PhysicsBody CreatePhysicsBodyRectangle(Vector2 pos, float width, float height, float density) -PhysicsBody CreatePhysicsBodyPolygon(Vector2 pos, float radius, int sides, float density) -void DestroyPhysicsBody(PhysicsBody body) -void PhysicsAddForce(PhysicsBody body, Vector2 force) -void PhysicsAddTorque(PhysicsBody body, float amount) -void PhysicsShatter(PhysicsBody body, Vector2 position, float force) -void SetPhysicsBodyRotation(PhysicsBody body, float radians) -PhysicsBody GetPhysicsBody(int index) -int GetPhysicsBodiesCount(void) -int GetPhysicsShapeType(int index) -int GetPhysicsShapeVerticesCount(int index) -Vector2 GetPhysicsShapeVertex(PhysicsBody body, int vertex) \ No newline at end of file diff --git a/tools/raygui.h b/tools/raygui.h index 0a6e17e..6424241 100644 --- a/tools/raygui.h +++ b/tools/raygui.h @@ -1,56 +1,56 @@ -void GuiEnable(void) -void GuiDisable(void) -void GuiLock(void) -void GuiUnlock(void) -bool GuiIsLocked(void) -void GuiSetAlpha(float alpha) -void GuiSetState(int state) -int GuiGetState(void) -void GuiSetFont(Font font) -Font GuiGetFont(void) -void GuiSetStyle(int control, int property, int value) -int GuiGetStyle(int control, int property) -void GuiLoadStyle(const char *fileName) -void GuiLoadStyleDefault(void) -void GuiEnableTooltip(void) -void GuiDisableTooltip(void) -void GuiSetTooltip(const char *tooltip) -const char *GuiIconText(int iconId, const char *text) -void GuiSetIconScale(int scale) -unsigned int *GuiGetIcons(void) -char **GuiLoadIcons(const char *fileName, bool loadIconsName) -void GuiDrawIcon(int iconId, int posX, int posY, int pixelSize, Color color) -int GuiWindowBox(Rectangle bounds, const char *title) -int GuiGroupBox(Rectangle bounds, const char *text) -int GuiLine(Rectangle bounds, const char *text) -int GuiPanel(Rectangle bounds, const char *text) -int GuiTabBar(Rectangle bounds, const char **text, int count, int *active) -int GuiScrollPanel(Rectangle bounds, const char *text, Rectangle content, Vector2 *scroll, Rectangle *view) -int GuiLabel(Rectangle bounds, const char *text) -int GuiButton(Rectangle bounds, const char *text) -int GuiLabelButton(Rectangle bounds, const char *text) -int GuiToggle(Rectangle bounds, const char *text, bool *active) -int GuiToggleGroup(Rectangle bounds, const char *text, int *active) -int GuiToggleSlider(Rectangle bounds, const char *text, int *active) -int GuiCheckBox(Rectangle bounds, const char *text, bool *checked) -int GuiComboBox(Rectangle bounds, const char *text, int *active) -int GuiDropdownBox(Rectangle bounds, const char *text, int *active, bool editMode) -int GuiSpinner(Rectangle bounds, const char *text, int *value, int minValue, int maxValue, bool editMode) -int GuiValueBox(Rectangle bounds, const char *text, int *value, int minValue, int maxValue, bool editMode) -int GuiTextBox(Rectangle bounds, char *text, int textSize, bool editMode) -int GuiSlider(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) -int GuiSliderBar(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) -int GuiProgressBar(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) -int GuiStatusBar(Rectangle bounds, const char *text) -int GuiDummyRec(Rectangle bounds, const char *text) -int GuiGrid(Rectangle bounds, const char *text, float spacing, int subdivs, Vector2 *mouseCell) -int GuiListView(Rectangle bounds, const char *text, int *scrollIndex, int *active) -int GuiListViewEx(Rectangle bounds, const char **text, int count, int *scrollIndex, int *active, int *focus) -int GuiMessageBox(Rectangle bounds, const char *title, const char *message, const char *buttons) -int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, const char *buttons, char *text, int textMaxSize, bool *secretViewActive) -int GuiColorPicker(Rectangle bounds, const char *text, Color *color) -int GuiColorPanel(Rectangle bounds, const char *text, Color *color) -int GuiColorBarAlpha(Rectangle bounds, const char *text, float *alpha) -int GuiColorBarHue(Rectangle bounds, const char *text, float *value) -int GuiColorPickerHSV(Rectangle bounds, const char *text, Vector3 *colorHsv) -int GuiColorPanelHSV(Rectangle bounds, const char *text, Vector3 *colorHsv) \ No newline at end of file +void GuiEnable(void) +void GuiDisable(void) +void GuiLock(void) +void GuiUnlock(void) +bool GuiIsLocked(void) +void GuiSetAlpha(float alpha) +void GuiSetState(int state) +int GuiGetState(void) +void GuiSetFont(Font font) +Font GuiGetFont(void) +void GuiSetStyle(int control, int property, int value) +int GuiGetStyle(int control, int property) +void GuiLoadStyle(const char *fileName) +void GuiLoadStyleDefault(void) +void GuiEnableTooltip(void) +void GuiDisableTooltip(void) +void GuiSetTooltip(const char *tooltip) +const char *GuiIconText(int iconId, const char *text) +void GuiSetIconScale(int scale) +unsigned int *GuiGetIcons(void) +char **GuiLoadIcons(const char *fileName, bool loadIconsName) +void GuiDrawIcon(int iconId, int posX, int posY, int pixelSize, Color color) +int GuiWindowBox(Rectangle bounds, const char *title) +int GuiGroupBox(Rectangle bounds, const char *text) +int GuiLine(Rectangle bounds, const char *text) +int GuiPanel(Rectangle bounds, const char *text) +int GuiTabBar(Rectangle bounds, const char **text, int count, int *active) +int GuiScrollPanel(Rectangle bounds, const char *text, Rectangle content, Vector2 *scroll, Rectangle *view) +int GuiLabel(Rectangle bounds, const char *text) +int GuiButton(Rectangle bounds, const char *text) +int GuiLabelButton(Rectangle bounds, const char *text) +int GuiToggle(Rectangle bounds, const char *text, bool *active) +int GuiToggleGroup(Rectangle bounds, const char *text, int *active) +int GuiToggleSlider(Rectangle bounds, const char *text, int *active) +int GuiCheckBox(Rectangle bounds, const char *text, bool *checked) +int GuiComboBox(Rectangle bounds, const char *text, int *active) +int GuiDropdownBox(Rectangle bounds, const char *text, int *active, bool editMode) +int GuiSpinner(Rectangle bounds, const char *text, int *value, int minValue, int maxValue, bool editMode) +int GuiValueBox(Rectangle bounds, const char *text, int *value, int minValue, int maxValue, bool editMode) +int GuiTextBox(Rectangle bounds, char *text, int textSize, bool editMode) +int GuiSlider(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) +int GuiSliderBar(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) +int GuiProgressBar(Rectangle bounds, const char *textLeft, const char *textRight, float *value, float minValue, float maxValue) +int GuiStatusBar(Rectangle bounds, const char *text) +int GuiDummyRec(Rectangle bounds, const char *text) +int GuiGrid(Rectangle bounds, const char *text, float spacing, int subdivs, Vector2 *mouseCell) +int GuiListView(Rectangle bounds, const char *text, int *scrollIndex, int *active) +int GuiListViewEx(Rectangle bounds, const char **text, int count, int *scrollIndex, int *active, int *focus) +int GuiMessageBox(Rectangle bounds, const char *title, const char *message, const char *buttons) +int GuiTextInputBox(Rectangle bounds, const char *title, const char *message, const char *buttons, char *text, int textMaxSize, bool *secretViewActive) +int GuiColorPicker(Rectangle bounds, const char *text, Color *color) +int GuiColorPanel(Rectangle bounds, const char *text, Color *color) +int GuiColorBarAlpha(Rectangle bounds, const char *text, float *alpha) +int GuiColorBarHue(Rectangle bounds, const char *text, float *value) +int GuiColorPickerHSV(Rectangle bounds, const char *text, Vector3 *colorHsv) +int GuiColorPanelHSV(Rectangle bounds, const char *text, Vector3 *colorHsv) diff --git a/tools/raymath.h b/tools/raymath.h index 59c1166..d8e3a22 100644 --- a/tools/raymath.h +++ b/tools/raymath.h @@ -1,114 +1,146 @@ -float Clamp(float value, float min, float max) -float Lerp(float start, float end, float amount) -float Normalize(float value, float start, float end) -float Remap(float value, float inputStart, float inputEnd, float outputStart, float outputEnd) -float Wrap(float value, float min, float max) -int FloatEquals(float x, float y) -Vector2 Vector2Zero(void) -Vector2 Vector2One(void) -Vector2 Vector2Add(Vector2 v1, Vector2 v2) -Vector2 Vector2AddValue(Vector2 v, float add) -Vector2 Vector2Subtract(Vector2 v1, Vector2 v2) -Vector2 Vector2SubtractValue(Vector2 v, float sub) -float Vector2Length(Vector2 v) -float Vector2LengthSqr(Vector2 v) -float Vector2DotProduct(Vector2 v1, Vector2 v2) -float Vector2Distance(Vector2 v1, Vector2 v2) -float Vector2DistanceSqr(Vector2 v1, Vector2 v2) -float Vector2Angle(Vector2 v1, Vector2 v2) -float Vector2LineAngle(Vector2 start, Vector2 end) -Vector2 Vector2Scale(Vector2 v, float scale) -Vector2 Vector2Multiply(Vector2 v1, Vector2 v2) -Vector2 Vector2Negate(Vector2 v) -Vector2 Vector2Divide(Vector2 v1, Vector2 v2) -Vector2 Vector2Normalize(Vector2 v) -Vector2 Vector2Transform(Vector2 v, Matrix mat) -Vector2 Vector2Lerp(Vector2 v1, Vector2 v2, float amount) -Vector2 Vector2Reflect(Vector2 v, Vector2 normal) -Vector2 Vector2Rotate(Vector2 v, float degs) -Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance) -Vector2 Vector2Invert(Vector2 v) -Vector2 Vector2Clamp(Vector2 v, Vector2 min, Vector2 max) -Vector2 Vector2ClampValue(Vector2 v, float min, float max) -int Vector2Equals(Vector2 p, Vector2 q) -Vector3 Vector3Zero(void) -Vector3 Vector3One(void) -Vector3 Vector3Add(Vector3 v1, Vector3 v2) -Vector3 Vector3AddValue(Vector3 v, float add) -Vector3 Vector3Subtract(Vector3 v1, Vector3 v2) -Vector3 Vector3SubtractValue(Vector3 v, float sub) -Vector3 Vector3Scale(Vector3 v, float scalar) -Vector3 Vector3Multiply(Vector3 v1, Vector3 v2) -Vector3 Vector3CrossProduct(Vector3 v1, Vector3 v2) -Vector3 Vector3Perpendicular(Vector3 v) -float Vector3Length(const Vector3 v) -float Vector3LengthSqr(const Vector3 v) -float Vector3DotProduct(Vector3 v1, Vector3 v2) -float Vector3Distance(Vector3 v1, Vector3 v2) -float Vector3DistanceSqr(Vector3 v1, Vector3 v2) -Vector2 Vector3Angle(Vector3 v1, Vector3 v2) -Vector3 Vector3Negate(Vector3 v) -Vector3 Vector3Divide(Vector3 v1, Vector3 v2) -Vector3 Vector3Normalize(Vector3 v) -Vector3 Vector3Project(Vector3 v1, Vector3 v2) -Vector3 Vector3Reject(Vector3 v1, Vector3 v2) -void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2) -Vector3 Vector3Transform(Vector3 v, Matrix mat) -Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q) -Vector3 Vector3RotateByAxisAngle(Vector3, Vector3, float) -Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount) -Vector3 Vector3Reflect(Vector3 v, Vector3 normal) -Vector3 Vector3Min(Vector3 v1, Vector3 v2) -Vector3 Vector3Max(Vector3 v1, Vector3 v2) -Vector3 Vector3Barycenter(Vector3 p, Vector3 a, Vector3 b, Vector3 c) -Vector3 Vector3Unproject(Vector3 source, Matrix projection, Matrix view) -float3 Vector3ToFloatV(Vector3 v) -Vector3 Vector3Invert(Vector3 v) -Vector3 Vector3Clamp(Vector3 v, Vector3 min, Vector3 max) -Vector3 Vector3ClampValue(Vector3 v, float min, float max) -int Vector3Equals(Vector3 p, Vector3 q) -Vector3 Vector3Refract(Vector3 v, Vector3 n, float r) -float MatrixDeterminant(Matrix mat) -float MatrixTrace(Matrix mat) -Matrix MatrixTranspose(Matrix mat) -Matrix MatrixInvert(Matrix mat) -Matrix MatrixIdentity(void) -Matrix MatrixAdd(Matrix left, Matrix right) -Matrix MatrixSubtract(Matrix left, Matrix right) -Matrix MatrixMultiply(Matrix left, Matrix right) -Matrix MatrixTranslate(float x, float y, float z) -Matrix MatrixRotate(Vector3 axis, float angle) -Matrix MatrixRotateX(float angle) -Matrix MatrixRotateY(float angle) -Matrix MatrixRotateZ(float angle) -Matrix MatrixRotateXYZ(Vector3 ang) -Matrix MatrixRotateZYX(Vector3 ang) -Matrix MatrixScale(float x, float y, float z) -Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far) -Matrix MatrixPerspective(double fovY, double aspect, double nearPlane, double farPlane) -Matrix MatrixOrtho(double left, double right, double bottom, double top, double nearPlane, double farPlane) -Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up) -float16 MatrixToFloatV(Matrix mat) -Quaternion QuaternionAdd(Quaternion q1, Quaternion q2) -Quaternion QuaternionAddValue(Quaternion q, float add) -Quaternion QuaternionSubtract(Quaternion q1, Quaternion q2) -Quaternion QuaternionSubtractValue(Quaternion q, float sub) -Quaternion QuaternionIdentity(void) -float QuaternionLength(Quaternion q) -Quaternion QuaternionNormalize(Quaternion q) -Quaternion QuaternionInvert(Quaternion q) -Quaternion QuaternionMultiply(Quaternion q1, Quaternion q2) -Quaternion QuaternionScale(Quaternion q, float mul) -Quaternion QuaternionDivide(Quaternion q1, Quaternion q2) -Quaternion QuaternionLerp(Quaternion q1, Quaternion q2, float amount) -Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount) -Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount) -Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to) -Quaternion QuaternionFromMatrix(Matrix mat) -Matrix QuaternionToMatrix(Quaternion q) -Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle) -void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle) -Quaternion QuaternionFromEuler(float pitch, float yaw, float roll) -Vector3 QuaternionToEuler(Quaternion q) -Quaternion QuaternionTransform(Quaternion q, Matrix mat) -int QuaternionEquals(Quaternion p, Quaternion q) \ No newline at end of file +float Clamp(float value, float min, float max) +float Lerp(float start, float end, float amount) +float Normalize(float value, float start, float end) +float Remap(float value, float inputStart, float inputEnd, float outputStart, float outputEnd) +float Wrap(float value, float min, float max) +int FloatEquals(float x, float y) +Vector2 Vector2Zero(void) +Vector2 Vector2One(void) +Vector2 Vector2Add(Vector2 v1, Vector2 v2) +Vector2 Vector2AddValue(Vector2 v, float add) +Vector2 Vector2Subtract(Vector2 v1, Vector2 v2) +Vector2 Vector2SubtractValue(Vector2 v, float sub) +float Vector2Length(Vector2 v) +float Vector2LengthSqr(Vector2 v) +float Vector2DotProduct(Vector2 v1, Vector2 v2) +float Vector2CrossProduct(Vector2 v1, Vector2 v2) +float Vector2Distance(Vector2 v1, Vector2 v2) +float Vector2DistanceSqr(Vector2 v1, Vector2 v2) +float Vector2Angle(Vector2 v1, Vector2 v2) +float Vector2LineAngle(Vector2 start, Vector2 end) +Vector2 Vector2Scale(Vector2 v, float scale) +Vector2 Vector2Multiply(Vector2 v1, Vector2 v2) +Vector2 Vector2Negate(Vector2 v) +Vector2 Vector2Divide(Vector2 v1, Vector2 v2) +Vector2 Vector2Normalize(Vector2 v) +Vector2 Vector2Transform(Vector2 v, Matrix mat) +Vector2 Vector2Lerp(Vector2 v1, Vector2 v2, float amount) +Vector2 Vector2Reflect(Vector2 v, Vector2 normal) +Vector2 Vector2Min(Vector2 v1, Vector2 v2) +Vector2 Vector2Max(Vector2 v1, Vector2 v2) +Vector2 Vector2Rotate(Vector2 v, float angle) +Vector2 Vector2MoveTowards(Vector2 v, Vector2 target, float maxDistance) +Vector2 Vector2Invert(Vector2 v) +Vector2 Vector2Clamp(Vector2 v, Vector2 min, Vector2 max) +Vector2 Vector2ClampValue(Vector2 v, float min, float max) +int Vector2Equals(Vector2 p, Vector2 q) +Vector2 Vector2Refract(Vector2 v, Vector2 n, float r) +Vector3 Vector3Zero(void) +Vector3 Vector3One(void) +Vector3 Vector3Add(Vector3 v1, Vector3 v2) +Vector3 Vector3AddValue(Vector3 v, float add) +Vector3 Vector3Subtract(Vector3 v1, Vector3 v2) +Vector3 Vector3SubtractValue(Vector3 v, float sub) +Vector3 Vector3Scale(Vector3 v, float scalar) +Vector3 Vector3Multiply(Vector3 v1, Vector3 v2) +Vector3 Vector3CrossProduct(Vector3 v1, Vector3 v2) +Vector3 Vector3Perpendicular(Vector3 v) +float Vector3Length(const Vector3 v) +float Vector3LengthSqr(const Vector3 v) +float Vector3DotProduct(Vector3 v1, Vector3 v2) +float Vector3Distance(Vector3 v1, Vector3 v2) +float Vector3DistanceSqr(Vector3 v1, Vector3 v2) +float Vector3Angle(Vector3 v1, Vector3 v2) +Vector3 Vector3Negate(Vector3 v) +Vector3 Vector3Divide(Vector3 v1, Vector3 v2) +Vector3 Vector3Normalize(Vector3 v) +Vector3 Vector3Project(Vector3 v1, Vector3 v2) +Vector3 Vector3Reject(Vector3 v1, Vector3 v2) +void Vector3OrthoNormalize(Vector3 *v1, Vector3 *v2) +Vector3 Vector3Transform(Vector3 v, Matrix mat) +Vector3 Vector3RotateByQuaternion(Vector3 v, Quaternion q) +Vector3 Vector3RotateByAxisAngle(Vector3 v, Vector3 axis, float angle) +Vector3 Vector3MoveTowards(Vector3 v, Vector3 target, float maxDistance) +Vector3 Vector3Lerp(Vector3 v1, Vector3 v2, float amount) +Vector3 Vector3CubicHermite(Vector3 v1, Vector3 tangent1, Vector3 v2, Vector3 tangent2, float amount) +Vector3 Vector3Reflect(Vector3 v, Vector3 normal) +Vector3 Vector3Min(Vector3 v1, Vector3 v2) +Vector3 Vector3Max(Vector3 v1, Vector3 v2) +Vector3 Vector3Barycenter(Vector3 p, Vector3 a, Vector3 b, Vector3 c) +Vector3 Vector3Unproject(Vector3 source, Matrix projection, Matrix view) +float3 Vector3ToFloatV(Vector3 v) +Vector3 Vector3Invert(Vector3 v) +Vector3 Vector3Clamp(Vector3 v, Vector3 min, Vector3 max) +Vector3 Vector3ClampValue(Vector3 v, float min, float max) +int Vector3Equals(Vector3 p, Vector3 q) +Vector3 Vector3Refract(Vector3 v, Vector3 n, float r) +Vector4 Vector4Zero(void) +Vector4 Vector4One(void) +Vector4 Vector4Add(Vector4 v1, Vector4 v2) +Vector4 Vector4AddValue(Vector4 v, float add) +Vector4 Vector4Subtract(Vector4 v1, Vector4 v2) +Vector4 Vector4SubtractValue(Vector4 v, float add) +float Vector4Length(Vector4 v) +float Vector4LengthSqr(Vector4 v) +float Vector4DotProduct(Vector4 v1, Vector4 v2) +float Vector4Distance(Vector4 v1, Vector4 v2) +float Vector4DistanceSqr(Vector4 v1, Vector4 v2) +Vector4 Vector4Scale(Vector4 v, float scale) +Vector4 Vector4Multiply(Vector4 v1, Vector4 v2) +Vector4 Vector4Negate(Vector4 v) +Vector4 Vector4Divide(Vector4 v1, Vector4 v2) +Vector4 Vector4Normalize(Vector4 v) +Vector4 Vector4Min(Vector4 v1, Vector4 v2) +Vector4 Vector4Max(Vector4 v1, Vector4 v2) +Vector4 Vector4Lerp(Vector4 v1, Vector4 v2, float amount) +Vector4 Vector4MoveTowards(Vector4 v, Vector4 target, float maxDistance) +Vector4 Vector4Invert(Vector4 v) +int Vector4Equals(Vector4 p, Vector4 q) +float MatrixDeterminant(Matrix mat) +float MatrixTrace(Matrix mat) +Matrix MatrixTranspose(Matrix mat) +Matrix MatrixInvert(Matrix mat) +Matrix MatrixIdentity(void) +Matrix MatrixAdd(Matrix left, Matrix right) +Matrix MatrixSubtract(Matrix left, Matrix right) +Matrix MatrixMultiply(Matrix left, Matrix right) +Matrix MatrixMultiplyValue(Matrix left, float value) +Matrix MatrixTranslate(float x, float y, float z) +Matrix MatrixRotate(Vector3 axis, float angle) +Matrix MatrixRotateX(float angle) +Matrix MatrixRotateY(float angle) +Matrix MatrixRotateZ(float angle) +Matrix MatrixRotateXYZ(Vector3 angle) +Matrix MatrixRotateZYX(Vector3 angle) +Matrix MatrixScale(float x, float y, float z) +Matrix MatrixFrustum(double left, double right, double bottom, double top, double nearPlane, double farPlane) +Matrix MatrixPerspective(double fovY, double aspect, double nearPlane, double farPlane) +Matrix MatrixOrtho(double left, double right, double bottom, double top, double nearPlane, double farPlane) +Matrix MatrixLookAt(Vector3 eye, Vector3 target, Vector3 up) +float16 MatrixToFloatV(Matrix mat) +Quaternion QuaternionAdd(Quaternion q1, Quaternion q2) +Quaternion QuaternionAddValue(Quaternion q, float add) +Quaternion QuaternionSubtract(Quaternion q1, Quaternion q2) +Quaternion QuaternionSubtractValue(Quaternion q, float sub) +Quaternion QuaternionIdentity(void) +float QuaternionLength(Quaternion q) +Quaternion QuaternionNormalize(Quaternion q) +Quaternion QuaternionInvert(Quaternion q) +Quaternion QuaternionMultiply(Quaternion q1, Quaternion q2) +Quaternion QuaternionScale(Quaternion q, float mul) +Quaternion QuaternionDivide(Quaternion q1, Quaternion q2) +Quaternion QuaternionLerp(Quaternion q1, Quaternion q2, float amount) +Quaternion QuaternionNlerp(Quaternion q1, Quaternion q2, float amount) +Quaternion QuaternionSlerp(Quaternion q1, Quaternion q2, float amount) +Quaternion QuaternionCubicHermiteSpline(Quaternion q1, Quaternion outTangent1, Quaternion q2, Quaternion inTangent2, float t) +Quaternion QuaternionFromVector3ToVector3(Vector3 from, Vector3 to) +Quaternion QuaternionFromMatrix(Matrix mat) +Matrix QuaternionToMatrix(Quaternion q) +Quaternion QuaternionFromAxisAngle(Vector3 axis, float angle) +void QuaternionToAxisAngle(Quaternion q, Vector3 *outAxis, float *outAngle) +Quaternion QuaternionFromEuler(float pitch, float yaw, float roll) +Vector3 QuaternionToEuler(Quaternion q) +Quaternion QuaternionTransform(Quaternion q, Matrix mat) +int QuaternionEquals(Quaternion p, Quaternion q) +Matrix MatrixCompose(Vector3 translation, Quaternion rotation, Vector3 scale) +void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotation, Vector3 *scale) diff --git a/tools/rcamera.h b/tools/rcamera.h index 7482450..82fa71d 100644 --- a/tools/rcamera.h +++ b/tools/rcamera.h @@ -1,12 +1,12 @@ -Vector3 GetCameraForward(Camera *camera) -Vector3 GetCameraUp(Camera *camera) -Vector3 GetCameraRight(Camera *camera) -void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane) -void CameraMoveUp(Camera *camera, float distance) -void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane) -void CameraMoveToTarget(Camera *camera, float delta) -void CameraYaw(Camera *camera, float angle, bool rotateAroundTarget) -void CameraPitch(Camera *camera, float angle, bool lockView, bool rotateAroundTarget, bool rotateUp) -void CameraRoll(Camera *camera, float angle) -Matrix GetCameraViewMatrix(Camera *camera) -Matrix GetCameraProjectionMatrix(Camera* camera, float aspect) \ No newline at end of file +Vector3 GetCameraForward(Camera *camera) +Vector3 GetCameraUp(Camera *camera) +Vector3 GetCameraRight(Camera *camera) +void CameraMoveForward(Camera *camera, float distance, bool moveInWorldPlane) +void CameraMoveUp(Camera *camera, float distance) +void CameraMoveRight(Camera *camera, float distance, bool moveInWorldPlane) +void CameraMoveToTarget(Camera *camera, float delta) +void CameraYaw(Camera *camera, float angle, bool rotateAroundTarget) +void CameraPitch(Camera *camera, float angle, bool lockView, bool rotateAroundTarget, bool rotateUp) +void CameraRoll(Camera *camera, float angle) +Matrix GetCameraViewMatrix(Camera *camera) +Matrix GetCameraProjectionMatrix(Camera *camera, float aspect) diff --git a/tools/rlgl.h b/tools/rlgl.h index d6f2c77..51b9e48 100644 --- a/tools/rlgl.h +++ b/tools/rlgl.h @@ -1,153 +1,163 @@ -void rlMatrixMode(int mode) -void rlPushMatrix(void) -void rlPopMatrix(void) -void rlLoadIdentity(void) -void rlTranslatef(float x, float y, float z) -void rlRotatef(float angle, float x, float y, float z) -void rlScalef(float x, float y, float z) -void rlMultMatrixf(const float *matf) -void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar) -void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar) -void rlViewport(int x, int y, int width, int height) -void rlBegin(int mode) -void rlEnd(void) -void rlVertex2i(int x, int y) -void rlVertex2f(float x, float y) -void rlVertex3f(float x, float y, float z) -void rlTexCoord2f(float x, float y) -void rlNormal3f(float x, float y, float z) -void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a) -void rlColor3f(float x, float y, float z) -void rlColor4f(float x, float y, float z, float w) -bool rlEnableVertexArray(unsigned int vaoId) -void rlDisableVertexArray(void) -void rlEnableVertexBuffer(unsigned int id) -void rlDisableVertexBuffer(void) -void rlEnableVertexBufferElement(unsigned int id) -void rlDisableVertexBufferElement(void) -void rlEnableVertexAttribute(unsigned int index) -void rlDisableVertexAttribute(unsigned int index) -#if defined(GRAPHICS_API_OPENGL_11) -void rlEnableStatePointer(int vertexAttribType, void *buffer) -void rlDisableStatePointer(int vertexAttribType) -#endif -void rlActiveTextureSlot(int slot) -void rlEnableTexture(unsigned int id) -void rlDisableTexture(void) -void rlEnableTextureCubemap(unsigned int id) -void rlDisableTextureCubemap(void) -void rlTextureParameters(unsigned int id, int param, int value) -void rlCubemapParameters(unsigned int id, int param, int value) -void rlEnableShader(unsigned int id) -void rlDisableShader(void) -void rlEnableFramebuffer(unsigned int id) -void rlDisableFramebuffer(void) -void rlActiveDrawBuffers(int count) -void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask) -void rlEnableColorBlend(void) -void rlDisableColorBlend(void) -void rlEnableDepthTest(void) -void rlDisableDepthTest(void) -void rlEnableDepthMask(void) -void rlDisableDepthMask(void) -void rlEnableBackfaceCulling(void) -void rlDisableBackfaceCulling(void) -void rlSetCullFace(int mode) -void rlEnableScissorTest(void) -void rlDisableScissorTest(void) -void rlScissor(int x, int y, int width, int height) -void rlEnableWireMode(void) -void rlEnablePointMode(void) -void rlDisableWireMode(void) -void rlSetLineWidth(float width) -float rlGetLineWidth(void) -void rlEnableSmoothLines(void) -void rlDisableSmoothLines(void) -void rlEnableStereoRender(void) -void rlDisableStereoRender(void) -bool rlIsStereoRenderEnabled(void) -void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a) -void rlClearScreenBuffers(void) -void rlCheckErrors(void) -void rlSetBlendMode(int mode) -void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation) -void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha) -void rlglInit(int width, int height) -void rlglClose(void) -void rlLoadExtensions(void *loader) -int rlGetVersion(void) -void rlSetFramebufferWidth(int width) -int rlGetFramebufferWidth(void) -void rlSetFramebufferHeight(int height) -int rlGetFramebufferHeight(void) -unsigned int rlGetTextureIdDefault(void) -unsigned int rlGetShaderIdDefault(void) -int *rlGetShaderLocsDefault(void) -rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) -void rlUnloadRenderBatch(rlRenderBatch batch) -void rlDrawRenderBatch(rlRenderBatch *batch) -void rlSetRenderBatchActive(rlRenderBatch *batch) -void rlDrawRenderBatchActive(void) -bool rlCheckRenderBatchLimit(int vCount) -void rlSetTexture(unsigned int id) -unsigned int rlLoadVertexArray(void) -unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic) -unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic) -void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset) -void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset) -void rlUnloadVertexArray(unsigned int vaoId) -void rlUnloadVertexBuffer(unsigned int vboId) -void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, const void *pointer) -void rlSetVertexAttributeDivisor(unsigned int index, int divisor) -void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count) -void rlDrawVertexArray(int offset, int count) -void rlDrawVertexArrayElements(int offset, int count, const void *buffer) -void rlDrawVertexArrayInstanced(int offset, int count, int instances) -void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances) -unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount) -unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer) -unsigned int rlLoadTextureCubemap(const void *data, int size, int format) -void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data) -void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType) -const char *rlGetPixelFormatName(unsigned int format) -void rlUnloadTexture(unsigned int id) -void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps) -void *rlReadTexturePixels(unsigned int id, int width, int height, int format) -unsigned char *rlReadScreenPixels(int width, int height) -unsigned int rlLoadFramebuffer(int width, int height) -void rlFramebufferAttach(unsigned int fboId, unsigned int texId, int attachType, int texType, int mipLevel) -bool rlFramebufferComplete(unsigned int id) -void rlUnloadFramebuffer(unsigned int id) -unsigned int rlLoadShaderCode(const char *vsCode, const char *fsCode) -unsigned int rlCompileShader(const char *shaderCode, int type) -unsigned int rlLoadShaderProgram(unsigned int vShaderId, unsigned int fShaderId) -void rlUnloadShaderProgram(unsigned int id) -int rlGetLocationUniform(unsigned int shaderId, const char *uniformName) -int rlGetLocationAttrib(unsigned int shaderId, const char *attribName) -void rlSetUniform(int locIndex, const void *value, int uniformType, int count) -void rlSetUniformMatrix(int locIndex, Matrix mat) -void rlSetUniformSampler(int locIndex, unsigned int textureId) -void rlSetShader(unsigned int id, int *locs) -#if defined(GRAPHICS_API_OPENGL_43) -unsigned int rlLoadComputeShaderProgram(int shaderId) -void rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned int groupZ) -unsigned int rlLoadShaderBuffer(unsigned int size, const void *data, int usageHint) -void rlUnloadShaderBuffer(unsigned int ssboId) -void rlUpdateShaderBuffer(unsigned int id, const void *data, unsigned int dataSize, unsigned int offset) -void rlBindShaderBuffer(unsigned int id, unsigned int index) -void rlReadShaderBuffer(unsigned int id, void *dest, unsigned int count, unsigned int offset) -void rlCopyShaderBuffer(unsigned int destId, unsigned int srcId, unsigned int destOffset, unsigned int srcOffset, unsigned int count) -unsigned int rlGetShaderBufferSize(unsigned int id) -void rlBindImageTexture(unsigned int id, unsigned int index, int format, bool readonly) -#endif -Matrix rlGetMatrixModelview(void) -Matrix rlGetMatrixProjection(void) -Matrix rlGetMatrixTransform(void) -Matrix rlGetMatrixProjectionStereo(int eye) -Matrix rlGetMatrixViewOffsetStereo(int eye) -void rlSetMatrixProjection(Matrix proj) -void rlSetMatrixModelview(Matrix view) -void rlSetMatrixProjectionStereo(Matrix right, Matrix left) -void rlSetMatrixViewOffsetStereo(Matrix right, Matrix left) -void rlLoadDrawCube(void) -void rlLoadDrawQuad(void) \ No newline at end of file +void rlMatrixMode(int mode) +void rlPushMatrix(void) +void rlPopMatrix(void) +void rlLoadIdentity(void) +void rlTranslatef(float x, float y, float z) +void rlRotatef(float angle, float x, float y, float z) +void rlScalef(float x, float y, float z) +void rlMultMatrixf(const float *matf) +void rlFrustum(double left, double right, double bottom, double top, double znear, double zfar) +void rlOrtho(double left, double right, double bottom, double top, double znear, double zfar) +void rlViewport(int x, int y, int width, int height) +void rlSetClipPlanes(double nearPlane, double farPlane) +double rlGetCullDistanceNear(void) +double rlGetCullDistanceFar(void) +void rlBegin(int mode) +void rlEnd(void) +void rlVertex2i(int x, int y) +void rlVertex2f(float x, float y) +void rlVertex3f(float x, float y, float z) +void rlTexCoord2f(float x, float y) +void rlNormal3f(float x, float y, float z) +void rlColor4ub(unsigned char r, unsigned char g, unsigned char b, unsigned char a) +void rlColor3f(float x, float y, float z) +void rlColor4f(float x, float y, float z, float w) +bool rlEnableVertexArray(unsigned int vaoId) +void rlDisableVertexArray(void) +void rlEnableVertexBuffer(unsigned int id) +void rlDisableVertexBuffer(void) +void rlEnableVertexBufferElement(unsigned int id) +void rlDisableVertexBufferElement(void) +void rlEnableVertexAttribute(unsigned int index) +void rlDisableVertexAttribute(unsigned int index) +void rlEnableStatePointer(int vertexAttribType, void *buffer) +void rlDisableStatePointer(int vertexAttribType) +void rlActiveTextureSlot(int slot) +void rlEnableTexture(unsigned int id) +void rlDisableTexture(void) +void rlEnableTextureCubemap(unsigned int id) +void rlDisableTextureCubemap(void) +void rlTextureParameters(unsigned int id, int param, int value) +void rlCubemapParameters(unsigned int id, int param, int value) +void rlEnableShader(unsigned int id) +void rlDisableShader(void) +void rlEnableFramebuffer(unsigned int id) +void rlDisableFramebuffer(void) +unsigned int rlGetActiveFramebuffer(void) +void rlActiveDrawBuffers(int count) +void rlBlitFramebuffer(int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight, int bufferMask) +void rlBindFramebuffer(unsigned int target, unsigned int framebuffer) +void rlEnableColorBlend(void) +void rlDisableColorBlend(void) +void rlEnableDepthTest(void) +void rlDisableDepthTest(void) +void rlEnableDepthMask(void) +void rlDisableDepthMask(void) +void rlEnableBackfaceCulling(void) +void rlDisableBackfaceCulling(void) +void rlColorMask(bool r, bool g, bool b, bool a) +void rlSetCullFace(int mode) +void rlEnableScissorTest(void) +void rlDisableScissorTest(void) +void rlScissor(int x, int y, int width, int height) +void rlEnablePointMode(void) +void rlDisablePointMode(void) +void rlSetPointSize(float size) +float rlGetPointSize(void) +void rlEnableWireMode(void) +void rlDisableWireMode(void) +void rlSetLineWidth(float width) +float rlGetLineWidth(void) +void rlEnableSmoothLines(void) +void rlDisableSmoothLines(void) +void rlEnableStereoRender(void) +void rlDisableStereoRender(void) +bool rlIsStereoRenderEnabled(void) +void rlClearColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a) +void rlClearScreenBuffers(void) +void rlCheckErrors(void) +void rlSetBlendMode(int mode) +void rlSetBlendFactors(int glSrcFactor, int glDstFactor, int glEquation) +void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha, int glDstAlpha, int glEqRGB, int glEqAlpha) +void rlglInit(int width, int height) +void rlglClose(void) +void rlLoadExtensions(void *loader) +void *rlGetProcAddress(const char *procName) +int rlGetVersion(void) +void rlSetFramebufferWidth(int width) +int rlGetFramebufferWidth(void) +void rlSetFramebufferHeight(int height) +int rlGetFramebufferHeight(void) +unsigned int rlGetTextureIdDefault(void) +unsigned int rlGetShaderIdDefault(void) +int *rlGetShaderLocsDefault(void) +rlRenderBatch rlLoadRenderBatch(int numBuffers, int bufferElements) +void rlUnloadRenderBatch(rlRenderBatch batch) +void rlDrawRenderBatch(rlRenderBatch *batch) +void rlSetRenderBatchActive(rlRenderBatch *batch) +void rlDrawRenderBatchActive(void) +bool rlCheckRenderBatchLimit(int vCount) +void rlSetTexture(unsigned int id) +unsigned int rlLoadVertexArray(void) +unsigned int rlLoadVertexBuffer(const void *buffer, int size, bool dynamic) +unsigned int rlLoadVertexBufferElement(const void *buffer, int size, bool dynamic) +void rlUpdateVertexBuffer(unsigned int bufferId, const void *data, int dataSize, int offset) +void rlUpdateVertexBufferElements(unsigned int id, const void *data, int dataSize, int offset) +void rlUnloadVertexArray(unsigned int vaoId) +void rlUnloadVertexBuffer(unsigned int vboId) +void rlSetVertexAttribute(unsigned int index, int compSize, int type, bool normalized, int stride, int offset) +void rlSetVertexAttributeDivisor(unsigned int index, int divisor) +void rlSetVertexAttributeDefault(int locIndex, const void *value, int attribType, int count) +void rlDrawVertexArray(int offset, int count) +void rlDrawVertexArrayElements(int offset, int count, const void *buffer) +void rlDrawVertexArrayInstanced(int offset, int count, int instances) +void rlDrawVertexArrayElementsInstanced(int offset, int count, const void *buffer, int instances) +unsigned int rlLoadTexture(const void *data, int width, int height, int format, int mipmapCount) +unsigned int rlLoadTextureDepth(int width, int height, bool useRenderBuffer) +unsigned int rlLoadTextureCubemap(const void *data, int size, int format, int mipmapCount) +void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data) +void rlGetGlTextureFormats(int format, unsigned int *glInternalFormat, unsigned int *glFormat, unsigned int *glType) +const char *rlGetPixelFormatName(unsigned int format) +void rlUnloadTexture(unsigned int id) +void rlGenTextureMipmaps(unsigned int id, int width, int height, int format, int *mipmaps) +void *rlReadTexturePixels(unsigned int id, int width, int height, int format) +unsigned char *rlReadScreenPixels(int width, int height) +unsigned int rlLoadFramebuffer(void) +void rlFramebufferAttach(unsigned int id, unsigned int texId, int attachType, int texType, int mipLevel) +bool rlFramebufferComplete(unsigned int id) +void rlUnloadFramebuffer(unsigned int id) +void rlCopyFramebuffer(int x, int y, int width, int height, int format, void *pixels) +void rlResizeFramebuffer(int width, int height) +unsigned int rlLoadShader(const char *code, int type) +unsigned int rlLoadShaderProgram(const char *vsCode, const char *fsCode) +unsigned int rlLoadShaderProgramEx(unsigned int vsId, unsigned int fsId) +unsigned int rlLoadShaderProgramCompute(unsigned int csId) +void rlUnloadShader(unsigned int id) +void rlUnloadShaderProgram(unsigned int id) +int rlGetLocationUniform(unsigned int id, const char *uniformName) +int rlGetLocationAttrib(unsigned int id, const char *attribName) +void rlSetUniform(int locIndex, const void *value, int uniformType, int count) +void rlSetUniformMatrix(int locIndex, Matrix mat) +void rlSetUniformMatrices(int locIndex, const Matrix *mat, int count) +void rlSetUniformSampler(int locIndex, unsigned int textureId) +void rlSetShader(unsigned int id, int *locs) +void rlComputeShaderDispatch(unsigned int groupX, unsigned int groupY, unsigned int groupZ) +unsigned int rlLoadShaderBuffer(unsigned int size, const void *data, int usageHint) +void rlUnloadShaderBuffer(unsigned int ssboId) +void rlUpdateShaderBuffer(unsigned int id, const void *data, unsigned int dataSize, unsigned int offset) +void rlBindShaderBuffer(unsigned int id, unsigned int index) +void rlReadShaderBuffer(unsigned int id, void *dest, unsigned int count, unsigned int offset) +void rlCopyShaderBuffer(unsigned int destId, unsigned int srcId, unsigned int destOffset, unsigned int srcOffset, unsigned int count) +unsigned int rlGetShaderBufferSize(unsigned int id) +void rlBindImageTexture(unsigned int id, unsigned int index, int format, bool readonly) +Matrix rlGetMatrixModelview(void) +Matrix rlGetMatrixProjection(void) +Matrix rlGetMatrixTransform(void) +Matrix rlGetMatrixProjectionStereo(int eye) +Matrix rlGetMatrixViewOffsetStereo(int eye) +void rlSetMatrixProjection(Matrix proj) +void rlSetMatrixModelview(Matrix view) +void rlSetMatrixProjectionStereo(Matrix right, Matrix left) +void rlSetMatrixViewOffsetStereo(Matrix right, Matrix left) +void rlLoadDrawCube(void) +void rlLoadDrawQuad(void) From 302fe1e5e397ca61f9cb3056a6882388c6fb02dc Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Sat, 9 May 2026 23:11:22 +0100 Subject: [PATCH 2/3] Fix build with w64devkit --- makefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/makefile b/makefile index ca345d2..852c5b2 100644 --- a/makefile +++ b/makefile @@ -19,6 +19,7 @@ CFLAGS += -D$(GRAPHICS) -D$(PLATFORM) USE_WAYLAND_DISPLAY ?= FALSE USE_EXTERNAL_GLFW ?= FALSE +PLATFORM_SHELL ?= sh ifeq ($(OS),Windows_NT) LDFLAGS += -lopengl32 -lgdi32 -lwinmm -static @@ -53,9 +54,9 @@ all: raylua_s raylua_e raylua_r luajit raylib luajit: $(MAKE) -C luajit amalg \ CC=$(CC) BUILDMODE=static \ - HOST_MSYS=1 \ - HOST_LUA=host/minilua.exe \ - GIT_RELVER='[ -e ../.git ] && git show -s --format=%ct >luajit_relver.txt 2>/dev/null || cat ../.relver >luajit_relver.txt 2>/dev/null || :' \ + HOST_MSYS=mingw \ + HOST_LUA=./host/minilua.exe \ + MINILUA_DEP=host/minilua.exe \ MACOSX_DEPLOYMENT_TARGET=10.13 raylib: @@ -63,7 +64,8 @@ raylib: CC=$(CC) AR=$(AR) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \ USE_WAYLAND_DISPLAY="$(USE_WAYLAND_DISPLAY)" \ USE_EXTERNAL_GLFW="$(USE_EXTERNAL_GLFW)" \ - PLATFORM="$(PLATFORM)" GRAPHICS="$(GRAPHICS)" + PLATFORM="$(PLATFORM)" GRAPHICS="$(GRAPHICS)" \ + PLATFORM_SHELL="$(PLATFORM_SHELL)" raylua_s: src/raylua_s.o $(EXTERNAL_FILES) libraylua.a @@ -106,8 +108,8 @@ clean: rm -rf raylua_s raylua_e libraylua.a src/raylua_e.o src/raylua_s.o \ src/raylua.o src/raylua_self.o src/raylua_builder.o src/autogen/*.c \ src/lib/miniz.o src/res/icon.res - $(MAKE) -C luajit clean - $(MAKE) -C raylib/src clean + $(MAKE) -C luajit clean HOST_MSYS=mingw + $(MAKE) -C raylib/src clean PLATFORM_SHELL="$(PLATFORM_SHELL)" rm -f raylib/libraylib.a .PHONY: all src/autogen/bind.c src/autogen/boot.c raylua_s raylua_e luajit \ From eb76d522833068cd073d23391900661431566e89 Mon Sep 17 00:00:00 2001 From: Peter0x44 Date: Sat, 9 May 2026 23:34:44 +0100 Subject: [PATCH 3/3] Fix linux build (a crlf classic) --- tools/genbind.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/genbind.lua b/tools/genbind.lua index d83bc8e..f56093d 100644 --- a/tools/genbind.lua +++ b/tools/genbind.lua @@ -70,6 +70,7 @@ struct raylua_bind_entry raylua_entries[] = { for _,modname in ipairs(modules) do for line in io.lines("tools/" .. modname .. ".h") do + line = line:gsub("\r$", "") if line:sub(1, 2) ~= "//" then if line:sub(1, 1) == "#" then file:write(" " .. line .. "\n")