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..852c5b2 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 @@ -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,6 +54,9 @@ all: raylua_s raylua_e raylua_r luajit raylib luajit: $(MAKE) -C luajit amalg \ CC=$(CC) BUILDMODE=static \ + HOST_MSYS=mingw \ + HOST_LUA=./host/minilua.exe \ + MINILUA_DEP=host/minilua.exe \ MACOSX_DEPLOYMENT_TARGET=10.13 raylib: @@ -60,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 @@ -103,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 \ 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..f56093d 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", @@ -68,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") 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)