aboutsummaryrefslogtreecommitdiffstats
path: root/raylib/parser
diff options
context:
space:
mode:
Diffstat (limited to 'raylib/parser')
-rw-r--r--raylib/parser/LICENSE16
-rw-r--r--raylib/parser/Makefile28
-rw-r--r--raylib/parser/README.md63
-rw-r--r--raylib/parser/raylib_api.json10438
-rw-r--r--raylib/parser/raylib_api.lua7216
-rw-r--r--raylib/parser/raylib_api.txt3998
-rw-r--r--raylib/parser/raylib_api.xml2670
-rw-r--r--raylib/parser/raylib_parser.c1308
8 files changed, 25737 insertions, 0 deletions
diff --git a/raylib/parser/LICENSE b/raylib/parser/LICENSE
new file mode 100644
index 0000000..fac92d3
--- /dev/null
+++ b/raylib/parser/LICENSE
@@ -0,0 +1,16 @@
+Copyright (c) 2021-2022 Ramon Santamaria (@raysan5)
+
+This software is provided "as-is", without any express or implied warranty. In no event
+will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial
+applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim that you
+ wrote the original software. If you use this software in a product, an acknowledgment
+ in the product documentation would be appreciated but is not required.
+
+ 2. Altered source versions must be plainly marked as such, and must not be misrepresented
+ as being the original software.
+
+ 3. This notice may not be removed or altered from any source distribution.
diff --git a/raylib/parser/Makefile b/raylib/parser/Makefile
new file mode 100644
index 0000000..9446e28
--- /dev/null
+++ b/raylib/parser/Makefile
@@ -0,0 +1,28 @@
+EXTENSION?=txt
+FORMAT?=DEFAULT
+
+raylib_api:
+ cc raylib_parser.c -o raylib_parser
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.txt -f DEFAULT -d RLAPI
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.json -f JSON -d RLAPI
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.xml -f XML -d RLAPI
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.lua -f LUA -d RLAPI
+
+all:
+ cc raylib_parser.c -o raylib_parser
+ FORMAT=DEFAULT EXTENSION=txt $(MAKE) parse
+ FORMAT=JSON EXTENSION=json $(MAKE) parse
+ FORMAT=XML EXTENSION=xml $(MAKE) parse
+ FORMAT=LUA EXTENSION=lua $(MAKE) parse
+
+parse:
+ ./raylib_parser -i ../src/raylib.h -o raylib_api.$(EXTENSION) -f $(FORMAT) -d RLAPI
+ ./raylib_parser -i ../src/raymath.h -o raymath_api.$(EXTENSION) -f $(FORMAT) -d RMAPI
+ ./raylib_parser -i ../src/extras/easings.h -o easings_api.$(EXTENSION) -f $(FORMAT) -d EASEDEF
+ ./raylib_parser -i ../src/extras/physac.h -o physac_api.$(EXTENSION) -f $(FORMAT) -d PHYSACDEF
+ ./raylib_parser -i ../src/extras/raygui.h -o raygui_api.$(EXTENSION) -f $(FORMAT) -d RAYGUIAPI
+ ./raylib_parser -i ../src/extras/rmem.h -o rmem_api.$(EXTENSION) -f $(FORMAT) -d RMEMAPI
+ ./raylib_parser -i ../src/rlgl.h -o rlgl_api.$(EXTENSION) -f $(FORMAT) -d RLAPI
+
+clean:
+ rm -f raylib_parser *.json *.txt *.xml *.lua
diff --git a/raylib/parser/README.md b/raylib/parser/README.md
new file mode 100644
index 0000000..f8c0abe
--- /dev/null
+++ b/raylib/parser/README.md
@@ -0,0 +1,63 @@
+# raylib parser
+
+This parser scans [`raylib.h`](../src/raylib.h) to get information about `structs`, `enums` and `functions`.
+All data is separated into parts, usually as strings. The following types are used for data:
+
+ - `struct FunctionInfo`
+ - `struct StructInfo`
+ - `struct EnumInfo`
+
+Check `raylib_parser.c` for details about those structs.
+
+## Command Line Arguments
+
+The parser can take a few options...
+
+- `--help` Displays help information about the parser
+- `--json` Outputs the header information in JSON format
+
+## Constraints
+
+This parser is specifically designed to work with raylib.h, so, it has some constraints:
+
+ - Functions are expected as a single line with the following structure:
+```
+ <retType> <name>(<paramType[0]> <paramName[0]>, <paramType[1]> <paramName[1]>); <desc>
+```
+ Be careful with functions broken into several lines, it breaks the process!
+
+ - Structures are expected as several lines with the following form:
+```
+ <desc>
+ typedef struct <name> {
+ <fieldType[0]> <fieldName[0]>; <fieldDesc[0]>
+ <fieldType[1]> <fieldName[1]>; <fieldDesc[1]>
+ <fieldType[2]> <fieldName[2]>; <fieldDesc[2]>
+ } <name>;
+```
+ - Enums are expected as several lines with the following form:
+```
+ <desc>
+ typedef enum {
+ <valueName[0]> = <valueInteger[0]>, <valueDesc[0]>
+ <valueName[1]>,
+ <valueName[2]>, <valueDesc[2]>
+ <valueName[3]> <valueDesc[3]>
+ } <name>;
+```
+
+_NOTE: For enums, multiple options are supported:_
+
+ - If value is not provided, (<valueInteger[i -1]> + 1) is assigned
+ - Value description can be provided or not
+
+## Additional notes
+
+This parser _could_ work with other C header files if mentioned constraints are followed.
+
+This parser **does not require `<string.h>` library**, all data is parsed directly from char buffers.
+
+### LICENSE: zlib/libpng
+
+raylib-parser is licensed under an unmodified zlib/libpng license, which is an OSI-certified, BSD-like license that allows static linking with closed source software. Check [LICENSE](LICENSE) for further details.
+
diff --git a/raylib/parser/raylib_api.json b/raylib/parser/raylib_api.json
new file mode 100644
index 0000000..7cf8d8b
--- /dev/null
+++ b/raylib/parser/raylib_api.json
@@ -0,0 +1,10438 @@
+{
+ "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, m4, m8, m12",
+ "description": "Matrix first row (4 components)"
+ },
+ {
+ "type": "float",
+ "name": "m1, m5, m9, m13",
+ "description": "Matrix second row (4 components)"
+ },
+ {
+ "type": "float",
+ "name": "m2, m6, m10, m14",
+ "description": "Matrix third row (4 components)"
+ },
+ {
+ "type": "float",
+ "name": "m3, m7, m11, 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 apperture 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 second texture coordinates (useful for lightmaps) (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)"
+ },
+ {
+ "type": "float *",
+ "name": "boneWeights",
+ "description": "Vertex bone weight, up to 4 bones influence by vertex (skinning)"
+ },
+ {
+ "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",
+ "name": "params[4]",
+ "description": "Material generic parameters (if required)"
+ }
+ ]
+ },
+ {
+ "name": "Transform",
+ "description": "Transform, vectex 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",
+ "name": "name[32]",
+ "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"
+ }
+ ]
+ },
+ {
+ "name": "Ray",
+ "description": "Ray, ray for raycasting",
+ "fields": [
+ {
+ "type": "Vector3",
+ "name": "position",
+ "description": "Ray position (origin)"
+ },
+ {
+ "type": "Vector3",
+ "name": "direction",
+ "description": "Ray direction"
+ }
+ ]
+ },
+ {
+ "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 nearest hit"
+ },
+ {
+ "type": "Vector3",
+ "name": "point",
+ "description": "Point of 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": "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": "vScreenCenter",
+ "description": "Screen center 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",
+ "name": "lensDistortionValues[4]",
+ "description": "Lens distortion constant parameters"
+ },
+ {
+ "type": "float",
+ "name": "chromaAbCorrection[4]",
+ "description": "Chromatic aberration correction parameters"
+ }
+ ]
+ },
+ {
+ "name": "VrStereoConfig",
+ "description": "VrStereoConfig, VR stereo rendering configuration for simulator",
+ "fields": [
+ {
+ "type": "Matrix",
+ "name": "projection[2]",
+ "description": "VR projection matrices (per eye)"
+ },
+ {
+ "type": "Matrix",
+ "name": "viewOffset[2]",
+ "description": "VR view offset matrices (per eye)"
+ },
+ {
+ "type": "float",
+ "name": "leftLensCenter[2]",
+ "description": "VR left lens center"
+ },
+ {
+ "type": "float",
+ "name": "rightLensCenter[2]",
+ "description": "VR right lens center"
+ },
+ {
+ "type": "float",
+ "name": "leftScreenCenter[2]",
+ "description": "VR left screen center"
+ },
+ {
+ "type": "float",
+ "name": "rightScreenCenter[2]",
+ "description": "VR right screen center"
+ },
+ {
+ "type": "float",
+ "name": "scale[2]",
+ "description": "VR distortion scale"
+ },
+ {
+ "type": "float",
+ "name": "scaleIn[2]",
+ "description": "VR distortion scale in"
+ }
+ ]
+ }
+ ],
+ "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_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": 82,
+ "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 fordward (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 omni-directional 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: Square, Xbox: X)"
+ },
+ {
+ "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: Circle, Xbox: B)"
+ },
+ {
+ "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 (one), 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": "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_COMPRESSED_DXT1_RGB",
+ "value": 11,
+ "description": "4 bpp (no alpha)"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_DXT1_RGBA",
+ "value": 12,
+ "description": "4 bpp (1 bit alpha)"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_DXT3_RGBA",
+ "value": 13,
+ "description": "8 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
+ "value": 14,
+ "description": "8 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ETC1_RGB",
+ "value": 15,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ETC2_RGB",
+ "value": 16,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ "value": 17,
+ "description": "8 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_PVRT_RGB",
+ "value": 18,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
+ "value": 19,
+ "description": "4 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ "value": 20,
+ "description": "8 bpp"
+ },
+ {
+ "name": "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA",
+ "value": 21,
+ "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 an 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": "CUBEMAP_LAYOUT_PANORAMA",
+ "value": 5,
+ "description": "Layout is defined by a panorama image (equirectangular map)"
+ }
+ ]
+ },
+ {
+ "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_PREMUL",
+ "value": 5,
+ "description": "Blend premultiplied textures considering alpha"
+ },
+ {
+ "name": "BLEND_CUSTOM",
+ "value": 6,
+ "description": "Blend textures using custom src/dst factors (use rlSetBlendMode())"
+ }
+ ]
+ },
+ {
+ "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": "Custom camera"
+ },
+ {
+ "name": "CAMERA_FREE",
+ "value": 1,
+ "description": "Free camera"
+ },
+ {
+ "name": "CAMERA_ORBITAL",
+ "value": 2,
+ "description": "Orbital camera"
+ },
+ {
+ "name": "CAMERA_FIRST_PERSON",
+ "value": 3,
+ "description": "First person camera"
+ },
+ {
+ "name": "CAMERA_THIRD_PERSON",
+ "value": 4,
+ "description": "Third person camera"
+ }
+ ]
+ },
+ {
+ "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"
+ }
+ ]
+ }
+ ],
+ "defines": [
+ {
+ "name": "RAYLIB_H",
+ "type": "GUARD",
+ "value": "",
+ "description": ""
+ },
+ {
+ "name": "RAYLIB_VERSION",
+ "type": "STRING",
+ "value": "4.1-dev",
+ "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": "UNKNOWN",
+ "value": "(PI/180.0f)",
+ "description": ""
+ },
+ {
+ "name": "RAD2DEG",
+ "type": "UNKNOWN",
+ "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": ""
+ }
+ ],
+ "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": "WindowShouldClose",
+ "description": "Check if KEY_ESCAPE pressed or Close icon pressed",
+ "returnType": "bool"
+ },
+ {
+ "name": "CloseWindow",
+ "description": "Close window and unload OpenGL context",
+ "returnType": "void"
+ },
+ {
+ "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 (only PLATFORM_DESKTOP)",
+ "returnType": "bool"
+ },
+ {
+ "name": "IsWindowMinimized",
+ "description": "Check if window is currently minimized (only PLATFORM_DESKTOP)",
+ "returnType": "bool"
+ },
+ {
+ "name": "IsWindowMaximized",
+ "description": "Check if window is currently maximized (only PLATFORM_DESKTOP)",
+ "returnType": "bool"
+ },
+ {
+ "name": "IsWindowFocused",
+ "description": "Check if window is currently focused (only PLATFORM_DESKTOP)",
+ "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 (only PLATFORM_DESKTOP)",
+ "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 (only PLATFORM_DESKTOP)",
+ "returnType": "void"
+ },
+ {
+ "name": "MaximizeWindow",
+ "description": "Set window state: maximized, if resizable (only PLATFORM_DESKTOP)",
+ "returnType": "void"
+ },
+ {
+ "name": "MinimizeWindow",
+ "description": "Set window state: minimized, if resizable (only PLATFORM_DESKTOP)",
+ "returnType": "void"
+ },
+ {
+ "name": "RestoreWindow",
+ "description": "Set window state: not minimized/maximized (only PLATFORM_DESKTOP)",
+ "returnType": "void"
+ },
+ {
+ "name": "SetWindowIcon",
+ "description": "Set icon for window (only PLATFORM_DESKTOP)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Image",
+ "name": "image"
+ }
+ ]
+ },
+ {
+ "name": "SetWindowTitle",
+ "description": "Set title for window (only PLATFORM_DESKTOP)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "const char *",
+ "name": "title"
+ }
+ ]
+ },
+ {
+ "name": "SetWindowPosition",
+ "description": "Set window position on screen (only PLATFORM_DESKTOP)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "x"
+ },
+ {
+ "type": "int",
+ "name": "y"
+ }
+ ]
+ },
+ {
+ "name": "SetWindowMonitor",
+ "description": "Set monitor for the current window (fullscreen mode)",
+ "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": "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] (only PLATFORM_DESKTOP)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "float",
+ "name": "opacity"
+ }
+ ]
+ },
+ {
+ "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 connected monitor",
+ "returnType": "int"
+ },
+ {
+ "name": "GetMonitorPosition",
+ "description": "Get specified monitor position",
+ "returnType": "Vector2",
+ "params": [
+ {
+ "type": "int",
+ "name": "monitor"
+ }
+ ]
+ },
+ {
+ "name": "GetMonitorWidth",
+ "description": "Get specified monitor width (max available by monitor)",
+ "returnType": "int",
+ "params": [
+ {
+ "type": "int",
+ "name": "monitor"
+ }
+ ]
+ },
+ {
+ "name": "GetMonitorHeight",
+ "description": "Get specified monitor height (max available 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 primary 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": "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 milliseconds (halt program execution)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "float",
+ "name": "ms"
+ }
+ ]
+ },
+ {
+ "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": "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": "GetMouseRay",
+ "description": "Get a ray trace from mouse position",
+ "returnType": "Ray",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "mousePosition"
+ },
+ {
+ "type": "Camera",
+ "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": "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": "SetTargetFPS",
+ "description": "Set target FPS (maximum)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "fps"
+ }
+ ]
+ },
+ {
+ "name": "GetFPS",
+ "description": "Get current FPS",
+ "returnType": "int"
+ },
+ {
+ "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": "GetRandomValue",
+ "description": "Get a random value between min and max (both included)",
+ "returnType": "int",
+ "params": [
+ {
+ "type": "int",
+ "name": "min"
+ },
+ {
+ "type": "int",
+ "name": "max"
+ }
+ ]
+ },
+ {
+ "name": "SetRandomSeed",
+ "description": "Set the seed for the random number generator",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "unsigned int",
+ "name": "seed"
+ }
+ ]
+ },
+ {
+ "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": "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": "int",
+ "name": "size"
+ }
+ ]
+ },
+ {
+ "name": "MemRealloc",
+ "description": "Internal memory reallocator",
+ "returnType": "void *",
+ "params": [
+ {
+ "type": "void *",
+ "name": "ptr"
+ },
+ {
+ "type": "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": "unsigned int *",
+ "name": "bytesRead"
+ }
+ ]
+ },
+ {
+ "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": "unsigned int",
+ "name": "bytesToWrite"
+ }
+ ]
+ },
+ {
+ "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 if the running application (uses static string)",
+ "returnType": "const char *"
+ },
+ {
+ "name": "GetDirectoryFiles",
+ "description": "Get filenames in a directory path (memory should be freed)",
+ "returnType": "char **",
+ "params": [
+ {
+ "type": "const char *",
+ "name": "dirPath"
+ },
+ {
+ "type": "int *",
+ "name": "count"
+ }
+ ]
+ },
+ {
+ "name": "ClearDirectoryFiles",
+ "description": "Clear directory files paths buffers (free memory)",
+ "returnType": "void"
+ },
+ {
+ "name": "ChangeDirectory",
+ "description": "Change working directory, return true on success",
+ "returnType": "bool",
+ "params": [
+ {
+ "type": "const char *",
+ "name": "dir"
+ }
+ ]
+ },
+ {
+ "name": "IsFileDropped",
+ "description": "Check if a file has been dropped into window",
+ "returnType": "bool"
+ },
+ {
+ "name": "GetDroppedFiles",
+ "description": "Get dropped files names (memory should be freed)",
+ "returnType": "char **",
+ "params": [
+ {
+ "type": "int *",
+ "name": "count"
+ }
+ ]
+ },
+ {
+ "name": "ClearDroppedFiles",
+ "description": "Clear dropped files paths buffer (free memory)",
+ "returnType": "void"
+ },
+ {
+ "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)",
+ "returnType": "unsigned char *",
+ "params": [
+ {
+ "type": "const unsigned char *",
+ "name": "data"
+ },
+ {
+ "type": "int",
+ "name": "dataLength"
+ },
+ {
+ "type": "int *",
+ "name": "compDataLength"
+ }
+ ]
+ },
+ {
+ "name": "DecompressData",
+ "description": "Decompress data (DEFLATE algorithm)",
+ "returnType": "unsigned char *",
+ "params": [
+ {
+ "type": "const unsigned char *",
+ "name": "compData"
+ },
+ {
+ "type": "int",
+ "name": "compDataLength"
+ },
+ {
+ "type": "int *",
+ "name": "dataLength"
+ }
+ ]
+ },
+ {
+ "name": "EncodeDataBase64",
+ "description": "Encode data to Base64 string",
+ "returnType": "char *",
+ "params": [
+ {
+ "type": "const unsigned char *",
+ "name": "data"
+ },
+ {
+ "type": "int",
+ "name": "dataLength"
+ },
+ {
+ "type": "int *",
+ "name": "outputLength"
+ }
+ ]
+ },
+ {
+ "name": "DecodeDataBase64",
+ "description": "Decode Base64 string data",
+ "returnType": "unsigned char *",
+ "params": [
+ {
+ "type": "const unsigned char *",
+ "name": "data"
+ },
+ {
+ "type": "int *",
+ "name": "outputLength"
+ }
+ ]
+ },
+ {
+ "name": "SaveStorageValue",
+ "description": "Save integer value to storage file (to defined position), returns true on success",
+ "returnType": "bool",
+ "params": [
+ {
+ "type": "unsigned int",
+ "name": "position"
+ },
+ {
+ "type": "int",
+ "name": "value"
+ }
+ ]
+ },
+ {
+ "name": "LoadStorageValue",
+ "description": "Load integer value from storage file (from defined position)",
+ "returnType": "int",
+ "params": [
+ {
+ "type": "unsigned int",
+ "name": "position"
+ }
+ ]
+ },
+ {
+ "name": "OpenURL",
+ "description": "Open URL with default system browser (if available)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "const char *",
+ "name": "url"
+ }
+ ]
+ },
+ {
+ "name": "IsKeyPressed",
+ "description": "Check if a key has been pressed once",
+ "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": "SetExitKey",
+ "description": "Set a custom key to exit program (default is ESC)",
+ "returnType": "void",
+ "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": "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": "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 Y",
+ "returnType": "float"
+ },
+ {
+ "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": "int",
+ "name": "gesture"
+ }
+ ]
+ },
+ {
+ "name": "GetGestureDetected",
+ "description": "Get latest detected gesture",
+ "returnType": "int"
+ },
+ {
+ "name": "GetGestureHoldDuration",
+ "description": "Get gesture hold time in milliseconds",
+ "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": "SetCameraMode",
+ "description": "Set camera mode (multiple camera modes available)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Camera",
+ "name": "camera"
+ },
+ {
+ "type": "int",
+ "name": "mode"
+ }
+ ]
+ },
+ {
+ "name": "UpdateCamera",
+ "description": "Update camera position for selected mode",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Camera *",
+ "name": "camera"
+ }
+ ]
+ },
+ {
+ "name": "SetCameraPanControl",
+ "description": "Set camera pan key to combine with mouse movement (free camera)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "keyPan"
+ }
+ ]
+ },
+ {
+ "name": "SetCameraAltControl",
+ "description": "Set camera alt key to combine with mouse movement (free camera)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "keyAlt"
+ }
+ ]
+ },
+ {
+ "name": "SetCameraSmoothZoomControl",
+ "description": "Set camera smooth zoom key to combine with mouse (free camera)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "keySmoothZoom"
+ }
+ ]
+ },
+ {
+ "name": "SetCameraMoveControls",
+ "description": "Set camera move controls (1st person and 3rd person cameras)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "keyFront"
+ },
+ {
+ "type": "int",
+ "name": "keyBack"
+ },
+ {
+ "type": "int",
+ "name": "keyRight"
+ },
+ {
+ "type": "int",
+ "name": "keyLeft"
+ },
+ {
+ "type": "int",
+ "name": "keyUp"
+ },
+ {
+ "type": "int",
+ "name": "keyDown"
+ }
+ ]
+ },
+ {
+ "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": "DrawPixel",
+ "description": "Draw a pixel",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "int",
+ "name": "posX"
+ },
+ {
+ "type": "int",
+ "name": "posY"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawPixelV",
+ "description": "Draw a pixel (Vector version)",
+ "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 (Vector version)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "startPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endPos"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawLineEx",
+ "description": "Draw a line defining thickness",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "startPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endPos"
+ },
+ {
+ "type": "float",
+ "name": "thick"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawLineBezier",
+ "description": "Draw a line using cubic-bezier curves in-out",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "startPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endPos"
+ },
+ {
+ "type": "float",
+ "name": "thick"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawLineBezierQuad",
+ "description": "Draw line using quadratic bezier curves with a control point",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "startPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "controlPos"
+ },
+ {
+ "type": "float",
+ "name": "thick"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawLineBezierCubic",
+ "description": "Draw line using cubic bezier curves with 2 control points",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2",
+ "name": "startPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "startControlPos"
+ },
+ {
+ "type": "Vector2",
+ "name": "endControlPos"
+ },
+ {
+ "type": "float",
+ "name": "thick"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawLineStrip",
+ "description": "Draw lines sequence",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Vector2 *",
+ "name": "points"
+ },
+ {
+ "type": "int",
+ "name": "pointCount"
+ },
+ {
+ "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": "color1"
+ },
+ {
+ "type": "Color",
+ "name": "color2"
+ }
+ ]
+ },
+ {
+ "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": "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": "color1"
+ },
+ {
+ "type": "Color",
+ "name": "color2"
+ }
+ ]
+ },
+ {
+ "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": "color1"
+ },
+ {
+ "type": "Color",
+ "name": "color2"
+ }
+ ]
+ },
+ {
+ "name": "DrawRectangleGradientEx",
+ "description": "Draw a gradient-filled rectangle with custom vertex colors",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Rectangle",
+ "name": "rec"
+ },
+ {
+ "type": "Color",
+ "name": "col1"
+ },
+ {
+ "type": "Color",
+ "name": "col2"
+ },
+ {
+ "type": "Color",
+ "name": "col3"
+ },
+ {
+ "type": "Color",
+ "name": "col4"
+ }
+ ]
+ },
+ {
+ "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 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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "GenImageGradientV",
+ "description": "Generate image: vertical gradient",
+ "returnType": "Image",
+ "params": [
+ {
+ "type": "int",
+ "name": "width"
+ },
+ {
+ "type": "int",
+ "name": "height"
+ },
+ {
+ "type": "Color",
+ "name": "top"
+ },
+ {
+ "type": "Color",
+ "name": "bottom"
+ }
+ ]
+ },
+ {
+ "name": "GenImageGradientH",
+ "description": "Generate image: horizontal gradient",
+ "returnType": "Image",
+ "params": [
+ {
+ "type": "int",
+ "name": "width"
+ },
+ {
+ "type": "int",
+ "name": "height"
+ },
+ {
+ "type": "Color",
+ "name": "left"
+ },
+ {
+ "type": "Color",
+ "name": "right"
+ }
+ ]
+ },
+ {
+ "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": "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": "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": "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": "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": "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": "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": "ImageDrawCircle",
+ "description": "Draw 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 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": "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": "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": "UnloadTexture",
+ "description": "Unload texture from GPU memory (VRAM)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ }
+ ]
+ },
+ {
+ "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": "DrawTextureQuad",
+ "description": "Draw texture quad with tiling and offset parameters",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ },
+ {
+ "type": "Vector2",
+ "name": "tiling"
+ },
+ {
+ "type": "Vector2",
+ "name": "offset"
+ },
+ {
+ "type": "Rectangle",
+ "name": "quad"
+ },
+ {
+ "type": "Color",
+ "name": "tint"
+ }
+ ]
+ },
+ {
+ "name": "DrawTextureTiled",
+ "description": "Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ },
+ {
+ "type": "Rectangle",
+ "name": "source"
+ },
+ {
+ "type": "Rectangle",
+ "name": "dest"
+ },
+ {
+ "type": "Vector2",
+ "name": "origin"
+ },
+ {
+ "type": "float",
+ "name": "rotation"
+ },
+ {
+ "type": "float",
+ "name": "scale"
+ },
+ {
+ "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": "DrawTexturePoly",
+ "description": "Draw a textured polygon",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ },
+ {
+ "type": "Vector2",
+ "name": "center"
+ },
+ {
+ "type": "Vector2 *",
+ "name": "points"
+ },
+ {
+ "type": "Vector2 *",
+ "name": "texcoords"
+ },
+ {
+ "type": "int",
+ "name": "pointCount"
+ },
+ {
+ "type": "Color",
+ "name": "tint"
+ }
+ ]
+ },
+ {
+ "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",
+ "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": "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": "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 fontChars and 0 for glyphCount to load the default character set",
+ "returnType": "Font",
+ "params": [
+ {
+ "type": "const char *",
+ "name": "fileName"
+ },
+ {
+ "type": "int",
+ "name": "fontSize"
+ },
+ {
+ "type": "int *",
+ "name": "fontChars"
+ },
+ {
+ "type": "int",
+ "name": "glyphCount"
+ }
+ ]
+ },
+ {
+ "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": "fontChars"
+ },
+ {
+ "type": "int",
+ "name": "glyphCount"
+ }
+ ]
+ },
+ {
+ "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": "fontChars"
+ },
+ {
+ "type": "int",
+ "name": "glyphCount"
+ },
+ {
+ "type": "int",
+ "name": "type"
+ }
+ ]
+ },
+ {
+ "name": "GenImageFontAtlas",
+ "description": "Generate image font atlas using chars info",
+ "returnType": "Image",
+ "params": [
+ {
+ "type": "const GlyphInfo *",
+ "name": "chars"
+ },
+ {
+ "type": "Rectangle **",
+ "name": "recs"
+ },
+ {
+ "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": "chars"
+ },
+ {
+ "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": "count"
+ },
+ {
+ "type": "Vector2",
+ "name": "position"
+ },
+ {
+ "type": "float",
+ "name": "fontSize"
+ },
+ {
+ "type": "float",
+ "name": "spacing"
+ },
+ {
+ "type": "Color",
+ "name": "tint"
+ }
+ ]
+ },
+ {
+ "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": "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": "bytesProcessed"
+ }
+ ]
+ },
+ {
+ "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": "byteSize"
+ }
+ ]
+ },
+ {
+ "name": "TextCodepointsToUTF8",
+ "description": "Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)",
+ "returnType": "char *",
+ "params": [
+ {
+ "type": "const int *",
+ "name": "codepoints"
+ },
+ {
+ "type": "int",
+ "name": "length"
+ }
+ ]
+ },
+ {
+ "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": "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": "TextToInteger",
+ "description": "Get integer value from text (negative values not supported)",
+ "returnType": "int",
+ "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": "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": "DrawCubeTexture",
+ "description": "Draw cube textured",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ },
+ {
+ "type": "Vector3",
+ "name": "position"
+ },
+ {
+ "type": "float",
+ "name": "width"
+ },
+ {
+ "type": "float",
+ "name": "height"
+ },
+ {
+ "type": "float",
+ "name": "length"
+ },
+ {
+ "type": "Color",
+ "name": "color"
+ }
+ ]
+ },
+ {
+ "name": "DrawCubeTextureRec",
+ "description": "Draw cube with a region of a texture",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Texture2D",
+ "name": "texture"
+ },
+ {
+ "type": "Rectangle",
+ "name": "source"
+ },
+ {
+ "type": "Vector3",
+ "name": "position"
+ },
+ {
+ "type": "float",
+ "name": "width"
+ },
+ {
+ "type": "float",
+ "name": "height"
+ },
+ {
+ "type": "float",
+ "name": "length"
+ },
+ {
+ "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": "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": "UnloadModel",
+ "description": "Unload model (including meshes) from memory (RAM and/or VRAM)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Model",
+ "name": "model"
+ }
+ ]
+ },
+ {
+ "name": "UnloadModelKeepMeshes",
+ "description": "Unload model (but not 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": "size"
+ },
+ {
+ "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": "ExportMesh",
+ "description": "Export mesh data to file, returns true on success",
+ "returnType": "bool",
+ "params": [
+ {
+ "type": "Mesh",
+ "name": "mesh"
+ },
+ {
+ "type": "const char *",
+ "name": "fileName"
+ }
+ ]
+ },
+ {
+ "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": "GenMeshBinormals",
+ "description": "Compute mesh binormals",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Mesh *",
+ "name": "mesh"
+ }
+ ]
+ },
+ {
+ "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": "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": "unsigned int *",
+ "name": "animCount"
+ }
+ ]
+ },
+ {
+ "name": "UpdateModelAnimation",
+ "description": "Update model animation pose",
+ "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": "unsigned int",
+ "name": "count"
+ }
+ ]
+ },
+ {
+ "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": "GetRayCollisionModel",
+ "description": "Get collision info between ray and model",
+ "returnType": "RayCollision",
+ "params": [
+ {
+ "type": "Ray",
+ "name": "ray"
+ },
+ {
+ "type": "Model",
+ "name": "model"
+ }
+ ]
+ },
+ {
+ "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": "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": "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": "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": "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": "PlaySoundMulti",
+ "description": "Play a sound (using multichannel buffer pool)",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Sound",
+ "name": "sound"
+ }
+ ]
+ },
+ {
+ "name": "StopSoundMulti",
+ "description": "Stop any sound playing (using multichannel buffer pool)",
+ "returnType": "void"
+ },
+ {
+ "name": "GetSoundsPlaying",
+ "description": "Get number of sounds playing in the multichannel",
+ "returnType": "int"
+ },
+ {
+ "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 samples range",
+ "returnType": "void",
+ "params": [
+ {
+ "type": "Wave *",
+ "name": "wave"
+ },
+ {
+ "type": "int",
+ "name": "initSample"
+ },
+ {
+ "type": "int",
+ "name": "finalSample"
+ }
+ ]
+ },
+ {
+ "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": "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": "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"
+ }
+ ]
+ }
+ ]
+}
diff --git a/raylib/parser/raylib_api.lua b/raylib/parser/raylib_api.lua
new file mode 100644
index 0000000..509648a
--- /dev/null
+++ b/raylib/parser/raylib_api.lua
@@ -0,0 +1,7216 @@
+return {
+ 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, m4, m8, m12",
+ description = "Matrix first row (4 components)"
+ },
+ {
+ type = "float",
+ name = "m1, m5, m9, m13",
+ description = "Matrix second row (4 components)"
+ },
+ {
+ type = "float",
+ name = "m2, m6, m10, m14",
+ description = "Matrix third row (4 components)"
+ },
+ {
+ type = "float",
+ name = "m3, m7, m11, 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 apperture 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 second texture coordinates (useful for lightmaps) (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)"
+ },
+ {
+ type = "float *",
+ name = "boneWeights",
+ description = "Vertex bone weight, up to 4 bones influence by vertex (skinning)"
+ },
+ {
+ 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",
+ name = "params[4]",
+ description = "Material generic parameters (if required)"
+ }
+ }
+ },
+ {
+ name = "Transform",
+ description = "Transform, vectex 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",
+ name = "name[32]",
+ 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"
+ }
+ }
+ },
+ {
+ name = "Ray",
+ description = "Ray, ray for raycasting",
+ fields = {
+ {
+ type = "Vector3",
+ name = "position",
+ description = "Ray position (origin)"
+ },
+ {
+ type = "Vector3",
+ name = "direction",
+ description = "Ray direction"
+ }
+ }
+ },
+ {
+ 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 nearest hit"
+ },
+ {
+ type = "Vector3",
+ name = "point",
+ description = "Point of 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 = "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 = "vScreenCenter",
+ description = "Screen center 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",
+ name = "lensDistortionValues[4]",
+ description = "Lens distortion constant parameters"
+ },
+ {
+ type = "float",
+ name = "chromaAbCorrection[4]",
+ description = "Chromatic aberration correction parameters"
+ }
+ }
+ },
+ {
+ name = "VrStereoConfig",
+ description = "VrStereoConfig, VR stereo rendering configuration for simulator",
+ fields = {
+ {
+ type = "Matrix",
+ name = "projection[2]",
+ description = "VR projection matrices (per eye)"
+ },
+ {
+ type = "Matrix",
+ name = "viewOffset[2]",
+ description = "VR view offset matrices (per eye)"
+ },
+ {
+ type = "float",
+ name = "leftLensCenter[2]",
+ description = "VR left lens center"
+ },
+ {
+ type = "float",
+ name = "rightLensCenter[2]",
+ description = "VR right lens center"
+ },
+ {
+ type = "float",
+ name = "leftScreenCenter[2]",
+ description = "VR left screen center"
+ },
+ {
+ type = "float",
+ name = "rightScreenCenter[2]",
+ description = "VR right screen center"
+ },
+ {
+ type = "float",
+ name = "scale[2]",
+ description = "VR distortion scale"
+ },
+ {
+ type = "float",
+ name = "scaleIn[2]",
+ description = "VR distortion scale in"
+ }
+ }
+ }
+ },
+ 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_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 = 82,
+ 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 fordward (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 omni-directional 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: Square, Xbox: X)"
+ },
+ {
+ 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: Circle, Xbox: B)"
+ },
+ {
+ 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 (one), 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 = "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_COMPRESSED_DXT1_RGB",
+ value = 11,
+ description = "4 bpp (no alpha)"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_DXT1_RGBA",
+ value = 12,
+ description = "4 bpp (1 bit alpha)"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_DXT3_RGBA",
+ value = 13,
+ description = "8 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_DXT5_RGBA",
+ value = 14,
+ description = "8 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ETC1_RGB",
+ value = 15,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ETC2_RGB",
+ value = 16,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA",
+ value = 17,
+ description = "8 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_PVRT_RGB",
+ value = 18,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_PVRT_RGBA",
+ value = 19,
+ description = "4 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA",
+ value = 20,
+ description = "8 bpp"
+ },
+ {
+ name = "PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA",
+ value = 21,
+ 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 an 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 = "CUBEMAP_LAYOUT_PANORAMA",
+ value = 5,
+ description = "Layout is defined by a panorama image (equirectangular map)"
+ }
+ }
+ },
+ {
+ 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_PREMUL",
+ value = 5,
+ description = "Blend premultiplied textures considering alpha"
+ },
+ {
+ name = "BLEND_CUSTOM",
+ value = 6,
+ description = "Blend textures using custom src/dst factors (use rlSetBlendMode())"
+ }
+ }
+ },
+ {
+ 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 = "Custom camera"
+ },
+ {
+ name = "CAMERA_FREE",
+ value = 1,
+ description = "Free camera"
+ },
+ {
+ name = "CAMERA_ORBITAL",
+ value = 2,
+ description = "Orbital camera"
+ },
+ {
+ name = "CAMERA_FIRST_PERSON",
+ value = 3,
+ description = "First person camera"
+ },
+ {
+ name = "CAMERA_THIRD_PERSON",
+ value = 4,
+ description = "Third person camera"
+ }
+ }
+ },
+ {
+ 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"
+ }
+ }
+ }
+ },
+ defines = {
+ {
+ name = "RAYLIB_H",
+ type = "GUARD",
+ value = "",
+ description = ""
+ },
+ {
+ name = "RAYLIB_VERSION",
+ type = "STRING",
+ value = "4.1-dev",
+ 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 = "UNKNOWN",
+ value = "(PI/180.0f)",
+ description = ""
+ },
+ {
+ name = "RAD2DEG",
+ type = "UNKNOWN",
+ 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 = ""
+ }
+ },
+ 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 = "WindowShouldClose",
+ description = "Check if KEY_ESCAPE pressed or Close icon pressed",
+ returnType = "bool"
+ },
+ {
+ name = "CloseWindow",
+ description = "Close window and unload OpenGL context",
+ returnType = "void"
+ },
+ {
+ 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 (only PLATFORM_DESKTOP)",
+ returnType = "bool"
+ },
+ {
+ name = "IsWindowMinimized",
+ description = "Check if window is currently minimized (only PLATFORM_DESKTOP)",
+ returnType = "bool"
+ },
+ {
+ name = "IsWindowMaximized",
+ description = "Check if window is currently maximized (only PLATFORM_DESKTOP)",
+ returnType = "bool"
+ },
+ {
+ name = "IsWindowFocused",
+ description = "Check if window is currently focused (only PLATFORM_DESKTOP)",
+ 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 (only PLATFORM_DESKTOP)",
+ 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 (only PLATFORM_DESKTOP)",
+ returnType = "void"
+ },
+ {
+ name = "MaximizeWindow",
+ description = "Set window state: maximized, if resizable (only PLATFORM_DESKTOP)",
+ returnType = "void"
+ },
+ {
+ name = "MinimizeWindow",
+ description = "Set window state: minimized, if resizable (only PLATFORM_DESKTOP)",
+ returnType = "void"
+ },
+ {
+ name = "RestoreWindow",
+ description = "Set window state: not minimized/maximized (only PLATFORM_DESKTOP)",
+ returnType = "void"
+ },
+ {
+ name = "SetWindowIcon",
+ description = "Set icon for window (only PLATFORM_DESKTOP)",
+ returnType = "void",
+ params = {
+ {type = "Image", name = "image"}
+ }
+ },
+ {
+ name = "SetWindowTitle",
+ description = "Set title for window (only PLATFORM_DESKTOP)",
+ returnType = "void",
+ params = {
+ {type = "const char *", name = "title"}
+ }
+ },
+ {
+ name = "SetWindowPosition",
+ description = "Set window position on screen (only PLATFORM_DESKTOP)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "x"},
+ {type = "int", name = "y"}
+ }
+ },
+ {
+ name = "SetWindowMonitor",
+ description = "Set monitor for the current window (fullscreen mode)",
+ 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 = "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] (only PLATFORM_DESKTOP)",
+ returnType = "void",
+ params = {
+ {type = "float", name = "opacity"}
+ }
+ },
+ {
+ 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 connected monitor",
+ returnType = "int"
+ },
+ {
+ name = "GetMonitorPosition",
+ description = "Get specified monitor position",
+ returnType = "Vector2",
+ params = {
+ {type = "int", name = "monitor"}
+ }
+ },
+ {
+ name = "GetMonitorWidth",
+ description = "Get specified monitor width (max available by monitor)",
+ returnType = "int",
+ params = {
+ {type = "int", name = "monitor"}
+ }
+ },
+ {
+ name = "GetMonitorHeight",
+ description = "Get specified monitor height (max available 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 primary 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 = "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 milliseconds (halt program execution)",
+ returnType = "void",
+ params = {
+ {type = "float", name = "ms"}
+ }
+ },
+ {
+ 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 = "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 = "GetMouseRay",
+ description = "Get a ray trace from mouse position",
+ returnType = "Ray",
+ params = {
+ {type = "Vector2", name = "mousePosition"},
+ {type = "Camera", 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 = "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 = "SetTargetFPS",
+ description = "Set target FPS (maximum)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "fps"}
+ }
+ },
+ {
+ name = "GetFPS",
+ description = "Get current FPS",
+ returnType = "int"
+ },
+ {
+ 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 = "GetRandomValue",
+ description = "Get a random value between min and max (both included)",
+ returnType = "int",
+ params = {
+ {type = "int", name = "min"},
+ {type = "int", name = "max"}
+ }
+ },
+ {
+ name = "SetRandomSeed",
+ description = "Set the seed for the random number generator",
+ returnType = "void",
+ params = {
+ {type = "unsigned int", name = "seed"}
+ }
+ },
+ {
+ 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 = "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 = "int", name = "size"}
+ }
+ },
+ {
+ name = "MemRealloc",
+ description = "Internal memory reallocator",
+ returnType = "void *",
+ params = {
+ {type = "void *", name = "ptr"},
+ {type = "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 = "unsigned int *", name = "bytesRead"}
+ }
+ },
+ {
+ 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 = "unsigned int", name = "bytesToWrite"}
+ }
+ },
+ {
+ 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 if the running application (uses static string)",
+ returnType = "const char *"
+ },
+ {
+ name = "GetDirectoryFiles",
+ description = "Get filenames in a directory path (memory should be freed)",
+ returnType = "char **",
+ params = {
+ {type = "const char *", name = "dirPath"},
+ {type = "int *", name = "count"}
+ }
+ },
+ {
+ name = "ClearDirectoryFiles",
+ description = "Clear directory files paths buffers (free memory)",
+ returnType = "void"
+ },
+ {
+ name = "ChangeDirectory",
+ description = "Change working directory, return true on success",
+ returnType = "bool",
+ params = {
+ {type = "const char *", name = "dir"}
+ }
+ },
+ {
+ name = "IsFileDropped",
+ description = "Check if a file has been dropped into window",
+ returnType = "bool"
+ },
+ {
+ name = "GetDroppedFiles",
+ description = "Get dropped files names (memory should be freed)",
+ returnType = "char **",
+ params = {
+ {type = "int *", name = "count"}
+ }
+ },
+ {
+ name = "ClearDroppedFiles",
+ description = "Clear dropped files paths buffer (free memory)",
+ returnType = "void"
+ },
+ {
+ 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)",
+ returnType = "unsigned char *",
+ params = {
+ {type = "const unsigned char *", name = "data"},
+ {type = "int", name = "dataLength"},
+ {type = "int *", name = "compDataLength"}
+ }
+ },
+ {
+ name = "DecompressData",
+ description = "Decompress data (DEFLATE algorithm)",
+ returnType = "unsigned char *",
+ params = {
+ {type = "const unsigned char *", name = "compData"},
+ {type = "int", name = "compDataLength"},
+ {type = "int *", name = "dataLength"}
+ }
+ },
+ {
+ name = "EncodeDataBase64",
+ description = "Encode data to Base64 string",
+ returnType = "char *",
+ params = {
+ {type = "const unsigned char *", name = "data"},
+ {type = "int", name = "dataLength"},
+ {type = "int *", name = "outputLength"}
+ }
+ },
+ {
+ name = "DecodeDataBase64",
+ description = "Decode Base64 string data",
+ returnType = "unsigned char *",
+ params = {
+ {type = "const unsigned char *", name = "data"},
+ {type = "int *", name = "outputLength"}
+ }
+ },
+ {
+ name = "SaveStorageValue",
+ description = "Save integer value to storage file (to defined position), returns true on success",
+ returnType = "bool",
+ params = {
+ {type = "unsigned int", name = "position"},
+ {type = "int", name = "value"}
+ }
+ },
+ {
+ name = "LoadStorageValue",
+ description = "Load integer value from storage file (from defined position)",
+ returnType = "int",
+ params = {
+ {type = "unsigned int", name = "position"}
+ }
+ },
+ {
+ name = "OpenURL",
+ description = "Open URL with default system browser (if available)",
+ returnType = "void",
+ params = {
+ {type = "const char *", name = "url"}
+ }
+ },
+ {
+ name = "IsKeyPressed",
+ description = "Check if a key has been pressed once",
+ 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 = "SetExitKey",
+ description = "Set a custom key to exit program (default is ESC)",
+ returnType = "void",
+ 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 = "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 = "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 Y",
+ returnType = "float"
+ },
+ {
+ 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 = "int", name = "gesture"}
+ }
+ },
+ {
+ name = "GetGestureDetected",
+ description = "Get latest detected gesture",
+ returnType = "int"
+ },
+ {
+ name = "GetGestureHoldDuration",
+ description = "Get gesture hold time in milliseconds",
+ 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 = "SetCameraMode",
+ description = "Set camera mode (multiple camera modes available)",
+ returnType = "void",
+ params = {
+ {type = "Camera", name = "camera"},
+ {type = "int", name = "mode"}
+ }
+ },
+ {
+ name = "UpdateCamera",
+ description = "Update camera position for selected mode",
+ returnType = "void",
+ params = {
+ {type = "Camera *", name = "camera"}
+ }
+ },
+ {
+ name = "SetCameraPanControl",
+ description = "Set camera pan key to combine with mouse movement (free camera)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "keyPan"}
+ }
+ },
+ {
+ name = "SetCameraAltControl",
+ description = "Set camera alt key to combine with mouse movement (free camera)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "keyAlt"}
+ }
+ },
+ {
+ name = "SetCameraSmoothZoomControl",
+ description = "Set camera smooth zoom key to combine with mouse (free camera)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "keySmoothZoom"}
+ }
+ },
+ {
+ name = "SetCameraMoveControls",
+ description = "Set camera move controls (1st person and 3rd person cameras)",
+ returnType = "void",
+ params = {
+ {type = "int", name = "keyFront"},
+ {type = "int", name = "keyBack"},
+ {type = "int", name = "keyRight"},
+ {type = "int", name = "keyLeft"},
+ {type = "int", name = "keyUp"},
+ {type = "int", name = "keyDown"}
+ }
+ },
+ {
+ 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 = "DrawPixel",
+ description = "Draw a pixel",
+ returnType = "void",
+ params = {
+ {type = "int", name = "posX"},
+ {type = "int", name = "posY"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawPixelV",
+ description = "Draw a pixel (Vector version)",
+ 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 (Vector version)",
+ returnType = "void",
+ params = {
+ {type = "Vector2", name = "startPos"},
+ {type = "Vector2", name = "endPos"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawLineEx",
+ description = "Draw a line defining thickness",
+ returnType = "void",
+ params = {
+ {type = "Vector2", name = "startPos"},
+ {type = "Vector2", name = "endPos"},
+ {type = "float", name = "thick"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawLineBezier",
+ description = "Draw a line using cubic-bezier curves in-out",
+ returnType = "void",
+ params = {
+ {type = "Vector2", name = "startPos"},
+ {type = "Vector2", name = "endPos"},
+ {type = "float", name = "thick"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawLineBezierQuad",
+ description = "Draw line using quadratic bezier curves with a control point",
+ returnType = "void",
+ params = {
+ {type = "Vector2", name = "startPos"},
+ {type = "Vector2", name = "endPos"},
+ {type = "Vector2", name = "controlPos"},
+ {type = "float", name = "thick"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawLineBezierCubic",
+ description = "Draw line using cubic bezier curves with 2 control points",
+ returnType = "void",
+ params = {
+ {type = "Vector2", name = "startPos"},
+ {type = "Vector2", name = "endPos"},
+ {type = "Vector2", name = "startControlPos"},
+ {type = "Vector2", name = "endControlPos"},
+ {type = "float", name = "thick"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawLineStrip",
+ description = "Draw lines sequence",
+ returnType = "void",
+ params = {
+ {type = "Vector2 *", name = "points"},
+ {type = "int", name = "pointCount"},
+ {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 = "color1"},
+ {type = "Color", name = "color2"}
+ }
+ },
+ {
+ 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 = "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 = "color1"},
+ {type = "Color", name = "color2"}
+ }
+ },
+ {
+ 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 = "color1"},
+ {type = "Color", name = "color2"}
+ }
+ },
+ {
+ name = "DrawRectangleGradientEx",
+ description = "Draw a gradient-filled rectangle with custom vertex colors",
+ returnType = "void",
+ params = {
+ {type = "Rectangle", name = "rec"},
+ {type = "Color", name = "col1"},
+ {type = "Color", name = "col2"},
+ {type = "Color", name = "col3"},
+ {type = "Color", name = "col4"}
+ }
+ },
+ {
+ 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 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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "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 = "GenImageGradientV",
+ description = "Generate image: vertical gradient",
+ returnType = "Image",
+ params = {
+ {type = "int", name = "width"},
+ {type = "int", name = "height"},
+ {type = "Color", name = "top"},
+ {type = "Color", name = "bottom"}
+ }
+ },
+ {
+ name = "GenImageGradientH",
+ description = "Generate image: horizontal gradient",
+ returnType = "Image",
+ params = {
+ {type = "int", name = "width"},
+ {type = "int", name = "height"},
+ {type = "Color", name = "left"},
+ {type = "Color", name = "right"}
+ }
+ },
+ {
+ 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 = "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 = "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 = "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 = "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 = "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 = "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 = "ImageDrawCircle",
+ description = "Draw 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 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 = "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 = "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 = "UnloadTexture",
+ description = "Unload texture from GPU memory (VRAM)",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"}
+ }
+ },
+ {
+ 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 = "DrawTextureQuad",
+ description = "Draw texture quad with tiling and offset parameters",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"},
+ {type = "Vector2", name = "tiling"},
+ {type = "Vector2", name = "offset"},
+ {type = "Rectangle", name = "quad"},
+ {type = "Color", name = "tint"}
+ }
+ },
+ {
+ name = "DrawTextureTiled",
+ description = "Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"},
+ {type = "Rectangle", name = "source"},
+ {type = "Rectangle", name = "dest"},
+ {type = "Vector2", name = "origin"},
+ {type = "float", name = "rotation"},
+ {type = "float", name = "scale"},
+ {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 = "DrawTexturePoly",
+ description = "Draw a textured polygon",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"},
+ {type = "Vector2", name = "center"},
+ {type = "Vector2 *", name = "points"},
+ {type = "Vector2 *", name = "texcoords"},
+ {type = "int", name = "pointCount"},
+ {type = "Color", name = "tint"}
+ }
+ },
+ {
+ 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",
+ 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 = "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 = "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 fontChars and 0 for glyphCount to load the default character set",
+ returnType = "Font",
+ params = {
+ {type = "const char *", name = "fileName"},
+ {type = "int", name = "fontSize"},
+ {type = "int *", name = "fontChars"},
+ {type = "int", name = "glyphCount"}
+ }
+ },
+ {
+ 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 = "fontChars"},
+ {type = "int", name = "glyphCount"}
+ }
+ },
+ {
+ 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 = "fontChars"},
+ {type = "int", name = "glyphCount"},
+ {type = "int", name = "type"}
+ }
+ },
+ {
+ name = "GenImageFontAtlas",
+ description = "Generate image font atlas using chars info",
+ returnType = "Image",
+ params = {
+ {type = "const GlyphInfo *", name = "chars"},
+ {type = "Rectangle **", name = "recs"},
+ {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 = "chars"},
+ {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 = "count"},
+ {type = "Vector2", name = "position"},
+ {type = "float", name = "fontSize"},
+ {type = "float", name = "spacing"},
+ {type = "Color", name = "tint"}
+ }
+ },
+ {
+ 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 = "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 = "bytesProcessed"}
+ }
+ },
+ {
+ 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 = "byteSize"}
+ }
+ },
+ {
+ name = "TextCodepointsToUTF8",
+ description = "Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)",
+ returnType = "char *",
+ params = {
+ {type = "const int *", name = "codepoints"},
+ {type = "int", name = "length"}
+ }
+ },
+ {
+ 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 = "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 = "TextToInteger",
+ description = "Get integer value from text (negative values not supported)",
+ returnType = "int",
+ 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 = "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 = "DrawCubeTexture",
+ description = "Draw cube textured",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"},
+ {type = "Vector3", name = "position"},
+ {type = "float", name = "width"},
+ {type = "float", name = "height"},
+ {type = "float", name = "length"},
+ {type = "Color", name = "color"}
+ }
+ },
+ {
+ name = "DrawCubeTextureRec",
+ description = "Draw cube with a region of a texture",
+ returnType = "void",
+ params = {
+ {type = "Texture2D", name = "texture"},
+ {type = "Rectangle", name = "source"},
+ {type = "Vector3", name = "position"},
+ {type = "float", name = "width"},
+ {type = "float", name = "height"},
+ {type = "float", name = "length"},
+ {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 = "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 = "UnloadModel",
+ description = "Unload model (including meshes) from memory (RAM and/or VRAM)",
+ returnType = "void",
+ params = {
+ {type = "Model", name = "model"}
+ }
+ },
+ {
+ name = "UnloadModelKeepMeshes",
+ description = "Unload model (but not 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 = "size"},
+ {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 = "ExportMesh",
+ description = "Export mesh data to file, returns true on success",
+ returnType = "bool",
+ params = {
+ {type = "Mesh", name = "mesh"},
+ {type = "const char *", name = "fileName"}
+ }
+ },
+ {
+ 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 = "GenMeshBinormals",
+ description = "Compute mesh binormals",
+ returnType = "void",
+ params = {
+ {type = "Mesh *", name = "mesh"}
+ }
+ },
+ {
+ 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 = "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 = "unsigned int *", name = "animCount"}
+ }
+ },
+ {
+ name = "UpdateModelAnimation",
+ description = "Update model animation pose",
+ 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 = "unsigned int", name = "count"}
+ }
+ },
+ {
+ 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 = "GetRayCollisionModel",
+ description = "Get collision info between ray and model",
+ returnType = "RayCollision",
+ params = {
+ {type = "Ray", name = "ray"},
+ {type = "Model", name = "model"}
+ }
+ },
+ {
+ 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 = "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 = "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 = "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 = "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 = "PlaySoundMulti",
+ description = "Play a sound (using multichannel buffer pool)",
+ returnType = "void",
+ params = {
+ {type = "Sound", name = "sound"}
+ }
+ },
+ {
+ name = "StopSoundMulti",
+ description = "Stop any sound playing (using multichannel buffer pool)",
+ returnType = "void"
+ },
+ {
+ name = "GetSoundsPlaying",
+ description = "Get number of sounds playing in the multichannel",
+ returnType = "int"
+ },
+ {
+ 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 samples range",
+ returnType = "void",
+ params = {
+ {type = "Wave *", name = "wave"},
+ {type = "int", name = "initSample"},
+ {type = "int", name = "finalSample"}
+ }
+ },
+ {
+ 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 = "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 = "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"}
+ }
+ }
+ }
+}
diff --git a/raylib/parser/raylib_api.txt b/raylib/parser/raylib_api.txt
new file mode 100644
index 0000000..8df8f31
--- /dev/null
+++ b/raylib/parser/raylib_api.txt
@@ -0,0 +1,3998 @@
+
+Structures found: 31
+
+Struct 01: Vector2 (2 fields)
+ Name: Vector2
+ Description: Vector2, 2 components
+ Field[1]: float x // Vector x component
+ Field[2]: float y // Vector y component
+Struct 02: Vector3 (3 fields)
+ Name: Vector3
+ Description: Vector3, 3 components
+ Field[1]: float x // Vector x component
+ Field[2]: float y // Vector y component
+ Field[3]: float z // Vector z component
+Struct 03: Vector4 (4 fields)
+ Name: Vector4
+ Description: Vector4, 4 components
+ Field[1]: float x // Vector x component
+ Field[2]: float y // Vector y component
+ Field[3]: float z // Vector z component
+ Field[4]: float w // Vector w component
+Struct 04: Matrix (4 fields)
+ Name: Matrix
+ Description: Matrix, 4x4 components, column major, OpenGL style, right handed
+ Field[1]: float m0, m4, m8, m12 // Matrix first row (4 components)
+ Field[2]: float m1, m5, m9, m13 // Matrix second row (4 components)
+ Field[3]: float m2, m6, m10, m14 // Matrix third row (4 components)
+ Field[4]: float m3, m7, m11, m15 // Matrix fourth row (4 components)
+Struct 05: Color (4 fields)
+ Name: Color
+ Description: Color, 4 components, R8G8B8A8 (32bit)
+ Field[1]: unsigned char r // Color red value
+ Field[2]: unsigned char g // Color green value
+ Field[3]: unsigned char b // Color blue value
+ Field[4]: unsigned char a // Color alpha value
+Struct 06: Rectangle (4 fields)
+ Name: Rectangle
+ Description: Rectangle, 4 components
+ Field[1]: float x // Rectangle top-left corner position x
+ Field[2]: float y // Rectangle top-left corner position y
+ Field[3]: float width // Rectangle width
+ Field[4]: float height // Rectangle height
+Struct 07: Image (5 fields)
+ Name: Image
+ Description: Image, pixel data stored in CPU memory (RAM)
+ Field[1]: void * data // Image raw data
+ Field[2]: int width // Image base width
+ Field[3]: int height // Image base height
+ Field[4]: int mipmaps // Mipmap levels, 1 by default
+ Field[5]: int format // Data format (PixelFormat type)
+Struct 08: Texture (5 fields)
+ Name: Texture
+ Description: Texture, tex data stored in GPU memory (VRAM)
+ Field[1]: unsigned int id // OpenGL texture id
+ Field[2]: int width // Texture base width
+ Field[3]: int height // Texture base height
+ Field[4]: int mipmaps // Mipmap levels, 1 by default
+ Field[5]: int format // Data format (PixelFormat type)
+Struct 09: RenderTexture (3 fields)
+ Name: RenderTexture
+ Description: RenderTexture, fbo for texture rendering
+ Field[1]: unsigned int id // OpenGL framebuffer object id
+ Field[2]: Texture texture // Color buffer attachment texture
+ Field[3]: Texture depth // Depth buffer attachment texture
+Struct 10: NPatchInfo (6 fields)
+ Name: NPatchInfo
+ Description: NPatchInfo, n-patch layout info
+ Field[1]: Rectangle source // Texture source rectangle
+ Field[2]: int left // Left border offset
+ Field[3]: int top // Top border offset
+ Field[4]: int right // Right border offset
+ Field[5]: int bottom // Bottom border offset
+ Field[6]: int layout // Layout of the n-patch: 3x3, 1x3 or 3x1
+Struct 11: GlyphInfo (5 fields)
+ Name: GlyphInfo
+ Description: GlyphInfo, font characters glyphs info
+ Field[1]: int value // Character value (Unicode)
+ Field[2]: int offsetX // Character offset X when drawing
+ Field[3]: int offsetY // Character offset Y when drawing
+ Field[4]: int advanceX // Character advance position X
+ Field[5]: Image image // Character image data
+Struct 12: Font (6 fields)
+ Name: Font
+ Description: Font, font texture and GlyphInfo array data
+ Field[1]: int baseSize // Base size (default chars height)
+ Field[2]: int glyphCount // Number of glyph characters
+ Field[3]: int glyphPadding // Padding around the glyph characters
+ Field[4]: Texture2D texture // Texture atlas containing the glyphs
+ Field[5]: Rectangle * recs // Rectangles in texture for the glyphs
+ Field[6]: GlyphInfo * glyphs // Glyphs info data
+Struct 13: Camera3D (5 fields)
+ Name: Camera3D
+ Description: Camera, defines position/orientation in 3d space
+ Field[1]: Vector3 position // Camera position
+ Field[2]: Vector3 target // Camera target it looks-at
+ Field[3]: Vector3 up // Camera up vector (rotation over its axis)
+ Field[4]: float fovy // Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic
+ Field[5]: int projection // Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC
+Struct 14: Camera2D (4 fields)
+ Name: Camera2D
+ Description: Camera2D, defines position/orientation in 2d space
+ Field[1]: Vector2 offset // Camera offset (displacement from target)
+ Field[2]: Vector2 target // Camera target (rotation and zoom origin)
+ Field[3]: float rotation // Camera rotation in degrees
+ Field[4]: float zoom // Camera zoom (scaling), should be 1.0f by default
+Struct 15: Mesh (15 fields)
+ Name: Mesh
+ Description: Mesh, vertex data and vao/vbo
+ Field[1]: int vertexCount // Number of vertices stored in arrays
+ Field[2]: int triangleCount // Number of triangles stored (indexed or not)
+ Field[3]: float * vertices // Vertex position (XYZ - 3 components per vertex) (shader-location = 0)
+ Field[4]: float * texcoords // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)
+ Field[5]: float * texcoords2 // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5)
+ Field[6]: float * normals // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)
+ Field[7]: float * tangents // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)
+ Field[8]: unsigned char * colors // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)
+ Field[9]: unsigned short * indices // Vertex indices (in case vertex data comes indexed)
+ Field[10]: float * animVertices // Animated vertex positions (after bones transformations)
+ Field[11]: float * animNormals // Animated normals (after bones transformations)
+ Field[12]: unsigned char * boneIds // Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)
+ Field[13]: float * boneWeights // Vertex bone weight, up to 4 bones influence by vertex (skinning)
+ Field[14]: unsigned int vaoId // OpenGL Vertex Array Object id
+ Field[15]: unsigned int * vboId // OpenGL Vertex Buffer Objects id (default vertex data)
+Struct 16: Shader (2 fields)
+ Name: Shader
+ Description: Shader
+ Field[1]: unsigned int id // Shader program id
+ Field[2]: int * locs // Shader locations array (RL_MAX_SHADER_LOCATIONS)
+Struct 17: MaterialMap (3 fields)
+ Name: MaterialMap
+ Description: MaterialMap
+ Field[1]: Texture2D texture // Material map texture
+ Field[2]: Color color // Material map color
+ Field[3]: float value // Material map value
+Struct 18: Material (3 fields)
+ Name: Material
+ Description: Material, includes shader and maps
+ Field[1]: Shader shader // Material shader
+ Field[2]: MaterialMap * maps // Material maps array (MAX_MATERIAL_MAPS)
+ Field[3]: float params[4] // Material generic parameters (if required)
+Struct 19: Transform (3 fields)
+ Name: Transform
+ Description: Transform, vectex transformation data
+ Field[1]: Vector3 translation // Translation
+ Field[2]: Quaternion rotation // Rotation
+ Field[3]: Vector3 scale // Scale
+Struct 20: BoneInfo (2 fields)
+ Name: BoneInfo
+ Description: Bone, skeletal animation bone
+ Field[1]: char name[32] // Bone name
+ Field[2]: int parent // Bone parent
+Struct 21: Model (9 fields)
+ Name: Model
+ Description: Model, meshes, materials and animation data
+ Field[1]: Matrix transform // Local transform matrix
+ Field[2]: int meshCount // Number of meshes
+ Field[3]: int materialCount // Number of materials
+ Field[4]: Mesh * meshes // Meshes array
+ Field[5]: Material * materials // Materials array
+ Field[6]: int * meshMaterial // Mesh material number
+ Field[7]: int boneCount // Number of bones
+ Field[8]: BoneInfo * bones // Bones information (skeleton)
+ Field[9]: Transform * bindPose // Bones base transformation (pose)
+Struct 22: ModelAnimation (4 fields)
+ Name: ModelAnimation
+ Description: ModelAnimation
+ Field[1]: int boneCount // Number of bones
+ Field[2]: int frameCount // Number of animation frames
+ Field[3]: BoneInfo * bones // Bones information (skeleton)
+ Field[4]: Transform ** framePoses // Poses array by frame
+Struct 23: Ray (2 fields)
+ Name: Ray
+ Description: Ray, ray for raycasting
+ Field[1]: Vector3 position // Ray position (origin)
+ Field[2]: Vector3 direction // Ray direction
+Struct 24: RayCollision (4 fields)
+ Name: RayCollision
+ Description: RayCollision, ray hit information
+ Field[1]: bool hit // Did the ray hit something?
+ Field[2]: float distance // Distance to nearest hit
+ Field[3]: Vector3 point // Point of nearest hit
+ Field[4]: Vector3 normal // Surface normal of hit
+Struct 25: BoundingBox (2 fields)
+ Name: BoundingBox
+ Description: BoundingBox
+ Field[1]: Vector3 min // Minimum vertex box-corner
+ Field[2]: Vector3 max // Maximum vertex box-corner
+Struct 26: Wave (5 fields)
+ Name: Wave
+ Description: Wave, audio wave data
+ Field[1]: unsigned int frameCount // Total number of frames (considering channels)
+ Field[2]: unsigned int sampleRate // Frequency (samples per second)
+ Field[3]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported)
+ Field[4]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...)
+ Field[5]: void * data // Buffer data pointer
+Struct 27: AudioStream (4 fields)
+ Name: AudioStream
+ Description: AudioStream, custom audio stream
+ Field[1]: rAudioBuffer * buffer // Pointer to internal data used by the audio system
+ Field[2]: unsigned int sampleRate // Frequency (samples per second)
+ Field[3]: unsigned int sampleSize // Bit depth (bits per sample): 8, 16, 32 (24 not supported)
+ Field[4]: unsigned int channels // Number of channels (1-mono, 2-stereo, ...)
+Struct 28: Sound (2 fields)
+ Name: Sound
+ Description: Sound
+ Field[1]: AudioStream stream // Audio stream
+ Field[2]: unsigned int frameCount // Total number of frames (considering channels)
+Struct 29: Music (5 fields)
+ Name: Music
+ Description: Music, audio stream, anything longer than ~10 seconds should be streamed
+ Field[1]: AudioStream stream // Audio stream
+ Field[2]: unsigned int frameCount // Total number of frames (considering channels)
+ Field[3]: bool looping // Music looping enable
+ Field[4]: int ctxType // Type of music context (audio filetype)
+ Field[5]: void * ctxData // Audio context data, depends on type
+Struct 30: VrDeviceInfo (10 fields)
+ Name: VrDeviceInfo
+ Description: VrDeviceInfo, Head-Mounted-Display device parameters
+ Field[1]: int hResolution // Horizontal resolution in pixels
+ Field[2]: int vResolution // Vertical resolution in pixels
+ Field[3]: float hScreenSize // Horizontal size in meters
+ Field[4]: float vScreenSize // Vertical size in meters
+ Field[5]: float vScreenCenter // Screen center in meters
+ Field[6]: float eyeToScreenDistance // Distance between eye and display in meters
+ Field[7]: float lensSeparationDistance // Lens separation distance in meters
+ Field[8]: float interpupillaryDistance // IPD (distance between pupils) in meters
+ Field[9]: float lensDistortionValues[4] // Lens distortion constant parameters
+ Field[10]: float chromaAbCorrection[4] // Chromatic aberration correction parameters
+Struct 31: VrStereoConfig (8 fields)
+ Name: VrStereoConfig
+ Description: VrStereoConfig, VR stereo rendering configuration for simulator
+ Field[1]: Matrix projection[2] // VR projection matrices (per eye)
+ Field[2]: Matrix viewOffset[2] // VR view offset matrices (per eye)
+ Field[3]: float leftLensCenter[2] // VR left lens center
+ Field[4]: float rightLensCenter[2] // VR right lens center
+ Field[5]: float leftScreenCenter[2] // VR left screen center
+ Field[6]: float rightScreenCenter[2] // VR right screen center
+ Field[7]: float scale[2] // VR distortion scale
+ Field[8]: float scaleIn[2] // VR distortion scale in
+
+Enums found: 21
+
+Enum 01: ConfigFlags (14 values)
+ Name: ConfigFlags
+ Description: System/Window config flags
+ Value[FLAG_VSYNC_HINT]: 64
+ Value[FLAG_FULLSCREEN_MODE]: 2
+ Value[FLAG_WINDOW_RESIZABLE]: 4
+ Value[FLAG_WINDOW_UNDECORATED]: 8
+ Value[FLAG_WINDOW_HIDDEN]: 128
+ Value[FLAG_WINDOW_MINIMIZED]: 512
+ Value[FLAG_WINDOW_MAXIMIZED]: 1024
+ Value[FLAG_WINDOW_UNFOCUSED]: 2048
+ Value[FLAG_WINDOW_TOPMOST]: 4096
+ Value[FLAG_WINDOW_ALWAYS_RUN]: 256
+ Value[FLAG_WINDOW_TRANSPARENT]: 16
+ Value[FLAG_WINDOW_HIGHDPI]: 8192
+ Value[FLAG_MSAA_4X_HINT]: 32
+ Value[FLAG_INTERLACED_HINT]: 65536
+Enum 02: TraceLogLevel (8 values)
+ Name: TraceLogLevel
+ Description: Trace log level
+ Value[LOG_ALL]: 0
+ Value[LOG_TRACE]: 1
+ Value[LOG_DEBUG]: 2
+ Value[LOG_INFO]: 3
+ Value[LOG_WARNING]: 4
+ Value[LOG_ERROR]: 5
+ Value[LOG_FATAL]: 6
+ Value[LOG_NONE]: 7
+Enum 03: KeyboardKey (110 values)
+ Name: KeyboardKey
+ Description: Keyboard keys (US keyboard layout)
+ Value[KEY_NULL]: 0
+ Value[KEY_APOSTROPHE]: 39
+ Value[KEY_COMMA]: 44
+ Value[KEY_MINUS]: 45
+ Value[KEY_PERIOD]: 46
+ Value[KEY_SLASH]: 47
+ Value[KEY_ZERO]: 48
+ Value[KEY_ONE]: 49
+ Value[KEY_TWO]: 50
+ Value[KEY_THREE]: 51
+ Value[KEY_FOUR]: 52
+ Value[KEY_FIVE]: 53
+ Value[KEY_SIX]: 54
+ Value[KEY_SEVEN]: 55
+ Value[KEY_EIGHT]: 56
+ Value[KEY_NINE]: 57
+ Value[KEY_SEMICOLON]: 59
+ Value[KEY_EQUAL]: 61
+ Value[KEY_A]: 65
+ Value[KEY_B]: 66
+ Value[KEY_C]: 67
+ Value[KEY_D]: 68
+ Value[KEY_E]: 69
+ Value[KEY_F]: 70
+ Value[KEY_G]: 71
+ Value[KEY_H]: 72
+ Value[KEY_I]: 73
+ Value[KEY_J]: 74
+ Value[KEY_K]: 75
+ Value[KEY_L]: 76
+ Value[KEY_M]: 77
+ Value[KEY_N]: 78
+ Value[KEY_O]: 79
+ Value[KEY_P]: 80
+ Value[KEY_Q]: 81
+ Value[KEY_R]: 82
+ Value[KEY_S]: 83
+ Value[KEY_T]: 84
+ Value[KEY_U]: 85
+ Value[KEY_V]: 86
+ Value[KEY_W]: 87
+ Value[KEY_X]: 88
+ Value[KEY_Y]: 89
+ Value[KEY_Z]: 90
+ Value[KEY_LEFT_BRACKET]: 91
+ Value[KEY_BACKSLASH]: 92
+ Value[KEY_RIGHT_BRACKET]: 93
+ Value[KEY_GRAVE]: 96
+ Value[KEY_SPACE]: 32
+ Value[KEY_ESCAPE]: 256
+ Value[KEY_ENTER]: 257
+ Value[KEY_TAB]: 258
+ Value[KEY_BACKSPACE]: 259
+ Value[KEY_INSERT]: 260
+ Value[KEY_DELETE]: 261
+ Value[KEY_RIGHT]: 262
+ Value[KEY_LEFT]: 263
+ Value[KEY_DOWN]: 264
+ Value[KEY_UP]: 265
+ Value[KEY_PAGE_UP]: 266
+ Value[KEY_PAGE_DOWN]: 267
+ Value[KEY_HOME]: 268
+ Value[KEY_END]: 269
+ Value[KEY_CAPS_LOCK]: 280
+ Value[KEY_SCROLL_LOCK]: 281
+ Value[KEY_NUM_LOCK]: 282
+ Value[KEY_PRINT_SCREEN]: 283
+ Value[KEY_PAUSE]: 284
+ Value[KEY_F1]: 290
+ Value[KEY_F2]: 291
+ Value[KEY_F3]: 292
+ Value[KEY_F4]: 293
+ Value[KEY_F5]: 294
+ Value[KEY_F6]: 295
+ Value[KEY_F7]: 296
+ Value[KEY_F8]: 297
+ Value[KEY_F9]: 298
+ Value[KEY_F10]: 299
+ Value[KEY_F11]: 300
+ Value[KEY_F12]: 301
+ Value[KEY_LEFT_SHIFT]: 340
+ Value[KEY_LEFT_CONTROL]: 341
+ Value[KEY_LEFT_ALT]: 342
+ Value[KEY_LEFT_SUPER]: 343
+ Value[KEY_RIGHT_SHIFT]: 344
+ Value[KEY_RIGHT_CONTROL]: 345
+ Value[KEY_RIGHT_ALT]: 346
+ Value[KEY_RIGHT_SUPER]: 347
+ Value[KEY_KB_MENU]: 348
+ Value[KEY_KP_0]: 320
+ Value[KEY_KP_1]: 321
+ Value[KEY_KP_2]: 322
+ Value[KEY_KP_3]: 323
+ Value[KEY_KP_4]: 324
+ Value[KEY_KP_5]: 325
+ Value[KEY_KP_6]: 326
+ Value[KEY_KP_7]: 327
+ Value[KEY_KP_8]: 328
+ Value[KEY_KP_9]: 329
+ Value[KEY_KP_DECIMAL]: 330
+ Value[KEY_KP_DIVIDE]: 331
+ Value[KEY_KP_MULTIPLY]: 332
+ Value[KEY_KP_SUBTRACT]: 333
+ Value[KEY_KP_ADD]: 334
+ Value[KEY_KP_ENTER]: 335
+ Value[KEY_KP_EQUAL]: 336
+ Value[KEY_BACK]: 4
+ Value[KEY_MENU]: 82
+ Value[KEY_VOLUME_UP]: 24
+ Value[KEY_VOLUME_DOWN]: 25
+Enum 04: MouseButton (7 values)
+ Name: MouseButton
+ Description: Mouse buttons
+ Value[MOUSE_BUTTON_LEFT]: 0
+ Value[MOUSE_BUTTON_RIGHT]: 1
+ Value[MOUSE_BUTTON_MIDDLE]: 2
+ Value[MOUSE_BUTTON_SIDE]: 3
+ Value[MOUSE_BUTTON_EXTRA]: 4
+ Value[MOUSE_BUTTON_FORWARD]: 5
+ Value[MOUSE_BUTTON_BACK]: 6
+Enum 05: MouseCursor (11 values)
+ Name: MouseCursor
+ Description: Mouse cursor
+ Value[MOUSE_CURSOR_DEFAULT]: 0
+ Value[MOUSE_CURSOR_ARROW]: 1
+ Value[MOUSE_CURSOR_IBEAM]: 2
+ Value[MOUSE_CURSOR_CROSSHAIR]: 3
+ Value[MOUSE_CURSOR_POINTING_HAND]: 4
+ Value[MOUSE_CURSOR_RESIZE_EW]: 5
+ Value[MOUSE_CURSOR_RESIZE_NS]: 6
+ Value[MOUSE_CURSOR_RESIZE_NWSE]: 7
+ Value[MOUSE_CURSOR_RESIZE_NESW]: 8
+ Value[MOUSE_CURSOR_RESIZE_ALL]: 9
+ Value[MOUSE_CURSOR_NOT_ALLOWED]: 10
+Enum 06: GamepadButton (18 values)
+ Name: GamepadButton
+ Description: Gamepad buttons
+ Value[GAMEPAD_BUTTON_UNKNOWN]: 0
+ Value[GAMEPAD_BUTTON_LEFT_FACE_UP]: 1
+ Value[GAMEPAD_BUTTON_LEFT_FACE_RIGHT]: 2
+ Value[GAMEPAD_BUTTON_LEFT_FACE_DOWN]: 3
+ Value[GAMEPAD_BUTTON_LEFT_FACE_LEFT]: 4
+ Value[GAMEPAD_BUTTON_RIGHT_FACE_UP]: 5
+ Value[GAMEPAD_BUTTON_RIGHT_FACE_RIGHT]: 6
+ Value[GAMEPAD_BUTTON_RIGHT_FACE_DOWN]: 7
+ Value[GAMEPAD_BUTTON_RIGHT_FACE_LEFT]: 8
+ Value[GAMEPAD_BUTTON_LEFT_TRIGGER_1]: 9
+ Value[GAMEPAD_BUTTON_LEFT_TRIGGER_2]: 10
+ Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_1]: 11
+ Value[GAMEPAD_BUTTON_RIGHT_TRIGGER_2]: 12
+ Value[GAMEPAD_BUTTON_MIDDLE_LEFT]: 13
+ Value[GAMEPAD_BUTTON_MIDDLE]: 14
+ Value[GAMEPAD_BUTTON_MIDDLE_RIGHT]: 15
+ Value[GAMEPAD_BUTTON_LEFT_THUMB]: 16
+ Value[GAMEPAD_BUTTON_RIGHT_THUMB]: 17
+Enum 07: GamepadAxis (6 values)
+ Name: GamepadAxis
+ Description: Gamepad axis
+ Value[GAMEPAD_AXIS_LEFT_X]: 0
+ Value[GAMEPAD_AXIS_LEFT_Y]: 1
+ Value[GAMEPAD_AXIS_RIGHT_X]: 2
+ Value[GAMEPAD_AXIS_RIGHT_Y]: 3
+ Value[GAMEPAD_AXIS_LEFT_TRIGGER]: 4
+ Value[GAMEPAD_AXIS_RIGHT_TRIGGER]: 5
+Enum 08: MaterialMapIndex (11 values)
+ Name: MaterialMapIndex
+ Description: Material map index
+ Value[MATERIAL_MAP_ALBEDO]: 0
+ Value[MATERIAL_MAP_METALNESS]: 1
+ Value[MATERIAL_MAP_NORMAL]: 2
+ Value[MATERIAL_MAP_ROUGHNESS]: 3
+ Value[MATERIAL_MAP_OCCLUSION]: 4
+ Value[MATERIAL_MAP_EMISSION]: 5
+ Value[MATERIAL_MAP_HEIGHT]: 6
+ Value[MATERIAL_MAP_CUBEMAP]: 7
+ Value[MATERIAL_MAP_IRRADIANCE]: 8
+ Value[MATERIAL_MAP_PREFILTER]: 9
+ Value[MATERIAL_MAP_BRDF]: 10
+Enum 09: ShaderLocationIndex (26 values)
+ Name: ShaderLocationIndex
+ Description: Shader location index
+ Value[SHADER_LOC_VERTEX_POSITION]: 0
+ Value[SHADER_LOC_VERTEX_TEXCOORD01]: 1
+ Value[SHADER_LOC_VERTEX_TEXCOORD02]: 2
+ Value[SHADER_LOC_VERTEX_NORMAL]: 3
+ Value[SHADER_LOC_VERTEX_TANGENT]: 4
+ Value[SHADER_LOC_VERTEX_COLOR]: 5
+ Value[SHADER_LOC_MATRIX_MVP]: 6
+ Value[SHADER_LOC_MATRIX_VIEW]: 7
+ Value[SHADER_LOC_MATRIX_PROJECTION]: 8
+ Value[SHADER_LOC_MATRIX_MODEL]: 9
+ Value[SHADER_LOC_MATRIX_NORMAL]: 10
+ Value[SHADER_LOC_VECTOR_VIEW]: 11
+ Value[SHADER_LOC_COLOR_DIFFUSE]: 12
+ Value[SHADER_LOC_COLOR_SPECULAR]: 13
+ Value[SHADER_LOC_COLOR_AMBIENT]: 14
+ Value[SHADER_LOC_MAP_ALBEDO]: 15
+ Value[SHADER_LOC_MAP_METALNESS]: 16
+ Value[SHADER_LOC_MAP_NORMAL]: 17
+ Value[SHADER_LOC_MAP_ROUGHNESS]: 18
+ Value[SHADER_LOC_MAP_OCCLUSION]: 19
+ Value[SHADER_LOC_MAP_EMISSION]: 20
+ Value[SHADER_LOC_MAP_HEIGHT]: 21
+ Value[SHADER_LOC_MAP_CUBEMAP]: 22
+ Value[SHADER_LOC_MAP_IRRADIANCE]: 23
+ Value[SHADER_LOC_MAP_PREFILTER]: 24
+ Value[SHADER_LOC_MAP_BRDF]: 25
+Enum 10: ShaderUniformDataType (9 values)
+ Name: ShaderUniformDataType
+ Description: Shader uniform data type
+ Value[SHADER_UNIFORM_FLOAT]: 0
+ Value[SHADER_UNIFORM_VEC2]: 1
+ Value[SHADER_UNIFORM_VEC3]: 2
+ Value[SHADER_UNIFORM_VEC4]: 3
+ Value[SHADER_UNIFORM_INT]: 4
+ Value[SHADER_UNIFORM_IVEC2]: 5
+ Value[SHADER_UNIFORM_IVEC3]: 6
+ Value[SHADER_UNIFORM_IVEC4]: 7
+ Value[SHADER_UNIFORM_SAMPLER2D]: 8
+Enum 11: ShaderAttributeDataType (4 values)
+ Name: ShaderAttributeDataType
+ Description: Shader attribute data types
+ Value[SHADER_ATTRIB_FLOAT]: 0
+ Value[SHADER_ATTRIB_VEC2]: 1
+ Value[SHADER_ATTRIB_VEC3]: 2
+ Value[SHADER_ATTRIB_VEC4]: 3
+Enum 12: PixelFormat (21 values)
+ Name: PixelFormat
+ Description: Pixel formats
+ Value[PIXELFORMAT_UNCOMPRESSED_GRAYSCALE]: 1
+ Value[PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA]: 2
+ Value[PIXELFORMAT_UNCOMPRESSED_R5G6B5]: 3
+ Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8]: 4
+ Value[PIXELFORMAT_UNCOMPRESSED_R5G5B5A1]: 5
+ Value[PIXELFORMAT_UNCOMPRESSED_R4G4B4A4]: 6
+ Value[PIXELFORMAT_UNCOMPRESSED_R8G8B8A8]: 7
+ Value[PIXELFORMAT_UNCOMPRESSED_R32]: 8
+ Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32]: 9
+ Value[PIXELFORMAT_UNCOMPRESSED_R32G32B32A32]: 10
+ Value[PIXELFORMAT_COMPRESSED_DXT1_RGB]: 11
+ Value[PIXELFORMAT_COMPRESSED_DXT1_RGBA]: 12
+ Value[PIXELFORMAT_COMPRESSED_DXT3_RGBA]: 13
+ Value[PIXELFORMAT_COMPRESSED_DXT5_RGBA]: 14
+ Value[PIXELFORMAT_COMPRESSED_ETC1_RGB]: 15
+ Value[PIXELFORMAT_COMPRESSED_ETC2_RGB]: 16
+ Value[PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA]: 17
+ Value[PIXELFORMAT_COMPRESSED_PVRT_RGB]: 18
+ Value[PIXELFORMAT_COMPRESSED_PVRT_RGBA]: 19
+ Value[PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA]: 20
+ Value[PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA]: 21
+Enum 13: TextureFilter (6 values)
+ Name: TextureFilter
+ Description: Texture parameters: filter mode
+ Value[TEXTURE_FILTER_POINT]: 0
+ Value[TEXTURE_FILTER_BILINEAR]: 1
+ Value[TEXTURE_FILTER_TRILINEAR]: 2
+ Value[TEXTURE_FILTER_ANISOTROPIC_4X]: 3
+ Value[TEXTURE_FILTER_ANISOTROPIC_8X]: 4
+ Value[TEXTURE_FILTER_ANISOTROPIC_16X]: 5
+Enum 14: TextureWrap (4 values)
+ Name: TextureWrap
+ Description: Texture parameters: wrap mode
+ Value[TEXTURE_WRAP_REPEAT]: 0
+ Value[TEXTURE_WRAP_CLAMP]: 1
+ Value[TEXTURE_WRAP_MIRROR_REPEAT]: 2
+ Value[TEXTURE_WRAP_MIRROR_CLAMP]: 3
+Enum 15: CubemapLayout (6 values)
+ Name: CubemapLayout
+ Description: Cubemap layouts
+ Value[CUBEMAP_LAYOUT_AUTO_DETECT]: 0
+ Value[CUBEMAP_LAYOUT_LINE_VERTICAL]: 1
+ Value[CUBEMAP_LAYOUT_LINE_HORIZONTAL]: 2
+ Value[CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR]: 3
+ Value[CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE]: 4
+ Value[CUBEMAP_LAYOUT_PANORAMA]: 5
+Enum 16: FontType (3 values)
+ Name: FontType
+ Description: Font type, defines generation method
+ Value[FONT_DEFAULT]: 0
+ Value[FONT_BITMAP]: 1
+ Value[FONT_SDF]: 2
+Enum 17: BlendMode (7 values)
+ Name: BlendMode
+ Description: Color blending modes (pre-defined)
+ Value[BLEND_ALPHA]: 0
+ Value[BLEND_ADDITIVE]: 1
+ Value[BLEND_MULTIPLIED]: 2
+ Value[BLEND_ADD_COLORS]: 3
+ Value[BLEND_SUBTRACT_COLORS]: 4
+ Value[BLEND_ALPHA_PREMUL]: 5
+ Value[BLEND_CUSTOM]: 6
+Enum 18: Gesture (11 values)
+ Name: Gesture
+ Description: Gesture
+ Value[GESTURE_NONE]: 0
+ Value[GESTURE_TAP]: 1
+ Value[GESTURE_DOUBLETAP]: 2
+ Value[GESTURE_HOLD]: 4
+ Value[GESTURE_DRAG]: 8
+ Value[GESTURE_SWIPE_RIGHT]: 16
+ Value[GESTURE_SWIPE_LEFT]: 32
+ Value[GESTURE_SWIPE_UP]: 64
+ Value[GESTURE_SWIPE_DOWN]: 128
+ Value[GESTURE_PINCH_IN]: 256
+ Value[GESTURE_PINCH_OUT]: 512
+Enum 19: CameraMode (5 values)
+ Name: CameraMode
+ Description: Camera system modes
+ Value[CAMERA_CUSTOM]: 0
+ Value[CAMERA_FREE]: 1
+ Value[CAMERA_ORBITAL]: 2
+ Value[CAMERA_FIRST_PERSON]: 3
+ Value[CAMERA_THIRD_PERSON]: 4
+Enum 20: CameraProjection (2 values)
+ Name: CameraProjection
+ Description: Camera projection
+ Value[CAMERA_PERSPECTIVE]: 0
+ Value[CAMERA_ORTHOGRAPHIC]: 1
+Enum 21: NPatchLayout (3 values)
+ Name: NPatchLayout
+ Description: N-patch layout
+ Value[NPATCH_NINE_PATCH]: 0
+ Value[NPATCH_THREE_PATCH_VERTICAL]: 1
+ Value[NPATCH_THREE_PATCH_HORIZONTAL]: 2
+
+Functions found: 497
+
+Function 001: InitWindow() (3 input parameters)
+ Name: InitWindow
+ Return type: void
+ Description: Initialize window and OpenGL context
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: title (type: const char *)
+Function 002: WindowShouldClose() (0 input parameters)
+ Name: WindowShouldClose
+ Return type: bool
+ Description: Check if KEY_ESCAPE pressed or Close icon pressed
+ No input parameters
+Function 003: CloseWindow() (0 input parameters)
+ Name: CloseWindow
+ Return type: void
+ Description: Close window and unload OpenGL context
+ No input parameters
+Function 004: IsWindowReady() (0 input parameters)
+ Name: IsWindowReady
+ Return type: bool
+ Description: Check if window has been initialized successfully
+ No input parameters
+Function 005: IsWindowFullscreen() (0 input parameters)
+ Name: IsWindowFullscreen
+ Return type: bool
+ Description: Check if window is currently fullscreen
+ No input parameters
+Function 006: IsWindowHidden() (0 input parameters)
+ Name: IsWindowHidden
+ Return type: bool
+ Description: Check if window is currently hidden (only PLATFORM_DESKTOP)
+ No input parameters
+Function 007: IsWindowMinimized() (0 input parameters)
+ Name: IsWindowMinimized
+ Return type: bool
+ Description: Check if window is currently minimized (only PLATFORM_DESKTOP)
+ No input parameters
+Function 008: IsWindowMaximized() (0 input parameters)
+ Name: IsWindowMaximized
+ Return type: bool
+ Description: Check if window is currently maximized (only PLATFORM_DESKTOP)
+ No input parameters
+Function 009: IsWindowFocused() (0 input parameters)
+ Name: IsWindowFocused
+ Return type: bool
+ Description: Check if window is currently focused (only PLATFORM_DESKTOP)
+ No input parameters
+Function 010: IsWindowResized() (0 input parameters)
+ Name: IsWindowResized
+ Return type: bool
+ Description: Check if window has been resized last frame
+ No input parameters
+Function 011: IsWindowState() (1 input parameters)
+ Name: IsWindowState
+ Return type: bool
+ Description: Check if one specific window flag is enabled
+ Param[1]: flag (type: unsigned int)
+Function 012: SetWindowState() (1 input parameters)
+ Name: SetWindowState
+ Return type: void
+ Description: Set window configuration state using flags (only PLATFORM_DESKTOP)
+ Param[1]: flags (type: unsigned int)
+Function 013: ClearWindowState() (1 input parameters)
+ Name: ClearWindowState
+ Return type: void
+ Description: Clear window configuration state flags
+ Param[1]: flags (type: unsigned int)
+Function 014: ToggleFullscreen() (0 input parameters)
+ Name: ToggleFullscreen
+ Return type: void
+ Description: Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)
+ No input parameters
+Function 015: MaximizeWindow() (0 input parameters)
+ Name: MaximizeWindow
+ Return type: void
+ Description: Set window state: maximized, if resizable (only PLATFORM_DESKTOP)
+ No input parameters
+Function 016: MinimizeWindow() (0 input parameters)
+ Name: MinimizeWindow
+ Return type: void
+ Description: Set window state: minimized, if resizable (only PLATFORM_DESKTOP)
+ No input parameters
+Function 017: RestoreWindow() (0 input parameters)
+ Name: RestoreWindow
+ Return type: void
+ Description: Set window state: not minimized/maximized (only PLATFORM_DESKTOP)
+ No input parameters
+Function 018: SetWindowIcon() (1 input parameters)
+ Name: SetWindowIcon
+ Return type: void
+ Description: Set icon for window (only PLATFORM_DESKTOP)
+ Param[1]: image (type: Image)
+Function 019: SetWindowTitle() (1 input parameters)
+ Name: SetWindowTitle
+ Return type: void
+ Description: Set title for window (only PLATFORM_DESKTOP)
+ Param[1]: title (type: const char *)
+Function 020: SetWindowPosition() (2 input parameters)
+ Name: SetWindowPosition
+ Return type: void
+ Description: Set window position on screen (only PLATFORM_DESKTOP)
+ Param[1]: x (type: int)
+ Param[2]: y (type: int)
+Function 021: SetWindowMonitor() (1 input parameters)
+ Name: SetWindowMonitor
+ Return type: void
+ Description: Set monitor for the current window (fullscreen mode)
+ Param[1]: monitor (type: int)
+Function 022: SetWindowMinSize() (2 input parameters)
+ Name: SetWindowMinSize
+ Return type: void
+ Description: Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+Function 023: SetWindowSize() (2 input parameters)
+ Name: SetWindowSize
+ Return type: void
+ Description: Set window dimensions
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+Function 024: SetWindowOpacity() (1 input parameters)
+ Name: SetWindowOpacity
+ Return type: void
+ Description: Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)
+ Param[1]: opacity (type: float)
+Function 025: GetWindowHandle() (0 input parameters)
+ Name: GetWindowHandle
+ Return type: void *
+ Description: Get native window handle
+ No input parameters
+Function 026: GetScreenWidth() (0 input parameters)
+ Name: GetScreenWidth
+ Return type: int
+ Description: Get current screen width
+ No input parameters
+Function 027: GetScreenHeight() (0 input parameters)
+ Name: GetScreenHeight
+ Return type: int
+ Description: Get current screen height
+ No input parameters
+Function 028: GetRenderWidth() (0 input parameters)
+ Name: GetRenderWidth
+ Return type: int
+ Description: Get current render width (it considers HiDPI)
+ No input parameters
+Function 029: GetRenderHeight() (0 input parameters)
+ Name: GetRenderHeight
+ Return type: int
+ Description: Get current render height (it considers HiDPI)
+ No input parameters
+Function 030: GetMonitorCount() (0 input parameters)
+ Name: GetMonitorCount
+ Return type: int
+ Description: Get number of connected monitors
+ No input parameters
+Function 031: GetCurrentMonitor() (0 input parameters)
+ Name: GetCurrentMonitor
+ Return type: int
+ Description: Get current connected monitor
+ No input parameters
+Function 032: GetMonitorPosition() (1 input parameters)
+ Name: GetMonitorPosition
+ Return type: Vector2
+ Description: Get specified monitor position
+ Param[1]: monitor (type: int)
+Function 033: GetMonitorWidth() (1 input parameters)
+ Name: GetMonitorWidth
+ Return type: int
+ Description: Get specified monitor width (max available by monitor)
+ Param[1]: monitor (type: int)
+Function 034: GetMonitorHeight() (1 input parameters)
+ Name: GetMonitorHeight
+ Return type: int
+ Description: Get specified monitor height (max available by monitor)
+ Param[1]: monitor (type: int)
+Function 035: GetMonitorPhysicalWidth() (1 input parameters)
+ Name: GetMonitorPhysicalWidth
+ Return type: int
+ Description: Get specified monitor physical width in millimetres
+ Param[1]: monitor (type: int)
+Function 036: GetMonitorPhysicalHeight() (1 input parameters)
+ Name: GetMonitorPhysicalHeight
+ Return type: int
+ Description: Get specified monitor physical height in millimetres
+ Param[1]: monitor (type: int)
+Function 037: GetMonitorRefreshRate() (1 input parameters)
+ Name: GetMonitorRefreshRate
+ Return type: int
+ Description: Get specified monitor refresh rate
+ Param[1]: monitor (type: int)
+Function 038: GetWindowPosition() (0 input parameters)
+ Name: GetWindowPosition
+ Return type: Vector2
+ Description: Get window position XY on monitor
+ No input parameters
+Function 039: GetWindowScaleDPI() (0 input parameters)
+ Name: GetWindowScaleDPI
+ Return type: Vector2
+ Description: Get window scale DPI factor
+ No input parameters
+Function 040: GetMonitorName() (1 input parameters)
+ Name: GetMonitorName
+ Return type: const char *
+ Description: Get the human-readable, UTF-8 encoded name of the primary monitor
+ Param[1]: monitor (type: int)
+Function 041: SetClipboardText() (1 input parameters)
+ Name: SetClipboardText
+ Return type: void
+ Description: Set clipboard text content
+ Param[1]: text (type: const char *)
+Function 042: GetClipboardText() (0 input parameters)
+ Name: GetClipboardText
+ Return type: const char *
+ Description: Get clipboard text content
+ No input parameters
+Function 043: SwapScreenBuffer() (0 input parameters)
+ Name: SwapScreenBuffer
+ Return type: void
+ Description: Swap back buffer with front buffer (screen drawing)
+ No input parameters
+Function 044: PollInputEvents() (0 input parameters)
+ Name: PollInputEvents
+ Return type: void
+ Description: Register all input events
+ No input parameters
+Function 045: WaitTime() (1 input parameters)
+ Name: WaitTime
+ Return type: void
+ Description: Wait for some milliseconds (halt program execution)
+ Param[1]: ms (type: float)
+Function 046: ShowCursor() (0 input parameters)
+ Name: ShowCursor
+ Return type: void
+ Description: Shows cursor
+ No input parameters
+Function 047: HideCursor() (0 input parameters)
+ Name: HideCursor
+ Return type: void
+ Description: Hides cursor
+ No input parameters
+Function 048: IsCursorHidden() (0 input parameters)
+ Name: IsCursorHidden
+ Return type: bool
+ Description: Check if cursor is not visible
+ No input parameters
+Function 049: EnableCursor() (0 input parameters)
+ Name: EnableCursor
+ Return type: void
+ Description: Enables cursor (unlock cursor)
+ No input parameters
+Function 050: DisableCursor() (0 input parameters)
+ Name: DisableCursor
+ Return type: void
+ Description: Disables cursor (lock cursor)
+ No input parameters
+Function 051: IsCursorOnScreen() (0 input parameters)
+ Name: IsCursorOnScreen
+ Return type: bool
+ Description: Check if cursor is on the screen
+ No input parameters
+Function 052: ClearBackground() (1 input parameters)
+ Name: ClearBackground
+ Return type: void
+ Description: Set background color (framebuffer clear color)
+ Param[1]: color (type: Color)
+Function 053: BeginDrawing() (0 input parameters)
+ Name: BeginDrawing
+ Return type: void
+ Description: Setup canvas (framebuffer) to start drawing
+ No input parameters
+Function 054: EndDrawing() (0 input parameters)
+ Name: EndDrawing
+ Return type: void
+ Description: End canvas drawing and swap buffers (double buffering)
+ No input parameters
+Function 055: BeginMode2D() (1 input parameters)
+ Name: BeginMode2D
+ Return type: void
+ Description: Begin 2D mode with custom camera (2D)
+ Param[1]: camera (type: Camera2D)
+Function 056: EndMode2D() (0 input parameters)
+ Name: EndMode2D
+ Return type: void
+ Description: Ends 2D mode with custom camera
+ No input parameters
+Function 057: BeginMode3D() (1 input parameters)
+ Name: BeginMode3D
+ Return type: void
+ Description: Begin 3D mode with custom camera (3D)
+ Param[1]: camera (type: Camera3D)
+Function 058: EndMode3D() (0 input parameters)
+ Name: EndMode3D
+ Return type: void
+ Description: Ends 3D mode and returns to default 2D orthographic mode
+ No input parameters
+Function 059: BeginTextureMode() (1 input parameters)
+ Name: BeginTextureMode
+ Return type: void
+ Description: Begin drawing to render texture
+ Param[1]: target (type: RenderTexture2D)
+Function 060: EndTextureMode() (0 input parameters)
+ Name: EndTextureMode
+ Return type: void
+ Description: Ends drawing to render texture
+ No input parameters
+Function 061: BeginShaderMode() (1 input parameters)
+ Name: BeginShaderMode
+ Return type: void
+ Description: Begin custom shader drawing
+ Param[1]: shader (type: Shader)
+Function 062: EndShaderMode() (0 input parameters)
+ Name: EndShaderMode
+ Return type: void
+ Description: End custom shader drawing (use default shader)
+ No input parameters
+Function 063: BeginBlendMode() (1 input parameters)
+ Name: BeginBlendMode
+ Return type: void
+ Description: Begin blending mode (alpha, additive, multiplied, subtract, custom)
+ Param[1]: mode (type: int)
+Function 064: EndBlendMode() (0 input parameters)
+ Name: EndBlendMode
+ Return type: void
+ Description: End blending mode (reset to default: alpha blending)
+ No input parameters
+Function 065: BeginScissorMode() (4 input parameters)
+ Name: BeginScissorMode
+ Return type: void
+ Description: Begin scissor mode (define screen area for following drawing)
+ Param[1]: x (type: int)
+ Param[2]: y (type: int)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+Function 066: EndScissorMode() (0 input parameters)
+ Name: EndScissorMode
+ Return type: void
+ Description: End scissor mode
+ No input parameters
+Function 067: BeginVrStereoMode() (1 input parameters)
+ Name: BeginVrStereoMode
+ Return type: void
+ Description: Begin stereo rendering (requires VR simulator)
+ Param[1]: config (type: VrStereoConfig)
+Function 068: EndVrStereoMode() (0 input parameters)
+ Name: EndVrStereoMode
+ Return type: void
+ Description: End stereo rendering (requires VR simulator)
+ No input parameters
+Function 069: LoadVrStereoConfig() (1 input parameters)
+ Name: LoadVrStereoConfig
+ Return type: VrStereoConfig
+ Description: Load VR stereo config for VR simulator device parameters
+ Param[1]: device (type: VrDeviceInfo)
+Function 070: UnloadVrStereoConfig() (1 input parameters)
+ Name: UnloadVrStereoConfig
+ Return type: void
+ Description: Unload VR stereo config
+ Param[1]: config (type: VrStereoConfig)
+Function 071: LoadShader() (2 input parameters)
+ Name: LoadShader
+ Return type: Shader
+ Description: Load shader from files and bind default locations
+ Param[1]: vsFileName (type: const char *)
+ Param[2]: fsFileName (type: const char *)
+Function 072: LoadShaderFromMemory() (2 input parameters)
+ Name: LoadShaderFromMemory
+ Return type: Shader
+ Description: Load shader from code strings and bind default locations
+ Param[1]: vsCode (type: const char *)
+ Param[2]: fsCode (type: const char *)
+Function 073: GetShaderLocation() (2 input parameters)
+ Name: GetShaderLocation
+ Return type: int
+ Description: Get shader uniform location
+ Param[1]: shader (type: Shader)
+ Param[2]: uniformName (type: const char *)
+Function 074: GetShaderLocationAttrib() (2 input parameters)
+ Name: GetShaderLocationAttrib
+ Return type: int
+ Description: Get shader attribute location
+ Param[1]: shader (type: Shader)
+ Param[2]: attribName (type: const char *)
+Function 075: SetShaderValue() (4 input parameters)
+ Name: SetShaderValue
+ Return type: void
+ Description: Set shader uniform value
+ Param[1]: shader (type: Shader)
+ Param[2]: locIndex (type: int)
+ Param[3]: value (type: const void *)
+ Param[4]: uniformType (type: int)
+Function 076: SetShaderValueV() (5 input parameters)
+ Name: SetShaderValueV
+ Return type: void
+ Description: Set shader uniform value vector
+ Param[1]: shader (type: Shader)
+ Param[2]: locIndex (type: int)
+ Param[3]: value (type: const void *)
+ Param[4]: uniformType (type: int)
+ Param[5]: count (type: int)
+Function 077: SetShaderValueMatrix() (3 input parameters)
+ Name: SetShaderValueMatrix
+ Return type: void
+ Description: Set shader uniform value (matrix 4x4)
+ Param[1]: shader (type: Shader)
+ Param[2]: locIndex (type: int)
+ Param[3]: mat (type: Matrix)
+Function 078: SetShaderValueTexture() (3 input parameters)
+ Name: SetShaderValueTexture
+ Return type: void
+ Description: Set shader uniform value for texture (sampler2d)
+ Param[1]: shader (type: Shader)
+ Param[2]: locIndex (type: int)
+ Param[3]: texture (type: Texture2D)
+Function 079: UnloadShader() (1 input parameters)
+ Name: UnloadShader
+ Return type: void
+ Description: Unload shader from GPU memory (VRAM)
+ Param[1]: shader (type: Shader)
+Function 080: GetMouseRay() (2 input parameters)
+ Name: GetMouseRay
+ Return type: Ray
+ Description: Get a ray trace from mouse position
+ Param[1]: mousePosition (type: Vector2)
+ Param[2]: camera (type: Camera)
+Function 081: GetCameraMatrix() (1 input parameters)
+ Name: GetCameraMatrix
+ Return type: Matrix
+ Description: Get camera transform matrix (view matrix)
+ Param[1]: camera (type: Camera)
+Function 082: GetCameraMatrix2D() (1 input parameters)
+ Name: GetCameraMatrix2D
+ Return type: Matrix
+ Description: Get camera 2d transform matrix
+ Param[1]: camera (type: Camera2D)
+Function 083: GetWorldToScreen() (2 input parameters)
+ Name: GetWorldToScreen
+ Return type: Vector2
+ Description: Get the screen space position for a 3d world space position
+ Param[1]: position (type: Vector3)
+ Param[2]: camera (type: Camera)
+Function 084: GetWorldToScreenEx() (4 input parameters)
+ Name: GetWorldToScreenEx
+ Return type: Vector2
+ Description: Get size position for a 3d world space position
+ Param[1]: position (type: Vector3)
+ Param[2]: camera (type: Camera)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+Function 085: GetWorldToScreen2D() (2 input parameters)
+ Name: GetWorldToScreen2D
+ Return type: Vector2
+ Description: Get the screen space position for a 2d camera world space position
+ Param[1]: position (type: Vector2)
+ Param[2]: camera (type: Camera2D)
+Function 086: GetScreenToWorld2D() (2 input parameters)
+ Name: GetScreenToWorld2D
+ Return type: Vector2
+ Description: Get the world space position for a 2d camera screen space position
+ Param[1]: position (type: Vector2)
+ Param[2]: camera (type: Camera2D)
+Function 087: SetTargetFPS() (1 input parameters)
+ Name: SetTargetFPS
+ Return type: void
+ Description: Set target FPS (maximum)
+ Param[1]: fps (type: int)
+Function 088: GetFPS() (0 input parameters)
+ Name: GetFPS
+ Return type: int
+ Description: Get current FPS
+ No input parameters
+Function 089: GetFrameTime() (0 input parameters)
+ Name: GetFrameTime
+ Return type: float
+ Description: Get time in seconds for last frame drawn (delta time)
+ No input parameters
+Function 090: GetTime() (0 input parameters)
+ Name: GetTime
+ Return type: double
+ Description: Get elapsed time in seconds since InitWindow()
+ No input parameters
+Function 091: GetRandomValue() (2 input parameters)
+ Name: GetRandomValue
+ Return type: int
+ Description: Get a random value between min and max (both included)
+ Param[1]: min (type: int)
+ Param[2]: max (type: int)
+Function 092: SetRandomSeed() (1 input parameters)
+ Name: SetRandomSeed
+ Return type: void
+ Description: Set the seed for the random number generator
+ Param[1]: seed (type: unsigned int)
+Function 093: TakeScreenshot() (1 input parameters)
+ Name: TakeScreenshot
+ Return type: void
+ Description: Takes a screenshot of current screen (filename extension defines format)
+ Param[1]: fileName (type: const char *)
+Function 094: SetConfigFlags() (1 input parameters)
+ Name: SetConfigFlags
+ Return type: void
+ Description: Setup init configuration flags (view FLAGS)
+ Param[1]: flags (type: unsigned int)
+Function 095: TraceLog() (3 input parameters)
+ Name: TraceLog
+ Return type: void
+ Description: Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)
+ Param[1]: logLevel (type: int)
+ Param[2]: text (type: const char *)
+ Param[3]: args (type: ...)
+Function 096: SetTraceLogLevel() (1 input parameters)
+ Name: SetTraceLogLevel
+ Return type: void
+ Description: Set the current threshold (minimum) log level
+ Param[1]: logLevel (type: int)
+Function 097: MemAlloc() (1 input parameters)
+ Name: MemAlloc
+ Return type: void *
+ Description: Internal memory allocator
+ Param[1]: size (type: int)
+Function 098: MemRealloc() (2 input parameters)
+ Name: MemRealloc
+ Return type: void *
+ Description: Internal memory reallocator
+ Param[1]: ptr (type: void *)
+ Param[2]: size (type: int)
+Function 099: MemFree() (1 input parameters)
+ Name: MemFree
+ Return type: void
+ Description: Internal memory free
+ Param[1]: ptr (type: void *)
+Function 100: SetTraceLogCallback() (1 input parameters)
+ Name: SetTraceLogCallback
+ Return type: void
+ Description: Set custom trace log
+ Param[1]: callback (type: TraceLogCallback)
+Function 101: SetLoadFileDataCallback() (1 input parameters)
+ Name: SetLoadFileDataCallback
+ Return type: void
+ Description: Set custom file binary data loader
+ Param[1]: callback (type: LoadFileDataCallback)
+Function 102: SetSaveFileDataCallback() (1 input parameters)
+ Name: SetSaveFileDataCallback
+ Return type: void
+ Description: Set custom file binary data saver
+ Param[1]: callback (type: SaveFileDataCallback)
+Function 103: SetLoadFileTextCallback() (1 input parameters)
+ Name: SetLoadFileTextCallback
+ Return type: void
+ Description: Set custom file text data loader
+ Param[1]: callback (type: LoadFileTextCallback)
+Function 104: SetSaveFileTextCallback() (1 input parameters)
+ Name: SetSaveFileTextCallback
+ Return type: void
+ Description: Set custom file text data saver
+ Param[1]: callback (type: SaveFileTextCallback)
+Function 105: LoadFileData() (2 input parameters)
+ Name: LoadFileData
+ Return type: unsigned char *
+ Description: Load file data as byte array (read)
+ Param[1]: fileName (type: const char *)
+ Param[2]: bytesRead (type: unsigned int *)
+Function 106: UnloadFileData() (1 input parameters)
+ Name: UnloadFileData
+ Return type: void
+ Description: Unload file data allocated by LoadFileData()
+ Param[1]: data (type: unsigned char *)
+Function 107: SaveFileData() (3 input parameters)
+ Name: SaveFileData
+ Return type: bool
+ Description: Save data to file from byte array (write), returns true on success
+ Param[1]: fileName (type: const char *)
+ Param[2]: data (type: void *)
+ Param[3]: bytesToWrite (type: unsigned int)
+Function 108: LoadFileText() (1 input parameters)
+ Name: LoadFileText
+ Return type: char *
+ Description: Load text data from file (read), returns a '\0' terminated string
+ Param[1]: fileName (type: const char *)
+Function 109: UnloadFileText() (1 input parameters)
+ Name: UnloadFileText
+ Return type: void
+ Description: Unload file text data allocated by LoadFileText()
+ Param[1]: text (type: char *)
+Function 110: SaveFileText() (2 input parameters)
+ Name: SaveFileText
+ Return type: bool
+ Description: Save text data to file (write), string must be '\0' terminated, returns true on success
+ Param[1]: fileName (type: const char *)
+ Param[2]: text (type: char *)
+Function 111: FileExists() (1 input parameters)
+ Name: FileExists
+ Return type: bool
+ Description: Check if file exists
+ Param[1]: fileName (type: const char *)
+Function 112: DirectoryExists() (1 input parameters)
+ Name: DirectoryExists
+ Return type: bool
+ Description: Check if a directory path exists
+ Param[1]: dirPath (type: const char *)
+Function 113: IsFileExtension() (2 input parameters)
+ Name: IsFileExtension
+ Return type: bool
+ Description: Check file extension (including point: .png, .wav)
+ Param[1]: fileName (type: const char *)
+ Param[2]: ext (type: const char *)
+Function 114: GetFileLength() (1 input parameters)
+ Name: GetFileLength
+ Return type: int
+ Description: Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)
+ Param[1]: fileName (type: const char *)
+Function 115: GetFileExtension() (1 input parameters)
+ Name: GetFileExtension
+ Return type: const char *
+ Description: Get pointer to extension for a filename string (includes dot: '.png')
+ Param[1]: fileName (type: const char *)
+Function 116: GetFileName() (1 input parameters)
+ Name: GetFileName
+ Return type: const char *
+ Description: Get pointer to filename for a path string
+ Param[1]: filePath (type: const char *)
+Function 117: GetFileNameWithoutExt() (1 input parameters)
+ Name: GetFileNameWithoutExt
+ Return type: const char *
+ Description: Get filename string without extension (uses static string)
+ Param[1]: filePath (type: const char *)
+Function 118: GetDirectoryPath() (1 input parameters)
+ Name: GetDirectoryPath
+ Return type: const char *
+ Description: Get full path for a given fileName with path (uses static string)
+ Param[1]: filePath (type: const char *)
+Function 119: GetPrevDirectoryPath() (1 input parameters)
+ Name: GetPrevDirectoryPath
+ Return type: const char *
+ Description: Get previous directory path for a given path (uses static string)
+ Param[1]: dirPath (type: const char *)
+Function 120: GetWorkingDirectory() (0 input parameters)
+ Name: GetWorkingDirectory
+ Return type: const char *
+ Description: Get current working directory (uses static string)
+ No input parameters
+Function 121: GetApplicationDirectory() (0 input parameters)
+ Name: GetApplicationDirectory
+ Return type: const char *
+ Description: Get the directory if the running application (uses static string)
+ No input parameters
+Function 122: GetDirectoryFiles() (2 input parameters)
+ Name: GetDirectoryFiles
+ Return type: char **
+ Description: Get filenames in a directory path (memory should be freed)
+ Param[1]: dirPath (type: const char *)
+ Param[2]: count (type: int *)
+Function 123: ClearDirectoryFiles() (0 input parameters)
+ Name: ClearDirectoryFiles
+ Return type: void
+ Description: Clear directory files paths buffers (free memory)
+ No input parameters
+Function 124: ChangeDirectory() (1 input parameters)
+ Name: ChangeDirectory
+ Return type: bool
+ Description: Change working directory, return true on success
+ Param[1]: dir (type: const char *)
+Function 125: IsFileDropped() (0 input parameters)
+ Name: IsFileDropped
+ Return type: bool
+ Description: Check if a file has been dropped into window
+ No input parameters
+Function 126: GetDroppedFiles() (1 input parameters)
+ Name: GetDroppedFiles
+ Return type: char **
+ Description: Get dropped files names (memory should be freed)
+ Param[1]: count (type: int *)
+Function 127: ClearDroppedFiles() (0 input parameters)
+ Name: ClearDroppedFiles
+ Return type: void
+ Description: Clear dropped files paths buffer (free memory)
+ No input parameters
+Function 128: GetFileModTime() (1 input parameters)
+ Name: GetFileModTime
+ Return type: long
+ Description: Get file modification time (last write time)
+ Param[1]: fileName (type: const char *)
+Function 129: CompressData() (3 input parameters)
+ Name: CompressData
+ Return type: unsigned char *
+ Description: Compress data (DEFLATE algorithm)
+ Param[1]: data (type: const unsigned char *)
+ Param[2]: dataLength (type: int)
+ Param[3]: compDataLength (type: int *)
+Function 130: DecompressData() (3 input parameters)
+ Name: DecompressData
+ Return type: unsigned char *
+ Description: Decompress data (DEFLATE algorithm)
+ Param[1]: compData (type: const unsigned char *)
+ Param[2]: compDataLength (type: int)
+ Param[3]: dataLength (type: int *)
+Function 131: EncodeDataBase64() (3 input parameters)
+ Name: EncodeDataBase64
+ Return type: char *
+ Description: Encode data to Base64 string
+ Param[1]: data (type: const unsigned char *)
+ Param[2]: dataLength (type: int)
+ Param[3]: outputLength (type: int *)
+Function 132: DecodeDataBase64() (2 input parameters)
+ Name: DecodeDataBase64
+ Return type: unsigned char *
+ Description: Decode Base64 string data
+ Param[1]: data (type: const unsigned char *)
+ Param[2]: outputLength (type: int *)
+Function 133: SaveStorageValue() (2 input parameters)
+ Name: SaveStorageValue
+ Return type: bool
+ Description: Save integer value to storage file (to defined position), returns true on success
+ Param[1]: position (type: unsigned int)
+ Param[2]: value (type: int)
+Function 134: LoadStorageValue() (1 input parameters)
+ Name: LoadStorageValue
+ Return type: int
+ Description: Load integer value from storage file (from defined position)
+ Param[1]: position (type: unsigned int)
+Function 135: OpenURL() (1 input parameters)
+ Name: OpenURL
+ Return type: void
+ Description: Open URL with default system browser (if available)
+ Param[1]: url (type: const char *)
+Function 136: IsKeyPressed() (1 input parameters)
+ Name: IsKeyPressed
+ Return type: bool
+ Description: Check if a key has been pressed once
+ Param[1]: key (type: int)
+Function 137: IsKeyDown() (1 input parameters)
+ Name: IsKeyDown
+ Return type: bool
+ Description: Check if a key is being pressed
+ Param[1]: key (type: int)
+Function 138: IsKeyReleased() (1 input parameters)
+ Name: IsKeyReleased
+ Return type: bool
+ Description: Check if a key has been released once
+ Param[1]: key (type: int)
+Function 139: IsKeyUp() (1 input parameters)
+ Name: IsKeyUp
+ Return type: bool
+ Description: Check if a key is NOT being pressed
+ Param[1]: key (type: int)
+Function 140: SetExitKey() (1 input parameters)
+ Name: SetExitKey
+ Return type: void
+ Description: Set a custom key to exit program (default is ESC)
+ Param[1]: key (type: int)
+Function 141: GetKeyPressed() (0 input parameters)
+ Name: GetKeyPressed
+ Return type: int
+ Description: Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty
+ No input parameters
+Function 142: GetCharPressed() (0 input parameters)
+ Name: GetCharPressed
+ Return type: int
+ Description: Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty
+ No input parameters
+Function 143: IsGamepadAvailable() (1 input parameters)
+ Name: IsGamepadAvailable
+ Return type: bool
+ Description: Check if a gamepad is available
+ Param[1]: gamepad (type: int)
+Function 144: GetGamepadName() (1 input parameters)
+ Name: GetGamepadName
+ Return type: const char *
+ Description: Get gamepad internal name id
+ Param[1]: gamepad (type: int)
+Function 145: IsGamepadButtonPressed() (2 input parameters)
+ Name: IsGamepadButtonPressed
+ Return type: bool
+ Description: Check if a gamepad button has been pressed once
+ Param[1]: gamepad (type: int)
+ Param[2]: button (type: int)
+Function 146: IsGamepadButtonDown() (2 input parameters)
+ Name: IsGamepadButtonDown
+ Return type: bool
+ Description: Check if a gamepad button is being pressed
+ Param[1]: gamepad (type: int)
+ Param[2]: button (type: int)
+Function 147: IsGamepadButtonReleased() (2 input parameters)
+ Name: IsGamepadButtonReleased
+ Return type: bool
+ Description: Check if a gamepad button has been released once
+ Param[1]: gamepad (type: int)
+ Param[2]: button (type: int)
+Function 148: IsGamepadButtonUp() (2 input parameters)
+ Name: IsGamepadButtonUp
+ Return type: bool
+ Description: Check if a gamepad button is NOT being pressed
+ Param[1]: gamepad (type: int)
+ Param[2]: button (type: int)
+Function 149: GetGamepadButtonPressed() (0 input parameters)
+ Name: GetGamepadButtonPressed
+ Return type: int
+ Description: Get the last gamepad button pressed
+ No input parameters
+Function 150: GetGamepadAxisCount() (1 input parameters)
+ Name: GetGamepadAxisCount
+ Return type: int
+ Description: Get gamepad axis count for a gamepad
+ Param[1]: gamepad (type: int)
+Function 151: GetGamepadAxisMovement() (2 input parameters)
+ Name: GetGamepadAxisMovement
+ Return type: float
+ Description: Get axis movement value for a gamepad axis
+ Param[1]: gamepad (type: int)
+ Param[2]: axis (type: int)
+Function 152: SetGamepadMappings() (1 input parameters)
+ Name: SetGamepadMappings
+ Return type: int
+ Description: Set internal gamepad mappings (SDL_GameControllerDB)
+ Param[1]: mappings (type: const char *)
+Function 153: IsMouseButtonPressed() (1 input parameters)
+ Name: IsMouseButtonPressed
+ Return type: bool
+ Description: Check if a mouse button has been pressed once
+ Param[1]: button (type: int)
+Function 154: IsMouseButtonDown() (1 input parameters)
+ Name: IsMouseButtonDown
+ Return type: bool
+ Description: Check if a mouse button is being pressed
+ Param[1]: button (type: int)
+Function 155: IsMouseButtonReleased() (1 input parameters)
+ Name: IsMouseButtonReleased
+ Return type: bool
+ Description: Check if a mouse button has been released once
+ Param[1]: button (type: int)
+Function 156: IsMouseButtonUp() (1 input parameters)
+ Name: IsMouseButtonUp
+ Return type: bool
+ Description: Check if a mouse button is NOT being pressed
+ Param[1]: button (type: int)
+Function 157: GetMouseX() (0 input parameters)
+ Name: GetMouseX
+ Return type: int
+ Description: Get mouse position X
+ No input parameters
+Function 158: GetMouseY() (0 input parameters)
+ Name: GetMouseY
+ Return type: int
+ Description: Get mouse position Y
+ No input parameters
+Function 159: GetMousePosition() (0 input parameters)
+ Name: GetMousePosition
+ Return type: Vector2
+ Description: Get mouse position XY
+ No input parameters
+Function 160: GetMouseDelta() (0 input parameters)
+ Name: GetMouseDelta
+ Return type: Vector2
+ Description: Get mouse delta between frames
+ No input parameters
+Function 161: SetMousePosition() (2 input parameters)
+ Name: SetMousePosition
+ Return type: void
+ Description: Set mouse position XY
+ Param[1]: x (type: int)
+ Param[2]: y (type: int)
+Function 162: SetMouseOffset() (2 input parameters)
+ Name: SetMouseOffset
+ Return type: void
+ Description: Set mouse offset
+ Param[1]: offsetX (type: int)
+ Param[2]: offsetY (type: int)
+Function 163: SetMouseScale() (2 input parameters)
+ Name: SetMouseScale
+ Return type: void
+ Description: Set mouse scaling
+ Param[1]: scaleX (type: float)
+ Param[2]: scaleY (type: float)
+Function 164: GetMouseWheelMove() (0 input parameters)
+ Name: GetMouseWheelMove
+ Return type: float
+ Description: Get mouse wheel movement Y
+ No input parameters
+Function 165: SetMouseCursor() (1 input parameters)
+ Name: SetMouseCursor
+ Return type: void
+ Description: Set mouse cursor
+ Param[1]: cursor (type: int)
+Function 166: GetTouchX() (0 input parameters)
+ Name: GetTouchX
+ Return type: int
+ Description: Get touch position X for touch point 0 (relative to screen size)
+ No input parameters
+Function 167: GetTouchY() (0 input parameters)
+ Name: GetTouchY
+ Return type: int
+ Description: Get touch position Y for touch point 0 (relative to screen size)
+ No input parameters
+Function 168: GetTouchPosition() (1 input parameters)
+ Name: GetTouchPosition
+ Return type: Vector2
+ Description: Get touch position XY for a touch point index (relative to screen size)
+ Param[1]: index (type: int)
+Function 169: GetTouchPointId() (1 input parameters)
+ Name: GetTouchPointId
+ Return type: int
+ Description: Get touch point identifier for given index
+ Param[1]: index (type: int)
+Function 170: GetTouchPointCount() (0 input parameters)
+ Name: GetTouchPointCount
+ Return type: int
+ Description: Get number of touch points
+ No input parameters
+Function 171: SetGesturesEnabled() (1 input parameters)
+ Name: SetGesturesEnabled
+ Return type: void
+ Description: Enable a set of gestures using flags
+ Param[1]: flags (type: unsigned int)
+Function 172: IsGestureDetected() (1 input parameters)
+ Name: IsGestureDetected
+ Return type: bool
+ Description: Check if a gesture have been detected
+ Param[1]: gesture (type: int)
+Function 173: GetGestureDetected() (0 input parameters)
+ Name: GetGestureDetected
+ Return type: int
+ Description: Get latest detected gesture
+ No input parameters
+Function 174: GetGestureHoldDuration() (0 input parameters)
+ Name: GetGestureHoldDuration
+ Return type: float
+ Description: Get gesture hold time in milliseconds
+ No input parameters
+Function 175: GetGestureDragVector() (0 input parameters)
+ Name: GetGestureDragVector
+ Return type: Vector2
+ Description: Get gesture drag vector
+ No input parameters
+Function 176: GetGestureDragAngle() (0 input parameters)
+ Name: GetGestureDragAngle
+ Return type: float
+ Description: Get gesture drag angle
+ No input parameters
+Function 177: GetGesturePinchVector() (0 input parameters)
+ Name: GetGesturePinchVector
+ Return type: Vector2
+ Description: Get gesture pinch delta
+ No input parameters
+Function 178: GetGesturePinchAngle() (0 input parameters)
+ Name: GetGesturePinchAngle
+ Return type: float
+ Description: Get gesture pinch angle
+ No input parameters
+Function 179: SetCameraMode() (2 input parameters)
+ Name: SetCameraMode
+ Return type: void
+ Description: Set camera mode (multiple camera modes available)
+ Param[1]: camera (type: Camera)
+ Param[2]: mode (type: int)
+Function 180: UpdateCamera() (1 input parameters)
+ Name: UpdateCamera
+ Return type: void
+ Description: Update camera position for selected mode
+ Param[1]: camera (type: Camera *)
+Function 181: SetCameraPanControl() (1 input parameters)
+ Name: SetCameraPanControl
+ Return type: void
+ Description: Set camera pan key to combine with mouse movement (free camera)
+ Param[1]: keyPan (type: int)
+Function 182: SetCameraAltControl() (1 input parameters)
+ Name: SetCameraAltControl
+ Return type: void
+ Description: Set camera alt key to combine with mouse movement (free camera)
+ Param[1]: keyAlt (type: int)
+Function 183: SetCameraSmoothZoomControl() (1 input parameters)
+ Name: SetCameraSmoothZoomControl
+ Return type: void
+ Description: Set camera smooth zoom key to combine with mouse (free camera)
+ Param[1]: keySmoothZoom (type: int)
+Function 184: SetCameraMoveControls() (6 input parameters)
+ Name: SetCameraMoveControls
+ Return type: void
+ Description: Set camera move controls (1st person and 3rd person cameras)
+ Param[1]: keyFront (type: int)
+ Param[2]: keyBack (type: int)
+ Param[3]: keyRight (type: int)
+ Param[4]: keyLeft (type: int)
+ Param[5]: keyUp (type: int)
+ Param[6]: keyDown (type: int)
+Function 185: SetShapesTexture() (2 input parameters)
+ Name: SetShapesTexture
+ Return type: void
+ Description: Set texture and rectangle to be used on shapes drawing
+ Param[1]: texture (type: Texture2D)
+ Param[2]: source (type: Rectangle)
+Function 186: DrawPixel() (3 input parameters)
+ Name: DrawPixel
+ Return type: void
+ Description: Draw a pixel
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+ Param[3]: color (type: Color)
+Function 187: DrawPixelV() (2 input parameters)
+ Name: DrawPixelV
+ Return type: void
+ Description: Draw a pixel (Vector version)
+ Param[1]: position (type: Vector2)
+ Param[2]: color (type: Color)
+Function 188: DrawLine() (5 input parameters)
+ Name: DrawLine
+ Return type: void
+ Description: Draw a line
+ Param[1]: startPosX (type: int)
+ Param[2]: startPosY (type: int)
+ Param[3]: endPosX (type: int)
+ Param[4]: endPosY (type: int)
+ Param[5]: color (type: Color)
+Function 189: DrawLineV() (3 input parameters)
+ Name: DrawLineV
+ Return type: void
+ Description: Draw a line (Vector version)
+ Param[1]: startPos (type: Vector2)
+ Param[2]: endPos (type: Vector2)
+ Param[3]: color (type: Color)
+Function 190: DrawLineEx() (4 input parameters)
+ Name: DrawLineEx
+ Return type: void
+ Description: Draw a line defining thickness
+ Param[1]: startPos (type: Vector2)
+ Param[2]: endPos (type: Vector2)
+ Param[3]: thick (type: float)
+ Param[4]: color (type: Color)
+Function 191: DrawLineBezier() (4 input parameters)
+ Name: DrawLineBezier
+ Return type: void
+ Description: Draw a line using cubic-bezier curves in-out
+ Param[1]: startPos (type: Vector2)
+ Param[2]: endPos (type: Vector2)
+ Param[3]: thick (type: float)
+ Param[4]: color (type: Color)
+Function 192: DrawLineBezierQuad() (5 input parameters)
+ Name: DrawLineBezierQuad
+ Return type: void
+ Description: Draw line using quadratic bezier curves with a control point
+ Param[1]: startPos (type: Vector2)
+ Param[2]: endPos (type: Vector2)
+ Param[3]: controlPos (type: Vector2)
+ Param[4]: thick (type: float)
+ Param[5]: color (type: Color)
+Function 193: DrawLineBezierCubic() (6 input parameters)
+ Name: DrawLineBezierCubic
+ Return type: void
+ Description: Draw line using cubic bezier curves with 2 control points
+ Param[1]: startPos (type: Vector2)
+ Param[2]: endPos (type: Vector2)
+ Param[3]: startControlPos (type: Vector2)
+ Param[4]: endControlPos (type: Vector2)
+ Param[5]: thick (type: float)
+ Param[6]: color (type: Color)
+Function 194: DrawLineStrip() (3 input parameters)
+ Name: DrawLineStrip
+ Return type: void
+ Description: Draw lines sequence
+ Param[1]: points (type: Vector2 *)
+ Param[2]: pointCount (type: int)
+ Param[3]: color (type: Color)
+Function 195: DrawCircle() (4 input parameters)
+ Name: DrawCircle
+ Return type: void
+ Description: Draw a color-filled circle
+ Param[1]: centerX (type: int)
+ Param[2]: centerY (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: color (type: Color)
+Function 196: DrawCircleSector() (6 input parameters)
+ Name: DrawCircleSector
+ Return type: void
+ Description: Draw a piece of a circle
+ Param[1]: center (type: Vector2)
+ Param[2]: radius (type: float)
+ Param[3]: startAngle (type: float)
+ Param[4]: endAngle (type: float)
+ Param[5]: segments (type: int)
+ Param[6]: color (type: Color)
+Function 197: DrawCircleSectorLines() (6 input parameters)
+ Name: DrawCircleSectorLines
+ Return type: void
+ Description: Draw circle sector outline
+ Param[1]: center (type: Vector2)
+ Param[2]: radius (type: float)
+ Param[3]: startAngle (type: float)
+ Param[4]: endAngle (type: float)
+ Param[5]: segments (type: int)
+ Param[6]: color (type: Color)
+Function 198: DrawCircleGradient() (5 input parameters)
+ Name: DrawCircleGradient
+ Return type: void
+ Description: Draw a gradient-filled circle
+ Param[1]: centerX (type: int)
+ Param[2]: centerY (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: color1 (type: Color)
+ Param[5]: color2 (type: Color)
+Function 199: DrawCircleV() (3 input parameters)
+ Name: DrawCircleV
+ Return type: void
+ Description: Draw a color-filled circle (Vector version)
+ Param[1]: center (type: Vector2)
+ Param[2]: radius (type: float)
+ Param[3]: color (type: Color)
+Function 200: DrawCircleLines() (4 input parameters)
+ Name: DrawCircleLines
+ Return type: void
+ Description: Draw circle outline
+ Param[1]: centerX (type: int)
+ Param[2]: centerY (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: color (type: Color)
+Function 201: DrawEllipse() (5 input parameters)
+ Name: DrawEllipse
+ Return type: void
+ Description: Draw ellipse
+ Param[1]: centerX (type: int)
+ Param[2]: centerY (type: int)
+ Param[3]: radiusH (type: float)
+ Param[4]: radiusV (type: float)
+ Param[5]: color (type: Color)
+Function 202: DrawEllipseLines() (5 input parameters)
+ Name: DrawEllipseLines
+ Return type: void
+ Description: Draw ellipse outline
+ Param[1]: centerX (type: int)
+ Param[2]: centerY (type: int)
+ Param[3]: radiusH (type: float)
+ Param[4]: radiusV (type: float)
+ Param[5]: color (type: Color)
+Function 203: DrawRing() (7 input parameters)
+ Name: DrawRing
+ Return type: void
+ Description: Draw ring
+ Param[1]: center (type: Vector2)
+ Param[2]: innerRadius (type: float)
+ Param[3]: outerRadius (type: float)
+ Param[4]: startAngle (type: float)
+ Param[5]: endAngle (type: float)
+ Param[6]: segments (type: int)
+ Param[7]: color (type: Color)
+Function 204: DrawRingLines() (7 input parameters)
+ Name: DrawRingLines
+ Return type: void
+ Description: Draw ring outline
+ Param[1]: center (type: Vector2)
+ Param[2]: innerRadius (type: float)
+ Param[3]: outerRadius (type: float)
+ Param[4]: startAngle (type: float)
+ Param[5]: endAngle (type: float)
+ Param[6]: segments (type: int)
+ Param[7]: color (type: Color)
+Function 205: DrawRectangle() (5 input parameters)
+ Name: DrawRectangle
+ Return type: void
+ Description: Draw a color-filled rectangle
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+ Param[5]: color (type: Color)
+Function 206: DrawRectangleV() (3 input parameters)
+ Name: DrawRectangleV
+ Return type: void
+ Description: Draw a color-filled rectangle (Vector version)
+ Param[1]: position (type: Vector2)
+ Param[2]: size (type: Vector2)
+ Param[3]: color (type: Color)
+Function 207: DrawRectangleRec() (2 input parameters)
+ Name: DrawRectangleRec
+ Return type: void
+ Description: Draw a color-filled rectangle
+ Param[1]: rec (type: Rectangle)
+ Param[2]: color (type: Color)
+Function 208: DrawRectanglePro() (4 input parameters)
+ Name: DrawRectanglePro
+ Return type: void
+ Description: Draw a color-filled rectangle with pro parameters
+ Param[1]: rec (type: Rectangle)
+ Param[2]: origin (type: Vector2)
+ Param[3]: rotation (type: float)
+ Param[4]: color (type: Color)
+Function 209: DrawRectangleGradientV() (6 input parameters)
+ Name: DrawRectangleGradientV
+ Return type: void
+ Description: Draw a vertical-gradient-filled rectangle
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+ Param[5]: color1 (type: Color)
+ Param[6]: color2 (type: Color)
+Function 210: DrawRectangleGradientH() (6 input parameters)
+ Name: DrawRectangleGradientH
+ Return type: void
+ Description: Draw a horizontal-gradient-filled rectangle
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+ Param[5]: color1 (type: Color)
+ Param[6]: color2 (type: Color)
+Function 211: DrawRectangleGradientEx() (5 input parameters)
+ Name: DrawRectangleGradientEx
+ Return type: void
+ Description: Draw a gradient-filled rectangle with custom vertex colors
+ Param[1]: rec (type: Rectangle)
+ Param[2]: col1 (type: Color)
+ Param[3]: col2 (type: Color)
+ Param[4]: col3 (type: Color)
+ Param[5]: col4 (type: Color)
+Function 212: DrawRectangleLines() (5 input parameters)
+ Name: DrawRectangleLines
+ Return type: void
+ Description: Draw rectangle outline
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+ Param[3]: width (type: int)
+ Param[4]: height (type: int)
+ Param[5]: color (type: Color)
+Function 213: DrawRectangleLinesEx() (3 input parameters)
+ Name: DrawRectangleLinesEx
+ Return type: void
+ Description: Draw rectangle outline with extended parameters
+ Param[1]: rec (type: Rectangle)
+ Param[2]: lineThick (type: float)
+ Param[3]: color (type: Color)
+Function 214: DrawRectangleRounded() (4 input parameters)
+ Name: DrawRectangleRounded
+ Return type: void
+ Description: Draw rectangle with rounded edges
+ Param[1]: rec (type: Rectangle)
+ Param[2]: roundness (type: float)
+ Param[3]: segments (type: int)
+ Param[4]: color (type: Color)
+Function 215: DrawRectangleRoundedLines() (5 input parameters)
+ Name: DrawRectangleRoundedLines
+ Return type: void
+ Description: Draw rectangle with rounded edges outline
+ Param[1]: rec (type: Rectangle)
+ Param[2]: roundness (type: float)
+ Param[3]: segments (type: int)
+ Param[4]: lineThick (type: float)
+ Param[5]: color (type: Color)
+Function 216: DrawTriangle() (4 input parameters)
+ Name: DrawTriangle
+ Return type: void
+ Description: Draw a color-filled triangle (vertex in counter-clockwise order!)
+ Param[1]: v1 (type: Vector2)
+ Param[2]: v2 (type: Vector2)
+ Param[3]: v3 (type: Vector2)
+ Param[4]: color (type: Color)
+Function 217: DrawTriangleLines() (4 input parameters)
+ Name: DrawTriangleLines
+ Return type: void
+ Description: Draw triangle outline (vertex in counter-clockwise order!)
+ Param[1]: v1 (type: Vector2)
+ Param[2]: v2 (type: Vector2)
+ Param[3]: v3 (type: Vector2)
+ Param[4]: color (type: Color)
+Function 218: DrawTriangleFan() (3 input parameters)
+ Name: DrawTriangleFan
+ Return type: void
+ Description: Draw a triangle fan defined by points (first vertex is the center)
+ Param[1]: points (type: Vector2 *)
+ Param[2]: pointCount (type: int)
+ Param[3]: color (type: Color)
+Function 219: DrawTriangleStrip() (3 input parameters)
+ Name: DrawTriangleStrip
+ Return type: void
+ Description: Draw a triangle strip defined by points
+ Param[1]: points (type: Vector2 *)
+ Param[2]: pointCount (type: int)
+ Param[3]: color (type: Color)
+Function 220: DrawPoly() (5 input parameters)
+ Name: DrawPoly
+ Return type: void
+ Description: Draw a regular polygon (Vector version)
+ Param[1]: center (type: Vector2)
+ Param[2]: sides (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: rotation (type: float)
+ Param[5]: color (type: Color)
+Function 221: DrawPolyLines() (5 input parameters)
+ Name: DrawPolyLines
+ Return type: void
+ Description: Draw a polygon outline of n sides
+ Param[1]: center (type: Vector2)
+ Param[2]: sides (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: rotation (type: float)
+ Param[5]: color (type: Color)
+Function 222: DrawPolyLinesEx() (6 input parameters)
+ Name: DrawPolyLinesEx
+ Return type: void
+ Description: Draw a polygon outline of n sides with extended parameters
+ Param[1]: center (type: Vector2)
+ Param[2]: sides (type: int)
+ Param[3]: radius (type: float)
+ Param[4]: rotation (type: float)
+ Param[5]: lineThick (type: float)
+ Param[6]: color (type: Color)
+Function 223: CheckCollisionRecs() (2 input parameters)
+ Name: CheckCollisionRecs
+ Return type: bool
+ Description: Check collision between two rectangles
+ Param[1]: rec1 (type: Rectangle)
+ Param[2]: rec2 (type: Rectangle)
+Function 224: CheckCollisionCircles() (4 input parameters)
+ Name: CheckCollisionCircles
+ Return type: bool
+ Description: Check collision between two circles
+ Param[1]: center1 (type: Vector2)
+ Param[2]: radius1 (type: float)
+ Param[3]: center2 (type: Vector2)
+ Param[4]: radius2 (type: float)
+Function 225: CheckCollisionCircleRec() (3 input parameters)
+ Name: CheckCollisionCircleRec
+ Return type: bool
+ Description: Check collision between circle and rectangle
+ Param[1]: center (type: Vector2)
+ Param[2]: radius (type: float)
+ Param[3]: rec (type: Rectangle)
+Function 226: CheckCollisionPointRec() (2 input parameters)
+ Name: CheckCollisionPointRec
+ Return type: bool
+ Description: Check if point is inside rectangle
+ Param[1]: point (type: Vector2)
+ Param[2]: rec (type: Rectangle)
+Function 227: CheckCollisionPointCircle() (3 input parameters)
+ Name: CheckCollisionPointCircle
+ Return type: bool
+ Description: Check if point is inside circle
+ Param[1]: point (type: Vector2)
+ Param[2]: center (type: Vector2)
+ Param[3]: radius (type: float)
+Function 228: CheckCollisionPointTriangle() (4 input parameters)
+ Name: CheckCollisionPointTriangle
+ Return type: bool
+ Description: Check if point is inside a triangle
+ Param[1]: point (type: Vector2)
+ Param[2]: p1 (type: Vector2)
+ Param[3]: p2 (type: Vector2)
+ Param[4]: p3 (type: Vector2)
+Function 229: CheckCollisionLines() (5 input parameters)
+ Name: CheckCollisionLines
+ Return type: bool
+ Description: Check the collision between two lines defined by two points each, returns collision point by reference
+ Param[1]: startPos1 (type: Vector2)
+ Param[2]: endPos1 (type: Vector2)
+ Param[3]: startPos2 (type: Vector2)
+ Param[4]: endPos2 (type: Vector2)
+ Param[5]: collisionPoint (type: Vector2 *)
+Function 230: CheckCollisionPointLine() (4 input parameters)
+ Name: CheckCollisionPointLine
+ Return type: bool
+ Description: Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]
+ Param[1]: point (type: Vector2)
+ Param[2]: p1 (type: Vector2)
+ Param[3]: p2 (type: Vector2)
+ Param[4]: threshold (type: int)
+Function 231: GetCollisionRec() (2 input parameters)
+ Name: GetCollisionRec
+ Return type: Rectangle
+ Description: Get collision rectangle for two rectangles collision
+ Param[1]: rec1 (type: Rectangle)
+ Param[2]: rec2 (type: Rectangle)
+Function 232: LoadImage() (1 input parameters)
+ Name: LoadImage
+ Return type: Image
+ Description: Load image from file into CPU memory (RAM)
+ Param[1]: fileName (type: const char *)
+Function 233: LoadImageRaw() (5 input parameters)
+ Name: LoadImageRaw
+ Return type: Image
+ Description: Load image from RAW file data
+ Param[1]: fileName (type: const char *)
+ Param[2]: width (type: int)
+ Param[3]: height (type: int)
+ Param[4]: format (type: int)
+ Param[5]: headerSize (type: int)
+Function 234: LoadImageAnim() (2 input parameters)
+ Name: LoadImageAnim
+ Return type: Image
+ Description: Load image sequence from file (frames appended to image.data)
+ Param[1]: fileName (type: const char *)
+ Param[2]: frames (type: int *)
+Function 235: LoadImageFromMemory() (3 input parameters)
+ Name: LoadImageFromMemory
+ Return type: Image
+ Description: Load image from memory buffer, fileType refers to extension: i.e. '.png'
+ Param[1]: fileType (type: const char *)
+ Param[2]: fileData (type: const unsigned char *)
+ Param[3]: dataSize (type: int)
+Function 236: LoadImageFromTexture() (1 input parameters)
+ Name: LoadImageFromTexture
+ Return type: Image
+ Description: Load image from GPU texture data
+ Param[1]: texture (type: Texture2D)
+Function 237: LoadImageFromScreen() (0 input parameters)
+ Name: LoadImageFromScreen
+ Return type: Image
+ Description: Load image from screen buffer and (screenshot)
+ No input parameters
+Function 238: UnloadImage() (1 input parameters)
+ Name: UnloadImage
+ Return type: void
+ Description: Unload image from CPU memory (RAM)
+ Param[1]: image (type: Image)
+Function 239: ExportImage() (2 input parameters)
+ Name: ExportImage
+ Return type: bool
+ Description: Export image data to file, returns true on success
+ Param[1]: image (type: Image)
+ Param[2]: fileName (type: const char *)
+Function 240: ExportImageAsCode() (2 input parameters)
+ Name: ExportImageAsCode
+ Return type: bool
+ Description: Export image as code file defining an array of bytes, returns true on success
+ Param[1]: image (type: Image)
+ Param[2]: fileName (type: const char *)
+Function 241: GenImageColor() (3 input parameters)
+ Name: GenImageColor
+ Return type: Image
+ Description: Generate image: plain color
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: color (type: Color)
+Function 242: GenImageGradientV() (4 input parameters)
+ Name: GenImageGradientV
+ Return type: Image
+ Description: Generate image: vertical gradient
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: top (type: Color)
+ Param[4]: bottom (type: Color)
+Function 243: GenImageGradientH() (4 input parameters)
+ Name: GenImageGradientH
+ Return type: Image
+ Description: Generate image: horizontal gradient
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: left (type: Color)
+ Param[4]: right (type: Color)
+Function 244: GenImageGradientRadial() (5 input parameters)
+ Name: GenImageGradientRadial
+ Return type: Image
+ Description: Generate image: radial gradient
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: density (type: float)
+ Param[4]: inner (type: Color)
+ Param[5]: outer (type: Color)
+Function 245: GenImageChecked() (6 input parameters)
+ Name: GenImageChecked
+ Return type: Image
+ Description: Generate image: checked
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: checksX (type: int)
+ Param[4]: checksY (type: int)
+ Param[5]: col1 (type: Color)
+ Param[6]: col2 (type: Color)
+Function 246: GenImageWhiteNoise() (3 input parameters)
+ Name: GenImageWhiteNoise
+ Return type: Image
+ Description: Generate image: white noise
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: factor (type: float)
+Function 247: GenImageCellular() (3 input parameters)
+ Name: GenImageCellular
+ Return type: Image
+ Description: Generate image: cellular algorithm, bigger tileSize means bigger cells
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: tileSize (type: int)
+Function 248: ImageCopy() (1 input parameters)
+ Name: ImageCopy
+ Return type: Image
+ Description: Create an image duplicate (useful for transformations)
+ Param[1]: image (type: Image)
+Function 249: ImageFromImage() (2 input parameters)
+ Name: ImageFromImage
+ Return type: Image
+ Description: Create an image from another image piece
+ Param[1]: image (type: Image)
+ Param[2]: rec (type: Rectangle)
+Function 250: ImageText() (3 input parameters)
+ Name: ImageText
+ Return type: Image
+ Description: Create an image from text (default font)
+ Param[1]: text (type: const char *)
+ Param[2]: fontSize (type: int)
+ Param[3]: color (type: Color)
+Function 251: ImageTextEx() (5 input parameters)
+ Name: ImageTextEx
+ Return type: Image
+ Description: Create an image from text (custom sprite font)
+ Param[1]: font (type: Font)
+ Param[2]: text (type: const char *)
+ Param[3]: fontSize (type: float)
+ Param[4]: spacing (type: float)
+ Param[5]: tint (type: Color)
+Function 252: ImageFormat() (2 input parameters)
+ Name: ImageFormat
+ Return type: void
+ Description: Convert image data to desired format
+ Param[1]: image (type: Image *)
+ Param[2]: newFormat (type: int)
+Function 253: ImageToPOT() (2 input parameters)
+ Name: ImageToPOT
+ Return type: void
+ Description: Convert image to POT (power-of-two)
+ Param[1]: image (type: Image *)
+ Param[2]: fill (type: Color)
+Function 254: ImageCrop() (2 input parameters)
+ Name: ImageCrop
+ Return type: void
+ Description: Crop an image to a defined rectangle
+ Param[1]: image (type: Image *)
+ Param[2]: crop (type: Rectangle)
+Function 255: ImageAlphaCrop() (2 input parameters)
+ Name: ImageAlphaCrop
+ Return type: void
+ Description: Crop image depending on alpha value
+ Param[1]: image (type: Image *)
+ Param[2]: threshold (type: float)
+Function 256: ImageAlphaClear() (3 input parameters)
+ Name: ImageAlphaClear
+ Return type: void
+ Description: Clear alpha channel to desired color
+ Param[1]: image (type: Image *)
+ Param[2]: color (type: Color)
+ Param[3]: threshold (type: float)
+Function 257: ImageAlphaMask() (2 input parameters)
+ Name: ImageAlphaMask
+ Return type: void
+ Description: Apply alpha mask to image
+ Param[1]: image (type: Image *)
+ Param[2]: alphaMask (type: Image)
+Function 258: ImageAlphaPremultiply() (1 input parameters)
+ Name: ImageAlphaPremultiply
+ Return type: void
+ Description: Premultiply alpha channel
+ Param[1]: image (type: Image *)
+Function 259: ImageResize() (3 input parameters)
+ Name: ImageResize
+ Return type: void
+ Description: Resize image (Bicubic scaling algorithm)
+ Param[1]: image (type: Image *)
+ Param[2]: newWidth (type: int)
+ Param[3]: newHeight (type: int)
+Function 260: ImageResizeNN() (3 input parameters)
+ Name: ImageResizeNN
+ Return type: void
+ Description: Resize image (Nearest-Neighbor scaling algorithm)
+ Param[1]: image (type: Image *)
+ Param[2]: newWidth (type: int)
+ Param[3]: newHeight (type: int)
+Function 261: ImageResizeCanvas() (6 input parameters)
+ Name: ImageResizeCanvas
+ Return type: void
+ Description: Resize canvas and fill with color
+ Param[1]: image (type: Image *)
+ Param[2]: newWidth (type: int)
+ Param[3]: newHeight (type: int)
+ Param[4]: offsetX (type: int)
+ Param[5]: offsetY (type: int)
+ Param[6]: fill (type: Color)
+Function 262: ImageMipmaps() (1 input parameters)
+ Name: ImageMipmaps
+ Return type: void
+ Description: Compute all mipmap levels for a provided image
+ Param[1]: image (type: Image *)
+Function 263: ImageDither() (5 input parameters)
+ Name: ImageDither
+ Return type: void
+ Description: Dither image data to 16bpp or lower (Floyd-Steinberg dithering)
+ Param[1]: image (type: Image *)
+ Param[2]: rBpp (type: int)
+ Param[3]: gBpp (type: int)
+ Param[4]: bBpp (type: int)
+ Param[5]: aBpp (type: int)
+Function 264: ImageFlipVertical() (1 input parameters)
+ Name: ImageFlipVertical
+ Return type: void
+ Description: Flip image vertically
+ Param[1]: image (type: Image *)
+Function 265: ImageFlipHorizontal() (1 input parameters)
+ Name: ImageFlipHorizontal
+ Return type: void
+ Description: Flip image horizontally
+ Param[1]: image (type: Image *)
+Function 266: ImageRotateCW() (1 input parameters)
+ Name: ImageRotateCW
+ Return type: void
+ Description: Rotate image clockwise 90deg
+ Param[1]: image (type: Image *)
+Function 267: ImageRotateCCW() (1 input parameters)
+ Name: ImageRotateCCW
+ Return type: void
+ Description: Rotate image counter-clockwise 90deg
+ Param[1]: image (type: Image *)
+Function 268: ImageColorTint() (2 input parameters)
+ Name: ImageColorTint
+ Return type: void
+ Description: Modify image color: tint
+ Param[1]: image (type: Image *)
+ Param[2]: color (type: Color)
+Function 269: ImageColorInvert() (1 input parameters)
+ Name: ImageColorInvert
+ Return type: void
+ Description: Modify image color: invert
+ Param[1]: image (type: Image *)
+Function 270: ImageColorGrayscale() (1 input parameters)
+ Name: ImageColorGrayscale
+ Return type: void
+ Description: Modify image color: grayscale
+ Param[1]: image (type: Image *)
+Function 271: ImageColorContrast() (2 input parameters)
+ Name: ImageColorContrast
+ Return type: void
+ Description: Modify image color: contrast (-100 to 100)
+ Param[1]: image (type: Image *)
+ Param[2]: contrast (type: float)
+Function 272: ImageColorBrightness() (2 input parameters)
+ Name: ImageColorBrightness
+ Return type: void
+ Description: Modify image color: brightness (-255 to 255)
+ Param[1]: image (type: Image *)
+ Param[2]: brightness (type: int)
+Function 273: ImageColorReplace() (3 input parameters)
+ Name: ImageColorReplace
+ Return type: void
+ Description: Modify image color: replace color
+ Param[1]: image (type: Image *)
+ Param[2]: color (type: Color)
+ Param[3]: replace (type: Color)
+Function 274: LoadImageColors() (1 input parameters)
+ Name: LoadImageColors
+ Return type: Color *
+ Description: Load color data from image as a Color array (RGBA - 32bit)
+ Param[1]: image (type: Image)
+Function 275: LoadImagePalette() (3 input parameters)
+ Name: LoadImagePalette
+ Return type: Color *
+ Description: Load colors palette from image as a Color array (RGBA - 32bit)
+ Param[1]: image (type: Image)
+ Param[2]: maxPaletteSize (type: int)
+ Param[3]: colorCount (type: int *)
+Function 276: UnloadImageColors() (1 input parameters)
+ Name: UnloadImageColors
+ Return type: void
+ Description: Unload color data loaded with LoadImageColors()
+ Param[1]: colors (type: Color *)
+Function 277: UnloadImagePalette() (1 input parameters)
+ Name: UnloadImagePalette
+ Return type: void
+ Description: Unload colors palette loaded with LoadImagePalette()
+ Param[1]: colors (type: Color *)
+Function 278: GetImageAlphaBorder() (2 input parameters)
+ Name: GetImageAlphaBorder
+ Return type: Rectangle
+ Description: Get image alpha border rectangle
+ Param[1]: image (type: Image)
+ Param[2]: threshold (type: float)
+Function 279: GetImageColor() (3 input parameters)
+ Name: GetImageColor
+ Return type: Color
+ Description: Get image pixel color at (x, y) position
+ Param[1]: image (type: Image)
+ Param[2]: x (type: int)
+ Param[3]: y (type: int)
+Function 280: ImageClearBackground() (2 input parameters)
+ Name: ImageClearBackground
+ Return type: void
+ Description: Clear image background with given color
+ Param[1]: dst (type: Image *)
+ Param[2]: color (type: Color)
+Function 281: ImageDrawPixel() (4 input parameters)
+ Name: ImageDrawPixel
+ Return type: void
+ Description: Draw pixel within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: posX (type: int)
+ Param[3]: posY (type: int)
+ Param[4]: color (type: Color)
+Function 282: ImageDrawPixelV() (3 input parameters)
+ Name: ImageDrawPixelV
+ Return type: void
+ Description: Draw pixel within an image (Vector version)
+ Param[1]: dst (type: Image *)
+ Param[2]: position (type: Vector2)
+ Param[3]: color (type: Color)
+Function 283: ImageDrawLine() (6 input parameters)
+ Name: ImageDrawLine
+ Return type: void
+ Description: Draw line within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: startPosX (type: int)
+ Param[3]: startPosY (type: int)
+ Param[4]: endPosX (type: int)
+ Param[5]: endPosY (type: int)
+ Param[6]: color (type: Color)
+Function 284: ImageDrawLineV() (4 input parameters)
+ Name: ImageDrawLineV
+ Return type: void
+ Description: Draw line within an image (Vector version)
+ Param[1]: dst (type: Image *)
+ Param[2]: start (type: Vector2)
+ Param[3]: end (type: Vector2)
+ Param[4]: color (type: Color)
+Function 285: ImageDrawCircle() (5 input parameters)
+ Name: ImageDrawCircle
+ Return type: void
+ Description: Draw circle within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: centerX (type: int)
+ Param[3]: centerY (type: int)
+ Param[4]: radius (type: int)
+ Param[5]: color (type: Color)
+Function 286: ImageDrawCircleV() (4 input parameters)
+ Name: ImageDrawCircleV
+ Return type: void
+ Description: Draw circle within an image (Vector version)
+ Param[1]: dst (type: Image *)
+ Param[2]: center (type: Vector2)
+ Param[3]: radius (type: int)
+ Param[4]: color (type: Color)
+Function 287: ImageDrawRectangle() (6 input parameters)
+ Name: ImageDrawRectangle
+ Return type: void
+ Description: Draw rectangle within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: posX (type: int)
+ Param[3]: posY (type: int)
+ Param[4]: width (type: int)
+ Param[5]: height (type: int)
+ Param[6]: color (type: Color)
+Function 288: ImageDrawRectangleV() (4 input parameters)
+ Name: ImageDrawRectangleV
+ Return type: void
+ Description: Draw rectangle within an image (Vector version)
+ Param[1]: dst (type: Image *)
+ Param[2]: position (type: Vector2)
+ Param[3]: size (type: Vector2)
+ Param[4]: color (type: Color)
+Function 289: ImageDrawRectangleRec() (3 input parameters)
+ Name: ImageDrawRectangleRec
+ Return type: void
+ Description: Draw rectangle within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: rec (type: Rectangle)
+ Param[3]: color (type: Color)
+Function 290: ImageDrawRectangleLines() (4 input parameters)
+ Name: ImageDrawRectangleLines
+ Return type: void
+ Description: Draw rectangle lines within an image
+ Param[1]: dst (type: Image *)
+ Param[2]: rec (type: Rectangle)
+ Param[3]: thick (type: int)
+ Param[4]: color (type: Color)
+Function 291: ImageDraw() (5 input parameters)
+ Name: ImageDraw
+ Return type: void
+ Description: Draw a source image within a destination image (tint applied to source)
+ Param[1]: dst (type: Image *)
+ Param[2]: src (type: Image)
+ Param[3]: srcRec (type: Rectangle)
+ Param[4]: dstRec (type: Rectangle)
+ Param[5]: tint (type: Color)
+Function 292: ImageDrawText() (6 input parameters)
+ Name: ImageDrawText
+ Return type: void
+ Description: Draw text (using default font) within an image (destination)
+ Param[1]: dst (type: Image *)
+ Param[2]: text (type: const char *)
+ Param[3]: posX (type: int)
+ Param[4]: posY (type: int)
+ Param[5]: fontSize (type: int)
+ Param[6]: color (type: Color)
+Function 293: ImageDrawTextEx() (7 input parameters)
+ Name: ImageDrawTextEx
+ Return type: void
+ Description: Draw text (custom sprite font) within an image (destination)
+ Param[1]: dst (type: Image *)
+ Param[2]: font (type: Font)
+ Param[3]: text (type: const char *)
+ Param[4]: position (type: Vector2)
+ Param[5]: fontSize (type: float)
+ Param[6]: spacing (type: float)
+ Param[7]: tint (type: Color)
+Function 294: LoadTexture() (1 input parameters)
+ Name: LoadTexture
+ Return type: Texture2D
+ Description: Load texture from file into GPU memory (VRAM)
+ Param[1]: fileName (type: const char *)
+Function 295: LoadTextureFromImage() (1 input parameters)
+ Name: LoadTextureFromImage
+ Return type: Texture2D
+ Description: Load texture from image data
+ Param[1]: image (type: Image)
+Function 296: LoadTextureCubemap() (2 input parameters)
+ Name: LoadTextureCubemap
+ Return type: TextureCubemap
+ Description: Load cubemap from image, multiple image cubemap layouts supported
+ Param[1]: image (type: Image)
+ Param[2]: layout (type: int)
+Function 297: LoadRenderTexture() (2 input parameters)
+ Name: LoadRenderTexture
+ Return type: RenderTexture2D
+ Description: Load texture for rendering (framebuffer)
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+Function 298: UnloadTexture() (1 input parameters)
+ Name: UnloadTexture
+ Return type: void
+ Description: Unload texture from GPU memory (VRAM)
+ Param[1]: texture (type: Texture2D)
+Function 299: UnloadRenderTexture() (1 input parameters)
+ Name: UnloadRenderTexture
+ Return type: void
+ Description: Unload render texture from GPU memory (VRAM)
+ Param[1]: target (type: RenderTexture2D)
+Function 300: UpdateTexture() (2 input parameters)
+ Name: UpdateTexture
+ Return type: void
+ Description: Update GPU texture with new data
+ Param[1]: texture (type: Texture2D)
+ Param[2]: pixels (type: const void *)
+Function 301: UpdateTextureRec() (3 input parameters)
+ Name: UpdateTextureRec
+ Return type: void
+ Description: Update GPU texture rectangle with new data
+ Param[1]: texture (type: Texture2D)
+ Param[2]: rec (type: Rectangle)
+ Param[3]: pixels (type: const void *)
+Function 302: GenTextureMipmaps() (1 input parameters)
+ Name: GenTextureMipmaps
+ Return type: void
+ Description: Generate GPU mipmaps for a texture
+ Param[1]: texture (type: Texture2D *)
+Function 303: SetTextureFilter() (2 input parameters)
+ Name: SetTextureFilter
+ Return type: void
+ Description: Set texture scaling filter mode
+ Param[1]: texture (type: Texture2D)
+ Param[2]: filter (type: int)
+Function 304: SetTextureWrap() (2 input parameters)
+ Name: SetTextureWrap
+ Return type: void
+ Description: Set texture wrapping mode
+ Param[1]: texture (type: Texture2D)
+ Param[2]: wrap (type: int)
+Function 305: DrawTexture() (4 input parameters)
+ Name: DrawTexture
+ Return type: void
+ Description: Draw a Texture2D
+ Param[1]: texture (type: Texture2D)
+ Param[2]: posX (type: int)
+ Param[3]: posY (type: int)
+ Param[4]: tint (type: Color)
+Function 306: DrawTextureV() (3 input parameters)
+ Name: DrawTextureV
+ Return type: void
+ Description: Draw a Texture2D with position defined as Vector2
+ Param[1]: texture (type: Texture2D)
+ Param[2]: position (type: Vector2)
+ Param[3]: tint (type: Color)
+Function 307: DrawTextureEx() (5 input parameters)
+ Name: DrawTextureEx
+ Return type: void
+ Description: Draw a Texture2D with extended parameters
+ Param[1]: texture (type: Texture2D)
+ Param[2]: position (type: Vector2)
+ Param[3]: rotation (type: float)
+ Param[4]: scale (type: float)
+ Param[5]: tint (type: Color)
+Function 308: DrawTextureRec() (4 input parameters)
+ Name: DrawTextureRec
+ Return type: void
+ Description: Draw a part of a texture defined by a rectangle
+ Param[1]: texture (type: Texture2D)
+ Param[2]: source (type: Rectangle)
+ Param[3]: position (type: Vector2)
+ Param[4]: tint (type: Color)
+Function 309: DrawTextureQuad() (5 input parameters)
+ Name: DrawTextureQuad
+ Return type: void
+ Description: Draw texture quad with tiling and offset parameters
+ Param[1]: texture (type: Texture2D)
+ Param[2]: tiling (type: Vector2)
+ Param[3]: offset (type: Vector2)
+ Param[4]: quad (type: Rectangle)
+ Param[5]: tint (type: Color)
+Function 310: DrawTextureTiled() (7 input parameters)
+ Name: DrawTextureTiled
+ Return type: void
+ Description: Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.
+ Param[1]: texture (type: Texture2D)
+ Param[2]: source (type: Rectangle)
+ Param[3]: dest (type: Rectangle)
+ Param[4]: origin (type: Vector2)
+ Param[5]: rotation (type: float)
+ Param[6]: scale (type: float)
+ Param[7]: tint (type: Color)
+Function 311: DrawTexturePro() (6 input parameters)
+ Name: DrawTexturePro
+ Return type: void
+ Description: Draw a part of a texture defined by a rectangle with 'pro' parameters
+ Param[1]: texture (type: Texture2D)
+ Param[2]: source (type: Rectangle)
+ Param[3]: dest (type: Rectangle)
+ Param[4]: origin (type: Vector2)
+ Param[5]: rotation (type: float)
+ Param[6]: tint (type: Color)
+Function 312: DrawTextureNPatch() (6 input parameters)
+ Name: DrawTextureNPatch
+ Return type: void
+ Description: Draws a texture (or part of it) that stretches or shrinks nicely
+ Param[1]: texture (type: Texture2D)
+ Param[2]: nPatchInfo (type: NPatchInfo)
+ Param[3]: dest (type: Rectangle)
+ Param[4]: origin (type: Vector2)
+ Param[5]: rotation (type: float)
+ Param[6]: tint (type: Color)
+Function 313: DrawTexturePoly() (6 input parameters)
+ Name: DrawTexturePoly
+ Return type: void
+ Description: Draw a textured polygon
+ Param[1]: texture (type: Texture2D)
+ Param[2]: center (type: Vector2)
+ Param[3]: points (type: Vector2 *)
+ Param[4]: texcoords (type: Vector2 *)
+ Param[5]: pointCount (type: int)
+ Param[6]: tint (type: Color)
+Function 314: Fade() (2 input parameters)
+ Name: Fade
+ Return type: Color
+ Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f
+ Param[1]: color (type: Color)
+ Param[2]: alpha (type: float)
+Function 315: ColorToInt() (1 input parameters)
+ Name: ColorToInt
+ Return type: int
+ Description: Get hexadecimal value for a Color
+ Param[1]: color (type: Color)
+Function 316: ColorNormalize() (1 input parameters)
+ Name: ColorNormalize
+ Return type: Vector4
+ Description: Get Color normalized as float [0..1]
+ Param[1]: color (type: Color)
+Function 317: ColorFromNormalized() (1 input parameters)
+ Name: ColorFromNormalized
+ Return type: Color
+ Description: Get Color from normalized values [0..1]
+ Param[1]: normalized (type: Vector4)
+Function 318: ColorToHSV() (1 input parameters)
+ Name: ColorToHSV
+ Return type: Vector3
+ Description: Get HSV values for a Color, hue [0..360], saturation/value [0..1]
+ Param[1]: color (type: Color)
+Function 319: ColorFromHSV() (3 input parameters)
+ Name: ColorFromHSV
+ Return type: Color
+ Description: Get a Color from HSV values, hue [0..360], saturation/value [0..1]
+ Param[1]: hue (type: float)
+ Param[2]: saturation (type: float)
+ Param[3]: value (type: float)
+Function 320: ColorAlpha() (2 input parameters)
+ Name: ColorAlpha
+ Return type: Color
+ Description: Get color with alpha applied, alpha goes from 0.0f to 1.0f
+ Param[1]: color (type: Color)
+ Param[2]: alpha (type: float)
+Function 321: ColorAlphaBlend() (3 input parameters)
+ Name: ColorAlphaBlend
+ Return type: Color
+ Description: Get src alpha-blended into dst color with tint
+ Param[1]: dst (type: Color)
+ Param[2]: src (type: Color)
+ Param[3]: tint (type: Color)
+Function 322: GetColor() (1 input parameters)
+ Name: GetColor
+ Return type: Color
+ Description: Get Color structure from hexadecimal value
+ Param[1]: hexValue (type: unsigned int)
+Function 323: GetPixelColor() (2 input parameters)
+ Name: GetPixelColor
+ Return type: Color
+ Description: Get Color from a source pixel pointer of certain format
+ Param[1]: srcPtr (type: void *)
+ Param[2]: format (type: int)
+Function 324: SetPixelColor() (3 input parameters)
+ Name: SetPixelColor
+ Return type: void
+ Description: Set color formatted into destination pixel pointer
+ Param[1]: dstPtr (type: void *)
+ Param[2]: color (type: Color)
+ Param[3]: format (type: int)
+Function 325: GetPixelDataSize() (3 input parameters)
+ Name: GetPixelDataSize
+ Return type: int
+ Description: Get pixel data size in bytes for certain format
+ Param[1]: width (type: int)
+ Param[2]: height (type: int)
+ Param[3]: format (type: int)
+Function 326: GetFontDefault() (0 input parameters)
+ Name: GetFontDefault
+ Return type: Font
+ Description: Get the default Font
+ No input parameters
+Function 327: LoadFont() (1 input parameters)
+ Name: LoadFont
+ Return type: Font
+ Description: Load font from file into GPU memory (VRAM)
+ Param[1]: fileName (type: const char *)
+Function 328: LoadFontEx() (4 input parameters)
+ Name: LoadFontEx
+ Return type: Font
+ Description: Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set
+ Param[1]: fileName (type: const char *)
+ Param[2]: fontSize (type: int)
+ Param[3]: fontChars (type: int *)
+ Param[4]: glyphCount (type: int)
+Function 329: LoadFontFromImage() (3 input parameters)
+ Name: LoadFontFromImage
+ Return type: Font
+ Description: Load font from Image (XNA style)
+ Param[1]: image (type: Image)
+ Param[2]: key (type: Color)
+ Param[3]: firstChar (type: int)
+Function 330: LoadFontFromMemory() (6 input parameters)
+ Name: LoadFontFromMemory
+ Return type: Font
+ Description: Load font from memory buffer, fileType refers to extension: i.e. '.ttf'
+ Param[1]: fileType (type: const char *)
+ Param[2]: fileData (type: const unsigned char *)
+ Param[3]: dataSize (type: int)
+ Param[4]: fontSize (type: int)
+ Param[5]: fontChars (type: int *)
+ Param[6]: glyphCount (type: int)
+Function 331: LoadFontData() (6 input parameters)
+ Name: LoadFontData
+ Return type: GlyphInfo *
+ Description: Load font data for further use
+ Param[1]: fileData (type: const unsigned char *)
+ Param[2]: dataSize (type: int)
+ Param[3]: fontSize (type: int)
+ Param[4]: fontChars (type: int *)
+ Param[5]: glyphCount (type: int)
+ Param[6]: type (type: int)
+Function 332: GenImageFontAtlas() (6 input parameters)
+ Name: GenImageFontAtlas
+ Return type: Image
+ Description: Generate image font atlas using chars info
+ Param[1]: chars (type: const GlyphInfo *)
+ Param[2]: recs (type: Rectangle **)
+ Param[3]: glyphCount (type: int)
+ Param[4]: fontSize (type: int)
+ Param[5]: padding (type: int)
+ Param[6]: packMethod (type: int)
+Function 333: UnloadFontData() (2 input parameters)
+ Name: UnloadFontData
+ Return type: void
+ Description: Unload font chars info data (RAM)
+ Param[1]: chars (type: GlyphInfo *)
+ Param[2]: glyphCount (type: int)
+Function 334: UnloadFont() (1 input parameters)
+ Name: UnloadFont
+ Return type: void
+ Description: Unload font from GPU memory (VRAM)
+ Param[1]: font (type: Font)
+Function 335: ExportFontAsCode() (2 input parameters)
+ Name: ExportFontAsCode
+ Return type: bool
+ Description: Export font as code file, returns true on success
+ Param[1]: font (type: Font)
+ Param[2]: fileName (type: const char *)
+Function 336: DrawFPS() (2 input parameters)
+ Name: DrawFPS
+ Return type: void
+ Description: Draw current FPS
+ Param[1]: posX (type: int)
+ Param[2]: posY (type: int)
+Function 337: DrawText() (5 input parameters)
+ Name: DrawText
+ Return type: void
+ Description: Draw text (using default font)
+ Param[1]: text (type: const char *)
+ Param[2]: posX (type: int)
+ Param[3]: posY (type: int)
+ Param[4]: fontSize (type: int)
+ Param[5]: color (type: Color)
+Function 338: DrawTextEx() (6 input parameters)
+ Name: DrawTextEx
+ Return type: void
+ Description: Draw text using font and additional parameters
+ Param[1]: font (type: Font)
+ Param[2]: text (type: const char *)
+ Param[3]: position (type: Vector2)
+ Param[4]: fontSize (type: float)
+ Param[5]: spacing (type: float)
+ Param[6]: tint (type: Color)
+Function 339: DrawTextPro() (8 input parameters)
+ Name: DrawTextPro
+ Return type: void
+ Description: Draw text using Font and pro parameters (rotation)
+ Param[1]: font (type: Font)
+ Param[2]: text (type: const char *)
+ Param[3]: position (type: Vector2)
+ Param[4]: origin (type: Vector2)
+ Param[5]: rotation (type: float)
+ Param[6]: fontSize (type: float)
+ Param[7]: spacing (type: float)
+ Param[8]: tint (type: Color)
+Function 340: DrawTextCodepoint() (5 input parameters)
+ Name: DrawTextCodepoint
+ Return type: void
+ Description: Draw one character (codepoint)
+ Param[1]: font (type: Font)
+ Param[2]: codepoint (type: int)
+ Param[3]: position (type: Vector2)
+ Param[4]: fontSize (type: float)
+ Param[5]: tint (type: Color)
+Function 341: DrawTextCodepoints() (7 input parameters)
+ Name: DrawTextCodepoints
+ Return type: void
+ Description: Draw multiple character (codepoint)
+ Param[1]: font (type: Font)
+ Param[2]: codepoints (type: const int *)
+ Param[3]: count (type: int)
+ Param[4]: position (type: Vector2)
+ Param[5]: fontSize (type: float)
+ Param[6]: spacing (type: float)
+ Param[7]: tint (type: Color)
+Function 342: MeasureText() (2 input parameters)
+ Name: MeasureText
+ Return type: int
+ Description: Measure string width for default font
+ Param[1]: text (type: const char *)
+ Param[2]: fontSize (type: int)
+Function 343: MeasureTextEx() (4 input parameters)
+ Name: MeasureTextEx
+ Return type: Vector2
+ Description: Measure string size for Font
+ Param[1]: font (type: Font)
+ Param[2]: text (type: const char *)
+ Param[3]: fontSize (type: float)
+ Param[4]: spacing (type: float)
+Function 344: GetGlyphIndex() (2 input parameters)
+ Name: GetGlyphIndex
+ Return type: int
+ Description: Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found
+ Param[1]: font (type: Font)
+ Param[2]: codepoint (type: int)
+Function 345: GetGlyphInfo() (2 input parameters)
+ Name: GetGlyphInfo
+ Return type: GlyphInfo
+ Description: Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found
+ Param[1]: font (type: Font)
+ Param[2]: codepoint (type: int)
+Function 346: GetGlyphAtlasRec() (2 input parameters)
+ Name: GetGlyphAtlasRec
+ Return type: Rectangle
+ Description: Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found
+ Param[1]: font (type: Font)
+ Param[2]: codepoint (type: int)
+Function 347: LoadCodepoints() (2 input parameters)
+ Name: LoadCodepoints
+ Return type: int *
+ Description: Load all codepoints from a UTF-8 text string, codepoints count returned by parameter
+ Param[1]: text (type: const char *)
+ Param[2]: count (type: int *)
+Function 348: UnloadCodepoints() (1 input parameters)
+ Name: UnloadCodepoints
+ Return type: void
+ Description: Unload codepoints data from memory
+ Param[1]: codepoints (type: int *)
+Function 349: GetCodepointCount() (1 input parameters)
+ Name: GetCodepointCount
+ Return type: int
+ Description: Get total number of codepoints in a UTF-8 encoded string
+ Param[1]: text (type: const char *)
+Function 350: GetCodepoint() (2 input parameters)
+ Name: GetCodepoint
+ Return type: int
+ Description: Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure
+ Param[1]: text (type: const char *)
+ Param[2]: bytesProcessed (type: int *)
+Function 351: CodepointToUTF8() (2 input parameters)
+ Name: CodepointToUTF8
+ Return type: const char *
+ Description: Encode one codepoint into UTF-8 byte array (array length returned as parameter)
+ Param[1]: codepoint (type: int)
+ Param[2]: byteSize (type: int *)
+Function 352: TextCodepointsToUTF8() (2 input parameters)
+ Name: TextCodepointsToUTF8
+ Return type: char *
+ Description: Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)
+ Param[1]: codepoints (type: const int *)
+ Param[2]: length (type: int)
+Function 353: TextCopy() (2 input parameters)
+ Name: TextCopy
+ Return type: int
+ Description: Copy one string to another, returns bytes copied
+ Param[1]: dst (type: char *)
+ Param[2]: src (type: const char *)
+Function 354: TextIsEqual() (2 input parameters)
+ Name: TextIsEqual
+ Return type: bool
+ Description: Check if two text string are equal
+ Param[1]: text1 (type: const char *)
+ Param[2]: text2 (type: const char *)
+Function 355: TextLength() (1 input parameters)
+ Name: TextLength
+ Return type: unsigned int
+ Description: Get text length, checks for '\0' ending
+ Param[1]: text (type: const char *)
+Function 356: TextFormat() (2 input parameters)
+ Name: TextFormat
+ Return type: const char *
+ Description: Text formatting with variables (sprintf() style)
+ Param[1]: text (type: const char *)
+ Param[2]: args (type: ...)
+Function 357: TextSubtext() (3 input parameters)
+ Name: TextSubtext
+ Return type: const char *
+ Description: Get a piece of a text string
+ Param[1]: text (type: const char *)
+ Param[2]: position (type: int)
+ Param[3]: length (type: int)
+Function 358: TextReplace() (3 input parameters)
+ Name: TextReplace
+ Return type: char *
+ Description: Replace text string (WARNING: memory must be freed!)
+ Param[1]: text (type: char *)
+ Param[2]: replace (type: const char *)
+ Param[3]: by (type: const char *)
+Function 359: TextInsert() (3 input parameters)
+ Name: TextInsert
+ Return type: char *
+ Description: Insert text in a position (WARNING: memory must be freed!)
+ Param[1]: text (type: const char *)
+ Param[2]: insert (type: const char *)
+ Param[3]: position (type: int)
+Function 360: TextJoin() (3 input parameters)
+ Name: TextJoin
+ Return type: const char *
+ Description: Join text strings with delimiter
+ Param[1]: textList (type: const char **)
+ Param[2]: count (type: int)
+ Param[3]: delimiter (type: const char *)
+Function 361: TextSplit() (3 input parameters)
+ Name: TextSplit
+ Return type: const char **
+ Description: Split text into multiple strings
+ Param[1]: text (type: const char *)
+ Param[2]: delimiter (type: char)
+ Param[3]: count (type: int *)
+Function 362: TextAppend() (3 input parameters)
+ Name: TextAppend
+ Return type: void
+ Description: Append text at specific position and move cursor!
+ Param[1]: text (type: char *)
+ Param[2]: append (type: const char *)
+ Param[3]: position (type: int *)
+Function 363: TextFindIndex() (2 input parameters)
+ Name: TextFindIndex
+ Return type: int
+ Description: Find first text occurrence within a string
+ Param[1]: text (type: const char *)
+ Param[2]: find (type: const char *)
+Function 364: TextToUpper() (1 input parameters)
+ Name: TextToUpper
+ Return type: const char *
+ Description: Get upper case version of provided string
+ Param[1]: text (type: const char *)
+Function 365: TextToLower() (1 input parameters)
+ Name: TextToLower
+ Return type: const char *
+ Description: Get lower case version of provided string
+ Param[1]: text (type: const char *)
+Function 366: TextToPascal() (1 input parameters)
+ Name: TextToPascal
+ Return type: const char *
+ Description: Get Pascal case notation version of provided string
+ Param[1]: text (type: const char *)
+Function 367: TextToInteger() (1 input parameters)
+ Name: TextToInteger
+ Return type: int
+ Description: Get integer value from text (negative values not supported)
+ Param[1]: text (type: const char *)
+Function 368: DrawLine3D() (3 input parameters)
+ Name: DrawLine3D
+ Return type: void
+ Description: Draw a line in 3D world space
+ Param[1]: startPos (type: Vector3)
+ Param[2]: endPos (type: Vector3)
+ Param[3]: color (type: Color)
+Function 369: DrawPoint3D() (2 input parameters)
+ Name: DrawPoint3D
+ Return type: void
+ Description: Draw a point in 3D space, actually a small line
+ Param[1]: position (type: Vector3)
+ Param[2]: color (type: Color)
+Function 370: DrawCircle3D() (5 input parameters)
+ Name: DrawCircle3D
+ Return type: void
+ Description: Draw a circle in 3D world space
+ Param[1]: center (type: Vector3)
+ Param[2]: radius (type: float)
+ Param[3]: rotationAxis (type: Vector3)
+ Param[4]: rotationAngle (type: float)
+ Param[5]: color (type: Color)
+Function 371: DrawTriangle3D() (4 input parameters)
+ Name: DrawTriangle3D
+ Return type: void
+ Description: Draw a color-filled triangle (vertex in counter-clockwise order!)
+ Param[1]: v1 (type: Vector3)
+ Param[2]: v2 (type: Vector3)
+ Param[3]: v3 (type: Vector3)
+ Param[4]: color (type: Color)
+Function 372: DrawTriangleStrip3D() (3 input parameters)
+ Name: DrawTriangleStrip3D
+ Return type: void
+ Description: Draw a triangle strip defined by points
+ Param[1]: points (type: Vector3 *)
+ Param[2]: pointCount (type: int)
+ Param[3]: color (type: Color)
+Function 373: DrawCube() (5 input parameters)
+ Name: DrawCube
+ Return type: void
+ Description: Draw cube
+ Param[1]: position (type: Vector3)
+ Param[2]: width (type: float)
+ Param[3]: height (type: float)
+ Param[4]: length (type: float)
+ Param[5]: color (type: Color)
+Function 374: DrawCubeV() (3 input parameters)
+ Name: DrawCubeV
+ Return type: void
+ Description: Draw cube (Vector version)
+ Param[1]: position (type: Vector3)
+ Param[2]: size (type: Vector3)
+ Param[3]: color (type: Color)
+Function 375: DrawCubeWires() (5 input parameters)
+ Name: DrawCubeWires
+ Return type: void
+ Description: Draw cube wires
+ Param[1]: position (type: Vector3)
+ Param[2]: width (type: float)
+ Param[3]: height (type: float)
+ Param[4]: length (type: float)
+ Param[5]: color (type: Color)
+Function 376: DrawCubeWiresV() (3 input parameters)
+ Name: DrawCubeWiresV
+ Return type: void
+ Description: Draw cube wires (Vector version)
+ Param[1]: position (type: Vector3)
+ Param[2]: size (type: Vector3)
+ Param[3]: color (type: Color)
+Function 377: DrawCubeTexture() (6 input parameters)
+ Name: DrawCubeTexture
+ Return type: void
+ Description: Draw cube textured
+ Param[1]: texture (type: Texture2D)
+ Param[2]: position (type: Vector3)
+ Param[3]: width (type: float)
+ Param[4]: height (type: float)
+ Param[5]: length (type: float)
+ Param[6]: color (type: Color)
+Function 378: DrawCubeTextureRec() (7 input parameters)
+ Name: DrawCubeTextureRec
+ Return type: void
+ Description: Draw cube with a region of a texture
+ Param[1]: texture (type: Texture2D)
+ Param[2]: source (type: Rectangle)
+ Param[3]: position (type: Vector3)
+ Param[4]: width (type: float)
+ Param[5]: height (type: float)
+ Param[6]: length (type: float)
+ Param[7]: color (type: Color)
+Function 379: DrawSphere() (3 input parameters)
+ Name: DrawSphere
+ Return type: void
+ Description: Draw sphere
+ Param[1]: centerPos (type: Vector3)
+ Param[2]: radius (type: float)
+ Param[3]: color (type: Color)
+Function 380: DrawSphereEx() (5 input parameters)
+ Name: DrawSphereEx
+ Return type: void
+ Description: Draw sphere with extended parameters
+ Param[1]: centerPos (type: Vector3)
+ Param[2]: radius (type: float)
+ Param[3]: rings (type: int)
+ Param[4]: slices (type: int)
+ Param[5]: color (type: Color)
+Function 381: DrawSphereWires() (5 input parameters)
+ Name: DrawSphereWires
+ Return type: void
+ Description: Draw sphere wires
+ Param[1]: centerPos (type: Vector3)
+ Param[2]: radius (type: float)
+ Param[3]: rings (type: int)
+ Param[4]: slices (type: int)
+ Param[5]: color (type: Color)
+Function 382: DrawCylinder() (6 input parameters)
+ Name: DrawCylinder
+ Return type: void
+ Description: Draw a cylinder/cone
+ Param[1]: position (type: Vector3)
+ Param[2]: radiusTop (type: float)
+ Param[3]: radiusBottom (type: float)
+ Param[4]: height (type: float)
+ Param[5]: slices (type: int)
+ Param[6]: color (type: Color)
+Function 383: DrawCylinderEx() (6 input parameters)
+ Name: DrawCylinderEx
+ Return type: void
+ Description: Draw a cylinder with base at startPos and top at endPos
+ Param[1]: startPos (type: Vector3)
+ Param[2]: endPos (type: Vector3)
+ Param[3]: startRadius (type: float)
+ Param[4]: endRadius (type: float)
+ Param[5]: sides (type: int)
+ Param[6]: color (type: Color)
+Function 384: DrawCylinderWires() (6 input parameters)
+ Name: DrawCylinderWires
+ Return type: void
+ Description: Draw a cylinder/cone wires
+ Param[1]: position (type: Vector3)
+ Param[2]: radiusTop (type: float)
+ Param[3]: radiusBottom (type: float)
+ Param[4]: height (type: float)
+ Param[5]: slices (type: int)
+ Param[6]: color (type: Color)
+Function 385: DrawCylinderWiresEx() (6 input parameters)
+ Name: DrawCylinderWiresEx
+ Return type: void
+ Description: Draw a cylinder wires with base at startPos and top at endPos
+ Param[1]: startPos (type: Vector3)
+ Param[2]: endPos (type: Vector3)
+ Param[3]: startRadius (type: float)
+ Param[4]: endRadius (type: float)
+ Param[5]: sides (type: int)
+ Param[6]: color (type: Color)
+Function 386: DrawPlane() (3 input parameters)
+ Name: DrawPlane
+ Return type: void
+ Description: Draw a plane XZ
+ Param[1]: centerPos (type: Vector3)
+ Param[2]: size (type: Vector2)
+ Param[3]: color (type: Color)
+Function 387: DrawRay() (2 input parameters)
+ Name: DrawRay
+ Return type: void
+ Description: Draw a ray line
+ Param[1]: ray (type: Ray)
+ Param[2]: color (type: Color)
+Function 388: DrawGrid() (2 input parameters)
+ Name: DrawGrid
+ Return type: void
+ Description: Draw a grid (centered at (0, 0, 0))
+ Param[1]: slices (type: int)
+ Param[2]: spacing (type: float)
+Function 389: LoadModel() (1 input parameters)
+ Name: LoadModel
+ Return type: Model
+ Description: Load model from files (meshes and materials)
+ Param[1]: fileName (type: const char *)
+Function 390: LoadModelFromMesh() (1 input parameters)
+ Name: LoadModelFromMesh
+ Return type: Model
+ Description: Load model from generated mesh (default material)
+ Param[1]: mesh (type: Mesh)
+Function 391: UnloadModel() (1 input parameters)
+ Name: UnloadModel
+ Return type: void
+ Description: Unload model (including meshes) from memory (RAM and/or VRAM)
+ Param[1]: model (type: Model)
+Function 392: UnloadModelKeepMeshes() (1 input parameters)
+ Name: UnloadModelKeepMeshes
+ Return type: void
+ Description: Unload model (but not meshes) from memory (RAM and/or VRAM)
+ Param[1]: model (type: Model)
+Function 393: GetModelBoundingBox() (1 input parameters)
+ Name: GetModelBoundingBox
+ Return type: BoundingBox
+ Description: Compute model bounding box limits (considers all meshes)
+ Param[1]: model (type: Model)
+Function 394: DrawModel() (4 input parameters)
+ Name: DrawModel
+ Return type: void
+ Description: Draw a model (with texture if set)
+ Param[1]: model (type: Model)
+ Param[2]: position (type: Vector3)
+ Param[3]: scale (type: float)
+ Param[4]: tint (type: Color)
+Function 395: DrawModelEx() (6 input parameters)
+ Name: DrawModelEx
+ Return type: void
+ Description: Draw a model with extended parameters
+ Param[1]: model (type: Model)
+ Param[2]: position (type: Vector3)
+ Param[3]: rotationAxis (type: Vector3)
+ Param[4]: rotationAngle (type: float)
+ Param[5]: scale (type: Vector3)
+ Param[6]: tint (type: Color)
+Function 396: DrawModelWires() (4 input parameters)
+ Name: DrawModelWires
+ Return type: void
+ Description: Draw a model wires (with texture if set)
+ Param[1]: model (type: Model)
+ Param[2]: position (type: Vector3)
+ Param[3]: scale (type: float)
+ Param[4]: tint (type: Color)
+Function 397: DrawModelWiresEx() (6 input parameters)
+ Name: DrawModelWiresEx
+ Return type: void
+ Description: Draw a model wires (with texture if set) with extended parameters
+ Param[1]: model (type: Model)
+ Param[2]: position (type: Vector3)
+ Param[3]: rotationAxis (type: Vector3)
+ Param[4]: rotationAngle (type: float)
+ Param[5]: scale (type: Vector3)
+ Param[6]: tint (type: Color)
+Function 398: DrawBoundingBox() (2 input parameters)
+ Name: DrawBoundingBox
+ Return type: void
+ Description: Draw bounding box (wires)
+ Param[1]: box (type: BoundingBox)
+ Param[2]: color (type: Color)
+Function 399: DrawBillboard() (5 input parameters)
+ Name: DrawBillboard
+ Return type: void
+ Description: Draw a billboard texture
+ Param[1]: camera (type: Camera)
+ Param[2]: texture (type: Texture2D)
+ Param[3]: position (type: Vector3)
+ Param[4]: size (type: float)
+ Param[5]: tint (type: Color)
+Function 400: DrawBillboardRec() (6 input parameters)
+ Name: DrawBillboardRec
+ Return type: void
+ Description: Draw a billboard texture defined by source
+ Param[1]: camera (type: Camera)
+ Param[2]: texture (type: Texture2D)
+ Param[3]: source (type: Rectangle)
+ Param[4]: position (type: Vector3)
+ Param[5]: size (type: Vector2)
+ Param[6]: tint (type: Color)
+Function 401: DrawBillboardPro() (9 input parameters)
+ Name: DrawBillboardPro
+ Return type: void
+ Description: Draw a billboard texture defined by source and rotation
+ Param[1]: camera (type: Camera)
+ Param[2]: texture (type: Texture2D)
+ Param[3]: source (type: Rectangle)
+ Param[4]: position (type: Vector3)
+ Param[5]: up (type: Vector3)
+ Param[6]: size (type: Vector2)
+ Param[7]: origin (type: Vector2)
+ Param[8]: rotation (type: float)
+ Param[9]: tint (type: Color)
+Function 402: UploadMesh() (2 input parameters)
+ Name: UploadMesh
+ Return type: void
+ Description: Upload mesh vertex data in GPU and provide VAO/VBO ids
+ Param[1]: mesh (type: Mesh *)
+ Param[2]: dynamic (type: bool)
+Function 403: UpdateMeshBuffer() (5 input parameters)
+ Name: UpdateMeshBuffer
+ Return type: void
+ Description: Update mesh vertex data in GPU for a specific buffer index
+ Param[1]: mesh (type: Mesh)
+ Param[2]: index (type: int)
+ Param[3]: data (type: const void *)
+ Param[4]: dataSize (type: int)
+ Param[5]: offset (type: int)
+Function 404: UnloadMesh() (1 input parameters)
+ Name: UnloadMesh
+ Return type: void
+ Description: Unload mesh data from CPU and GPU
+ Param[1]: mesh (type: Mesh)
+Function 405: DrawMesh() (3 input parameters)
+ Name: DrawMesh
+ Return type: void
+ Description: Draw a 3d mesh with material and transform
+ Param[1]: mesh (type: Mesh)
+ Param[2]: material (type: Material)
+ Param[3]: transform (type: Matrix)
+Function 406: DrawMeshInstanced() (4 input parameters)
+ Name: DrawMeshInstanced
+ Return type: void
+ Description: Draw multiple mesh instances with material and different transforms
+ Param[1]: mesh (type: Mesh)
+ Param[2]: material (type: Material)
+ Param[3]: transforms (type: const Matrix *)
+ Param[4]: instances (type: int)
+Function 407: ExportMesh() (2 input parameters)
+ Name: ExportMesh
+ Return type: bool
+ Description: Export mesh data to file, returns true on success
+ Param[1]: mesh (type: Mesh)
+ Param[2]: fileName (type: const char *)
+Function 408: GetMeshBoundingBox() (1 input parameters)
+ Name: GetMeshBoundingBox
+ Return type: BoundingBox
+ Description: Compute mesh bounding box limits
+ Param[1]: mesh (type: Mesh)
+Function 409: GenMeshTangents() (1 input parameters)
+ Name: GenMeshTangents
+ Return type: void
+ Description: Compute mesh tangents
+ Param[1]: mesh (type: Mesh *)
+Function 410: GenMeshBinormals() (1 input parameters)
+ Name: GenMeshBinormals
+ Return type: void
+ Description: Compute mesh binormals
+ Param[1]: mesh (type: Mesh *)
+Function 411: GenMeshPoly() (2 input parameters)
+ Name: GenMeshPoly
+ Return type: Mesh
+ Description: Generate polygonal mesh
+ Param[1]: sides (type: int)
+ Param[2]: radius (type: float)
+Function 412: GenMeshPlane() (4 input parameters)
+ Name: GenMeshPlane
+ Return type: Mesh
+ Description: Generate plane mesh (with subdivisions)
+ Param[1]: width (type: float)
+ Param[2]: length (type: float)
+ Param[3]: resX (type: int)
+ Param[4]: resZ (type: int)
+Function 413: GenMeshCube() (3 input parameters)
+ Name: GenMeshCube
+ Return type: Mesh
+ Description: Generate cuboid mesh
+ Param[1]: width (type: float)
+ Param[2]: height (type: float)
+ Param[3]: length (type: float)
+Function 414: GenMeshSphere() (3 input parameters)
+ Name: GenMeshSphere
+ Return type: Mesh
+ Description: Generate sphere mesh (standard sphere)
+ Param[1]: radius (type: float)
+ Param[2]: rings (type: int)
+ Param[3]: slices (type: int)
+Function 415: GenMeshHemiSphere() (3 input parameters)
+ Name: GenMeshHemiSphere
+ Return type: Mesh
+ Description: Generate half-sphere mesh (no bottom cap)
+ Param[1]: radius (type: float)
+ Param[2]: rings (type: int)
+ Param[3]: slices (type: int)
+Function 416: GenMeshCylinder() (3 input parameters)
+ Name: GenMeshCylinder
+ Return type: Mesh
+ Description: Generate cylinder mesh
+ Param[1]: radius (type: float)
+ Param[2]: height (type: float)
+ Param[3]: slices (type: int)
+Function 417: GenMeshCone() (3 input parameters)
+ Name: GenMeshCone
+ Return type: Mesh
+ Description: Generate cone/pyramid mesh
+ Param[1]: radius (type: float)
+ Param[2]: height (type: float)
+ Param[3]: slices (type: int)
+Function 418: GenMeshTorus() (4 input parameters)
+ Name: GenMeshTorus
+ Return type: Mesh
+ Description: Generate torus mesh
+ Param[1]: radius (type: float)
+ Param[2]: size (type: float)
+ Param[3]: radSeg (type: int)
+ Param[4]: sides (type: int)
+Function 419: GenMeshKnot() (4 input parameters)
+ Name: GenMeshKnot
+ Return type: Mesh
+ Description: Generate trefoil knot mesh
+ Param[1]: radius (type: float)
+ Param[2]: size (type: float)
+ Param[3]: radSeg (type: int)
+ Param[4]: sides (type: int)
+Function 420: GenMeshHeightmap() (2 input parameters)
+ Name: GenMeshHeightmap
+ Return type: Mesh
+ Description: Generate heightmap mesh from image data
+ Param[1]: heightmap (type: Image)
+ Param[2]: size (type: Vector3)
+Function 421: GenMeshCubicmap() (2 input parameters)
+ Name: GenMeshCubicmap
+ Return type: Mesh
+ Description: Generate cubes-based map mesh from image data
+ Param[1]: cubicmap (type: Image)
+ Param[2]: cubeSize (type: Vector3)
+Function 422: LoadMaterials() (2 input parameters)
+ Name: LoadMaterials
+ Return type: Material *
+ Description: Load materials from model file
+ Param[1]: fileName (type: const char *)
+ Param[2]: materialCount (type: int *)
+Function 423: LoadMaterialDefault() (0 input parameters)
+ Name: LoadMaterialDefault
+ Return type: Material
+ Description: Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)
+ No input parameters
+Function 424: UnloadMaterial() (1 input parameters)
+ Name: UnloadMaterial
+ Return type: void
+ Description: Unload material from GPU memory (VRAM)
+ Param[1]: material (type: Material)
+Function 425: SetMaterialTexture() (3 input parameters)
+ Name: SetMaterialTexture
+ Return type: void
+ Description: Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)
+ Param[1]: material (type: Material *)
+ Param[2]: mapType (type: int)
+ Param[3]: texture (type: Texture2D)
+Function 426: SetModelMeshMaterial() (3 input parameters)
+ Name: SetModelMeshMaterial
+ Return type: void
+ Description: Set material for a mesh
+ Param[1]: model (type: Model *)
+ Param[2]: meshId (type: int)
+ Param[3]: materialId (type: int)
+Function 427: LoadModelAnimations() (2 input parameters)
+ Name: LoadModelAnimations
+ Return type: ModelAnimation *
+ Description: Load model animations from file
+ Param[1]: fileName (type: const char *)
+ Param[2]: animCount (type: unsigned int *)
+Function 428: UpdateModelAnimation() (3 input parameters)
+ Name: UpdateModelAnimation
+ Return type: void
+ Description: Update model animation pose
+ Param[1]: model (type: Model)
+ Param[2]: anim (type: ModelAnimation)
+ Param[3]: frame (type: int)
+Function 429: UnloadModelAnimation() (1 input parameters)
+ Name: UnloadModelAnimation
+ Return type: void
+ Description: Unload animation data
+ Param[1]: anim (type: ModelAnimation)
+Function 430: UnloadModelAnimations() (2 input parameters)
+ Name: UnloadModelAnimations
+ Return type: void
+ Description: Unload animation array data
+ Param[1]: animations (type: ModelAnimation *)
+ Param[2]: count (type: unsigned int)
+Function 431: IsModelAnimationValid() (2 input parameters)
+ Name: IsModelAnimationValid
+ Return type: bool
+ Description: Check model animation skeleton match
+ Param[1]: model (type: Model)
+ Param[2]: anim (type: ModelAnimation)
+Function 432: CheckCollisionSpheres() (4 input parameters)
+ Name: CheckCollisionSpheres
+ Return type: bool
+ Description: Check collision between two spheres
+ Param[1]: center1 (type: Vector3)
+ Param[2]: radius1 (type: float)
+ Param[3]: center2 (type: Vector3)
+ Param[4]: radius2 (type: float)
+Function 433: CheckCollisionBoxes() (2 input parameters)
+ Name: CheckCollisionBoxes
+ Return type: bool
+ Description: Check collision between two bounding boxes
+ Param[1]: box1 (type: BoundingBox)
+ Param[2]: box2 (type: BoundingBox)
+Function 434: CheckCollisionBoxSphere() (3 input parameters)
+ Name: CheckCollisionBoxSphere
+ Return type: bool
+ Description: Check collision between box and sphere
+ Param[1]: box (type: BoundingBox)
+ Param[2]: center (type: Vector3)
+ Param[3]: radius (type: float)
+Function 435: GetRayCollisionSphere() (3 input parameters)
+ Name: GetRayCollisionSphere
+ Return type: RayCollision
+ Description: Get collision info between ray and sphere
+ Param[1]: ray (type: Ray)
+ Param[2]: center (type: Vector3)
+ Param[3]: radius (type: float)
+Function 436: GetRayCollisionBox() (2 input parameters)
+ Name: GetRayCollisionBox
+ Return type: RayCollision
+ Description: Get collision info between ray and box
+ Param[1]: ray (type: Ray)
+ Param[2]: box (type: BoundingBox)
+Function 437: GetRayCollisionModel() (2 input parameters)
+ Name: GetRayCollisionModel
+ Return type: RayCollision
+ Description: Get collision info between ray and model
+ Param[1]: ray (type: Ray)
+ Param[2]: model (type: Model)
+Function 438: GetRayCollisionMesh() (3 input parameters)
+ Name: GetRayCollisionMesh
+ Return type: RayCollision
+ Description: Get collision info between ray and mesh
+ Param[1]: ray (type: Ray)
+ Param[2]: mesh (type: Mesh)
+ Param[3]: transform (type: Matrix)
+Function 439: GetRayCollisionTriangle() (4 input parameters)
+ Name: GetRayCollisionTriangle
+ Return type: RayCollision
+ Description: Get collision info between ray and triangle
+ Param[1]: ray (type: Ray)
+ Param[2]: p1 (type: Vector3)
+ Param[3]: p2 (type: Vector3)
+ Param[4]: p3 (type: Vector3)
+Function 440: GetRayCollisionQuad() (5 input parameters)
+ Name: GetRayCollisionQuad
+ Return type: RayCollision
+ Description: Get collision info between ray and quad
+ Param[1]: ray (type: Ray)
+ Param[2]: p1 (type: Vector3)
+ Param[3]: p2 (type: Vector3)
+ Param[4]: p3 (type: Vector3)
+ Param[5]: p4 (type: Vector3)
+Function 441: InitAudioDevice() (0 input parameters)
+ Name: InitAudioDevice
+ Return type: void
+ Description: Initialize audio device and context
+ No input parameters
+Function 442: CloseAudioDevice() (0 input parameters)
+ Name: CloseAudioDevice
+ Return type: void
+ Description: Close the audio device and context
+ No input parameters
+Function 443: IsAudioDeviceReady() (0 input parameters)
+ Name: IsAudioDeviceReady
+ Return type: bool
+ Description: Check if audio device has been initialized successfully
+ No input parameters
+Function 444: SetMasterVolume() (1 input parameters)
+ Name: SetMasterVolume
+ Return type: void
+ Description: Set master volume (listener)
+ Param[1]: volume (type: float)
+Function 445: LoadWave() (1 input parameters)
+ Name: LoadWave
+ Return type: Wave
+ Description: Load wave data from file
+ Param[1]: fileName (type: const char *)
+Function 446: LoadWaveFromMemory() (3 input parameters)
+ Name: LoadWaveFromMemory
+ Return type: Wave
+ Description: Load wave from memory buffer, fileType refers to extension: i.e. '.wav'
+ Param[1]: fileType (type: const char *)
+ Param[2]: fileData (type: const unsigned char *)
+ Param[3]: dataSize (type: int)
+Function 447: LoadSound() (1 input parameters)
+ Name: LoadSound
+ Return type: Sound
+ Description: Load sound from file
+ Param[1]: fileName (type: const char *)
+Function 448: LoadSoundFromWave() (1 input parameters)
+ Name: LoadSoundFromWave
+ Return type: Sound
+ Description: Load sound from wave data
+ Param[1]: wave (type: Wave)
+Function 449: UpdateSound() (3 input parameters)
+ Name: UpdateSound
+ Return type: void
+ Description: Update sound buffer with new data
+ Param[1]: sound (type: Sound)
+ Param[2]: data (type: const void *)
+ Param[3]: sampleCount (type: int)
+Function 450: UnloadWave() (1 input parameters)
+ Name: UnloadWave
+ Return type: void
+ Description: Unload wave data
+ Param[1]: wave (type: Wave)
+Function 451: UnloadSound() (1 input parameters)
+ Name: UnloadSound
+ Return type: void
+ Description: Unload sound
+ Param[1]: sound (type: Sound)
+Function 452: ExportWave() (2 input parameters)
+ Name: ExportWave
+ Return type: bool
+ Description: Export wave data to file, returns true on success
+ Param[1]: wave (type: Wave)
+ Param[2]: fileName (type: const char *)
+Function 453: ExportWaveAsCode() (2 input parameters)
+ Name: ExportWaveAsCode
+ Return type: bool
+ Description: Export wave sample data to code (.h), returns true on success
+ Param[1]: wave (type: Wave)
+ Param[2]: fileName (type: const char *)
+Function 454: PlaySound() (1 input parameters)
+ Name: PlaySound
+ Return type: void
+ Description: Play a sound
+ Param[1]: sound (type: Sound)
+Function 455: StopSound() (1 input parameters)
+ Name: StopSound
+ Return type: void
+ Description: Stop playing a sound
+ Param[1]: sound (type: Sound)
+Function 456: PauseSound() (1 input parameters)
+ Name: PauseSound
+ Return type: void
+ Description: Pause a sound
+ Param[1]: sound (type: Sound)
+Function 457: ResumeSound() (1 input parameters)
+ Name: ResumeSound
+ Return type: void
+ Description: Resume a paused sound
+ Param[1]: sound (type: Sound)
+Function 458: PlaySoundMulti() (1 input parameters)
+ Name: PlaySoundMulti
+ Return type: void
+ Description: Play a sound (using multichannel buffer pool)
+ Param[1]: sound (type: Sound)
+Function 459: StopSoundMulti() (0 input parameters)
+ Name: StopSoundMulti
+ Return type: void
+ Description: Stop any sound playing (using multichannel buffer pool)
+ No input parameters
+Function 460: GetSoundsPlaying() (0 input parameters)
+ Name: GetSoundsPlaying
+ Return type: int
+ Description: Get number of sounds playing in the multichannel
+ No input parameters
+Function 461: IsSoundPlaying() (1 input parameters)
+ Name: IsSoundPlaying
+ Return type: bool
+ Description: Check if a sound is currently playing
+ Param[1]: sound (type: Sound)
+Function 462: SetSoundVolume() (2 input parameters)
+ Name: SetSoundVolume
+ Return type: void
+ Description: Set volume for a sound (1.0 is max level)
+ Param[1]: sound (type: Sound)
+ Param[2]: volume (type: float)
+Function 463: SetSoundPitch() (2 input parameters)
+ Name: SetSoundPitch
+ Return type: void
+ Description: Set pitch for a sound (1.0 is base level)
+ Param[1]: sound (type: Sound)
+ Param[2]: pitch (type: float)
+Function 464: SetSoundPan() (2 input parameters)
+ Name: SetSoundPan
+ Return type: void
+ Description: Set pan for a sound (0.5 is center)
+ Param[1]: sound (type: Sound)
+ Param[2]: pan (type: float)
+Function 465: WaveCopy() (1 input parameters)
+ Name: WaveCopy
+ Return type: Wave
+ Description: Copy a wave to a new wave
+ Param[1]: wave (type: Wave)
+Function 466: WaveCrop() (3 input parameters)
+ Name: WaveCrop
+ Return type: void
+ Description: Crop a wave to defined samples range
+ Param[1]: wave (type: Wave *)
+ Param[2]: initSample (type: int)
+ Param[3]: finalSample (type: int)
+Function 467: WaveFormat() (4 input parameters)
+ Name: WaveFormat
+ Return type: void
+ Description: Convert wave data to desired format
+ Param[1]: wave (type: Wave *)
+ Param[2]: sampleRate (type: int)
+ Param[3]: sampleSize (type: int)
+ Param[4]: channels (type: int)
+Function 468: LoadWaveSamples() (1 input parameters)
+ Name: LoadWaveSamples
+ Return type: float *
+ Description: Load samples data from wave as a 32bit float data array
+ Param[1]: wave (type: Wave)
+Function 469: UnloadWaveSamples() (1 input parameters)
+ Name: UnloadWaveSamples
+ Return type: void
+ Description: Unload samples data loaded with LoadWaveSamples()
+ Param[1]: samples (type: float *)
+Function 470: LoadMusicStream() (1 input parameters)
+ Name: LoadMusicStream
+ Return type: Music
+ Description: Load music stream from file
+ Param[1]: fileName (type: const char *)
+Function 471: LoadMusicStreamFromMemory() (3 input parameters)
+ Name: LoadMusicStreamFromMemory
+ Return type: Music
+ Description: Load music stream from data
+ Param[1]: fileType (type: const char *)
+ Param[2]: data (type: const unsigned char *)
+ Param[3]: dataSize (type: int)
+Function 472: UnloadMusicStream() (1 input parameters)
+ Name: UnloadMusicStream
+ Return type: void
+ Description: Unload music stream
+ Param[1]: music (type: Music)
+Function 473: PlayMusicStream() (1 input parameters)
+ Name: PlayMusicStream
+ Return type: void
+ Description: Start music playing
+ Param[1]: music (type: Music)
+Function 474: IsMusicStreamPlaying() (1 input parameters)
+ Name: IsMusicStreamPlaying
+ Return type: bool
+ Description: Check if music is playing
+ Param[1]: music (type: Music)
+Function 475: UpdateMusicStream() (1 input parameters)
+ Name: UpdateMusicStream
+ Return type: void
+ Description: Updates buffers for music streaming
+ Param[1]: music (type: Music)
+Function 476: StopMusicStream() (1 input parameters)
+ Name: StopMusicStream
+ Return type: void
+ Description: Stop music playing
+ Param[1]: music (type: Music)
+Function 477: PauseMusicStream() (1 input parameters)
+ Name: PauseMusicStream
+ Return type: void
+ Description: Pause music playing
+ Param[1]: music (type: Music)
+Function 478: ResumeMusicStream() (1 input parameters)
+ Name: ResumeMusicStream
+ Return type: void
+ Description: Resume playing paused music
+ Param[1]: music (type: Music)
+Function 479: SeekMusicStream() (2 input parameters)
+ Name: SeekMusicStream
+ Return type: void
+ Description: Seek music to a position (in seconds)
+ Param[1]: music (type: Music)
+ Param[2]: position (type: float)
+Function 480: SetMusicVolume() (2 input parameters)
+ Name: SetMusicVolume
+ Return type: void
+ Description: Set volume for music (1.0 is max level)
+ Param[1]: music (type: Music)
+ Param[2]: volume (type: float)
+Function 481: SetMusicPitch() (2 input parameters)
+ Name: SetMusicPitch
+ Return type: void
+ Description: Set pitch for a music (1.0 is base level)
+ Param[1]: music (type: Music)
+ Param[2]: pitch (type: float)
+Function 482: SetMusicPan() (2 input parameters)
+ Name: SetMusicPan
+ Return type: void
+ Description: Set pan for a music (0.5 is center)
+ Param[1]: music (type: Music)
+ Param[2]: pan (type: float)
+Function 483: GetMusicTimeLength() (1 input parameters)
+ Name: GetMusicTimeLength
+ Return type: float
+ Description: Get music time length (in seconds)
+ Param[1]: music (type: Music)
+Function 484: GetMusicTimePlayed() (1 input parameters)
+ Name: GetMusicTimePlayed
+ Return type: float
+ Description: Get current music time played (in seconds)
+ Param[1]: music (type: Music)
+Function 485: LoadAudioStream() (3 input parameters)
+ Name: LoadAudioStream
+ Return type: AudioStream
+ Description: Load audio stream (to stream raw audio pcm data)
+ Param[1]: sampleRate (type: unsigned int)
+ Param[2]: sampleSize (type: unsigned int)
+ Param[3]: channels (type: unsigned int)
+Function 486: UnloadAudioStream() (1 input parameters)
+ Name: UnloadAudioStream
+ Return type: void
+ Description: Unload audio stream and free memory
+ Param[1]: stream (type: AudioStream)
+Function 487: UpdateAudioStream() (3 input parameters)
+ Name: UpdateAudioStream
+ Return type: void
+ Description: Update audio stream buffers with data
+ Param[1]: stream (type: AudioStream)
+ Param[2]: data (type: const void *)
+ Param[3]: frameCount (type: int)
+Function 488: IsAudioStreamProcessed() (1 input parameters)
+ Name: IsAudioStreamProcessed
+ Return type: bool
+ Description: Check if any audio stream buffers requires refill
+ Param[1]: stream (type: AudioStream)
+Function 489: PlayAudioStream() (1 input parameters)
+ Name: PlayAudioStream
+ Return type: void
+ Description: Play audio stream
+ Param[1]: stream (type: AudioStream)
+Function 490: PauseAudioStream() (1 input parameters)
+ Name: PauseAudioStream
+ Return type: void
+ Description: Pause audio stream
+ Param[1]: stream (type: AudioStream)
+Function 491: ResumeAudioStream() (1 input parameters)
+ Name: ResumeAudioStream
+ Return type: void
+ Description: Resume audio stream
+ Param[1]: stream (type: AudioStream)
+Function 492: IsAudioStreamPlaying() (1 input parameters)
+ Name: IsAudioStreamPlaying
+ Return type: bool
+ Description: Check if audio stream is playing
+ Param[1]: stream (type: AudioStream)
+Function 493: StopAudioStream() (1 input parameters)
+ Name: StopAudioStream
+ Return type: void
+ Description: Stop audio stream
+ Param[1]: stream (type: AudioStream)
+Function 494: SetAudioStreamVolume() (2 input parameters)
+ Name: SetAudioStreamVolume
+ Return type: void
+ Description: Set volume for audio stream (1.0 is max level)
+ Param[1]: stream (type: AudioStream)
+ Param[2]: volume (type: float)
+Function 495: SetAudioStreamPitch() (2 input parameters)
+ Name: SetAudioStreamPitch
+ Return type: void
+ Description: Set pitch for audio stream (1.0 is base level)
+ Param[1]: stream (type: AudioStream)
+ Param[2]: pitch (type: float)
+Function 496: SetAudioStreamPan() (2 input parameters)
+ Name: SetAudioStreamPan
+ Return type: void
+ Description: Set pan for audio stream (0.5 is centered)
+ Param[1]: stream (type: AudioStream)
+ Param[2]: pan (type: float)
+Function 497: SetAudioStreamBufferSizeDefault() (1 input parameters)
+ Name: SetAudioStreamBufferSizeDefault
+ Return type: void
+ Description: Default size for new audio streams
+ Param[1]: size (type: int)
+
+Defines found: 52
+
+Define 001: RAYLIB_H
+ Name: RAYLIB_H
+ Type: GUARD
+ Value:
+ Description:
+Define 002: RAYLIB_VERSION
+ Name: RAYLIB_VERSION
+ Type: STRING
+ Value: "4.1-dev"
+ Description:
+Define 003: RLAPI
+ Name: RLAPI
+ Type: UNKNOWN
+ Value: __declspec(dllexport)
+ Description: We are building the library as a Win32 shared library (.dll)
+Define 004: PI
+ Name: PI
+ Type: FLOAT
+ Value: 3.14159265358979323846
+ Description:
+Define 005: DEG2RAD
+ Name: DEG2RAD
+ Type: UNKNOWN
+ Value: (PI/180.0f)
+ Description:
+Define 006: RAD2DEG
+ Name: RAD2DEG
+ Type: UNKNOWN
+ Value: (180.0f/PI)
+ Description:
+Define 007: RL_MALLOC(sz)
+ Name: RL_MALLOC(sz)
+ Type: MACRO
+ Value: malloc(sz)
+ Description:
+Define 008: RL_CALLOC(n,sz)
+ Name: RL_CALLOC(n,sz)
+ Type: MACRO
+ Value: calloc(n,sz)
+ Description:
+Define 009: RL_REALLOC(ptr,sz)
+ Name: RL_REALLOC(ptr,sz)
+ Type: MACRO
+ Value: realloc(ptr,sz)
+ Description:
+Define 010: RL_FREE(ptr)
+ Name: RL_FREE(ptr)
+ Type: MACRO
+ Value: free(ptr)
+ Description:
+Define 011: CLITERAL(type)
+ Name: CLITERAL(type)
+ Type: MACRO
+ Value: type
+ Description:
+Define 012: RL_COLOR_TYPE
+ Name: RL_COLOR_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 013: RL_RECTANGLE_TYPE
+ Name: RL_RECTANGLE_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 014: RL_VECTOR2_TYPE
+ Name: RL_VECTOR2_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 015: RL_VECTOR3_TYPE
+ Name: RL_VECTOR3_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 016: RL_VECTOR4_TYPE
+ Name: RL_VECTOR4_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 017: RL_QUATERNION_TYPE
+ Name: RL_QUATERNION_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 018: RL_MATRIX_TYPE
+ Name: RL_MATRIX_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 019: LIGHTGRAY
+ Name: LIGHTGRAY
+ Type: COLOR
+ Value: CLITERAL(Color){ 200, 200, 200, 255 }
+ Description: Light Gray
+Define 020: GRAY
+ Name: GRAY
+ Type: COLOR
+ Value: CLITERAL(Color){ 130, 130, 130, 255 }
+ Description: Gray
+Define 021: DARKGRAY
+ Name: DARKGRAY
+ Type: COLOR
+ Value: CLITERAL(Color){ 80, 80, 80, 255 }
+ Description: Dark Gray
+Define 022: YELLOW
+ Name: YELLOW
+ Type: COLOR
+ Value: CLITERAL(Color){ 253, 249, 0, 255 }
+ Description: Yellow
+Define 023: GOLD
+ Name: GOLD
+ Type: COLOR
+ Value: CLITERAL(Color){ 255, 203, 0, 255 }
+ Description: Gold
+Define 024: ORANGE
+ Name: ORANGE
+ Type: COLOR
+ Value: CLITERAL(Color){ 255, 161, 0, 255 }
+ Description: Orange
+Define 025: PINK
+ Name: PINK
+ Type: COLOR
+ Value: CLITERAL(Color){ 255, 109, 194, 255 }
+ Description: Pink
+Define 026: RED
+ Name: RED
+ Type: COLOR
+ Value: CLITERAL(Color){ 230, 41, 55, 255 }
+ Description: Red
+Define 027: MAROON
+ Name: MAROON
+ Type: COLOR
+ Value: CLITERAL(Color){ 190, 33, 55, 255 }
+ Description: Maroon
+Define 028: GREEN
+ Name: GREEN
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 228, 48, 255 }
+ Description: Green
+Define 029: LIME
+ Name: LIME
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 158, 47, 255 }
+ Description: Lime
+Define 030: DARKGREEN
+ Name: DARKGREEN
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 117, 44, 255 }
+ Description: Dark Green
+Define 031: SKYBLUE
+ Name: SKYBLUE
+ Type: COLOR
+ Value: CLITERAL(Color){ 102, 191, 255, 255 }
+ Description: Sky Blue
+Define 032: BLUE
+ Name: BLUE
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 121, 241, 255 }
+ Description: Blue
+Define 033: DARKBLUE
+ Name: DARKBLUE
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 82, 172, 255 }
+ Description: Dark Blue
+Define 034: PURPLE
+ Name: PURPLE
+ Type: COLOR
+ Value: CLITERAL(Color){ 200, 122, 255, 255 }
+ Description: Purple
+Define 035: VIOLET
+ Name: VIOLET
+ Type: COLOR
+ Value: CLITERAL(Color){ 135, 60, 190, 255 }
+ Description: Violet
+Define 036: DARKPURPLE
+ Name: DARKPURPLE
+ Type: COLOR
+ Value: CLITERAL(Color){ 112, 31, 126, 255 }
+ Description: Dark Purple
+Define 037: BEIGE
+ Name: BEIGE
+ Type: COLOR
+ Value: CLITERAL(Color){ 211, 176, 131, 255 }
+ Description: Beige
+Define 038: BROWN
+ Name: BROWN
+ Type: COLOR
+ Value: CLITERAL(Color){ 127, 106, 79, 255 }
+ Description: Brown
+Define 039: DARKBROWN
+ Name: DARKBROWN
+ Type: COLOR
+ Value: CLITERAL(Color){ 76, 63, 47, 255 }
+ Description: Dark Brown
+Define 040: WHITE
+ Name: WHITE
+ Type: COLOR
+ Value: CLITERAL(Color){ 255, 255, 255, 255 }
+ Description: White
+Define 041: BLACK
+ Name: BLACK
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 0, 0, 255 }
+ Description: Black
+Define 042: BLANK
+ Name: BLANK
+ Type: COLOR
+ Value: CLITERAL(Color){ 0, 0, 0, 0 }
+ Description: Blank (Transparent)
+Define 043: MAGENTA
+ Name: MAGENTA
+ Type: COLOR
+ Value: CLITERAL(Color){ 255, 0, 255, 255 }
+ Description: Magenta
+Define 044: RAYWHITE
+ Name: RAYWHITE
+ Type: COLOR
+ Value: CLITERAL(Color){ 245, 245, 245, 255 }
+ Description: My own White (raylib logo)
+Define 045: RL_BOOL_TYPE
+ Name: RL_BOOL_TYPE
+ Type: GUARD
+ Value:
+ Description:
+Define 046: MOUSE_LEFT_BUTTON
+ Name: MOUSE_LEFT_BUTTON
+ Type: UNKNOWN
+ Value: MOUSE_BUTTON_LEFT
+ Description:
+Define 047: MOUSE_RIGHT_BUTTON
+ Name: MOUSE_RIGHT_BUTTON
+ Type: UNKNOWN
+ Value: MOUSE_BUTTON_RIGHT
+ Description:
+Define 048: MOUSE_MIDDLE_BUTTON
+ Name: MOUSE_MIDDLE_BUTTON
+ Type: UNKNOWN
+ Value: MOUSE_BUTTON_MIDDLE
+ Description:
+Define 049: MATERIAL_MAP_DIFFUSE
+ Name: MATERIAL_MAP_DIFFUSE
+ Type: UNKNOWN
+ Value: MATERIAL_MAP_ALBEDO
+ Description:
+Define 050: MATERIAL_MAP_SPECULAR
+ Name: MATERIAL_MAP_SPECULAR
+ Type: UNKNOWN
+ Value: MATERIAL_MAP_METALNESS
+ Description:
+Define 051: SHADER_LOC_MAP_DIFFUSE
+ Name: SHADER_LOC_MAP_DIFFUSE
+ Type: UNKNOWN
+ Value: SHADER_LOC_MAP_ALBEDO
+ Description:
+Define 052: SHADER_LOC_MAP_SPECULAR
+ Name: SHADER_LOC_MAP_SPECULAR
+ Type: UNKNOWN
+ Value: SHADER_LOC_MAP_METALNESS
+ Description:
diff --git a/raylib/parser/raylib_api.xml b/raylib/parser/raylib_api.xml
new file mode 100644
index 0000000..b5978bc
--- /dev/null
+++ b/raylib/parser/raylib_api.xml
@@ -0,0 +1,2670 @@
+<?xml version="1.0" encoding="Windows-1252" ?>
+<raylibAPI>
+ <Structs count="31">
+ <Struct name="Vector2" fieldCount="2" desc="Vector2, 2 components">
+ <Field type="float" name="x" desc="Vector x component" />
+ <Field type="float" name="y" desc="Vector y component" />
+ </Struct>
+ <Struct name="Vector3" fieldCount="3" desc="Vector3, 3 components">
+ <Field type="float" name="x" desc="Vector x component" />
+ <Field type="float" name="y" desc="Vector y component" />
+ <Field type="float" name="z" desc="Vector z component" />
+ </Struct>
+ <Struct name="Vector4" fieldCount="4" desc="Vector4, 4 components">
+ <Field type="float" name="x" desc="Vector x component" />
+ <Field type="float" name="y" desc="Vector y component" />
+ <Field type="float" name="z" desc="Vector z component" />
+ <Field type="float" name="w" desc="Vector w component" />
+ </Struct>
+ <Struct name="Matrix" fieldCount="4" desc="Matrix, 4x4 components, column major, OpenGL style, right handed">
+ <Field type="float" name="m0, m4, m8, m12" desc="Matrix first row (4 components)" />
+ <Field type="float" name="m1, m5, m9, m13" desc="Matrix second row (4 components)" />
+ <Field type="float" name="m2, m6, m10, m14" desc="Matrix third row (4 components)" />
+ <Field type="float" name="m3, m7, m11, m15" desc="Matrix fourth row (4 components)" />
+ </Struct>
+ <Struct name="Color" fieldCount="4" desc="Color, 4 components, R8G8B8A8 (32bit)">
+ <Field type="unsigned char" name="r" desc="Color red value" />
+ <Field type="unsigned char" name="g" desc="Color green value" />
+ <Field type="unsigned char" name="b" desc="Color blue value" />
+ <Field type="unsigned char" name="a" desc="Color alpha value" />
+ </Struct>
+ <Struct name="Rectangle" fieldCount="4" desc="Rectangle, 4 components">
+ <Field type="float" name="x" desc="Rectangle top-left corner position x" />
+ <Field type="float" name="y" desc="Rectangle top-left corner position y" />
+ <Field type="float" name="width" desc="Rectangle width" />
+ <Field type="float" name="height" desc="Rectangle height" />
+ </Struct>
+ <Struct name="Image" fieldCount="5" desc="Image, pixel data stored in CPU memory (RAM)">
+ <Field type="void *" name="data" desc="Image raw data" />
+ <Field type="int" name="width" desc="Image base width" />
+ <Field type="int" name="height" desc="Image base height" />
+ <Field type="int" name="mipmaps" desc="Mipmap levels, 1 by default" />
+ <Field type="int" name="format" desc="Data format (PixelFormat type)" />
+ </Struct>
+ <Struct name="Texture" fieldCount="5" desc="Texture, tex data stored in GPU memory (VRAM)">
+ <Field type="unsigned int" name="id" desc="OpenGL texture id" />
+ <Field type="int" name="width" desc="Texture base width" />
+ <Field type="int" name="height" desc="Texture base height" />
+ <Field type="int" name="mipmaps" desc="Mipmap levels, 1 by default" />
+ <Field type="int" name="format" desc="Data format (PixelFormat type)" />
+ </Struct>
+ <Struct name="RenderTexture" fieldCount="3" desc="RenderTexture, fbo for texture rendering">
+ <Field type="unsigned int" name="id" desc="OpenGL framebuffer object id" />
+ <Field type="Texture" name="texture" desc="Color buffer attachment texture" />
+ <Field type="Texture" name="depth" desc="Depth buffer attachment texture" />
+ </Struct>
+ <Struct name="NPatchInfo" fieldCount="6" desc="NPatchInfo, n-patch layout info">
+ <Field type="Rectangle" name="source" desc="Texture source rectangle" />
+ <Field type="int" name="left" desc="Left border offset" />
+ <Field type="int" name="top" desc="Top border offset" />
+ <Field type="int" name="right" desc="Right border offset" />
+ <Field type="int" name="bottom" desc="Bottom border offset" />
+ <Field type="int" name="layout" desc="Layout of the n-patch: 3x3, 1x3 or 3x1" />
+ </Struct>
+ <Struct name="GlyphInfo" fieldCount="5" desc="GlyphInfo, font characters glyphs info">
+ <Field type="int" name="value" desc="Character value (Unicode)" />
+ <Field type="int" name="offsetX" desc="Character offset X when drawing" />
+ <Field type="int" name="offsetY" desc="Character offset Y when drawing" />
+ <Field type="int" name="advanceX" desc="Character advance position X" />
+ <Field type="Image" name="image" desc="Character image data" />
+ </Struct>
+ <Struct name="Font" fieldCount="6" desc="Font, font texture and GlyphInfo array data">
+ <Field type="int" name="baseSize" desc="Base size (default chars height)" />
+ <Field type="int" name="glyphCount" desc="Number of glyph characters" />
+ <Field type="int" name="glyphPadding" desc="Padding around the glyph characters" />
+ <Field type="Texture2D" name="texture" desc="Texture atlas containing the glyphs" />
+ <Field type="Rectangle *" name="recs" desc="Rectangles in texture for the glyphs" />
+ <Field type="GlyphInfo *" name="glyphs" desc="Glyphs info data" />
+ </Struct>
+ <Struct name="Camera3D" fieldCount="5" desc="Camera, defines position/orientation in 3d space">
+ <Field type="Vector3" name="position" desc="Camera position" />
+ <Field type="Vector3" name="target" desc="Camera target it looks-at" />
+ <Field type="Vector3" name="up" desc="Camera up vector (rotation over its axis)" />
+ <Field type="float" name="fovy" desc="Camera field-of-view apperture in Y (degrees) in perspective, used as near plane width in orthographic" />
+ <Field type="int" name="projection" desc="Camera projection: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC" />
+ </Struct>
+ <Struct name="Camera2D" fieldCount="4" desc="Camera2D, defines position/orientation in 2d space">
+ <Field type="Vector2" name="offset" desc="Camera offset (displacement from target)" />
+ <Field type="Vector2" name="target" desc="Camera target (rotation and zoom origin)" />
+ <Field type="float" name="rotation" desc="Camera rotation in degrees" />
+ <Field type="float" name="zoom" desc="Camera zoom (scaling), should be 1.0f by default" />
+ </Struct>
+ <Struct name="Mesh" fieldCount="15" desc="Mesh, vertex data and vao/vbo">
+ <Field type="int" name="vertexCount" desc="Number of vertices stored in arrays" />
+ <Field type="int" name="triangleCount" desc="Number of triangles stored (indexed or not)" />
+ <Field type="float *" name="vertices" desc="Vertex position (XYZ - 3 components per vertex) (shader-location = 0)" />
+ <Field type="float *" name="texcoords" desc="Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1)" />
+ <Field type="float *" name="texcoords2" desc="Vertex second texture coordinates (useful for lightmaps) (shader-location = 5)" />
+ <Field type="float *" name="normals" desc="Vertex normals (XYZ - 3 components per vertex) (shader-location = 2)" />
+ <Field type="float *" name="tangents" desc="Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4)" />
+ <Field type="unsigned char *" name="colors" desc="Vertex colors (RGBA - 4 components per vertex) (shader-location = 3)" />
+ <Field type="unsigned short *" name="indices" desc="Vertex indices (in case vertex data comes indexed)" />
+ <Field type="float *" name="animVertices" desc="Animated vertex positions (after bones transformations)" />
+ <Field type="float *" name="animNormals" desc="Animated normals (after bones transformations)" />
+ <Field type="unsigned char *" name="boneIds" desc="Vertex bone ids, max 255 bone ids, up to 4 bones influence by vertex (skinning)" />
+ <Field type="float *" name="boneWeights" desc="Vertex bone weight, up to 4 bones influence by vertex (skinning)" />
+ <Field type="unsigned int" name="vaoId" desc="OpenGL Vertex Array Object id" />
+ <Field type="unsigned int *" name="vboId" desc="OpenGL Vertex Buffer Objects id (default vertex data)" />
+ </Struct>
+ <Struct name="Shader" fieldCount="2" desc="Shader">
+ <Field type="unsigned int" name="id" desc="Shader program id" />
+ <Field type="int *" name="locs" desc="Shader locations array (RL_MAX_SHADER_LOCATIONS)" />
+ </Struct>
+ <Struct name="MaterialMap" fieldCount="3" desc="MaterialMap">
+ <Field type="Texture2D" name="texture" desc="Material map texture" />
+ <Field type="Color" name="color" desc="Material map color" />
+ <Field type="float" name="value" desc="Material map value" />
+ </Struct>
+ <Struct name="Material" fieldCount="3" desc="Material, includes shader and maps">
+ <Field type="Shader" name="shader" desc="Material shader" />
+ <Field type="MaterialMap *" name="maps" desc="Material maps array (MAX_MATERIAL_MAPS)" />
+ <Field type="float" name="params[4]" desc="Material generic parameters (if required)" />
+ </Struct>
+ <Struct name="Transform" fieldCount="3" desc="Transform, vectex transformation data">
+ <Field type="Vector3" name="translation" desc="Translation" />
+ <Field type="Quaternion" name="rotation" desc="Rotation" />
+ <Field type="Vector3" name="scale" desc="Scale" />
+ </Struct>
+ <Struct name="BoneInfo" fieldCount="2" desc="Bone, skeletal animation bone">
+ <Field type="char" name="name[32]" desc="Bone name" />
+ <Field type="int" name="parent" desc="Bone parent" />
+ </Struct>
+ <Struct name="Model" fieldCount="9" desc="Model, meshes, materials and animation data">
+ <Field type="Matrix" name="transform" desc="Local transform matrix" />
+ <Field type="int" name="meshCount" desc="Number of meshes" />
+ <Field type="int" name="materialCount" desc="Number of materials" />
+ <Field type="Mesh *" name="meshes" desc="Meshes array" />
+ <Field type="Material *" name="materials" desc="Materials array" />
+ <Field type="int *" name="meshMaterial" desc="Mesh material number" />
+ <Field type="int" name="boneCount" desc="Number of bones" />
+ <Field type="BoneInfo *" name="bones" desc="Bones information (skeleton)" />
+ <Field type="Transform *" name="bindPose" desc="Bones base transformation (pose)" />
+ </Struct>
+ <Struct name="ModelAnimation" fieldCount="4" desc="ModelAnimation">
+ <Field type="int" name="boneCount" desc="Number of bones" />
+ <Field type="int" name="frameCount" desc="Number of animation frames" />
+ <Field type="BoneInfo *" name="bones" desc="Bones information (skeleton)" />
+ <Field type="Transform **" name="framePoses" desc="Poses array by frame" />
+ </Struct>
+ <Struct name="Ray" fieldCount="2" desc="Ray, ray for raycasting">
+ <Field type="Vector3" name="position" desc="Ray position (origin)" />
+ <Field type="Vector3" name="direction" desc="Ray direction" />
+ </Struct>
+ <Struct name="RayCollision" fieldCount="4" desc="RayCollision, ray hit information">
+ <Field type="bool" name="hit" desc="Did the ray hit something?" />
+ <Field type="float" name="distance" desc="Distance to nearest hit" />
+ <Field type="Vector3" name="point" desc="Point of nearest hit" />
+ <Field type="Vector3" name="normal" desc="Surface normal of hit" />
+ </Struct>
+ <Struct name="BoundingBox" fieldCount="2" desc="BoundingBox">
+ <Field type="Vector3" name="min" desc="Minimum vertex box-corner" />
+ <Field type="Vector3" name="max" desc="Maximum vertex box-corner" />
+ </Struct>
+ <Struct name="Wave" fieldCount="5" desc="Wave, audio wave data">
+ <Field type="unsigned int" name="frameCount" desc="Total number of frames (considering channels)" />
+ <Field type="unsigned int" name="sampleRate" desc="Frequency (samples per second)" />
+ <Field type="unsigned int" name="sampleSize" desc="Bit depth (bits per sample): 8, 16, 32 (24 not supported)" />
+ <Field type="unsigned int" name="channels" desc="Number of channels (1-mono, 2-stereo, ...)" />
+ <Field type="void *" name="data" desc="Buffer data pointer" />
+ </Struct>
+ <Struct name="AudioStream" fieldCount="4" desc="AudioStream, custom audio stream">
+ <Field type="rAudioBuffer *" name="buffer" desc="Pointer to internal data used by the audio system" />
+ <Field type="unsigned int" name="sampleRate" desc="Frequency (samples per second)" />
+ <Field type="unsigned int" name="sampleSize" desc="Bit depth (bits per sample): 8, 16, 32 (24 not supported)" />
+ <Field type="unsigned int" name="channels" desc="Number of channels (1-mono, 2-stereo, ...)" />
+ </Struct>
+ <Struct name="Sound" fieldCount="2" desc="Sound">
+ <Field type="AudioStream" name="stream" desc="Audio stream" />
+ <Field type="unsigned int" name="frameCount" desc="Total number of frames (considering channels)" />
+ </Struct>
+ <Struct name="Music" fieldCount="5" desc="Music, audio stream, anything longer than ~10 seconds should be streamed">
+ <Field type="AudioStream" name="stream" desc="Audio stream" />
+ <Field type="unsigned int" name="frameCount" desc="Total number of frames (considering channels)" />
+ <Field type="bool" name="looping" desc="Music looping enable" />
+ <Field type="int" name="ctxType" desc="Type of music context (audio filetype)" />
+ <Field type="void *" name="ctxData" desc="Audio context data, depends on type" />
+ </Struct>
+ <Struct name="VrDeviceInfo" fieldCount="10" desc="VrDeviceInfo, Head-Mounted-Display device parameters">
+ <Field type="int" name="hResolution" desc="Horizontal resolution in pixels" />
+ <Field type="int" name="vResolution" desc="Vertical resolution in pixels" />
+ <Field type="float" name="hScreenSize" desc="Horizontal size in meters" />
+ <Field type="float" name="vScreenSize" desc="Vertical size in meters" />
+ <Field type="float" name="vScreenCenter" desc="Screen center in meters" />
+ <Field type="float" name="eyeToScreenDistance" desc="Distance between eye and display in meters" />
+ <Field type="float" name="lensSeparationDistance" desc="Lens separation distance in meters" />
+ <Field type="float" name="interpupillaryDistance" desc="IPD (distance between pupils) in meters" />
+ <Field type="float" name="lensDistortionValues[4]" desc="Lens distortion constant parameters" />
+ <Field type="float" name="chromaAbCorrection[4]" desc="Chromatic aberration correction parameters" />
+ </Struct>
+ <Struct name="VrStereoConfig" fieldCount="8" desc="VrStereoConfig, VR stereo rendering configuration for simulator">
+ <Field type="Matrix" name="projection[2]" desc="VR projection matrices (per eye)" />
+ <Field type="Matrix" name="viewOffset[2]" desc="VR view offset matrices (per eye)" />
+ <Field type="float" name="leftLensCenter[2]" desc="VR left lens center" />
+ <Field type="float" name="rightLensCenter[2]" desc="VR right lens center" />
+ <Field type="float" name="leftScreenCenter[2]" desc="VR left screen center" />
+ <Field type="float" name="rightScreenCenter[2]" desc="VR right screen center" />
+ <Field type="float" name="scale[2]" desc="VR distortion scale" />
+ <Field type="float" name="scaleIn[2]" desc="VR distortion scale in" />
+ </Struct>
+ </Structs>
+ <Enums count="21">
+ <Enum name="ConfigFlags" valueCount="14" desc="System/Window config flags">
+ <Value name="FLAG_VSYNC_HINT" integer="64" desc="Set to try enabling V-Sync on GPU" />
+ <Value name="FLAG_FULLSCREEN_MODE" integer="2" desc="Set to run program in fullscreen" />
+ <Value name="FLAG_WINDOW_RESIZABLE" integer="4" desc="Set to allow resizable window" />
+ <Value name="FLAG_WINDOW_UNDECORATED" integer="8" desc="Set to disable window decoration (frame and buttons)" />
+ <Value name="FLAG_WINDOW_HIDDEN" integer="128" desc="Set to hide window" />
+ <Value name="FLAG_WINDOW_MINIMIZED" integer="512" desc="Set to minimize window (iconify)" />
+ <Value name="FLAG_WINDOW_MAXIMIZED" integer="1024" desc="Set to maximize window (expanded to monitor)" />
+ <Value name="FLAG_WINDOW_UNFOCUSED" integer="2048" desc="Set to window non focused" />
+ <Value name="FLAG_WINDOW_TOPMOST" integer="4096" desc="Set to window always on top" />
+ <Value name="FLAG_WINDOW_ALWAYS_RUN" integer="256" desc="Set to allow windows running while minimized" />
+ <Value name="FLAG_WINDOW_TRANSPARENT" integer="16" desc="Set to allow transparent framebuffer" />
+ <Value name="FLAG_WINDOW_HIGHDPI" integer="8192" desc="Set to support HighDPI" />
+ <Value name="FLAG_MSAA_4X_HINT" integer="32" desc="Set to try enabling MSAA 4X" />
+ <Value name="FLAG_INTERLACED_HINT" integer="65536" desc="Set to try enabling interlaced video format (for V3D)" />
+ </Enum>
+ <Enum name="TraceLogLevel" valueCount="8" desc="Trace log level">
+ <Value name="LOG_ALL" integer="0" desc="Display all logs" />
+ <Value name="LOG_TRACE" integer="1" desc="Trace logging, intended for internal use only" />
+ <Value name="LOG_DEBUG" integer="2" desc="Debug logging, used for internal debugging, it should be disabled on release builds" />
+ <Value name="LOG_INFO" integer="3" desc="Info logging, used for program execution info" />
+ <Value name="LOG_WARNING" integer="4" desc="Warning logging, used on recoverable failures" />
+ <Value name="LOG_ERROR" integer="5" desc="Error logging, used on unrecoverable failures" />
+ <Value name="LOG_FATAL" integer="6" desc="Fatal logging, used to abort program: exit(EXIT_FAILURE)" />
+ <Value name="LOG_NONE" integer="7" desc="Disable logging" />
+ </Enum>
+ <Enum name="KeyboardKey" valueCount="110" desc="Keyboard keys (US keyboard layout)">
+ <Value name="KEY_NULL" integer="0" desc="Key: NULL, used for no key pressed" />
+ <Value name="KEY_APOSTROPHE" integer="39" desc="Key: '" />
+ <Value name="KEY_COMMA" integer="44" desc="Key: ," />
+ <Value name="KEY_MINUS" integer="45" desc="Key: -" />
+ <Value name="KEY_PERIOD" integer="46" desc="Key: ." />
+ <Value name="KEY_SLASH" integer="47" desc="Key: /" />
+ <Value name="KEY_ZERO" integer="48" desc="Key: 0" />
+ <Value name="KEY_ONE" integer="49" desc="Key: 1" />
+ <Value name="KEY_TWO" integer="50" desc="Key: 2" />
+ <Value name="KEY_THREE" integer="51" desc="Key: 3" />
+ <Value name="KEY_FOUR" integer="52" desc="Key: 4" />
+ <Value name="KEY_FIVE" integer="53" desc="Key: 5" />
+ <Value name="KEY_SIX" integer="54" desc="Key: 6" />
+ <Value name="KEY_SEVEN" integer="55" desc="Key: 7" />
+ <Value name="KEY_EIGHT" integer="56" desc="Key: 8" />
+ <Value name="KEY_NINE" integer="57" desc="Key: 9" />
+ <Value name="KEY_SEMICOLON" integer="59" desc="Key: ;" />
+ <Value name="KEY_EQUAL" integer="61" desc="Key: =" />
+ <Value name="KEY_A" integer="65" desc="Key: A | a" />
+ <Value name="KEY_B" integer="66" desc="Key: B | b" />
+ <Value name="KEY_C" integer="67" desc="Key: C | c" />
+ <Value name="KEY_D" integer="68" desc="Key: D | d" />
+ <Value name="KEY_E" integer="69" desc="Key: E | e" />
+ <Value name="KEY_F" integer="70" desc="Key: F | f" />
+ <Value name="KEY_G" integer="71" desc="Key: G | g" />
+ <Value name="KEY_H" integer="72" desc="Key: H | h" />
+ <Value name="KEY_I" integer="73" desc="Key: I | i" />
+ <Value name="KEY_J" integer="74" desc="Key: J | j" />
+ <Value name="KEY_K" integer="75" desc="Key: K | k" />
+ <Value name="KEY_L" integer="76" desc="Key: L | l" />
+ <Value name="KEY_M" integer="77" desc="Key: M | m" />
+ <Value name="KEY_N" integer="78" desc="Key: N | n" />
+ <Value name="KEY_O" integer="79" desc="Key: O | o" />
+ <Value name="KEY_P" integer="80" desc="Key: P | p" />
+ <Value name="KEY_Q" integer="81" desc="Key: Q | q" />
+ <Value name="KEY_R" integer="82" desc="Key: R | r" />
+ <Value name="KEY_S" integer="83" desc="Key: S | s" />
+ <Value name="KEY_T" integer="84" desc="Key: T | t" />
+ <Value name="KEY_U" integer="85" desc="Key: U | u" />
+ <Value name="KEY_V" integer="86" desc="Key: V | v" />
+ <Value name="KEY_W" integer="87" desc="Key: W | w" />
+ <Value name="KEY_X" integer="88" desc="Key: X | x" />
+ <Value name="KEY_Y" integer="89" desc="Key: Y | y" />
+ <Value name="KEY_Z" integer="90" desc="Key: Z | z" />
+ <Value name="KEY_LEFT_BRACKET" integer="91" desc="Key: [" />
+ <Value name="KEY_BACKSLASH" integer="92" desc="Key: '\'" />
+ <Value name="KEY_RIGHT_BRACKET" integer="93" desc="Key: ]" />
+ <Value name="KEY_GRAVE" integer="96" desc="Key: `" />
+ <Value name="KEY_SPACE" integer="32" desc="Key: Space" />
+ <Value name="KEY_ESCAPE" integer="256" desc="Key: Esc" />
+ <Value name="KEY_ENTER" integer="257" desc="Key: Enter" />
+ <Value name="KEY_TAB" integer="258" desc="Key: Tab" />
+ <Value name="KEY_BACKSPACE" integer="259" desc="Key: Backspace" />
+ <Value name="KEY_INSERT" integer="260" desc="Key: Ins" />
+ <Value name="KEY_DELETE" integer="261" desc="Key: Del" />
+ <Value name="KEY_RIGHT" integer="262" desc="Key: Cursor right" />
+ <Value name="KEY_LEFT" integer="263" desc="Key: Cursor left" />
+ <Value name="KEY_DOWN" integer="264" desc="Key: Cursor down" />
+ <Value name="KEY_UP" integer="265" desc="Key: Cursor up" />
+ <Value name="KEY_PAGE_UP" integer="266" desc="Key: Page up" />
+ <Value name="KEY_PAGE_DOWN" integer="267" desc="Key: Page down" />
+ <Value name="KEY_HOME" integer="268" desc="Key: Home" />
+ <Value name="KEY_END" integer="269" desc="Key: End" />
+ <Value name="KEY_CAPS_LOCK" integer="280" desc="Key: Caps lock" />
+ <Value name="KEY_SCROLL_LOCK" integer="281" desc="Key: Scroll down" />
+ <Value name="KEY_NUM_LOCK" integer="282" desc="Key: Num lock" />
+ <Value name="KEY_PRINT_SCREEN" integer="283" desc="Key: Print screen" />
+ <Value name="KEY_PAUSE" integer="284" desc="Key: Pause" />
+ <Value name="KEY_F1" integer="290" desc="Key: F1" />
+ <Value name="KEY_F2" integer="291" desc="Key: F2" />
+ <Value name="KEY_F3" integer="292" desc="Key: F3" />
+ <Value name="KEY_F4" integer="293" desc="Key: F4" />
+ <Value name="KEY_F5" integer="294" desc="Key: F5" />
+ <Value name="KEY_F6" integer="295" desc="Key: F6" />
+ <Value name="KEY_F7" integer="296" desc="Key: F7" />
+ <Value name="KEY_F8" integer="297" desc="Key: F8" />
+ <Value name="KEY_F9" integer="298" desc="Key: F9" />
+ <Value name="KEY_F10" integer="299" desc="Key: F10" />
+ <Value name="KEY_F11" integer="300" desc="Key: F11" />
+ <Value name="KEY_F12" integer="301" desc="Key: F12" />
+ <Value name="KEY_LEFT_SHIFT" integer="340" desc="Key: Shift left" />
+ <Value name="KEY_LEFT_CONTROL" integer="341" desc="Key: Control left" />
+ <Value name="KEY_LEFT_ALT" integer="342" desc="Key: Alt left" />
+ <Value name="KEY_LEFT_SUPER" integer="343" desc="Key: Super left" />
+ <Value name="KEY_RIGHT_SHIFT" integer="344" desc="Key: Shift right" />
+ <Value name="KEY_RIGHT_CONTROL" integer="345" desc="Key: Control right" />
+ <Value name="KEY_RIGHT_ALT" integer="346" desc="Key: Alt right" />
+ <Value name="KEY_RIGHT_SUPER" integer="347" desc="Key: Super right" />
+ <Value name="KEY_KB_MENU" integer="348" desc="Key: KB menu" />
+ <Value name="KEY_KP_0" integer="320" desc="Key: Keypad 0" />
+ <Value name="KEY_KP_1" integer="321" desc="Key: Keypad 1" />
+ <Value name="KEY_KP_2" integer="322" desc="Key: Keypad 2" />
+ <Value name="KEY_KP_3" integer="323" desc="Key: Keypad 3" />
+ <Value name="KEY_KP_4" integer="324" desc="Key: Keypad 4" />
+ <Value name="KEY_KP_5" integer="325" desc="Key: Keypad 5" />
+ <Value name="KEY_KP_6" integer="326" desc="Key: Keypad 6" />
+ <Value name="KEY_KP_7" integer="327" desc="Key: Keypad 7" />
+ <Value name="KEY_KP_8" integer="328" desc="Key: Keypad 8" />
+ <Value name="KEY_KP_9" integer="329" desc="Key: Keypad 9" />
+ <Value name="KEY_KP_DECIMAL" integer="330" desc="Key: Keypad ." />
+ <Value name="KEY_KP_DIVIDE" integer="331" desc="Key: Keypad /" />
+ <Value name="KEY_KP_MULTIPLY" integer="332" desc="Key: Keypad *" />
+ <Value name="KEY_KP_SUBTRACT" integer="333" desc="Key: Keypad -" />
+ <Value name="KEY_KP_ADD" integer="334" desc="Key: Keypad +" />
+ <Value name="KEY_KP_ENTER" integer="335" desc="Key: Keypad Enter" />
+ <Value name="KEY_KP_EQUAL" integer="336" desc="Key: Keypad =" />
+ <Value name="KEY_BACK" integer="4" desc="Key: Android back button" />
+ <Value name="KEY_MENU" integer="82" desc="Key: Android menu button" />
+ <Value name="KEY_VOLUME_UP" integer="24" desc="Key: Android volume up button" />
+ <Value name="KEY_VOLUME_DOWN" integer="25" desc="Key: Android volume down button" />
+ </Enum>
+ <Enum name="MouseButton" valueCount="7" desc="Mouse buttons">
+ <Value name="MOUSE_BUTTON_LEFT" integer="0" desc="Mouse button left" />
+ <Value name="MOUSE_BUTTON_RIGHT" integer="1" desc="Mouse button right" />
+ <Value name="MOUSE_BUTTON_MIDDLE" integer="2" desc="Mouse button middle (pressed wheel)" />
+ <Value name="MOUSE_BUTTON_SIDE" integer="3" desc="Mouse button side (advanced mouse device)" />
+ <Value name="MOUSE_BUTTON_EXTRA" integer="4" desc="Mouse button extra (advanced mouse device)" />
+ <Value name="MOUSE_BUTTON_FORWARD" integer="5" desc="Mouse button fordward (advanced mouse device)" />
+ <Value name="MOUSE_BUTTON_BACK" integer="6" desc="Mouse button back (advanced mouse device)" />
+ </Enum>
+ <Enum name="MouseCursor" valueCount="11" desc="Mouse cursor">
+ <Value name="MOUSE_CURSOR_DEFAULT" integer="0" desc="Default pointer shape" />
+ <Value name="MOUSE_CURSOR_ARROW" integer="1" desc="Arrow shape" />
+ <Value name="MOUSE_CURSOR_IBEAM" integer="2" desc="Text writing cursor shape" />
+ <Value name="MOUSE_CURSOR_CROSSHAIR" integer="3" desc="Cross shape" />
+ <Value name="MOUSE_CURSOR_POINTING_HAND" integer="4" desc="Pointing hand cursor" />
+ <Value name="MOUSE_CURSOR_RESIZE_EW" integer="5" desc="Horizontal resize/move arrow shape" />
+ <Value name="MOUSE_CURSOR_RESIZE_NS" integer="6" desc="Vertical resize/move arrow shape" />
+ <Value name="MOUSE_CURSOR_RESIZE_NWSE" integer="7" desc="Top-left to bottom-right diagonal resize/move arrow shape" />
+ <Value name="MOUSE_CURSOR_RESIZE_NESW" integer="8" desc="The top-right to bottom-left diagonal resize/move arrow shape" />
+ <Value name="MOUSE_CURSOR_RESIZE_ALL" integer="9" desc="The omni-directional resize/move cursor shape" />
+ <Value name="MOUSE_CURSOR_NOT_ALLOWED" integer="10" desc="The operation-not-allowed shape" />
+ </Enum>
+ <Enum name="GamepadButton" valueCount="18" desc="Gamepad buttons">
+ <Value name="GAMEPAD_BUTTON_UNKNOWN" integer="0" desc="Unknown button, just for error checking" />
+ <Value name="GAMEPAD_BUTTON_LEFT_FACE_UP" integer="1" desc="Gamepad left DPAD up button" />
+ <Value name="GAMEPAD_BUTTON_LEFT_FACE_RIGHT" integer="2" desc="Gamepad left DPAD right button" />
+ <Value name="GAMEPAD_BUTTON_LEFT_FACE_DOWN" integer="3" desc="Gamepad left DPAD down button" />
+ <Value name="GAMEPAD_BUTTON_LEFT_FACE_LEFT" integer="4" desc="Gamepad left DPAD left button" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_FACE_UP" integer="5" desc="Gamepad right button up (i.e. PS3: Triangle, Xbox: Y)" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_FACE_RIGHT" integer="6" desc="Gamepad right button right (i.e. PS3: Square, Xbox: X)" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_FACE_DOWN" integer="7" desc="Gamepad right button down (i.e. PS3: Cross, Xbox: A)" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_FACE_LEFT" integer="8" desc="Gamepad right button left (i.e. PS3: Circle, Xbox: B)" />
+ <Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_1" integer="9" desc="Gamepad top/back trigger left (first), it could be a trailing button" />
+ <Value name="GAMEPAD_BUTTON_LEFT_TRIGGER_2" integer="10" desc="Gamepad top/back trigger left (second), it could be a trailing button" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_1" integer="11" desc="Gamepad top/back trigger right (one), it could be a trailing button" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_TRIGGER_2" integer="12" desc="Gamepad top/back trigger right (second), it could be a trailing button" />
+ <Value name="GAMEPAD_BUTTON_MIDDLE_LEFT" integer="13" desc="Gamepad center buttons, left one (i.e. PS3: Select)" />
+ <Value name="GAMEPAD_BUTTON_MIDDLE" integer="14" desc="Gamepad center buttons, middle one (i.e. PS3: PS, Xbox: XBOX)" />
+ <Value name="GAMEPAD_BUTTON_MIDDLE_RIGHT" integer="15" desc="Gamepad center buttons, right one (i.e. PS3: Start)" />
+ <Value name="GAMEPAD_BUTTON_LEFT_THUMB" integer="16" desc="Gamepad joystick pressed button left" />
+ <Value name="GAMEPAD_BUTTON_RIGHT_THUMB" integer="17" desc="Gamepad joystick pressed button right" />
+ </Enum>
+ <Enum name="GamepadAxis" valueCount="6" desc="Gamepad axis">
+ <Value name="GAMEPAD_AXIS_LEFT_X" integer="0" desc="Gamepad left stick X axis" />
+ <Value name="GAMEPAD_AXIS_LEFT_Y" integer="1" desc="Gamepad left stick Y axis" />
+ <Value name="GAMEPAD_AXIS_RIGHT_X" integer="2" desc="Gamepad right stick X axis" />
+ <Value name="GAMEPAD_AXIS_RIGHT_Y" integer="3" desc="Gamepad right stick Y axis" />
+ <Value name="GAMEPAD_AXIS_LEFT_TRIGGER" integer="4" desc="Gamepad back trigger left, pressure level: [1..-1]" />
+ <Value name="GAMEPAD_AXIS_RIGHT_TRIGGER" integer="5" desc="Gamepad back trigger right, pressure level: [1..-1]" />
+ </Enum>
+ <Enum name="MaterialMapIndex" valueCount="11" desc="Material map index">
+ <Value name="MATERIAL_MAP_ALBEDO" integer="0" desc="Albedo material (same as: MATERIAL_MAP_DIFFUSE)" />
+ <Value name="MATERIAL_MAP_METALNESS" integer="1" desc="Metalness material (same as: MATERIAL_MAP_SPECULAR)" />
+ <Value name="MATERIAL_MAP_NORMAL" integer="2" desc="Normal material" />
+ <Value name="MATERIAL_MAP_ROUGHNESS" integer="3" desc="Roughness material" />
+ <Value name="MATERIAL_MAP_OCCLUSION" integer="4" desc="Ambient occlusion material" />
+ <Value name="MATERIAL_MAP_EMISSION" integer="5" desc="Emission material" />
+ <Value name="MATERIAL_MAP_HEIGHT" integer="6" desc="Heightmap material" />
+ <Value name="MATERIAL_MAP_CUBEMAP" integer="7" desc="Cubemap material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
+ <Value name="MATERIAL_MAP_IRRADIANCE" integer="8" desc="Irradiance material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
+ <Value name="MATERIAL_MAP_PREFILTER" integer="9" desc="Prefilter material (NOTE: Uses GL_TEXTURE_CUBE_MAP)" />
+ <Value name="MATERIAL_MAP_BRDF" integer="10" desc="Brdf material" />
+ </Enum>
+ <Enum name="ShaderLocationIndex" valueCount="26" desc="Shader location index">
+ <Value name="SHADER_LOC_VERTEX_POSITION" integer="0" desc="Shader location: vertex attribute: position" />
+ <Value name="SHADER_LOC_VERTEX_TEXCOORD01" integer="1" desc="Shader location: vertex attribute: texcoord01" />
+ <Value name="SHADER_LOC_VERTEX_TEXCOORD02" integer="2" desc="Shader location: vertex attribute: texcoord02" />
+ <Value name="SHADER_LOC_VERTEX_NORMAL" integer="3" desc="Shader location: vertex attribute: normal" />
+ <Value name="SHADER_LOC_VERTEX_TANGENT" integer="4" desc="Shader location: vertex attribute: tangent" />
+ <Value name="SHADER_LOC_VERTEX_COLOR" integer="5" desc="Shader location: vertex attribute: color" />
+ <Value name="SHADER_LOC_MATRIX_MVP" integer="6" desc="Shader location: matrix uniform: model-view-projection" />
+ <Value name="SHADER_LOC_MATRIX_VIEW" integer="7" desc="Shader location: matrix uniform: view (camera transform)" />
+ <Value name="SHADER_LOC_MATRIX_PROJECTION" integer="8" desc="Shader location: matrix uniform: projection" />
+ <Value name="SHADER_LOC_MATRIX_MODEL" integer="9" desc="Shader location: matrix uniform: model (transform)" />
+ <Value name="SHADER_LOC_MATRIX_NORMAL" integer="10" desc="Shader location: matrix uniform: normal" />
+ <Value name="SHADER_LOC_VECTOR_VIEW" integer="11" desc="Shader location: vector uniform: view" />
+ <Value name="SHADER_LOC_COLOR_DIFFUSE" integer="12" desc="Shader location: vector uniform: diffuse color" />
+ <Value name="SHADER_LOC_COLOR_SPECULAR" integer="13" desc="Shader location: vector uniform: specular color" />
+ <Value name="SHADER_LOC_COLOR_AMBIENT" integer="14" desc="Shader location: vector uniform: ambient color" />
+ <Value name="SHADER_LOC_MAP_ALBEDO" integer="15" desc="Shader location: sampler2d texture: albedo (same as: SHADER_LOC_MAP_DIFFUSE)" />
+ <Value name="SHADER_LOC_MAP_METALNESS" integer="16" desc="Shader location: sampler2d texture: metalness (same as: SHADER_LOC_MAP_SPECULAR)" />
+ <Value name="SHADER_LOC_MAP_NORMAL" integer="17" desc="Shader location: sampler2d texture: normal" />
+ <Value name="SHADER_LOC_MAP_ROUGHNESS" integer="18" desc="Shader location: sampler2d texture: roughness" />
+ <Value name="SHADER_LOC_MAP_OCCLUSION" integer="19" desc="Shader location: sampler2d texture: occlusion" />
+ <Value name="SHADER_LOC_MAP_EMISSION" integer="20" desc="Shader location: sampler2d texture: emission" />
+ <Value name="SHADER_LOC_MAP_HEIGHT" integer="21" desc="Shader location: sampler2d texture: height" />
+ <Value name="SHADER_LOC_MAP_CUBEMAP" integer="22" desc="Shader location: samplerCube texture: cubemap" />
+ <Value name="SHADER_LOC_MAP_IRRADIANCE" integer="23" desc="Shader location: samplerCube texture: irradiance" />
+ <Value name="SHADER_LOC_MAP_PREFILTER" integer="24" desc="Shader location: samplerCube texture: prefilter" />
+ <Value name="SHADER_LOC_MAP_BRDF" integer="25" desc="Shader location: sampler2d texture: brdf" />
+ </Enum>
+ <Enum name="ShaderUniformDataType" valueCount="9" desc="Shader uniform data type">
+ <Value name="SHADER_UNIFORM_FLOAT" integer="0" desc="Shader uniform type: float" />
+ <Value name="SHADER_UNIFORM_VEC2" integer="1" desc="Shader uniform type: vec2 (2 float)" />
+ <Value name="SHADER_UNIFORM_VEC3" integer="2" desc="Shader uniform type: vec3 (3 float)" />
+ <Value name="SHADER_UNIFORM_VEC4" integer="3" desc="Shader uniform type: vec4 (4 float)" />
+ <Value name="SHADER_UNIFORM_INT" integer="4" desc="Shader uniform type: int" />
+ <Value name="SHADER_UNIFORM_IVEC2" integer="5" desc="Shader uniform type: ivec2 (2 int)" />
+ <Value name="SHADER_UNIFORM_IVEC3" integer="6" desc="Shader uniform type: ivec3 (3 int)" />
+ <Value name="SHADER_UNIFORM_IVEC4" integer="7" desc="Shader uniform type: ivec4 (4 int)" />
+ <Value name="SHADER_UNIFORM_SAMPLER2D" integer="8" desc="Shader uniform type: sampler2d" />
+ </Enum>
+ <Enum name="ShaderAttributeDataType" valueCount="4" desc="Shader attribute data types">
+ <Value name="SHADER_ATTRIB_FLOAT" integer="0" desc="Shader attribute type: float" />
+ <Value name="SHADER_ATTRIB_VEC2" integer="1" desc="Shader attribute type: vec2 (2 float)" />
+ <Value name="SHADER_ATTRIB_VEC3" integer="2" desc="Shader attribute type: vec3 (3 float)" />
+ <Value name="SHADER_ATTRIB_VEC4" integer="3" desc="Shader attribute type: vec4 (4 float)" />
+ </Enum>
+ <Enum name="PixelFormat" valueCount="21" desc="Pixel formats">
+ <Value name="PIXELFORMAT_UNCOMPRESSED_GRAYSCALE" integer="1" desc="8 bit per pixel (no alpha)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA" integer="2" desc="8*2 bpp (2 channels)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R5G6B5" integer="3" desc="16 bpp" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8" integer="4" desc="24 bpp" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R5G5B5A1" integer="5" desc="16 bpp (1 bit alpha)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R4G4B4A4" integer="6" desc="16 bpp (4 bit alpha)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R8G8B8A8" integer="7" desc="32 bpp" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R32" integer="8" desc="32 bpp (1 channel - float)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32" integer="9" desc="32*3 bpp (3 channels - float)" />
+ <Value name="PIXELFORMAT_UNCOMPRESSED_R32G32B32A32" integer="10" desc="32*4 bpp (4 channels - float)" />
+ <Value name="PIXELFORMAT_COMPRESSED_DXT1_RGB" integer="11" desc="4 bpp (no alpha)" />
+ <Value name="PIXELFORMAT_COMPRESSED_DXT1_RGBA" integer="12" desc="4 bpp (1 bit alpha)" />
+ <Value name="PIXELFORMAT_COMPRESSED_DXT3_RGBA" integer="13" desc="8 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_DXT5_RGBA" integer="14" desc="8 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_ETC1_RGB" integer="15" desc="4 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_ETC2_RGB" integer="16" desc="4 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA" integer="17" desc="8 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_PVRT_RGB" integer="18" desc="4 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_PVRT_RGBA" integer="19" desc="4 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA" integer="20" desc="8 bpp" />
+ <Value name="PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA" integer="21" desc="2 bpp" />
+ </Enum>
+ <Enum name="TextureFilter" valueCount="6" desc="Texture parameters: filter mode">
+ <Value name="TEXTURE_FILTER_POINT" integer="0" desc="No filter, just pixel approximation" />
+ <Value name="TEXTURE_FILTER_BILINEAR" integer="1" desc="Linear filtering" />
+ <Value name="TEXTURE_FILTER_TRILINEAR" integer="2" desc="Trilinear filtering (linear with mipmaps)" />
+ <Value name="TEXTURE_FILTER_ANISOTROPIC_4X" integer="3" desc="Anisotropic filtering 4x" />
+ <Value name="TEXTURE_FILTER_ANISOTROPIC_8X" integer="4" desc="Anisotropic filtering 8x" />
+ <Value name="TEXTURE_FILTER_ANISOTROPIC_16X" integer="5" desc="Anisotropic filtering 16x" />
+ </Enum>
+ <Enum name="TextureWrap" valueCount="4" desc="Texture parameters: wrap mode">
+ <Value name="TEXTURE_WRAP_REPEAT" integer="0" desc="Repeats texture in tiled mode" />
+ <Value name="TEXTURE_WRAP_CLAMP" integer="1" desc="Clamps texture to edge pixel in tiled mode" />
+ <Value name="TEXTURE_WRAP_MIRROR_REPEAT" integer="2" desc="Mirrors and repeats the texture in tiled mode" />
+ <Value name="TEXTURE_WRAP_MIRROR_CLAMP" integer="3" desc="Mirrors and clamps to border the texture in tiled mode" />
+ </Enum>
+ <Enum name="CubemapLayout" valueCount="6" desc="Cubemap layouts">
+ <Value name="CUBEMAP_LAYOUT_AUTO_DETECT" integer="0" desc="Automatically detect layout type" />
+ <Value name="CUBEMAP_LAYOUT_LINE_VERTICAL" integer="1" desc="Layout is defined by a vertical line with faces" />
+ <Value name="CUBEMAP_LAYOUT_LINE_HORIZONTAL" integer="2" desc="Layout is defined by an horizontal line with faces" />
+ <Value name="CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR" integer="3" desc="Layout is defined by a 3x4 cross with cubemap faces" />
+ <Value name="CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE" integer="4" desc="Layout is defined by a 4x3 cross with cubemap faces" />
+ <Value name="CUBEMAP_LAYOUT_PANORAMA" integer="5" desc="Layout is defined by a panorama image (equirectangular map)" />
+ </Enum>
+ <Enum name="FontType" valueCount="3" desc="Font type, defines generation method">
+ <Value name="FONT_DEFAULT" integer="0" desc="Default font generation, anti-aliased" />
+ <Value name="FONT_BITMAP" integer="1" desc="Bitmap font generation, no anti-aliasing" />
+ <Value name="FONT_SDF" integer="2" desc="SDF font generation, requires external shader" />
+ </Enum>
+ <Enum name="BlendMode" valueCount="7" desc="Color blending modes (pre-defined)">
+ <Value name="BLEND_ALPHA" integer="0" desc="Blend textures considering alpha (default)" />
+ <Value name="BLEND_ADDITIVE" integer="1" desc="Blend textures adding colors" />
+ <Value name="BLEND_MULTIPLIED" integer="2" desc="Blend textures multiplying colors" />
+ <Value name="BLEND_ADD_COLORS" integer="3" desc="Blend textures adding colors (alternative)" />
+ <Value name="BLEND_SUBTRACT_COLORS" integer="4" desc="Blend textures subtracting colors (alternative)" />
+ <Value name="BLEND_ALPHA_PREMUL" integer="5" desc="Blend premultiplied textures considering alpha" />
+ <Value name="BLEND_CUSTOM" integer="6" desc="Blend textures using custom src/dst factors (use rlSetBlendMode())" />
+ </Enum>
+ <Enum name="Gesture" valueCount="11" desc="Gesture">
+ <Value name="GESTURE_NONE" integer="0" desc="No gesture" />
+ <Value name="GESTURE_TAP" integer="1" desc="Tap gesture" />
+ <Value name="GESTURE_DOUBLETAP" integer="2" desc="Double tap gesture" />
+ <Value name="GESTURE_HOLD" integer="4" desc="Hold gesture" />
+ <Value name="GESTURE_DRAG" integer="8" desc="Drag gesture" />
+ <Value name="GESTURE_SWIPE_RIGHT" integer="16" desc="Swipe right gesture" />
+ <Value name="GESTURE_SWIPE_LEFT" integer="32" desc="Swipe left gesture" />
+ <Value name="GESTURE_SWIPE_UP" integer="64" desc="Swipe up gesture" />
+ <Value name="GESTURE_SWIPE_DOWN" integer="128" desc="Swipe down gesture" />
+ <Value name="GESTURE_PINCH_IN" integer="256" desc="Pinch in gesture" />
+ <Value name="GESTURE_PINCH_OUT" integer="512" desc="Pinch out gesture" />
+ </Enum>
+ <Enum name="CameraMode" valueCount="5" desc="Camera system modes">
+ <Value name="CAMERA_CUSTOM" integer="0" desc="Custom camera" />
+ <Value name="CAMERA_FREE" integer="1" desc="Free camera" />
+ <Value name="CAMERA_ORBITAL" integer="2" desc="Orbital camera" />
+ <Value name="CAMERA_FIRST_PERSON" integer="3" desc="First person camera" />
+ <Value name="CAMERA_THIRD_PERSON" integer="4" desc="Third person camera" />
+ </Enum>
+ <Enum name="CameraProjection" valueCount="2" desc="Camera projection">
+ <Value name="CAMERA_PERSPECTIVE" integer="0" desc="Perspective projection" />
+ <Value name="CAMERA_ORTHOGRAPHIC" integer="1" desc="Orthographic projection" />
+ </Enum>
+ <Enum name="NPatchLayout" valueCount="3" desc="N-patch layout">
+ <Value name="NPATCH_NINE_PATCH" integer="0" desc="Npatch layout: 3x3 tiles" />
+ <Value name="NPATCH_THREE_PATCH_VERTICAL" integer="1" desc="Npatch layout: 1x3 tiles" />
+ <Value name="NPATCH_THREE_PATCH_HORIZONTAL" integer="2" desc="Npatch layout: 3x1 tiles" />
+ </Enum>
+ </Enums>
+ <Defines count="52">
+ <Define name="RAYLIB_H" type="GUARD" value="" desc="" />
+ <Define name="RAYLIB_VERSION" type="STRING" value=""4.1-dev"" desc="" />
+ <Define name="RLAPI" type="UNKNOWN" value="__declspec(dllexport)" desc="// We are building the library as a Win32 shared library (.dll)" />
+ <Define name="PI" type="FLOAT" value="3.14159265358979323846" desc="" />
+ <Define name="DEG2RAD" type="UNKNOWN" value="(PI/180.0f)" desc="" />
+ <Define name="RAD2DEG" type="UNKNOWN" value="(180.0f/PI)" desc="" />
+ <Define name="RL_MALLOC(sz)" type="MACRO" value="malloc(sz)" desc="" />
+ <Define name="RL_CALLOC(n,sz)" type="MACRO" value="calloc(n,sz)" desc="" />
+ <Define name="RL_REALLOC(ptr,sz)" type="MACRO" value="realloc(ptr,sz)" desc="" />
+ <Define name="RL_FREE(ptr)" type="MACRO" value="free(ptr)" desc="" />
+ <Define name="CLITERAL(type)" type="MACRO" value="type" desc="" />
+ <Define name="RL_COLOR_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_RECTANGLE_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_VECTOR2_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_VECTOR3_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_VECTOR4_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_QUATERNION_TYPE" type="GUARD" value="" desc="" />
+ <Define name="RL_MATRIX_TYPE" type="GUARD" value="" desc="" />
+ <Define name="LIGHTGRAY" type="COLOR" value="CLITERAL(Color){ 200, 200, 200, 255 }" desc="// Light Gray" />
+ <Define name="GRAY" type="COLOR" value="CLITERAL(Color){ 130, 130, 130, 255 }" desc="// Gray" />
+ <Define name="DARKGRAY" type="COLOR" value="CLITERAL(Color){ 80, 80, 80, 255 }" desc="// Dark Gray" />
+ <Define name="YELLOW" type="COLOR" value="CLITERAL(Color){ 253, 249, 0, 255 }" desc="// Yellow" />
+ <Define name="GOLD" type="COLOR" value="CLITERAL(Color){ 255, 203, 0, 255 }" desc="// Gold" />
+ <Define name="ORANGE" type="COLOR" value="CLITERAL(Color){ 255, 161, 0, 255 }" desc="// Orange" />
+ <Define name="PINK" type="COLOR" value="CLITERAL(Color){ 255, 109, 194, 255 }" desc="// Pink" />
+ <Define name="RED" type="COLOR" value="CLITERAL(Color){ 230, 41, 55, 255 }" desc="// Red" />
+ <Define name="MAROON" type="COLOR" value="CLITERAL(Color){ 190, 33, 55, 255 }" desc="// Maroon" />
+ <Define name="GREEN" type="COLOR" value="CLITERAL(Color){ 0, 228, 48, 255 }" desc="// Green" />
+ <Define name="LIME" type="COLOR" value="CLITERAL(Color){ 0, 158, 47, 255 }" desc="// Lime" />
+ <Define name="DARKGREEN" type="COLOR" value="CLITERAL(Color){ 0, 117, 44, 255 }" desc="// Dark Green" />
+ <Define name="SKYBLUE" type="COLOR" value="CLITERAL(Color){ 102, 191, 255, 255 }" desc="// Sky Blue" />
+ <Define name="BLUE" type="COLOR" value="CLITERAL(Color){ 0, 121, 241, 255 }" desc="// Blue" />
+ <Define name="DARKBLUE" type="COLOR" value="CLITERAL(Color){ 0, 82, 172, 255 }" desc="// Dark Blue" />
+ <Define name="PURPLE" type="COLOR" value="CLITERAL(Color){ 200, 122, 255, 255 }" desc="// Purple" />
+ <Define name="VIOLET" type="COLOR" value="CLITERAL(Color){ 135, 60, 190, 255 }" desc="// Violet" />
+ <Define name="DARKPURPLE" type="COLOR" value="CLITERAL(Color){ 112, 31, 126, 255 }" desc="// Dark Purple" />
+ <Define name="BEIGE" type="COLOR" value="CLITERAL(Color){ 211, 176, 131, 255 }" desc="// Beige" />
+ <Define name="BROWN" type="COLOR" value="CLITERAL(Color){ 127, 106, 79, 255 }" desc="// Brown" />
+ <Define name="DARKBROWN" type="COLOR" value="CLITERAL(Color){ 76, 63, 47, 255 }" desc="// Dark Brown" />
+ <Define name="WHITE" type="COLOR" value="CLITERAL(Color){ 255, 255, 255, 255 }" desc="// White" />
+ <Define name="BLACK" type="COLOR" value="CLITERAL(Color){ 0, 0, 0, 255 }" desc="// Black" />
+ <Define name="BLANK" type="COLOR" value="CLITERAL(Color){ 0, 0, 0, 0 }" desc="// Blank (Transparent)" />
+ <Define name="MAGENTA" type="COLOR" value="CLITERAL(Color){ 255, 0, 255, 255 }" desc="// Magenta" />
+ <Define name="RAYWHITE" type="COLOR" value="CLITERAL(Color){ 245, 245, 245, 255 }" desc="// My own White (raylib logo)" />
+ <Define name="RL_BOOL_TYPE" type="GUARD" value="" desc="" />
+ <Define name="MOUSE_LEFT_BUTTON" type="UNKNOWN" value="MOUSE_BUTTON_LEFT" desc="" />
+ <Define name="MOUSE_RIGHT_BUTTON" type="UNKNOWN" value="MOUSE_BUTTON_RIGHT" desc="" />
+ <Define name="MOUSE_MIDDLE_BUTTON" type="UNKNOWN" value="MOUSE_BUTTON_MIDDLE" desc="" />
+ <Define name="MATERIAL_MAP_DIFFUSE" type="UNKNOWN" value="MATERIAL_MAP_ALBEDO" desc="" />
+ <Define name="MATERIAL_MAP_SPECULAR" type="UNKNOWN" value="MATERIAL_MAP_METALNESS" desc="" />
+ <Define name="SHADER_LOC_MAP_DIFFUSE" type="UNKNOWN" value="SHADER_LOC_MAP_ALBEDO" desc="" />
+ <Define name="SHADER_LOC_MAP_SPECULAR" type="UNKNOWN" value="SHADER_LOC_MAP_METALNESS" desc="" />
+ </Defines>
+ <Functions count="497">
+ <Function name="InitWindow" retType="void" paramCount="3" desc="Initialize window and OpenGL context">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="const char *" name="title" desc="" />
+ </Function>
+ <Function name="WindowShouldClose" retType="bool" paramCount="0" desc="Check if KEY_ESCAPE pressed or Close icon pressed">
+ </Function>
+ <Function name="CloseWindow" retType="void" paramCount="0" desc="Close window and unload OpenGL context">
+ </Function>
+ <Function name="IsWindowReady" retType="bool" paramCount="0" desc="Check if window has been initialized successfully">
+ </Function>
+ <Function name="IsWindowFullscreen" retType="bool" paramCount="0" desc="Check if window is currently fullscreen">
+ </Function>
+ <Function name="IsWindowHidden" retType="bool" paramCount="0" desc="Check if window is currently hidden (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="IsWindowMinimized" retType="bool" paramCount="0" desc="Check if window is currently minimized (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="IsWindowMaximized" retType="bool" paramCount="0" desc="Check if window is currently maximized (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="IsWindowFocused" retType="bool" paramCount="0" desc="Check if window is currently focused (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="IsWindowResized" retType="bool" paramCount="0" desc="Check if window has been resized last frame">
+ </Function>
+ <Function name="IsWindowState" retType="bool" paramCount="1" desc="Check if one specific window flag is enabled">
+ <Param type="unsigned int" name="flag" desc="" />
+ </Function>
+ <Function name="SetWindowState" retType="void" paramCount="1" desc="Set window configuration state using flags (only PLATFORM_DESKTOP)">
+ <Param type="unsigned int" name="flags" desc="" />
+ </Function>
+ <Function name="ClearWindowState" retType="void" paramCount="1" desc="Clear window configuration state flags">
+ <Param type="unsigned int" name="flags" desc="" />
+ </Function>
+ <Function name="ToggleFullscreen" retType="void" paramCount="0" desc="Toggle window state: fullscreen/windowed (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="MaximizeWindow" retType="void" paramCount="0" desc="Set window state: maximized, if resizable (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="MinimizeWindow" retType="void" paramCount="0" desc="Set window state: minimized, if resizable (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="RestoreWindow" retType="void" paramCount="0" desc="Set window state: not minimized/maximized (only PLATFORM_DESKTOP)">
+ </Function>
+ <Function name="SetWindowIcon" retType="void" paramCount="1" desc="Set icon for window (only PLATFORM_DESKTOP)">
+ <Param type="Image" name="image" desc="" />
+ </Function>
+ <Function name="SetWindowTitle" retType="void" paramCount="1" desc="Set title for window (only PLATFORM_DESKTOP)">
+ <Param type="const char *" name="title" desc="" />
+ </Function>
+ <Function name="SetWindowPosition" retType="void" paramCount="2" desc="Set window position on screen (only PLATFORM_DESKTOP)">
+ <Param type="int" name="x" desc="" />
+ <Param type="int" name="y" desc="" />
+ </Function>
+ <Function name="SetWindowMonitor" retType="void" paramCount="1" desc="Set monitor for the current window (fullscreen mode)">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="SetWindowMinSize" retType="void" paramCount="2" desc="Set window minimum dimensions (for FLAG_WINDOW_RESIZABLE)">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ </Function>
+ <Function name="SetWindowSize" retType="void" paramCount="2" desc="Set window dimensions">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ </Function>
+ <Function name="SetWindowOpacity" retType="void" paramCount="1" desc="Set window opacity [0.0f..1.0f] (only PLATFORM_DESKTOP)">
+ <Param type="float" name="opacity" desc="" />
+ </Function>
+ <Function name="GetWindowHandle" retType="void *" paramCount="0" desc="Get native window handle">
+ </Function>
+ <Function name="GetScreenWidth" retType="int" paramCount="0" desc="Get current screen width">
+ </Function>
+ <Function name="GetScreenHeight" retType="int" paramCount="0" desc="Get current screen height">
+ </Function>
+ <Function name="GetRenderWidth" retType="int" paramCount="0" desc="Get current render width (it considers HiDPI)">
+ </Function>
+ <Function name="GetRenderHeight" retType="int" paramCount="0" desc="Get current render height (it considers HiDPI)">
+ </Function>
+ <Function name="GetMonitorCount" retType="int" paramCount="0" desc="Get number of connected monitors">
+ </Function>
+ <Function name="GetCurrentMonitor" retType="int" paramCount="0" desc="Get current connected monitor">
+ </Function>
+ <Function name="GetMonitorPosition" retType="Vector2" paramCount="1" desc="Get specified monitor position">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetMonitorWidth" retType="int" paramCount="1" desc="Get specified monitor width (max available by monitor)">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetMonitorHeight" retType="int" paramCount="1" desc="Get specified monitor height (max available by monitor)">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetMonitorPhysicalWidth" retType="int" paramCount="1" desc="Get specified monitor physical width in millimetres">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetMonitorPhysicalHeight" retType="int" paramCount="1" desc="Get specified monitor physical height in millimetres">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetMonitorRefreshRate" retType="int" paramCount="1" desc="Get specified monitor refresh rate">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="GetWindowPosition" retType="Vector2" paramCount="0" desc="Get window position XY on monitor">
+ </Function>
+ <Function name="GetWindowScaleDPI" retType="Vector2" paramCount="0" desc="Get window scale DPI factor">
+ </Function>
+ <Function name="GetMonitorName" retType="const char *" paramCount="1" desc="Get the human-readable, UTF-8 encoded name of the primary monitor">
+ <Param type="int" name="monitor" desc="" />
+ </Function>
+ <Function name="SetClipboardText" retType="void" paramCount="1" desc="Set clipboard text content">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="GetClipboardText" retType="const char *" paramCount="0" desc="Get clipboard text content">
+ </Function>
+ <Function name="SwapScreenBuffer" retType="void" paramCount="0" desc="Swap back buffer with front buffer (screen drawing)">
+ </Function>
+ <Function name="PollInputEvents" retType="void" paramCount="0" desc="Register all input events">
+ </Function>
+ <Function name="WaitTime" retType="void" paramCount="1" desc="Wait for some milliseconds (halt program execution)">
+ <Param type="float" name="ms" desc="" />
+ </Function>
+ <Function name="ShowCursor" retType="void" paramCount="0" desc="Shows cursor">
+ </Function>
+ <Function name="HideCursor" retType="void" paramCount="0" desc="Hides cursor">
+ </Function>
+ <Function name="IsCursorHidden" retType="bool" paramCount="0" desc="Check if cursor is not visible">
+ </Function>
+ <Function name="EnableCursor" retType="void" paramCount="0" desc="Enables cursor (unlock cursor)">
+ </Function>
+ <Function name="DisableCursor" retType="void" paramCount="0" desc="Disables cursor (lock cursor)">
+ </Function>
+ <Function name="IsCursorOnScreen" retType="bool" paramCount="0" desc="Check if cursor is on the screen">
+ </Function>
+ <Function name="ClearBackground" retType="void" paramCount="1" desc="Set background color (framebuffer clear color)">
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="BeginDrawing" retType="void" paramCount="0" desc="Setup canvas (framebuffer) to start drawing">
+ </Function>
+ <Function name="EndDrawing" retType="void" paramCount="0" desc="End canvas drawing and swap buffers (double buffering)">
+ </Function>
+ <Function name="BeginMode2D" retType="void" paramCount="1" desc="Begin 2D mode with custom camera (2D)">
+ <Param type="Camera2D" name="camera" desc="" />
+ </Function>
+ <Function name="EndMode2D" retType="void" paramCount="0" desc="Ends 2D mode with custom camera">
+ </Function>
+ <Function name="BeginMode3D" retType="void" paramCount="1" desc="Begin 3D mode with custom camera (3D)">
+ <Param type="Camera3D" name="camera" desc="" />
+ </Function>
+ <Function name="EndMode3D" retType="void" paramCount="0" desc="Ends 3D mode and returns to default 2D orthographic mode">
+ </Function>
+ <Function name="BeginTextureMode" retType="void" paramCount="1" desc="Begin drawing to render texture">
+ <Param type="RenderTexture2D" name="target" desc="" />
+ </Function>
+ <Function name="EndTextureMode" retType="void" paramCount="0" desc="Ends drawing to render texture">
+ </Function>
+ <Function name="BeginShaderMode" retType="void" paramCount="1" desc="Begin custom shader drawing">
+ <Param type="Shader" name="shader" desc="" />
+ </Function>
+ <Function name="EndShaderMode" retType="void" paramCount="0" desc="End custom shader drawing (use default shader)">
+ </Function>
+ <Function name="BeginBlendMode" retType="void" paramCount="1" desc="Begin blending mode (alpha, additive, multiplied, subtract, custom)">
+ <Param type="int" name="mode" desc="" />
+ </Function>
+ <Function name="EndBlendMode" retType="void" paramCount="0" desc="End blending mode (reset to default: alpha blending)">
+ </Function>
+ <Function name="BeginScissorMode" retType="void" paramCount="4" desc="Begin scissor mode (define screen area for following drawing)">
+ <Param type="int" name="x" desc="" />
+ <Param type="int" name="y" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ </Function>
+ <Function name="EndScissorMode" retType="void" paramCount="0" desc="End scissor mode">
+ </Function>
+ <Function name="BeginVrStereoMode" retType="void" paramCount="1" desc="Begin stereo rendering (requires VR simulator)">
+ <Param type="VrStereoConfig" name="config" desc="" />
+ </Function>
+ <Function name="EndVrStereoMode" retType="void" paramCount="0" desc="End stereo rendering (requires VR simulator)">
+ </Function>
+ <Function name="LoadVrStereoConfig" retType="VrStereoConfig" paramCount="1" desc="Load VR stereo config for VR simulator device parameters">
+ <Param type="VrDeviceInfo" name="device" desc="" />
+ </Function>
+ <Function name="UnloadVrStereoConfig" retType="void" paramCount="1" desc="Unload VR stereo config">
+ <Param type="VrStereoConfig" name="config" desc="" />
+ </Function>
+ <Function name="LoadShader" retType="Shader" paramCount="2" desc="Load shader from files and bind default locations">
+ <Param type="const char *" name="vsFileName" desc="" />
+ <Param type="const char *" name="fsFileName" desc="" />
+ </Function>
+ <Function name="LoadShaderFromMemory" retType="Shader" paramCount="2" desc="Load shader from code strings and bind default locations">
+ <Param type="const char *" name="vsCode" desc="" />
+ <Param type="const char *" name="fsCode" desc="" />
+ </Function>
+ <Function name="GetShaderLocation" retType="int" paramCount="2" desc="Get shader uniform location">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="const char *" name="uniformName" desc="" />
+ </Function>
+ <Function name="GetShaderLocationAttrib" retType="int" paramCount="2" desc="Get shader attribute location">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="const char *" name="attribName" desc="" />
+ </Function>
+ <Function name="SetShaderValue" retType="void" paramCount="4" desc="Set shader uniform value">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="int" name="locIndex" desc="" />
+ <Param type="const void *" name="value" desc="" />
+ <Param type="int" name="uniformType" desc="" />
+ </Function>
+ <Function name="SetShaderValueV" retType="void" paramCount="5" desc="Set shader uniform value vector">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="int" name="locIndex" desc="" />
+ <Param type="const void *" name="value" desc="" />
+ <Param type="int" name="uniformType" desc="" />
+ <Param type="int" name="count" desc="" />
+ </Function>
+ <Function name="SetShaderValueMatrix" retType="void" paramCount="3" desc="Set shader uniform value (matrix 4x4)">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="int" name="locIndex" desc="" />
+ <Param type="Matrix" name="mat" desc="" />
+ </Function>
+ <Function name="SetShaderValueTexture" retType="void" paramCount="3" desc="Set shader uniform value for texture (sampler2d)">
+ <Param type="Shader" name="shader" desc="" />
+ <Param type="int" name="locIndex" desc="" />
+ <Param type="Texture2D" name="texture" desc="" />
+ </Function>
+ <Function name="UnloadShader" retType="void" paramCount="1" desc="Unload shader from GPU memory (VRAM)">
+ <Param type="Shader" name="shader" desc="" />
+ </Function>
+ <Function name="GetMouseRay" retType="Ray" paramCount="2" desc="Get a ray trace from mouse position">
+ <Param type="Vector2" name="mousePosition" desc="" />
+ <Param type="Camera" name="camera" desc="" />
+ </Function>
+ <Function name="GetCameraMatrix" retType="Matrix" paramCount="1" desc="Get camera transform matrix (view matrix)">
+ <Param type="Camera" name="camera" desc="" />
+ </Function>
+ <Function name="GetCameraMatrix2D" retType="Matrix" paramCount="1" desc="Get camera 2d transform matrix">
+ <Param type="Camera2D" name="camera" desc="" />
+ </Function>
+ <Function name="GetWorldToScreen" retType="Vector2" paramCount="2" desc="Get the screen space position for a 3d world space position">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Camera" name="camera" desc="" />
+ </Function>
+ <Function name="GetWorldToScreenEx" retType="Vector2" paramCount="4" desc="Get size position for a 3d world space position">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Camera" name="camera" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ </Function>
+ <Function name="GetWorldToScreen2D" retType="Vector2" paramCount="2" desc="Get the screen space position for a 2d camera world space position">
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Camera2D" name="camera" desc="" />
+ </Function>
+ <Function name="GetScreenToWorld2D" retType="Vector2" paramCount="2" desc="Get the world space position for a 2d camera screen space position">
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Camera2D" name="camera" desc="" />
+ </Function>
+ <Function name="SetTargetFPS" retType="void" paramCount="1" desc="Set target FPS (maximum)">
+ <Param type="int" name="fps" desc="" />
+ </Function>
+ <Function name="GetFPS" retType="int" paramCount="0" desc="Get current FPS">
+ </Function>
+ <Function name="GetFrameTime" retType="float" paramCount="0" desc="Get time in seconds for last frame drawn (delta time)">
+ </Function>
+ <Function name="GetTime" retType="double" paramCount="0" desc="Get elapsed time in seconds since InitWindow()">
+ </Function>
+ <Function name="GetRandomValue" retType="int" paramCount="2" desc="Get a random value between min and max (both included)">
+ <Param type="int" name="min" desc="" />
+ <Param type="int" name="max" desc="" />
+ </Function>
+ <Function name="SetRandomSeed" retType="void" paramCount="1" desc="Set the seed for the random number generator">
+ <Param type="unsigned int" name="seed" desc="" />
+ </Function>
+ <Function name="TakeScreenshot" retType="void" paramCount="1" desc="Takes a screenshot of current screen (filename extension defines format)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="SetConfigFlags" retType="void" paramCount="1" desc="Setup init configuration flags (view FLAGS)">
+ <Param type="unsigned int" name="flags" desc="" />
+ </Function>
+ <Function name="TraceLog" retType="void" paramCount="3" desc="Show trace log messages (LOG_DEBUG, LOG_INFO, LOG_WARNING, LOG_ERROR...)">
+ <Param type="int" name="logLevel" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="..." name="args" desc="" />
+ </Function>
+ <Function name="SetTraceLogLevel" retType="void" paramCount="1" desc="Set the current threshold (minimum) log level">
+ <Param type="int" name="logLevel" desc="" />
+ </Function>
+ <Function name="MemAlloc" retType="void *" paramCount="1" desc="Internal memory allocator">
+ <Param type="int" name="size" desc="" />
+ </Function>
+ <Function name="MemRealloc" retType="void *" paramCount="2" desc="Internal memory reallocator">
+ <Param type="void *" name="ptr" desc="" />
+ <Param type="int" name="size" desc="" />
+ </Function>
+ <Function name="MemFree" retType="void" paramCount="1" desc="Internal memory free">
+ <Param type="void *" name="ptr" desc="" />
+ </Function>
+ <Function name="SetTraceLogCallback" retType="void" paramCount="1" desc="Set custom trace log">
+ <Param type="TraceLogCallback" name="callback" desc="" />
+ </Function>
+ <Function name="SetLoadFileDataCallback" retType="void" paramCount="1" desc="Set custom file binary data loader">
+ <Param type="LoadFileDataCallback" name="callback" desc="" />
+ </Function>
+ <Function name="SetSaveFileDataCallback" retType="void" paramCount="1" desc="Set custom file binary data saver">
+ <Param type="SaveFileDataCallback" name="callback" desc="" />
+ </Function>
+ <Function name="SetLoadFileTextCallback" retType="void" paramCount="1" desc="Set custom file text data loader">
+ <Param type="LoadFileTextCallback" name="callback" desc="" />
+ </Function>
+ <Function name="SetSaveFileTextCallback" retType="void" paramCount="1" desc="Set custom file text data saver">
+ <Param type="SaveFileTextCallback" name="callback" desc="" />
+ </Function>
+ <Function name="LoadFileData" retType="unsigned char *" paramCount="2" desc="Load file data as byte array (read)">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="unsigned int *" name="bytesRead" desc="" />
+ </Function>
+ <Function name="UnloadFileData" retType="void" paramCount="1" desc="Unload file data allocated by LoadFileData()">
+ <Param type="unsigned char *" name="data" desc="" />
+ </Function>
+ <Function name="SaveFileData" retType="bool" paramCount="3" desc="Save data to file from byte array (write), returns true on success">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="void *" name="data" desc="" />
+ <Param type="unsigned int" name="bytesToWrite" desc="" />
+ </Function>
+ <Function name="LoadFileText" retType="char *" paramCount="1" desc="Load text data from file (read), returns a '\0' terminated string">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="UnloadFileText" retType="void" paramCount="1" desc="Unload file text data allocated by LoadFileText()">
+ <Param type="char *" name="text" desc="" />
+ </Function>
+ <Function name="SaveFileText" retType="bool" paramCount="2" desc="Save text data to file (write), string must be '\0' terminated, returns true on success">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="char *" name="text" desc="" />
+ </Function>
+ <Function name="FileExists" retType="bool" paramCount="1" desc="Check if file exists">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="DirectoryExists" retType="bool" paramCount="1" desc="Check if a directory path exists">
+ <Param type="const char *" name="dirPath" desc="" />
+ </Function>
+ <Function name="IsFileExtension" retType="bool" paramCount="2" desc="Check file extension (including point: .png, .wav)">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="const char *" name="ext" desc="" />
+ </Function>
+ <Function name="GetFileLength" retType="int" paramCount="1" desc="Get file length in bytes (NOTE: GetFileSize() conflicts with windows.h)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="GetFileExtension" retType="const char *" paramCount="1" desc="Get pointer to extension for a filename string (includes dot: '.png')">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="GetFileName" retType="const char *" paramCount="1" desc="Get pointer to filename for a path string">
+ <Param type="const char *" name="filePath" desc="" />
+ </Function>
+ <Function name="GetFileNameWithoutExt" retType="const char *" paramCount="1" desc="Get filename string without extension (uses static string)">
+ <Param type="const char *" name="filePath" desc="" />
+ </Function>
+ <Function name="GetDirectoryPath" retType="const char *" paramCount="1" desc="Get full path for a given fileName with path (uses static string)">
+ <Param type="const char *" name="filePath" desc="" />
+ </Function>
+ <Function name="GetPrevDirectoryPath" retType="const char *" paramCount="1" desc="Get previous directory path for a given path (uses static string)">
+ <Param type="const char *" name="dirPath" desc="" />
+ </Function>
+ <Function name="GetWorkingDirectory" retType="const char *" paramCount="0" desc="Get current working directory (uses static string)">
+ </Function>
+ <Function name="GetApplicationDirectory" retType="const char *" paramCount="0" desc="Get the directory if the running application (uses static string)">
+ </Function>
+ <Function name="GetDirectoryFiles" retType="char **" paramCount="2" desc="Get filenames in a directory path (memory should be freed)">
+ <Param type="const char *" name="dirPath" desc="" />
+ <Param type="int *" name="count" desc="" />
+ </Function>
+ <Function name="ClearDirectoryFiles" retType="void" paramCount="0" desc="Clear directory files paths buffers (free memory)">
+ </Function>
+ <Function name="ChangeDirectory" retType="bool" paramCount="1" desc="Change working directory, return true on success">
+ <Param type="const char *" name="dir" desc="" />
+ </Function>
+ <Function name="IsFileDropped" retType="bool" paramCount="0" desc="Check if a file has been dropped into window">
+ </Function>
+ <Function name="GetDroppedFiles" retType="char **" paramCount="1" desc="Get dropped files names (memory should be freed)">
+ <Param type="int *" name="count" desc="" />
+ </Function>
+ <Function name="ClearDroppedFiles" retType="void" paramCount="0" desc="Clear dropped files paths buffer (free memory)">
+ </Function>
+ <Function name="GetFileModTime" retType="long" paramCount="1" desc="Get file modification time (last write time)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="CompressData" retType="unsigned char *" paramCount="3" desc="Compress data (DEFLATE algorithm)">
+ <Param type="const unsigned char *" name="data" desc="" />
+ <Param type="int" name="dataLength" desc="" />
+ <Param type="int *" name="compDataLength" desc="" />
+ </Function>
+ <Function name="DecompressData" retType="unsigned char *" paramCount="3" desc="Decompress data (DEFLATE algorithm)">
+ <Param type="const unsigned char *" name="compData" desc="" />
+ <Param type="int" name="compDataLength" desc="" />
+ <Param type="int *" name="dataLength" desc="" />
+ </Function>
+ <Function name="EncodeDataBase64" retType="char *" paramCount="3" desc="Encode data to Base64 string">
+ <Param type="const unsigned char *" name="data" desc="" />
+ <Param type="int" name="dataLength" desc="" />
+ <Param type="int *" name="outputLength" desc="" />
+ </Function>
+ <Function name="DecodeDataBase64" retType="unsigned char *" paramCount="2" desc="Decode Base64 string data">
+ <Param type="const unsigned char *" name="data" desc="" />
+ <Param type="int *" name="outputLength" desc="" />
+ </Function>
+ <Function name="SaveStorageValue" retType="bool" paramCount="2" desc="Save integer value to storage file (to defined position), returns true on success">
+ <Param type="unsigned int" name="position" desc="" />
+ <Param type="int" name="value" desc="" />
+ </Function>
+ <Function name="LoadStorageValue" retType="int" paramCount="1" desc="Load integer value from storage file (from defined position)">
+ <Param type="unsigned int" name="position" desc="" />
+ </Function>
+ <Function name="OpenURL" retType="void" paramCount="1" desc="Open URL with default system browser (if available)">
+ <Param type="const char *" name="url" desc="" />
+ </Function>
+ <Function name="IsKeyPressed" retType="bool" paramCount="1" desc="Check if a key has been pressed once">
+ <Param type="int" name="key" desc="" />
+ </Function>
+ <Function name="IsKeyDown" retType="bool" paramCount="1" desc="Check if a key is being pressed">
+ <Param type="int" name="key" desc="" />
+ </Function>
+ <Function name="IsKeyReleased" retType="bool" paramCount="1" desc="Check if a key has been released once">
+ <Param type="int" name="key" desc="" />
+ </Function>
+ <Function name="IsKeyUp" retType="bool" paramCount="1" desc="Check if a key is NOT being pressed">
+ <Param type="int" name="key" desc="" />
+ </Function>
+ <Function name="SetExitKey" retType="void" paramCount="1" desc="Set a custom key to exit program (default is ESC)">
+ <Param type="int" name="key" desc="" />
+ </Function>
+ <Function name="GetKeyPressed" retType="int" paramCount="0" desc="Get key pressed (keycode), call it multiple times for keys queued, returns 0 when the queue is empty">
+ </Function>
+ <Function name="GetCharPressed" retType="int" paramCount="0" desc="Get char pressed (unicode), call it multiple times for chars queued, returns 0 when the queue is empty">
+ </Function>
+ <Function name="IsGamepadAvailable" retType="bool" paramCount="1" desc="Check if a gamepad is available">
+ <Param type="int" name="gamepad" desc="" />
+ </Function>
+ <Function name="GetGamepadName" retType="const char *" paramCount="1" desc="Get gamepad internal name id">
+ <Param type="int" name="gamepad" desc="" />
+ </Function>
+ <Function name="IsGamepadButtonPressed" retType="bool" paramCount="2" desc="Check if a gamepad button has been pressed once">
+ <Param type="int" name="gamepad" desc="" />
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsGamepadButtonDown" retType="bool" paramCount="2" desc="Check if a gamepad button is being pressed">
+ <Param type="int" name="gamepad" desc="" />
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsGamepadButtonReleased" retType="bool" paramCount="2" desc="Check if a gamepad button has been released once">
+ <Param type="int" name="gamepad" desc="" />
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsGamepadButtonUp" retType="bool" paramCount="2" desc="Check if a gamepad button is NOT being pressed">
+ <Param type="int" name="gamepad" desc="" />
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="GetGamepadButtonPressed" retType="int" paramCount="0" desc="Get the last gamepad button pressed">
+ </Function>
+ <Function name="GetGamepadAxisCount" retType="int" paramCount="1" desc="Get gamepad axis count for a gamepad">
+ <Param type="int" name="gamepad" desc="" />
+ </Function>
+ <Function name="GetGamepadAxisMovement" retType="float" paramCount="2" desc="Get axis movement value for a gamepad axis">
+ <Param type="int" name="gamepad" desc="" />
+ <Param type="int" name="axis" desc="" />
+ </Function>
+ <Function name="SetGamepadMappings" retType="int" paramCount="1" desc="Set internal gamepad mappings (SDL_GameControllerDB)">
+ <Param type="const char *" name="mappings" desc="" />
+ </Function>
+ <Function name="IsMouseButtonPressed" retType="bool" paramCount="1" desc="Check if a mouse button has been pressed once">
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsMouseButtonDown" retType="bool" paramCount="1" desc="Check if a mouse button is being pressed">
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsMouseButtonReleased" retType="bool" paramCount="1" desc="Check if a mouse button has been released once">
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="IsMouseButtonUp" retType="bool" paramCount="1" desc="Check if a mouse button is NOT being pressed">
+ <Param type="int" name="button" desc="" />
+ </Function>
+ <Function name="GetMouseX" retType="int" paramCount="0" desc="Get mouse position X">
+ </Function>
+ <Function name="GetMouseY" retType="int" paramCount="0" desc="Get mouse position Y">
+ </Function>
+ <Function name="GetMousePosition" retType="Vector2" paramCount="0" desc="Get mouse position XY">
+ </Function>
+ <Function name="GetMouseDelta" retType="Vector2" paramCount="0" desc="Get mouse delta between frames">
+ </Function>
+ <Function name="SetMousePosition" retType="void" paramCount="2" desc="Set mouse position XY">
+ <Param type="int" name="x" desc="" />
+ <Param type="int" name="y" desc="" />
+ </Function>
+ <Function name="SetMouseOffset" retType="void" paramCount="2" desc="Set mouse offset">
+ <Param type="int" name="offsetX" desc="" />
+ <Param type="int" name="offsetY" desc="" />
+ </Function>
+ <Function name="SetMouseScale" retType="void" paramCount="2" desc="Set mouse scaling">
+ <Param type="float" name="scaleX" desc="" />
+ <Param type="float" name="scaleY" desc="" />
+ </Function>
+ <Function name="GetMouseWheelMove" retType="float" paramCount="0" desc="Get mouse wheel movement Y">
+ </Function>
+ <Function name="SetMouseCursor" retType="void" paramCount="1" desc="Set mouse cursor">
+ <Param type="int" name="cursor" desc="" />
+ </Function>
+ <Function name="GetTouchX" retType="int" paramCount="0" desc="Get touch position X for touch point 0 (relative to screen size)">
+ </Function>
+ <Function name="GetTouchY" retType="int" paramCount="0" desc="Get touch position Y for touch point 0 (relative to screen size)">
+ </Function>
+ <Function name="GetTouchPosition" retType="Vector2" paramCount="1" desc="Get touch position XY for a touch point index (relative to screen size)">
+ <Param type="int" name="index" desc="" />
+ </Function>
+ <Function name="GetTouchPointId" retType="int" paramCount="1" desc="Get touch point identifier for given index">
+ <Param type="int" name="index" desc="" />
+ </Function>
+ <Function name="GetTouchPointCount" retType="int" paramCount="0" desc="Get number of touch points">
+ </Function>
+ <Function name="SetGesturesEnabled" retType="void" paramCount="1" desc="Enable a set of gestures using flags">
+ <Param type="unsigned int" name="flags" desc="" />
+ </Function>
+ <Function name="IsGestureDetected" retType="bool" paramCount="1" desc="Check if a gesture have been detected">
+ <Param type="int" name="gesture" desc="" />
+ </Function>
+ <Function name="GetGestureDetected" retType="int" paramCount="0" desc="Get latest detected gesture">
+ </Function>
+ <Function name="GetGestureHoldDuration" retType="float" paramCount="0" desc="Get gesture hold time in milliseconds">
+ </Function>
+ <Function name="GetGestureDragVector" retType="Vector2" paramCount="0" desc="Get gesture drag vector">
+ </Function>
+ <Function name="GetGestureDragAngle" retType="float" paramCount="0" desc="Get gesture drag angle">
+ </Function>
+ <Function name="GetGesturePinchVector" retType="Vector2" paramCount="0" desc="Get gesture pinch delta">
+ </Function>
+ <Function name="GetGesturePinchAngle" retType="float" paramCount="0" desc="Get gesture pinch angle">
+ </Function>
+ <Function name="SetCameraMode" retType="void" paramCount="2" desc="Set camera mode (multiple camera modes available)">
+ <Param type="Camera" name="camera" desc="" />
+ <Param type="int" name="mode" desc="" />
+ </Function>
+ <Function name="UpdateCamera" retType="void" paramCount="1" desc="Update camera position for selected mode">
+ <Param type="Camera *" name="camera" desc="" />
+ </Function>
+ <Function name="SetCameraPanControl" retType="void" paramCount="1" desc="Set camera pan key to combine with mouse movement (free camera)">
+ <Param type="int" name="keyPan" desc="" />
+ </Function>
+ <Function name="SetCameraAltControl" retType="void" paramCount="1" desc="Set camera alt key to combine with mouse movement (free camera)">
+ <Param type="int" name="keyAlt" desc="" />
+ </Function>
+ <Function name="SetCameraSmoothZoomControl" retType="void" paramCount="1" desc="Set camera smooth zoom key to combine with mouse (free camera)">
+ <Param type="int" name="keySmoothZoom" desc="" />
+ </Function>
+ <Function name="SetCameraMoveControls" retType="void" paramCount="6" desc="Set camera move controls (1st person and 3rd person cameras)">
+ <Param type="int" name="keyFront" desc="" />
+ <Param type="int" name="keyBack" desc="" />
+ <Param type="int" name="keyRight" desc="" />
+ <Param type="int" name="keyLeft" desc="" />
+ <Param type="int" name="keyUp" desc="" />
+ <Param type="int" name="keyDown" desc="" />
+ </Function>
+ <Function name="SetShapesTexture" retType="void" paramCount="2" desc="Set texture and rectangle to be used on shapes drawing">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ </Function>
+ <Function name="DrawPixel" retType="void" paramCount="3" desc="Draw a pixel">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPixelV" retType="void" paramCount="2" desc="Draw a pixel (Vector version)">
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLine" retType="void" paramCount="5" desc="Draw a line">
+ <Param type="int" name="startPosX" desc="" />
+ <Param type="int" name="startPosY" desc="" />
+ <Param type="int" name="endPosX" desc="" />
+ <Param type="int" name="endPosY" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineV" retType="void" paramCount="3" desc="Draw a line (Vector version)">
+ <Param type="Vector2" name="startPos" desc="" />
+ <Param type="Vector2" name="endPos" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineEx" retType="void" paramCount="4" desc="Draw a line defining thickness">
+ <Param type="Vector2" name="startPos" desc="" />
+ <Param type="Vector2" name="endPos" desc="" />
+ <Param type="float" name="thick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineBezier" retType="void" paramCount="4" desc="Draw a line using cubic-bezier curves in-out">
+ <Param type="Vector2" name="startPos" desc="" />
+ <Param type="Vector2" name="endPos" desc="" />
+ <Param type="float" name="thick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineBezierQuad" retType="void" paramCount="5" desc="Draw line using quadratic bezier curves with a control point">
+ <Param type="Vector2" name="startPos" desc="" />
+ <Param type="Vector2" name="endPos" desc="" />
+ <Param type="Vector2" name="controlPos" desc="" />
+ <Param type="float" name="thick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineBezierCubic" retType="void" paramCount="6" desc="Draw line using cubic bezier curves with 2 control points">
+ <Param type="Vector2" name="startPos" desc="" />
+ <Param type="Vector2" name="endPos" desc="" />
+ <Param type="Vector2" name="startControlPos" desc="" />
+ <Param type="Vector2" name="endControlPos" desc="" />
+ <Param type="float" name="thick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawLineStrip" retType="void" paramCount="3" desc="Draw lines sequence">
+ <Param type="Vector2 *" name="points" desc="" />
+ <Param type="int" name="pointCount" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircle" retType="void" paramCount="4" desc="Draw a color-filled circle">
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircleSector" retType="void" paramCount="6" desc="Draw a piece of a circle">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="startAngle" desc="" />
+ <Param type="float" name="endAngle" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircleSectorLines" retType="void" paramCount="6" desc="Draw circle sector outline">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="startAngle" desc="" />
+ <Param type="float" name="endAngle" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircleGradient" retType="void" paramCount="5" desc="Draw a gradient-filled circle">
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Color" name="color1" desc="" />
+ <Param type="Color" name="color2" desc="" />
+ </Function>
+ <Function name="DrawCircleV" retType="void" paramCount="3" desc="Draw a color-filled circle (Vector version)">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircleLines" retType="void" paramCount="4" desc="Draw circle outline">
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawEllipse" retType="void" paramCount="5" desc="Draw ellipse">
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="float" name="radiusH" desc="" />
+ <Param type="float" name="radiusV" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawEllipseLines" retType="void" paramCount="5" desc="Draw ellipse outline">
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="float" name="radiusH" desc="" />
+ <Param type="float" name="radiusV" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRing" retType="void" paramCount="7" desc="Draw ring">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="innerRadius" desc="" />
+ <Param type="float" name="outerRadius" desc="" />
+ <Param type="float" name="startAngle" desc="" />
+ <Param type="float" name="endAngle" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRingLines" retType="void" paramCount="7" desc="Draw ring outline">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="innerRadius" desc="" />
+ <Param type="float" name="outerRadius" desc="" />
+ <Param type="float" name="startAngle" desc="" />
+ <Param type="float" name="endAngle" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangle" retType="void" paramCount="5" desc="Draw a color-filled rectangle">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleV" retType="void" paramCount="3" desc="Draw a color-filled rectangle (Vector version)">
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Vector2" name="size" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleRec" retType="void" paramCount="2" desc="Draw a color-filled rectangle">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectanglePro" retType="void" paramCount="4" desc="Draw a color-filled rectangle with pro parameters">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleGradientV" retType="void" paramCount="6" desc="Draw a vertical-gradient-filled rectangle">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color1" desc="" />
+ <Param type="Color" name="color2" desc="" />
+ </Function>
+ <Function name="DrawRectangleGradientH" retType="void" paramCount="6" desc="Draw a horizontal-gradient-filled rectangle">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color1" desc="" />
+ <Param type="Color" name="color2" desc="" />
+ </Function>
+ <Function name="DrawRectangleGradientEx" retType="void" paramCount="5" desc="Draw a gradient-filled rectangle with custom vertex colors">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="Color" name="col1" desc="" />
+ <Param type="Color" name="col2" desc="" />
+ <Param type="Color" name="col3" desc="" />
+ <Param type="Color" name="col4" desc="" />
+ </Function>
+ <Function name="DrawRectangleLines" retType="void" paramCount="5" desc="Draw rectangle outline">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleLinesEx" retType="void" paramCount="3" desc="Draw rectangle outline with extended parameters">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="float" name="lineThick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleRounded" retType="void" paramCount="4" desc="Draw rectangle with rounded edges">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="float" name="roundness" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRectangleRoundedLines" retType="void" paramCount="5" desc="Draw rectangle with rounded edges outline">
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="float" name="roundness" desc="" />
+ <Param type="int" name="segments" desc="" />
+ <Param type="float" name="lineThick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangle" retType="void" paramCount="4" desc="Draw a color-filled triangle (vertex in counter-clockwise order!)">
+ <Param type="Vector2" name="v1" desc="" />
+ <Param type="Vector2" name="v2" desc="" />
+ <Param type="Vector2" name="v3" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangleLines" retType="void" paramCount="4" desc="Draw triangle outline (vertex in counter-clockwise order!)">
+ <Param type="Vector2" name="v1" desc="" />
+ <Param type="Vector2" name="v2" desc="" />
+ <Param type="Vector2" name="v3" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangleFan" retType="void" paramCount="3" desc="Draw a triangle fan defined by points (first vertex is the center)">
+ <Param type="Vector2 *" name="points" desc="" />
+ <Param type="int" name="pointCount" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangleStrip" retType="void" paramCount="3" desc="Draw a triangle strip defined by points">
+ <Param type="Vector2 *" name="points" desc="" />
+ <Param type="int" name="pointCount" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPoly" retType="void" paramCount="5" desc="Draw a regular polygon (Vector version)">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="int" name="sides" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPolyLines" retType="void" paramCount="5" desc="Draw a polygon outline of n sides">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="int" name="sides" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPolyLinesEx" retType="void" paramCount="6" desc="Draw a polygon outline of n sides with extended parameters">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="int" name="sides" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="float" name="lineThick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="CheckCollisionRecs" retType="bool" paramCount="2" desc="Check collision between two rectangles">
+ <Param type="Rectangle" name="rec1" desc="" />
+ <Param type="Rectangle" name="rec2" desc="" />
+ </Function>
+ <Function name="CheckCollisionCircles" retType="bool" paramCount="4" desc="Check collision between two circles">
+ <Param type="Vector2" name="center1" desc="" />
+ <Param type="float" name="radius1" desc="" />
+ <Param type="Vector2" name="center2" desc="" />
+ <Param type="float" name="radius2" desc="" />
+ </Function>
+ <Function name="CheckCollisionCircleRec" retType="bool" paramCount="3" desc="Check collision between circle and rectangle">
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ </Function>
+ <Function name="CheckCollisionPointRec" retType="bool" paramCount="2" desc="Check if point is inside rectangle">
+ <Param type="Vector2" name="point" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ </Function>
+ <Function name="CheckCollisionPointCircle" retType="bool" paramCount="3" desc="Check if point is inside circle">
+ <Param type="Vector2" name="point" desc="" />
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ </Function>
+ <Function name="CheckCollisionPointTriangle" retType="bool" paramCount="4" desc="Check if point is inside a triangle">
+ <Param type="Vector2" name="point" desc="" />
+ <Param type="Vector2" name="p1" desc="" />
+ <Param type="Vector2" name="p2" desc="" />
+ <Param type="Vector2" name="p3" desc="" />
+ </Function>
+ <Function name="CheckCollisionLines" retType="bool" paramCount="5" desc="Check the collision between two lines defined by two points each, returns collision point by reference">
+ <Param type="Vector2" name="startPos1" desc="" />
+ <Param type="Vector2" name="endPos1" desc="" />
+ <Param type="Vector2" name="startPos2" desc="" />
+ <Param type="Vector2" name="endPos2" desc="" />
+ <Param type="Vector2 *" name="collisionPoint" desc="" />
+ </Function>
+ <Function name="CheckCollisionPointLine" retType="bool" paramCount="4" desc="Check if point belongs to line created between two points [p1] and [p2] with defined margin in pixels [threshold]">
+ <Param type="Vector2" name="point" desc="" />
+ <Param type="Vector2" name="p1" desc="" />
+ <Param type="Vector2" name="p2" desc="" />
+ <Param type="int" name="threshold" desc="" />
+ </Function>
+ <Function name="GetCollisionRec" retType="Rectangle" paramCount="2" desc="Get collision rectangle for two rectangles collision">
+ <Param type="Rectangle" name="rec1" desc="" />
+ <Param type="Rectangle" name="rec2" desc="" />
+ </Function>
+ <Function name="LoadImage" retType="Image" paramCount="1" desc="Load image from file into CPU memory (RAM)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadImageRaw" retType="Image" paramCount="5" desc="Load image from RAW file data">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="int" name="format" desc="" />
+ <Param type="int" name="headerSize" desc="" />
+ </Function>
+ <Function name="LoadImageAnim" retType="Image" paramCount="2" desc="Load image sequence from file (frames appended to image.data)">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="int *" name="frames" desc="" />
+ </Function>
+ <Function name="LoadImageFromMemory" retType="Image" paramCount="3" desc="Load image from memory buffer, fileType refers to extension: i.e. '.png'">
+ <Param type="const char *" name="fileType" desc="" />
+ <Param type="const unsigned char *" name="fileData" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ </Function>
+ <Function name="LoadImageFromTexture" retType="Image" paramCount="1" desc="Load image from GPU texture data">
+ <Param type="Texture2D" name="texture" desc="" />
+ </Function>
+ <Function name="LoadImageFromScreen" retType="Image" paramCount="0" desc="Load image from screen buffer and (screenshot)">
+ </Function>
+ <Function name="UnloadImage" retType="void" paramCount="1" desc="Unload image from CPU memory (RAM)">
+ <Param type="Image" name="image" desc="" />
+ </Function>
+ <Function name="ExportImage" retType="bool" paramCount="2" desc="Export image data to file, returns true on success">
+ <Param type="Image" name="image" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="ExportImageAsCode" retType="bool" paramCount="2" desc="Export image as code file defining an array of bytes, returns true on success">
+ <Param type="Image" name="image" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="GenImageColor" retType="Image" paramCount="3" desc="Generate image: plain color">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="GenImageGradientV" retType="Image" paramCount="4" desc="Generate image: vertical gradient">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="top" desc="" />
+ <Param type="Color" name="bottom" desc="" />
+ </Function>
+ <Function name="GenImageGradientH" retType="Image" paramCount="4" desc="Generate image: horizontal gradient">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="left" desc="" />
+ <Param type="Color" name="right" desc="" />
+ </Function>
+ <Function name="GenImageGradientRadial" retType="Image" paramCount="5" desc="Generate image: radial gradient">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="float" name="density" desc="" />
+ <Param type="Color" name="inner" desc="" />
+ <Param type="Color" name="outer" desc="" />
+ </Function>
+ <Function name="GenImageChecked" retType="Image" paramCount="6" desc="Generate image: checked">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="int" name="checksX" desc="" />
+ <Param type="int" name="checksY" desc="" />
+ <Param type="Color" name="col1" desc="" />
+ <Param type="Color" name="col2" desc="" />
+ </Function>
+ <Function name="GenImageWhiteNoise" retType="Image" paramCount="3" desc="Generate image: white noise">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="float" name="factor" desc="" />
+ </Function>
+ <Function name="GenImageCellular" retType="Image" paramCount="3" desc="Generate image: cellular algorithm, bigger tileSize means bigger cells">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="int" name="tileSize" desc="" />
+ </Function>
+ <Function name="ImageCopy" retType="Image" paramCount="1" desc="Create an image duplicate (useful for transformations)">
+ <Param type="Image" name="image" desc="" />
+ </Function>
+ <Function name="ImageFromImage" retType="Image" paramCount="2" desc="Create an image from another image piece">
+ <Param type="Image" name="image" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ </Function>
+ <Function name="ImageText" retType="Image" paramCount="3" desc="Create an image from text (default font)">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageTextEx" retType="Image" paramCount="5" desc="Create an image from text (custom sprite font)">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="ImageFormat" retType="void" paramCount="2" desc="Convert image data to desired format">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="newFormat" desc="" />
+ </Function>
+ <Function name="ImageToPOT" retType="void" paramCount="2" desc="Convert image to POT (power-of-two)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Color" name="fill" desc="" />
+ </Function>
+ <Function name="ImageCrop" retType="void" paramCount="2" desc="Crop an image to a defined rectangle">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Rectangle" name="crop" desc="" />
+ </Function>
+ <Function name="ImageAlphaCrop" retType="void" paramCount="2" desc="Crop image depending on alpha value">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="float" name="threshold" desc="" />
+ </Function>
+ <Function name="ImageAlphaClear" retType="void" paramCount="3" desc="Clear alpha channel to desired color">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Color" name="color" desc="" />
+ <Param type="float" name="threshold" desc="" />
+ </Function>
+ <Function name="ImageAlphaMask" retType="void" paramCount="2" desc="Apply alpha mask to image">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Image" name="alphaMask" desc="" />
+ </Function>
+ <Function name="ImageAlphaPremultiply" retType="void" paramCount="1" desc="Premultiply alpha channel">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageResize" retType="void" paramCount="3" desc="Resize image (Bicubic scaling algorithm)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="newWidth" desc="" />
+ <Param type="int" name="newHeight" desc="" />
+ </Function>
+ <Function name="ImageResizeNN" retType="void" paramCount="3" desc="Resize image (Nearest-Neighbor scaling algorithm)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="newWidth" desc="" />
+ <Param type="int" name="newHeight" desc="" />
+ </Function>
+ <Function name="ImageResizeCanvas" retType="void" paramCount="6" desc="Resize canvas and fill with color">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="newWidth" desc="" />
+ <Param type="int" name="newHeight" desc="" />
+ <Param type="int" name="offsetX" desc="" />
+ <Param type="int" name="offsetY" desc="" />
+ <Param type="Color" name="fill" desc="" />
+ </Function>
+ <Function name="ImageMipmaps" retType="void" paramCount="1" desc="Compute all mipmap levels for a provided image">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageDither" retType="void" paramCount="5" desc="Dither image data to 16bpp or lower (Floyd-Steinberg dithering)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="rBpp" desc="" />
+ <Param type="int" name="gBpp" desc="" />
+ <Param type="int" name="bBpp" desc="" />
+ <Param type="int" name="aBpp" desc="" />
+ </Function>
+ <Function name="ImageFlipVertical" retType="void" paramCount="1" desc="Flip image vertically">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageFlipHorizontal" retType="void" paramCount="1" desc="Flip image horizontally">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageRotateCW" retType="void" paramCount="1" desc="Rotate image clockwise 90deg">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageRotateCCW" retType="void" paramCount="1" desc="Rotate image counter-clockwise 90deg">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageColorTint" retType="void" paramCount="2" desc="Modify image color: tint">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageColorInvert" retType="void" paramCount="1" desc="Modify image color: invert">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageColorGrayscale" retType="void" paramCount="1" desc="Modify image color: grayscale">
+ <Param type="Image *" name="image" desc="" />
+ </Function>
+ <Function name="ImageColorContrast" retType="void" paramCount="2" desc="Modify image color: contrast (-100 to 100)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="float" name="contrast" desc="" />
+ </Function>
+ <Function name="ImageColorBrightness" retType="void" paramCount="2" desc="Modify image color: brightness (-255 to 255)">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="int" name="brightness" desc="" />
+ </Function>
+ <Function name="ImageColorReplace" retType="void" paramCount="3" desc="Modify image color: replace color">
+ <Param type="Image *" name="image" desc="" />
+ <Param type="Color" name="color" desc="" />
+ <Param type="Color" name="replace" desc="" />
+ </Function>
+ <Function name="LoadImageColors" retType="Color *" paramCount="1" desc="Load color data from image as a Color array (RGBA - 32bit)">
+ <Param type="Image" name="image" desc="" />
+ </Function>
+ <Function name="LoadImagePalette" retType="Color *" paramCount="3" desc="Load colors palette from image as a Color array (RGBA - 32bit)">
+ <Param type="Image" name="image" desc="" />
+ <Param type="int" name="maxPaletteSize" desc="" />
+ <Param type="int *" name="colorCount" desc="" />
+ </Function>
+ <Function name="UnloadImageColors" retType="void" paramCount="1" desc="Unload color data loaded with LoadImageColors()">
+ <Param type="Color *" name="colors" desc="" />
+ </Function>
+ <Function name="UnloadImagePalette" retType="void" paramCount="1" desc="Unload colors palette loaded with LoadImagePalette()">
+ <Param type="Color *" name="colors" desc="" />
+ </Function>
+ <Function name="GetImageAlphaBorder" retType="Rectangle" paramCount="2" desc="Get image alpha border rectangle">
+ <Param type="Image" name="image" desc="" />
+ <Param type="float" name="threshold" desc="" />
+ </Function>
+ <Function name="GetImageColor" retType="Color" paramCount="3" desc="Get image pixel color at (x, y) position">
+ <Param type="Image" name="image" desc="" />
+ <Param type="int" name="x" desc="" />
+ <Param type="int" name="y" desc="" />
+ </Function>
+ <Function name="ImageClearBackground" retType="void" paramCount="2" desc="Clear image background with given color">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawPixel" retType="void" paramCount="4" desc="Draw pixel within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawPixelV" retType="void" paramCount="3" desc="Draw pixel within an image (Vector version)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawLine" retType="void" paramCount="6" desc="Draw line within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="int" name="startPosX" desc="" />
+ <Param type="int" name="startPosY" desc="" />
+ <Param type="int" name="endPosX" desc="" />
+ <Param type="int" name="endPosY" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawLineV" retType="void" paramCount="4" desc="Draw line within an image (Vector version)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Vector2" name="start" desc="" />
+ <Param type="Vector2" name="end" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawCircle" retType="void" paramCount="5" desc="Draw circle within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="int" name="centerX" desc="" />
+ <Param type="int" name="centerY" desc="" />
+ <Param type="int" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawCircleV" retType="void" paramCount="4" desc="Draw circle within an image (Vector version)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="int" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawRectangle" retType="void" paramCount="6" desc="Draw rectangle within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawRectangleV" retType="void" paramCount="4" desc="Draw rectangle within an image (Vector version)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Vector2" name="size" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawRectangleRec" retType="void" paramCount="3" desc="Draw rectangle within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawRectangleLines" retType="void" paramCount="4" desc="Draw rectangle lines within an image">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="int" name="thick" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDraw" retType="void" paramCount="5" desc="Draw a source image within a destination image (tint applied to source)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Image" name="src" desc="" />
+ <Param type="Rectangle" name="srcRec" desc="" />
+ <Param type="Rectangle" name="dstRec" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="ImageDrawText" retType="void" paramCount="6" desc="Draw text (using default font) within an image (destination)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ImageDrawTextEx" retType="void" paramCount="7" desc="Draw text (custom sprite font) within an image (destination)">
+ <Param type="Image *" name="dst" desc="" />
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="LoadTexture" retType="Texture2D" paramCount="1" desc="Load texture from file into GPU memory (VRAM)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadTextureFromImage" retType="Texture2D" paramCount="1" desc="Load texture from image data">
+ <Param type="Image" name="image" desc="" />
+ </Function>
+ <Function name="LoadTextureCubemap" retType="TextureCubemap" paramCount="2" desc="Load cubemap from image, multiple image cubemap layouts supported">
+ <Param type="Image" name="image" desc="" />
+ <Param type="int" name="layout" desc="" />
+ </Function>
+ <Function name="LoadRenderTexture" retType="RenderTexture2D" paramCount="2" desc="Load texture for rendering (framebuffer)">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ </Function>
+ <Function name="UnloadTexture" retType="void" paramCount="1" desc="Unload texture from GPU memory (VRAM)">
+ <Param type="Texture2D" name="texture" desc="" />
+ </Function>
+ <Function name="UnloadRenderTexture" retType="void" paramCount="1" desc="Unload render texture from GPU memory (VRAM)">
+ <Param type="RenderTexture2D" name="target" desc="" />
+ </Function>
+ <Function name="UpdateTexture" retType="void" paramCount="2" desc="Update GPU texture with new data">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="const void *" name="pixels" desc="" />
+ </Function>
+ <Function name="UpdateTextureRec" retType="void" paramCount="3" desc="Update GPU texture rectangle with new data">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="rec" desc="" />
+ <Param type="const void *" name="pixels" desc="" />
+ </Function>
+ <Function name="GenTextureMipmaps" retType="void" paramCount="1" desc="Generate GPU mipmaps for a texture">
+ <Param type="Texture2D *" name="texture" desc="" />
+ </Function>
+ <Function name="SetTextureFilter" retType="void" paramCount="2" desc="Set texture scaling filter mode">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="int" name="filter" desc="" />
+ </Function>
+ <Function name="SetTextureWrap" retType="void" paramCount="2" desc="Set texture wrapping mode">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="int" name="wrap" desc="" />
+ </Function>
+ <Function name="DrawTexture" retType="void" paramCount="4" desc="Draw a Texture2D">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureV" retType="void" paramCount="3" desc="Draw a Texture2D with position defined as Vector2">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureEx" retType="void" paramCount="5" desc="Draw a Texture2D with extended parameters">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="float" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureRec" retType="void" paramCount="4" desc="Draw a part of a texture defined by a rectangle">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureQuad" retType="void" paramCount="5" desc="Draw texture quad with tiling and offset parameters">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector2" name="tiling" desc="" />
+ <Param type="Vector2" name="offset" desc="" />
+ <Param type="Rectangle" name="quad" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureTiled" retType="void" paramCount="7" desc="Draw part of a texture (defined by a rectangle) with rotation and scale tiled into dest.">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Rectangle" name="dest" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="float" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTexturePro" retType="void" paramCount="6" desc="Draw a part of a texture defined by a rectangle with 'pro' parameters">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Rectangle" name="dest" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextureNPatch" retType="void" paramCount="6" desc="Draws a texture (or part of it) that stretches or shrinks nicely">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="NPatchInfo" name="nPatchInfo" desc="" />
+ <Param type="Rectangle" name="dest" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTexturePoly" retType="void" paramCount="6" desc="Draw a textured polygon">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector2" name="center" desc="" />
+ <Param type="Vector2 *" name="points" desc="" />
+ <Param type="Vector2 *" name="texcoords" desc="" />
+ <Param type="int" name="pointCount" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="Fade" retType="Color" paramCount="2" desc="Get color with alpha applied, alpha goes from 0.0f to 1.0f">
+ <Param type="Color" name="color" desc="" />
+ <Param type="float" name="alpha" desc="" />
+ </Function>
+ <Function name="ColorToInt" retType="int" paramCount="1" desc="Get hexadecimal value for a Color">
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ColorNormalize" retType="Vector4" paramCount="1" desc="Get Color normalized as float [0..1]">
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ColorFromNormalized" retType="Color" paramCount="1" desc="Get Color from normalized values [0..1]">
+ <Param type="Vector4" name="normalized" desc="" />
+ </Function>
+ <Function name="ColorToHSV" retType="Vector3" paramCount="1" desc="Get HSV values for a Color, hue [0..360], saturation/value [0..1]">
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="ColorFromHSV" retType="Color" paramCount="3" desc="Get a Color from HSV values, hue [0..360], saturation/value [0..1]">
+ <Param type="float" name="hue" desc="" />
+ <Param type="float" name="saturation" desc="" />
+ <Param type="float" name="value" desc="" />
+ </Function>
+ <Function name="ColorAlpha" retType="Color" paramCount="2" desc="Get color with alpha applied, alpha goes from 0.0f to 1.0f">
+ <Param type="Color" name="color" desc="" />
+ <Param type="float" name="alpha" desc="" />
+ </Function>
+ <Function name="ColorAlphaBlend" retType="Color" paramCount="3" desc="Get src alpha-blended into dst color with tint">
+ <Param type="Color" name="dst" desc="" />
+ <Param type="Color" name="src" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="GetColor" retType="Color" paramCount="1" desc="Get Color structure from hexadecimal value">
+ <Param type="unsigned int" name="hexValue" desc="" />
+ </Function>
+ <Function name="GetPixelColor" retType="Color" paramCount="2" desc="Get Color from a source pixel pointer of certain format">
+ <Param type="void *" name="srcPtr" desc="" />
+ <Param type="int" name="format" desc="" />
+ </Function>
+ <Function name="SetPixelColor" retType="void" paramCount="3" desc="Set color formatted into destination pixel pointer">
+ <Param type="void *" name="dstPtr" desc="" />
+ <Param type="Color" name="color" desc="" />
+ <Param type="int" name="format" desc="" />
+ </Function>
+ <Function name="GetPixelDataSize" retType="int" paramCount="3" desc="Get pixel data size in bytes for certain format">
+ <Param type="int" name="width" desc="" />
+ <Param type="int" name="height" desc="" />
+ <Param type="int" name="format" desc="" />
+ </Function>
+ <Function name="GetFontDefault" retType="Font" paramCount="0" desc="Get the default Font">
+ </Function>
+ <Function name="LoadFont" retType="Font" paramCount="1" desc="Load font from file into GPU memory (VRAM)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadFontEx" retType="Font" paramCount="4" desc="Load font from file with extended parameters, use NULL for fontChars and 0 for glyphCount to load the default character set">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="int *" name="fontChars" desc="" />
+ <Param type="int" name="glyphCount" desc="" />
+ </Function>
+ <Function name="LoadFontFromImage" retType="Font" paramCount="3" desc="Load font from Image (XNA style)">
+ <Param type="Image" name="image" desc="" />
+ <Param type="Color" name="key" desc="" />
+ <Param type="int" name="firstChar" desc="" />
+ </Function>
+ <Function name="LoadFontFromMemory" retType="Font" paramCount="6" desc="Load font from memory buffer, fileType refers to extension: i.e. '.ttf'">
+ <Param type="const char *" name="fileType" desc="" />
+ <Param type="const unsigned char *" name="fileData" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="int *" name="fontChars" desc="" />
+ <Param type="int" name="glyphCount" desc="" />
+ </Function>
+ <Function name="LoadFontData" retType="GlyphInfo *" paramCount="6" desc="Load font data for further use">
+ <Param type="const unsigned char *" name="fileData" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="int *" name="fontChars" desc="" />
+ <Param type="int" name="glyphCount" desc="" />
+ <Param type="int" name="type" desc="" />
+ </Function>
+ <Function name="GenImageFontAtlas" retType="Image" paramCount="6" desc="Generate image font atlas using chars info">
+ <Param type="const GlyphInfo *" name="chars" desc="" />
+ <Param type="Rectangle **" name="recs" desc="" />
+ <Param type="int" name="glyphCount" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="int" name="padding" desc="" />
+ <Param type="int" name="packMethod" desc="" />
+ </Function>
+ <Function name="UnloadFontData" retType="void" paramCount="2" desc="Unload font chars info data (RAM)">
+ <Param type="GlyphInfo *" name="chars" desc="" />
+ <Param type="int" name="glyphCount" desc="" />
+ </Function>
+ <Function name="UnloadFont" retType="void" paramCount="1" desc="Unload font from GPU memory (VRAM)">
+ <Param type="Font" name="font" desc="" />
+ </Function>
+ <Function name="ExportFontAsCode" retType="bool" paramCount="2" desc="Export font as code file, returns true on success">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="DrawFPS" retType="void" paramCount="2" desc="Draw current FPS">
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ </Function>
+ <Function name="DrawText" retType="void" paramCount="5" desc="Draw text (using default font)">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int" name="posX" desc="" />
+ <Param type="int" name="posY" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTextEx" retType="void" paramCount="6" desc="Draw text using font and additional parameters">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextPro" retType="void" paramCount="8" desc="Draw text using Font and pro parameters (rotation)">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextCodepoint" retType="void" paramCount="5" desc="Draw one character (codepoint)">
+ <Param type="Font" name="font" desc="" />
+ <Param type="int" name="codepoint" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawTextCodepoints" retType="void" paramCount="7" desc="Draw multiple character (codepoint)">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const int *" name="codepoints" desc="" />
+ <Param type="int" name="count" desc="" />
+ <Param type="Vector2" name="position" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="MeasureText" retType="int" paramCount="2" desc="Measure string width for default font">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int" name="fontSize" desc="" />
+ </Function>
+ <Function name="MeasureTextEx" retType="Vector2" paramCount="4" desc="Measure string size for Font">
+ <Param type="Font" name="font" desc="" />
+ <Param type="const char *" name="text" desc="" />
+ <Param type="float" name="fontSize" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ </Function>
+ <Function name="GetGlyphIndex" retType="int" paramCount="2" desc="Get glyph index position in font for a codepoint (unicode character), fallback to '?' if not found">
+ <Param type="Font" name="font" desc="" />
+ <Param type="int" name="codepoint" desc="" />
+ </Function>
+ <Function name="GetGlyphInfo" retType="GlyphInfo" paramCount="2" desc="Get glyph font info data for a codepoint (unicode character), fallback to '?' if not found">
+ <Param type="Font" name="font" desc="" />
+ <Param type="int" name="codepoint" desc="" />
+ </Function>
+ <Function name="GetGlyphAtlasRec" retType="Rectangle" paramCount="2" desc="Get glyph rectangle in font atlas for a codepoint (unicode character), fallback to '?' if not found">
+ <Param type="Font" name="font" desc="" />
+ <Param type="int" name="codepoint" desc="" />
+ </Function>
+ <Function name="LoadCodepoints" retType="int *" paramCount="2" desc="Load all codepoints from a UTF-8 text string, codepoints count returned by parameter">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int *" name="count" desc="" />
+ </Function>
+ <Function name="UnloadCodepoints" retType="void" paramCount="1" desc="Unload codepoints data from memory">
+ <Param type="int *" name="codepoints" desc="" />
+ </Function>
+ <Function name="GetCodepointCount" retType="int" paramCount="1" desc="Get total number of codepoints in a UTF-8 encoded string">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="GetCodepoint" retType="int" paramCount="2" desc="Get next codepoint in a UTF-8 encoded string, 0x3f('?') is returned on failure">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int *" name="bytesProcessed" desc="" />
+ </Function>
+ <Function name="CodepointToUTF8" retType="const char *" paramCount="2" desc="Encode one codepoint into UTF-8 byte array (array length returned as parameter)">
+ <Param type="int" name="codepoint" desc="" />
+ <Param type="int *" name="byteSize" desc="" />
+ </Function>
+ <Function name="TextCodepointsToUTF8" retType="char *" paramCount="2" desc="Encode text as codepoints array into UTF-8 text string (WARNING: memory must be freed!)">
+ <Param type="const int *" name="codepoints" desc="" />
+ <Param type="int" name="length" desc="" />
+ </Function>
+ <Function name="TextCopy" retType="int" paramCount="2" desc="Copy one string to another, returns bytes copied">
+ <Param type="char *" name="dst" desc="" />
+ <Param type="const char *" name="src" desc="" />
+ </Function>
+ <Function name="TextIsEqual" retType="bool" paramCount="2" desc="Check if two text string are equal">
+ <Param type="const char *" name="text1" desc="" />
+ <Param type="const char *" name="text2" desc="" />
+ </Function>
+ <Function name="TextLength" retType="unsigned int" paramCount="1" desc="Get text length, checks for '\0' ending">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="TextFormat" retType="const char *" paramCount="2" desc="Text formatting with variables (sprintf() style)">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="..." name="args" desc="" />
+ </Function>
+ <Function name="TextSubtext" retType="const char *" paramCount="3" desc="Get a piece of a text string">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="int" name="position" desc="" />
+ <Param type="int" name="length" desc="" />
+ </Function>
+ <Function name="TextReplace" retType="char *" paramCount="3" desc="Replace text string (WARNING: memory must be freed!)">
+ <Param type="char *" name="text" desc="" />
+ <Param type="const char *" name="replace" desc="" />
+ <Param type="const char *" name="by" desc="" />
+ </Function>
+ <Function name="TextInsert" retType="char *" paramCount="3" desc="Insert text in a position (WARNING: memory must be freed!)">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="const char *" name="insert" desc="" />
+ <Param type="int" name="position" desc="" />
+ </Function>
+ <Function name="TextJoin" retType="const char *" paramCount="3" desc="Join text strings with delimiter">
+ <Param type="const char **" name="textList" desc="" />
+ <Param type="int" name="count" desc="" />
+ <Param type="const char *" name="delimiter" desc="" />
+ </Function>
+ <Function name="TextSplit" retType="const char **" paramCount="3" desc="Split text into multiple strings">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="char" name="delimiter" desc="" />
+ <Param type="int *" name="count" desc="" />
+ </Function>
+ <Function name="TextAppend" retType="void" paramCount="3" desc="Append text at specific position and move cursor!">
+ <Param type="char *" name="text" desc="" />
+ <Param type="const char *" name="append" desc="" />
+ <Param type="int *" name="position" desc="" />
+ </Function>
+ <Function name="TextFindIndex" retType="int" paramCount="2" desc="Find first text occurrence within a string">
+ <Param type="const char *" name="text" desc="" />
+ <Param type="const char *" name="find" desc="" />
+ </Function>
+ <Function name="TextToUpper" retType="const char *" paramCount="1" desc="Get upper case version of provided string">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="TextToLower" retType="const char *" paramCount="1" desc="Get lower case version of provided string">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="TextToPascal" retType="const char *" paramCount="1" desc="Get Pascal case notation version of provided string">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="TextToInteger" retType="int" paramCount="1" desc="Get integer value from text (negative values not supported)">
+ <Param type="const char *" name="text" desc="" />
+ </Function>
+ <Function name="DrawLine3D" retType="void" paramCount="3" desc="Draw a line in 3D world space">
+ <Param type="Vector3" name="startPos" desc="" />
+ <Param type="Vector3" name="endPos" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPoint3D" retType="void" paramCount="2" desc="Draw a point in 3D space, actually a small line">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCircle3D" retType="void" paramCount="5" desc="Draw a circle in 3D world space">
+ <Param type="Vector3" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Vector3" name="rotationAxis" desc="" />
+ <Param type="float" name="rotationAngle" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangle3D" retType="void" paramCount="4" desc="Draw a color-filled triangle (vertex in counter-clockwise order!)">
+ <Param type="Vector3" name="v1" desc="" />
+ <Param type="Vector3" name="v2" desc="" />
+ <Param type="Vector3" name="v3" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawTriangleStrip3D" retType="void" paramCount="3" desc="Draw a triangle strip defined by points">
+ <Param type="Vector3 *" name="points" desc="" />
+ <Param type="int" name="pointCount" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCube" retType="void" paramCount="5" desc="Draw cube">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="float" name="length" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCubeV" retType="void" paramCount="3" desc="Draw cube (Vector version)">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector3" name="size" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCubeWires" retType="void" paramCount="5" desc="Draw cube wires">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="float" name="length" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCubeWiresV" retType="void" paramCount="3" desc="Draw cube wires (Vector version)">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector3" name="size" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCubeTexture" retType="void" paramCount="6" desc="Draw cube textured">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="float" name="length" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCubeTextureRec" retType="void" paramCount="7" desc="Draw cube with a region of a texture">
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="float" name="length" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawSphere" retType="void" paramCount="3" desc="Draw sphere">
+ <Param type="Vector3" name="centerPos" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawSphereEx" retType="void" paramCount="5" desc="Draw sphere with extended parameters">
+ <Param type="Vector3" name="centerPos" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="int" name="rings" desc="" />
+ <Param type="int" name="slices" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawSphereWires" retType="void" paramCount="5" desc="Draw sphere wires">
+ <Param type="Vector3" name="centerPos" desc="" />
+ <Param type="float" name="radius" desc="" />
+ <Param type="int" name="rings" desc="" />
+ <Param type="int" name="slices" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCylinder" retType="void" paramCount="6" desc="Draw a cylinder/cone">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="radiusTop" desc="" />
+ <Param type="float" name="radiusBottom" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="int" name="slices" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCylinderEx" retType="void" paramCount="6" desc="Draw a cylinder with base at startPos and top at endPos">
+ <Param type="Vector3" name="startPos" desc="" />
+ <Param type="Vector3" name="endPos" desc="" />
+ <Param type="float" name="startRadius" desc="" />
+ <Param type="float" name="endRadius" desc="" />
+ <Param type="int" name="sides" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCylinderWires" retType="void" paramCount="6" desc="Draw a cylinder/cone wires">
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="radiusTop" desc="" />
+ <Param type="float" name="radiusBottom" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="int" name="slices" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawCylinderWiresEx" retType="void" paramCount="6" desc="Draw a cylinder wires with base at startPos and top at endPos">
+ <Param type="Vector3" name="startPos" desc="" />
+ <Param type="Vector3" name="endPos" desc="" />
+ <Param type="float" name="startRadius" desc="" />
+ <Param type="float" name="endRadius" desc="" />
+ <Param type="int" name="sides" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawPlane" retType="void" paramCount="3" desc="Draw a plane XZ">
+ <Param type="Vector3" name="centerPos" desc="" />
+ <Param type="Vector2" name="size" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawRay" retType="void" paramCount="2" desc="Draw a ray line">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawGrid" retType="void" paramCount="2" desc="Draw a grid (centered at (0, 0, 0))">
+ <Param type="int" name="slices" desc="" />
+ <Param type="float" name="spacing" desc="" />
+ </Function>
+ <Function name="LoadModel" retType="Model" paramCount="1" desc="Load model from files (meshes and materials)">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadModelFromMesh" retType="Model" paramCount="1" desc="Load model from generated mesh (default material)">
+ <Param type="Mesh" name="mesh" desc="" />
+ </Function>
+ <Function name="UnloadModel" retType="void" paramCount="1" desc="Unload model (including meshes) from memory (RAM and/or VRAM)">
+ <Param type="Model" name="model" desc="" />
+ </Function>
+ <Function name="UnloadModelKeepMeshes" retType="void" paramCount="1" desc="Unload model (but not meshes) from memory (RAM and/or VRAM)">
+ <Param type="Model" name="model" desc="" />
+ </Function>
+ <Function name="GetModelBoundingBox" retType="BoundingBox" paramCount="1" desc="Compute model bounding box limits (considers all meshes)">
+ <Param type="Model" name="model" desc="" />
+ </Function>
+ <Function name="DrawModel" retType="void" paramCount="4" desc="Draw a model (with texture if set)">
+ <Param type="Model" name="model" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawModelEx" retType="void" paramCount="6" desc="Draw a model with extended parameters">
+ <Param type="Model" name="model" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector3" name="rotationAxis" desc="" />
+ <Param type="float" name="rotationAngle" desc="" />
+ <Param type="Vector3" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawModelWires" retType="void" paramCount="4" desc="Draw a model wires (with texture if set)">
+ <Param type="Model" name="model" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawModelWiresEx" retType="void" paramCount="6" desc="Draw a model wires (with texture if set) with extended parameters">
+ <Param type="Model" name="model" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector3" name="rotationAxis" desc="" />
+ <Param type="float" name="rotationAngle" desc="" />
+ <Param type="Vector3" name="scale" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawBoundingBox" retType="void" paramCount="2" desc="Draw bounding box (wires)">
+ <Param type="BoundingBox" name="box" desc="" />
+ <Param type="Color" name="color" desc="" />
+ </Function>
+ <Function name="DrawBillboard" retType="void" paramCount="5" desc="Draw a billboard texture">
+ <Param type="Camera" name="camera" desc="" />
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="float" name="size" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawBillboardRec" retType="void" paramCount="6" desc="Draw a billboard texture defined by source">
+ <Param type="Camera" name="camera" desc="" />
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector2" name="size" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="DrawBillboardPro" retType="void" paramCount="9" desc="Draw a billboard texture defined by source and rotation">
+ <Param type="Camera" name="camera" desc="" />
+ <Param type="Texture2D" name="texture" desc="" />
+ <Param type="Rectangle" name="source" desc="" />
+ <Param type="Vector3" name="position" desc="" />
+ <Param type="Vector3" name="up" desc="" />
+ <Param type="Vector2" name="size" desc="" />
+ <Param type="Vector2" name="origin" desc="" />
+ <Param type="float" name="rotation" desc="" />
+ <Param type="Color" name="tint" desc="" />
+ </Function>
+ <Function name="UploadMesh" retType="void" paramCount="2" desc="Upload mesh vertex data in GPU and provide VAO/VBO ids">
+ <Param type="Mesh *" name="mesh" desc="" />
+ <Param type="bool" name="dynamic" desc="" />
+ </Function>
+ <Function name="UpdateMeshBuffer" retType="void" paramCount="5" desc="Update mesh vertex data in GPU for a specific buffer index">
+ <Param type="Mesh" name="mesh" desc="" />
+ <Param type="int" name="index" desc="" />
+ <Param type="const void *" name="data" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ <Param type="int" name="offset" desc="" />
+ </Function>
+ <Function name="UnloadMesh" retType="void" paramCount="1" desc="Unload mesh data from CPU and GPU">
+ <Param type="Mesh" name="mesh" desc="" />
+ </Function>
+ <Function name="DrawMesh" retType="void" paramCount="3" desc="Draw a 3d mesh with material and transform">
+ <Param type="Mesh" name="mesh" desc="" />
+ <Param type="Material" name="material" desc="" />
+ <Param type="Matrix" name="transform" desc="" />
+ </Function>
+ <Function name="DrawMeshInstanced" retType="void" paramCount="4" desc="Draw multiple mesh instances with material and different transforms">
+ <Param type="Mesh" name="mesh" desc="" />
+ <Param type="Material" name="material" desc="" />
+ <Param type="const Matrix *" name="transforms" desc="" />
+ <Param type="int" name="instances" desc="" />
+ </Function>
+ <Function name="ExportMesh" retType="bool" paramCount="2" desc="Export mesh data to file, returns true on success">
+ <Param type="Mesh" name="mesh" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="GetMeshBoundingBox" retType="BoundingBox" paramCount="1" desc="Compute mesh bounding box limits">
+ <Param type="Mesh" name="mesh" desc="" />
+ </Function>
+ <Function name="GenMeshTangents" retType="void" paramCount="1" desc="Compute mesh tangents">
+ <Param type="Mesh *" name="mesh" desc="" />
+ </Function>
+ <Function name="GenMeshBinormals" retType="void" paramCount="1" desc="Compute mesh binormals">
+ <Param type="Mesh *" name="mesh" desc="" />
+ </Function>
+ <Function name="GenMeshPoly" retType="Mesh" paramCount="2" desc="Generate polygonal mesh">
+ <Param type="int" name="sides" desc="" />
+ <Param type="float" name="radius" desc="" />
+ </Function>
+ <Function name="GenMeshPlane" retType="Mesh" paramCount="4" desc="Generate plane mesh (with subdivisions)">
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="length" desc="" />
+ <Param type="int" name="resX" desc="" />
+ <Param type="int" name="resZ" desc="" />
+ </Function>
+ <Function name="GenMeshCube" retType="Mesh" paramCount="3" desc="Generate cuboid mesh">
+ <Param type="float" name="width" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="float" name="length" desc="" />
+ </Function>
+ <Function name="GenMeshSphere" retType="Mesh" paramCount="3" desc="Generate sphere mesh (standard sphere)">
+ <Param type="float" name="radius" desc="" />
+ <Param type="int" name="rings" desc="" />
+ <Param type="int" name="slices" desc="" />
+ </Function>
+ <Function name="GenMeshHemiSphere" retType="Mesh" paramCount="3" desc="Generate half-sphere mesh (no bottom cap)">
+ <Param type="float" name="radius" desc="" />
+ <Param type="int" name="rings" desc="" />
+ <Param type="int" name="slices" desc="" />
+ </Function>
+ <Function name="GenMeshCylinder" retType="Mesh" paramCount="3" desc="Generate cylinder mesh">
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="int" name="slices" desc="" />
+ </Function>
+ <Function name="GenMeshCone" retType="Mesh" paramCount="3" desc="Generate cone/pyramid mesh">
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="height" desc="" />
+ <Param type="int" name="slices" desc="" />
+ </Function>
+ <Function name="GenMeshTorus" retType="Mesh" paramCount="4" desc="Generate torus mesh">
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="size" desc="" />
+ <Param type="int" name="radSeg" desc="" />
+ <Param type="int" name="sides" desc="" />
+ </Function>
+ <Function name="GenMeshKnot" retType="Mesh" paramCount="4" desc="Generate trefoil knot mesh">
+ <Param type="float" name="radius" desc="" />
+ <Param type="float" name="size" desc="" />
+ <Param type="int" name="radSeg" desc="" />
+ <Param type="int" name="sides" desc="" />
+ </Function>
+ <Function name="GenMeshHeightmap" retType="Mesh" paramCount="2" desc="Generate heightmap mesh from image data">
+ <Param type="Image" name="heightmap" desc="" />
+ <Param type="Vector3" name="size" desc="" />
+ </Function>
+ <Function name="GenMeshCubicmap" retType="Mesh" paramCount="2" desc="Generate cubes-based map mesh from image data">
+ <Param type="Image" name="cubicmap" desc="" />
+ <Param type="Vector3" name="cubeSize" desc="" />
+ </Function>
+ <Function name="LoadMaterials" retType="Material *" paramCount="2" desc="Load materials from model file">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="int *" name="materialCount" desc="" />
+ </Function>
+ <Function name="LoadMaterialDefault" retType="Material" paramCount="0" desc="Load default material (Supports: DIFFUSE, SPECULAR, NORMAL maps)">
+ </Function>
+ <Function name="UnloadMaterial" retType="void" paramCount="1" desc="Unload material from GPU memory (VRAM)">
+ <Param type="Material" name="material" desc="" />
+ </Function>
+ <Function name="SetMaterialTexture" retType="void" paramCount="3" desc="Set texture for a material map type (MATERIAL_MAP_DIFFUSE, MATERIAL_MAP_SPECULAR...)">
+ <Param type="Material *" name="material" desc="" />
+ <Param type="int" name="mapType" desc="" />
+ <Param type="Texture2D" name="texture" desc="" />
+ </Function>
+ <Function name="SetModelMeshMaterial" retType="void" paramCount="3" desc="Set material for a mesh">
+ <Param type="Model *" name="model" desc="" />
+ <Param type="int" name="meshId" desc="" />
+ <Param type="int" name="materialId" desc="" />
+ </Function>
+ <Function name="LoadModelAnimations" retType="ModelAnimation *" paramCount="2" desc="Load model animations from file">
+ <Param type="const char *" name="fileName" desc="" />
+ <Param type="unsigned int *" name="animCount" desc="" />
+ </Function>
+ <Function name="UpdateModelAnimation" retType="void" paramCount="3" desc="Update model animation pose">
+ <Param type="Model" name="model" desc="" />
+ <Param type="ModelAnimation" name="anim" desc="" />
+ <Param type="int" name="frame" desc="" />
+ </Function>
+ <Function name="UnloadModelAnimation" retType="void" paramCount="1" desc="Unload animation data">
+ <Param type="ModelAnimation" name="anim" desc="" />
+ </Function>
+ <Function name="UnloadModelAnimations" retType="void" paramCount="2" desc="Unload animation array data">
+ <Param type="ModelAnimation *" name="animations" desc="" />
+ <Param type="unsigned int" name="count" desc="" />
+ </Function>
+ <Function name="IsModelAnimationValid" retType="bool" paramCount="2" desc="Check model animation skeleton match">
+ <Param type="Model" name="model" desc="" />
+ <Param type="ModelAnimation" name="anim" desc="" />
+ </Function>
+ <Function name="CheckCollisionSpheres" retType="bool" paramCount="4" desc="Check collision between two spheres">
+ <Param type="Vector3" name="center1" desc="" />
+ <Param type="float" name="radius1" desc="" />
+ <Param type="Vector3" name="center2" desc="" />
+ <Param type="float" name="radius2" desc="" />
+ </Function>
+ <Function name="CheckCollisionBoxes" retType="bool" paramCount="2" desc="Check collision between two bounding boxes">
+ <Param type="BoundingBox" name="box1" desc="" />
+ <Param type="BoundingBox" name="box2" desc="" />
+ </Function>
+ <Function name="CheckCollisionBoxSphere" retType="bool" paramCount="3" desc="Check collision between box and sphere">
+ <Param type="BoundingBox" name="box" desc="" />
+ <Param type="Vector3" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ </Function>
+ <Function name="GetRayCollisionSphere" retType="RayCollision" paramCount="3" desc="Get collision info between ray and sphere">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Vector3" name="center" desc="" />
+ <Param type="float" name="radius" desc="" />
+ </Function>
+ <Function name="GetRayCollisionBox" retType="RayCollision" paramCount="2" desc="Get collision info between ray and box">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="BoundingBox" name="box" desc="" />
+ </Function>
+ <Function name="GetRayCollisionModel" retType="RayCollision" paramCount="2" desc="Get collision info between ray and model">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Model" name="model" desc="" />
+ </Function>
+ <Function name="GetRayCollisionMesh" retType="RayCollision" paramCount="3" desc="Get collision info between ray and mesh">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Mesh" name="mesh" desc="" />
+ <Param type="Matrix" name="transform" desc="" />
+ </Function>
+ <Function name="GetRayCollisionTriangle" retType="RayCollision" paramCount="4" desc="Get collision info between ray and triangle">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Vector3" name="p1" desc="" />
+ <Param type="Vector3" name="p2" desc="" />
+ <Param type="Vector3" name="p3" desc="" />
+ </Function>
+ <Function name="GetRayCollisionQuad" retType="RayCollision" paramCount="5" desc="Get collision info between ray and quad">
+ <Param type="Ray" name="ray" desc="" />
+ <Param type="Vector3" name="p1" desc="" />
+ <Param type="Vector3" name="p2" desc="" />
+ <Param type="Vector3" name="p3" desc="" />
+ <Param type="Vector3" name="p4" desc="" />
+ </Function>
+ <Function name="InitAudioDevice" retType="void" paramCount="0" desc="Initialize audio device and context">
+ </Function>
+ <Function name="CloseAudioDevice" retType="void" paramCount="0" desc="Close the audio device and context">
+ </Function>
+ <Function name="IsAudioDeviceReady" retType="bool" paramCount="0" desc="Check if audio device has been initialized successfully">
+ </Function>
+ <Function name="SetMasterVolume" retType="void" paramCount="1" desc="Set master volume (listener)">
+ <Param type="float" name="volume" desc="" />
+ </Function>
+ <Function name="LoadWave" retType="Wave" paramCount="1" desc="Load wave data from file">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadWaveFromMemory" retType="Wave" paramCount="3" desc="Load wave from memory buffer, fileType refers to extension: i.e. '.wav'">
+ <Param type="const char *" name="fileType" desc="" />
+ <Param type="const unsigned char *" name="fileData" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ </Function>
+ <Function name="LoadSound" retType="Sound" paramCount="1" desc="Load sound from file">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadSoundFromWave" retType="Sound" paramCount="1" desc="Load sound from wave data">
+ <Param type="Wave" name="wave" desc="" />
+ </Function>
+ <Function name="UpdateSound" retType="void" paramCount="3" desc="Update sound buffer with new data">
+ <Param type="Sound" name="sound" desc="" />
+ <Param type="const void *" name="data" desc="" />
+ <Param type="int" name="sampleCount" desc="" />
+ </Function>
+ <Function name="UnloadWave" retType="void" paramCount="1" desc="Unload wave data">
+ <Param type="Wave" name="wave" desc="" />
+ </Function>
+ <Function name="UnloadSound" retType="void" paramCount="1" desc="Unload sound">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="ExportWave" retType="bool" paramCount="2" desc="Export wave data to file, returns true on success">
+ <Param type="Wave" name="wave" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="ExportWaveAsCode" retType="bool" paramCount="2" desc="Export wave sample data to code (.h), returns true on success">
+ <Param type="Wave" name="wave" desc="" />
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="PlaySound" retType="void" paramCount="1" desc="Play a sound">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="StopSound" retType="void" paramCount="1" desc="Stop playing a sound">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="PauseSound" retType="void" paramCount="1" desc="Pause a sound">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="ResumeSound" retType="void" paramCount="1" desc="Resume a paused sound">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="PlaySoundMulti" retType="void" paramCount="1" desc="Play a sound (using multichannel buffer pool)">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="StopSoundMulti" retType="void" paramCount="0" desc="Stop any sound playing (using multichannel buffer pool)">
+ </Function>
+ <Function name="GetSoundsPlaying" retType="int" paramCount="0" desc="Get number of sounds playing in the multichannel">
+ </Function>
+ <Function name="IsSoundPlaying" retType="bool" paramCount="1" desc="Check if a sound is currently playing">
+ <Param type="Sound" name="sound" desc="" />
+ </Function>
+ <Function name="SetSoundVolume" retType="void" paramCount="2" desc="Set volume for a sound (1.0 is max level)">
+ <Param type="Sound" name="sound" desc="" />
+ <Param type="float" name="volume" desc="" />
+ </Function>
+ <Function name="SetSoundPitch" retType="void" paramCount="2" desc="Set pitch for a sound (1.0 is base level)">
+ <Param type="Sound" name="sound" desc="" />
+ <Param type="float" name="pitch" desc="" />
+ </Function>
+ <Function name="SetSoundPan" retType="void" paramCount="2" desc="Set pan for a sound (0.5 is center)">
+ <Param type="Sound" name="sound" desc="" />
+ <Param type="float" name="pan" desc="" />
+ </Function>
+ <Function name="WaveCopy" retType="Wave" paramCount="1" desc="Copy a wave to a new wave">
+ <Param type="Wave" name="wave" desc="" />
+ </Function>
+ <Function name="WaveCrop" retType="void" paramCount="3" desc="Crop a wave to defined samples range">
+ <Param type="Wave *" name="wave" desc="" />
+ <Param type="int" name="initSample" desc="" />
+ <Param type="int" name="finalSample" desc="" />
+ </Function>
+ <Function name="WaveFormat" retType="void" paramCount="4" desc="Convert wave data to desired format">
+ <Param type="Wave *" name="wave" desc="" />
+ <Param type="int" name="sampleRate" desc="" />
+ <Param type="int" name="sampleSize" desc="" />
+ <Param type="int" name="channels" desc="" />
+ </Function>
+ <Function name="LoadWaveSamples" retType="float *" paramCount="1" desc="Load samples data from wave as a 32bit float data array">
+ <Param type="Wave" name="wave" desc="" />
+ </Function>
+ <Function name="UnloadWaveSamples" retType="void" paramCount="1" desc="Unload samples data loaded with LoadWaveSamples()">
+ <Param type="float *" name="samples" desc="" />
+ </Function>
+ <Function name="LoadMusicStream" retType="Music" paramCount="1" desc="Load music stream from file">
+ <Param type="const char *" name="fileName" desc="" />
+ </Function>
+ <Function name="LoadMusicStreamFromMemory" retType="Music" paramCount="3" desc="Load music stream from data">
+ <Param type="const char *" name="fileType" desc="" />
+ <Param type="const unsigned char *" name="data" desc="" />
+ <Param type="int" name="dataSize" desc="" />
+ </Function>
+ <Function name="UnloadMusicStream" retType="void" paramCount="1" desc="Unload music stream">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="PlayMusicStream" retType="void" paramCount="1" desc="Start music playing">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="IsMusicStreamPlaying" retType="bool" paramCount="1" desc="Check if music is playing">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="UpdateMusicStream" retType="void" paramCount="1" desc="Updates buffers for music streaming">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="StopMusicStream" retType="void" paramCount="1" desc="Stop music playing">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="PauseMusicStream" retType="void" paramCount="1" desc="Pause music playing">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="ResumeMusicStream" retType="void" paramCount="1" desc="Resume playing paused music">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="SeekMusicStream" retType="void" paramCount="2" desc="Seek music to a position (in seconds)">
+ <Param type="Music" name="music" desc="" />
+ <Param type="float" name="position" desc="" />
+ </Function>
+ <Function name="SetMusicVolume" retType="void" paramCount="2" desc="Set volume for music (1.0 is max level)">
+ <Param type="Music" name="music" desc="" />
+ <Param type="float" name="volume" desc="" />
+ </Function>
+ <Function name="SetMusicPitch" retType="void" paramCount="2" desc="Set pitch for a music (1.0 is base level)">
+ <Param type="Music" name="music" desc="" />
+ <Param type="float" name="pitch" desc="" />
+ </Function>
+ <Function name="SetMusicPan" retType="void" paramCount="2" desc="Set pan for a music (0.5 is center)">
+ <Param type="Music" name="music" desc="" />
+ <Param type="float" name="pan" desc="" />
+ </Function>
+ <Function name="GetMusicTimeLength" retType="float" paramCount="1" desc="Get music time length (in seconds)">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="GetMusicTimePlayed" retType="float" paramCount="1" desc="Get current music time played (in seconds)">
+ <Param type="Music" name="music" desc="" />
+ </Function>
+ <Function name="LoadAudioStream" retType="AudioStream" paramCount="3" desc="Load audio stream (to stream raw audio pcm data)">
+ <Param type="unsigned int" name="sampleRate" desc="" />
+ <Param type="unsigned int" name="sampleSize" desc="" />
+ <Param type="unsigned int" name="channels" desc="" />
+ </Function>
+ <Function name="UnloadAudioStream" retType="void" paramCount="1" desc="Unload audio stream and free memory">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="UpdateAudioStream" retType="void" paramCount="3" desc="Update audio stream buffers with data">
+ <Param type="AudioStream" name="stream" desc="" />
+ <Param type="const void *" name="data" desc="" />
+ <Param type="int" name="frameCount" desc="" />
+ </Function>
+ <Function name="IsAudioStreamProcessed" retType="bool" paramCount="1" desc="Check if any audio stream buffers requires refill">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="PlayAudioStream" retType="void" paramCount="1" desc="Play audio stream">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="PauseAudioStream" retType="void" paramCount="1" desc="Pause audio stream">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="ResumeAudioStream" retType="void" paramCount="1" desc="Resume audio stream">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="IsAudioStreamPlaying" retType="bool" paramCount="1" desc="Check if audio stream is playing">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="StopAudioStream" retType="void" paramCount="1" desc="Stop audio stream">
+ <Param type="AudioStream" name="stream" desc="" />
+ </Function>
+ <Function name="SetAudioStreamVolume" retType="void" paramCount="2" desc="Set volume for audio stream (1.0 is max level)">
+ <Param type="AudioStream" name="stream" desc="" />
+ <Param type="float" name="volume" desc="" />
+ </Function>
+ <Function name="SetAudioStreamPitch" retType="void" paramCount="2" desc="Set pitch for audio stream (1.0 is base level)">
+ <Param type="AudioStream" name="stream" desc="" />
+ <Param type="float" name="pitch" desc="" />
+ </Function>
+ <Function name="SetAudioStreamPan" retType="void" paramCount="2" desc="Set pan for audio stream (0.5 is centered)">
+ <Param type="AudioStream" name="stream" desc="" />
+ <Param type="float" name="pan" desc="" />
+ </Function>
+ <Function name="SetAudioStreamBufferSizeDefault" retType="void" paramCount="1" desc="Default size for new audio streams">
+ <Param type="int" name="size" desc="" />
+ </Function>
+ </Functions>
+</raylibAPI>
diff --git a/raylib/parser/raylib_parser.c b/raylib/parser/raylib_parser.c
new file mode 100644
index 0000000..e7ee901
--- /dev/null
+++ b/raylib/parser/raylib_parser.c
@@ -0,0 +1,1308 @@
+/**********************************************************************************************
+
+ raylib API parser
+
+ This parser scans raylib.h to get API information about structs, enums, functions and defines.
+ All data is divided into pieces, usually as strings. The following types are used for data:
+
+ - struct FunctionInfo
+ - struct StructInfo
+ - struct EnumInfo
+ - struct DefInfo
+
+ CONSTRAINTS:
+
+ This parser is specifically designed to work with raylib.h, so, it has some constraints:
+
+ - Functions are expected as a single line with the following structure:
+
+ <retType> <name>(<paramType[0]> <paramName[0]>, <paramType[1]> <paramName[1]>); <desc>
+
+ Be careful with functions broken into several lines, it breaks the process!
+
+ - Structures are expected as several lines with the following form:
+
+ <desc>
+ typedef struct <name> {
+ <fieldType[0]> <fieldName[0]>; <fieldDesc[0]>
+ <fieldType[1]> <fieldName[1]>; <fieldDesc[1]>
+ <fieldType[2]> <fieldName[2]>; <fieldDesc[2]>
+ } <name>;
+
+ - Enums are expected as several lines with the following form:
+
+ <desc>
+ typedef enum {
+ <valueName[0]> = <valueInteger[0]>, <valueDesc[0]>
+ <valueName[1]>,
+ <valueName[2]>, <valueDesc[2]>
+ <valueName[3]> <valueDesc[3]>
+ } <name>;
+
+ NOTE: Multiple options are supported for enums:
+ - If value is not provided, (<valueInteger[i -1]> + 1) is assigned
+ - Value description can be provided or not
+
+ OTHER NOTES:
+
+ - This parser could work with other C header files if mentioned constraints are followed.
+
+ - This parser does not require <string.h> library, all data is parsed directly from char buffers.
+
+ LICENSE: zlib/libpng
+
+ raylib-parser is licensed under an unmodified zlib/libpng license, which is an OSI-certified,
+ BSD-like license that allows static linking with closed source software:
+
+ Copyright (c) 2021 Ramon Santamaria (@raysan5)
+
+**********************************************************************************************/
+
+#define _CRT_SECURE_NO_WARNINGS
+
+#include <stdlib.h> // Required for: malloc(), calloc(), realloc(), free(), atoi(), strtol()
+#include <stdio.h> // Required for: printf(), fopen(), fseek(), ftell(), fread(), fclose()
+#include <stdbool.h> // Required for: bool
+#include <ctype.h> // Required for: isdigit()
+
+#define MAX_FUNCS_TO_PARSE 512 // Maximum number of functions to parse
+#define MAX_STRUCTS_TO_PARSE 64 // Maximum number of structures to parse
+#define MAX_ENUMS_TO_PARSE 64 // Maximum number of enums to parse
+#define MAX_DEFINES_TO_PARSE 2048 // Maximum number of defines to parse
+
+#define MAX_LINE_LENGTH 512 // Maximum length of one line (including comments)
+#define MAX_STRUCT_LINE_LENGTH 2048 // Maximum length of one struct (multiple lines)
+
+#define MAX_FUNCTION_PARAMETERS 12 // Maximum number of function parameters
+#define MAX_STRUCT_FIELDS 32 // Maximum number of struct fields
+#define MAX_ENUM_VALUES 512 // Maximum number of enum values
+
+//----------------------------------------------------------------------------------
+// Types and Structures Definition
+//----------------------------------------------------------------------------------
+// Function info data
+typedef struct FunctionInfo {
+ char name[64]; // Function name
+ char desc[128]; // Function description (comment at the end)
+ char retType[32]; // Return value type
+ int paramCount; // Number of function parameters
+ char paramType[MAX_FUNCTION_PARAMETERS][32]; // Parameters type
+ char paramName[MAX_FUNCTION_PARAMETERS][32]; // Parameters name
+ char paramDesc[MAX_FUNCTION_PARAMETERS][128]; // Parameters description
+} FunctionInfo;
+
+// Struct info data
+typedef struct StructInfo {
+ char name[64]; // Struct name
+ char desc[128]; // Struct type description
+ int fieldCount; // Number of fields in the struct
+ char fieldType[MAX_STRUCT_FIELDS][64]; // Field type
+ char fieldName[MAX_STRUCT_FIELDS][64]; // Field name
+ char fieldDesc[MAX_STRUCT_FIELDS][128]; // Field description
+} StructInfo;
+
+// Enum info data
+typedef struct EnumInfo {
+ char name[64]; // Enum name
+ char desc[128]; // Enum description
+ int valueCount; // Number of values in enumerator
+ char valueName[MAX_ENUM_VALUES][64]; // Value name definition
+ int valueInteger[MAX_ENUM_VALUES]; // Value integer
+ char valueDesc[MAX_ENUM_VALUES][128]; // Value description
+} EnumInfo;
+
+// Type of parsed define
+typedef enum { UNKNOWN = 0, MACRO, GUARD, INT, LONG, FLOAT, DOUBLE, CHAR, STRING, COLOR } DefineType;
+
+// Define info data
+typedef struct DefineInfo {
+ char name[64]; // Define name
+ DefineType type; // Define type
+ char value[256]; // Define value
+ char desc[128]; // Define description
+ bool isHex; // Define is hex number (for types INT, LONG)
+} DefineInfo;
+
+// Output format for parsed data
+typedef enum { DEFAULT = 0, JSON, XML, LUA } OutputFormat;
+
+//----------------------------------------------------------------------------------
+// Global Variables Definition
+//----------------------------------------------------------------------------------
+static int funcCount = 0;
+static int structCount = 0;
+static int enumCount = 0;
+static int defineCount = 0;
+static FunctionInfo *funcs = NULL;
+static StructInfo *structs = NULL;
+static EnumInfo *enums = NULL;
+static DefineInfo *defines = NULL;
+static char apiDefine[32] = "RLAPI\0";
+
+// Command line variables
+static char inFileName[512] = { 0 }; // Input file name (required in case of provided through CLI)
+static char outFileName[512] = { 0 }; // Output file name (required for file save/export)
+static int outputFormat = DEFAULT;
+
+//----------------------------------------------------------------------------------
+// Module Functions Declaration
+//----------------------------------------------------------------------------------
+static void ShowCommandLineInfo(void); // Show command line usage info
+static void ProcessCommandLine(int argc, char *argv[]); // Process command line input
+
+static char *LoadFileText(const char *fileName, int *length);
+static char **GetTextLines(const char *buffer, int length, int *linesCount);
+static void GetDataTypeAndName(const char *typeName, int typeNameLen, char *type, char *name);
+static unsigned int TextLength(const char *text); // Get text length in bytes, check for \0 character
+static bool IsTextEqual(const char *text1, const char *text2, unsigned int count);
+static void MemoryCopy(void *dest, const void *src, unsigned int count);
+static char *EscapeBackslashes(char *text); // Replace '\' by "\\" when exporting to JSON and XML
+
+static void ExportParsedData(const char *fileName, int format); // Export parsed data in desired format
+
+static const char *StrDefineType(DefineType type); // Get string of define type
+
+//------------------------------------------------------------------------------------
+// Program main entry point
+//------------------------------------------------------------------------------------
+int main(int argc, char* argv[])
+{
+ if (argc > 1) ProcessCommandLine(argc, argv);
+
+ if (inFileName[0] == '\0') MemoryCopy(inFileName, "../src/raylib.h\0", 16);
+
+ int length = 0;
+ char *buffer = LoadFileText(inFileName, &length);
+
+ // Preprocess buffer to get separate lines
+ // NOTE: GetTextLines() also removes leading spaces/tabs
+ int linesCount = 0;
+ char **lines = GetTextLines(buffer, length, &linesCount);
+
+ // Function lines pointers, selected from buffer "lines"
+ char **funcLines = (char **)malloc(MAX_FUNCS_TO_PARSE*sizeof(char *));
+
+ // Structs data (multiple lines), selected from "buffer"
+ int *structLines = (int *)malloc(MAX_STRUCTS_TO_PARSE*sizeof(int));
+
+ // Enums lines pointers, selected from buffer "lines"
+ int *enumLines = (int *)malloc(MAX_ENUMS_TO_PARSE*sizeof(int));
+
+ // Defines lines pointers, selected from buffer "lines"
+ int *defineLines = (int *)malloc(MAX_DEFINES_TO_PARSE*sizeof(int));
+
+ // Prepare required lines for parsing
+ //--------------------------------------------------------------------------------------------------
+
+ // Read function lines
+ for (int i = 0; i < linesCount; i++)
+ {
+ // Read function line (starting with `define`, i.e. for raylib.h "RLAPI")
+ if (IsTextEqual(lines[i], apiDefine, TextLength(apiDefine)))
+ {
+ // Keep a pointer to the function line
+ funcLines[funcCount] = lines[i];
+ funcCount++;
+ }
+ }
+
+ // Read struct lines
+ for (int i = 0; i < linesCount; i++)
+ {
+ // Find structs (starting with "typedef struct ... {", ending with '} ... ;')
+ if (IsTextEqual(lines[i], "typedef struct", 14))
+ {
+ int j = 0;
+ bool validStruct = false;
+
+ // WARNING: Typedefs between types: typedef Vector4 Quaternion;
+ // (maybe we could export these too?)
+
+ for (int c = 0; c < MAX_LINE_LENGTH; c++)
+ {
+ char v = lines[i][c];
+ if (v == '{') validStruct = true;
+ if (v == '{' || v == ';' || v == '\0')
+ {
+ // Not valid struct if it ends without '{':
+ // i.e typedef struct rAudioBuffer rAudioBuffer; -> Typedef and forward declaration
+ break;
+ }
+ }
+ if (!validStruct) continue;
+ structLines[structCount] = i;
+ while (lines[i][0] != '}') i++;
+ while (lines[i][0] != '\0') i++;
+ structCount++;
+ }
+ }
+
+ // Read enum lines
+ for (int i = 0; i < linesCount; i++)
+ {
+ // Read enum line
+ if (IsTextEqual(lines[i], "typedef enum {", 14))
+ {
+ // Keep the line position in the array of lines,
+ // so, we can scan that position and following lines
+ enumLines[enumCount] = i;
+ enumCount++;
+ }
+ }
+
+ // Read const lines
+ for (int i = 0; i < linesCount; i++)
+ {
+ int j = 0;
+ while (lines[i][j] == ' ' || lines[i][j] == '\t') j++; // skip spaces and tabs in the begining
+ // Read define line
+ if (IsTextEqual(lines[i]+j, "#define ", 8))
+ {
+ // Keep the line position in the array of lines,
+ // so, we can scan that position and following lines
+ defineLines[defineCount] = i;
+ defineCount++;
+ }
+ }
+
+ // At this point we have all raylib structs, enums, functions, defines lines data to start parsing
+
+ free(buffer); // Unload text buffer
+
+ // Parsing raylib data
+ //--------------------------------------------------------------------------------------------------
+
+ // Structs info data
+ structs = (StructInfo *)calloc(MAX_STRUCTS_TO_PARSE, sizeof(StructInfo));
+
+ for (int i = 0; i < structCount; i++)
+ {
+ char **linesPtr = &lines[structLines[i]];
+
+ // Parse struct description
+ if (linesPtr[-1][0] == '/')
+ {
+ MemoryCopy(structs[i].desc, linesPtr[-1], TextLength(linesPtr[-1]));
+ }
+
+ // Get struct name: typedef struct name {
+ const int TDS_LEN = 15; // length of "typedef struct "
+ for (int c = TDS_LEN; c < 64 + TDS_LEN; c++)
+ {
+ if (linesPtr[0][c] == '{')
+ {
+ MemoryCopy(structs[i].name, &linesPtr[0][TDS_LEN], c - TDS_LEN - 1);
+ break;
+ }
+ }
+
+ // Get struct fields and count them -> fields finish with ;
+ int l = 1;
+ while (linesPtr[l][0] != '}')
+ {
+ // WARNING: Some structs have empty spaces and comments -> OK, processed
+ if ((linesPtr[l][0] != ' ') && (linesPtr[l][0] != '\0'))
+ {
+ // Scan one field line
+ char *fieldLine = linesPtr[l];
+ int fieldEndPos = 0;
+ while (fieldLine[fieldEndPos] != ';') fieldEndPos++;
+
+ if (fieldLine[0] != '/') // Field line is not a comment
+ {
+ //printf("Struct field: %s_\n", fieldLine); // OK!
+
+ // Get struct field type and name
+ GetDataTypeAndName(fieldLine, fieldEndPos, structs[i].fieldType[structs[i].fieldCount], structs[i].fieldName[structs[i].fieldCount]);
+
+ // Get the field description
+ // We start skipping spaces in front of description comment
+ int descStart = fieldEndPos;
+ while ((fieldLine[descStart] != '/') && (fieldLine[descStart] != '\0')) descStart++;
+
+ int k = 0;
+ while ((fieldLine[descStart + k] != '\0') && (fieldLine[descStart + k] != '\n'))
+ {
+ structs[i].fieldDesc[structs[i].fieldCount][k] = fieldLine[descStart + k];
+ k++;
+ }
+
+ structs[i].fieldCount++;
+ }
+ }
+
+ l++;
+ }
+
+ }
+
+ free(structLines);
+
+ // Enum info data
+ enums = (EnumInfo *)calloc(MAX_ENUMS_TO_PARSE, sizeof(EnumInfo));
+
+ for (int i = 0; i < enumCount; i++)
+ {
+
+ // Parse enum description
+ // NOTE: This is not necessarily from the line immediately before,
+ // some of the enums have extra lines between the "description"
+ // and the typedef enum
+ for (int j = enumLines[i] - 1; j > 0; j--)
+ {
+ char *linePtr = lines[j];
+ if ((linePtr[0] != '/') || (linePtr[2] != ' '))
+ {
+ MemoryCopy(enums[i].desc, &lines[j + 1][0], sizeof(enums[i].desc) - 1);
+ break;
+ }
+ }
+
+ for (int j = 1; j < MAX_ENUM_VALUES*2; j++) // Maximum number of lines following enum first line
+ {
+ char *linePtr = lines[enumLines[i] + j];
+
+ if ((linePtr[0] >= 'A') && (linePtr[0] <= 'Z'))
+ {
+ // Parse enum value line, possible options:
+ //ENUM_VALUE_NAME,
+ //ENUM_VALUE_NAME
+ //ENUM_VALUE_NAME = 99
+ //ENUM_VALUE_NAME = 99,
+ //ENUM_VALUE_NAME = 0x00000040, // Value description
+
+ // We start reading the value name
+ int c = 0;
+ while ((linePtr[c] != ',') &&
+ (linePtr[c] != ' ') &&
+ (linePtr[c] != '=') &&
+ (linePtr[c] != '\0')) { enums[i].valueName[enums[i].valueCount][c] = linePtr[c]; c++; }
+
+ // After the name we can have:
+ // '=' -> value is provided
+ // ',' -> value is equal to previous + 1, there could be a description if not '\0'
+ // ' ' -> value is equal to previous + 1, there could be a description if not '\0'
+ // '\0' -> value is equal to previous + 1
+
+ // Let's start checking if the line is not finished
+ if ((linePtr[c] != ',') && (linePtr[c] != '\0'))
+ {
+ // Two options:
+ // '=' -> value is provided
+ // ' ' -> value is equal to previous + 1, there could be a description if not '\0'
+ bool foundValue = false;
+ while ((linePtr[c] != '\0') && (linePtr[c] != '/'))
+ {
+ if (linePtr[c] == '=') { foundValue = true; break; }
+ c++;
+ }
+
+ if (foundValue)
+ {
+ if (linePtr[c + 1] == ' ') c += 2;
+ else c++;
+
+ // Parse integer value
+ int n = 0;
+ char integer[16] = { 0 };
+
+ while ((linePtr[c] != ',') && (linePtr[c] != ' ') && (linePtr[c] != '\0'))
+ {
+ integer[n] = linePtr[c];
+ c++; n++;
+ }
+
+ if (integer[1] == 'x') enums[i].valueInteger[enums[i].valueCount] = (int)strtol(integer, NULL, 16);
+ else enums[i].valueInteger[enums[i].valueCount] = atoi(integer);
+ }
+ else enums[i].valueInteger[enums[i].valueCount] = (enums[i].valueInteger[enums[i].valueCount - 1] + 1);
+ }
+ else enums[i].valueInteger[enums[i].valueCount] = (enums[i].valueInteger[enums[i].valueCount - 1] + 1);
+
+ // Look for description or end of line
+ while ((linePtr[c] != '/') && (linePtr[c] != '\0')) { c++; }
+ if (linePtr[c] == '/')
+ {
+ // Parse value description
+ MemoryCopy(enums[i].valueDesc[enums[i].valueCount], &linePtr[c], sizeof(enums[0].valueDesc[0]) - c - 1);
+ }
+
+ enums[i].valueCount++;
+ }
+ else if (linePtr[0] == '}')
+ {
+ // Get enum name from typedef
+ int c = 0;
+ while (linePtr[2 + c] != ';') { enums[i].name[c] = linePtr[2 + c]; c++; }
+
+ break; // Enum ended, break for() loop
+ }
+ }
+ }
+ free(enumLines);
+
+ // Define info data
+ defines = (DefineInfo *)calloc(MAX_DEFINES_TO_PARSE, sizeof(DefineInfo));
+ int defineIndex = 0;
+
+ for (int i = 0; i < defineCount; i++)
+ {
+ char *linePtr = lines[defineLines[i]];
+ int j = 0;
+
+ while (linePtr[j] == ' ' || linePtr[j] == '\t') j++; // Skip spaces and tabs in the begining
+ j += 8; // Skip "#define "
+ while (linePtr[j] == ' ' || linePtr[j] == '\t') j++; // Skip spaces and tabs after "#define "
+
+ // Extract name
+ int defineNameStart = j;
+ while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\0') j++;
+ int defineNameEnd = j-1;
+
+ // Skip duplicates
+ int nameLen = defineNameEnd - defineNameStart + 1;
+ bool isDuplicate = false;
+ for (int k = 0; k < defineIndex; k++) {
+ if (nameLen == TextLength(defines[k].name) && IsTextEqual(defines[k].name, linePtr + defineNameStart, nameLen)) {
+ isDuplicate = true;
+ break;
+ }
+ }
+ if (isDuplicate) continue;
+
+ MemoryCopy(defines[defineIndex].name, linePtr + defineNameStart, nameLen);
+
+ // Determine type
+ if (linePtr[defineNameEnd] == ')') defines[defineIndex].type = MACRO;
+
+ while (linePtr[j] == ' ' || linePtr[j] == '\t') j++; // Skip spaces and tabs after name
+
+ int defineValueStart = j;
+ if (linePtr[j] == '\0' || linePtr == "/") defines[defineIndex].type = GUARD;
+ if (linePtr[j] == '"') defines[defineIndex].type = STRING;
+ else if (linePtr[j] == '\'') defines[defineIndex].type = CHAR;
+ else if (IsTextEqual(linePtr+j, "CLITERAL(Color)", 15)) defines[defineIndex].type = COLOR;
+ else if (isdigit(linePtr[j])) { // Parsing numbers
+ bool isFloat = false, isNumber = true, isHex = false;
+ while (linePtr[j] != ' ' && linePtr[j] != '\t' && linePtr[j] != '\0') {
+ char ch = linePtr[j];
+ if (ch == '.') isFloat = true;
+ if (ch == 'x') isHex = true;
+ if (!(isdigit(ch)||(ch >= 'a' && ch <= 'f')||(ch >= 'A' && ch <= 'F')||ch=='x'||ch=='L'||ch=='.'||ch=='+'||ch=='-')) isNumber = false;
+ j++;
+ }
+ if (isNumber) {
+ if (isFloat) {
+ defines[defineIndex].type = linePtr[j-1] == 'f' ? FLOAT : DOUBLE;
+ } else {
+ defines[defineIndex].type = linePtr[j-1] == 'L' ? LONG : INT;
+ defines[defineIndex].isHex = isHex;
+ }
+ }
+ }
+
+ // Extracting value
+ while (linePtr[j] != '\\' && linePtr[j] != '\0' && !(linePtr[j] == '/' && linePtr[j+1] == '/')) j++;
+ int defineValueEnd = j-1;
+ while (linePtr[defineValueEnd] == ' ' || linePtr[defineValueEnd] == '\t') defineValueEnd--; // Remove trailing spaces and tabs
+ if (defines[defineIndex].type == LONG || defines[defineIndex].type == FLOAT) defineValueEnd--; // Remove number postfix
+ int valueLen = defineValueEnd - defineValueStart + 1;
+ if (valueLen > 255) valueLen = 255;
+
+ if (valueLen > 0) MemoryCopy(defines[defineIndex].value, linePtr + defineValueStart, valueLen);
+
+ // Extracting description
+ if (linePtr[j] == '/') {
+ int commentStart = j;
+ while (linePtr[j] != '\\' && linePtr[j] != '\0') j++;
+ int commentEnd = j-1;
+ int commentLen = commentEnd - commentStart + 1;
+ if (commentLen > 127) commentLen = 127;
+
+ MemoryCopy(defines[defineIndex].desc, linePtr + commentStart, commentLen);
+ }
+
+ defineIndex++;
+ }
+ defineCount = defineIndex;
+ free(defineLines);
+
+ // Functions info data
+ funcs = (FunctionInfo *)calloc(MAX_FUNCS_TO_PARSE, sizeof(FunctionInfo));
+
+ for (int i = 0; i < funcCount; i++)
+ {
+ int funcParamsStart = 0;
+ int funcEnd = 0;
+
+ // Get return type and function name from func line
+ for (int c = 0; (c < MAX_LINE_LENGTH) && (funcLines[i][c] != '\n'); c++)
+ {
+ if (funcLines[i][c] == '(') // Starts function parameters
+ {
+ funcParamsStart = c + 1;
+
+ // At this point we have function return type and function name
+ char funcRetTypeName[128] = { 0 };
+ int dc = TextLength(apiDefine) + 1;
+ int funcRetTypeNameLen = c - dc; // Substract `define` ("RLAPI " for raylib.h)
+ MemoryCopy(funcRetTypeName, &funcLines[i][dc], funcRetTypeNameLen);
+
+ GetDataTypeAndName(funcRetTypeName, funcRetTypeNameLen, funcs[i].retType, funcs[i].name);
+ break;
+ }
+ }
+
+ // Get parameters from func line
+ for (int c = funcParamsStart; c < MAX_LINE_LENGTH; c++)
+ {
+ if (funcLines[i][c] == ',') // Starts function parameters
+ {
+ // Get parameter type + name, extract info
+ char funcParamTypeName[128] = { 0 };
+ int funcParamTypeNameLen = c - funcParamsStart;
+ MemoryCopy(funcParamTypeName, &funcLines[i][funcParamsStart], funcParamTypeNameLen);
+
+ GetDataTypeAndName(funcParamTypeName, funcParamTypeNameLen, funcs[i].paramType[funcs[i].paramCount], funcs[i].paramName[funcs[i].paramCount]);
+
+ funcParamsStart = c + 1;
+ if (funcLines[i][c + 1] == ' ') funcParamsStart += 1;
+ funcs[i].paramCount++; // Move to next parameter
+ }
+ else if (funcLines[i][c] == ')')
+ {
+ funcEnd = c + 2;
+
+ // Check if previous word is void
+ if ((funcLines[i][c - 4] == 'v') && (funcLines[i][c - 3] == 'o') && (funcLines[i][c - 2] == 'i') && (funcLines[i][c - 1] == 'd')) break;
+
+ // Get parameter type + name, extract info
+ char funcParamTypeName[128] = { 0 };
+ int funcParamTypeNameLen = c - funcParamsStart;
+ MemoryCopy(funcParamTypeName, &funcLines[i][funcParamsStart], funcParamTypeNameLen);
+
+ GetDataTypeAndName(funcParamTypeName, funcParamTypeNameLen, funcs[i].paramType[funcs[i].paramCount], funcs[i].paramName[funcs[i].paramCount]);
+
+ funcs[i].paramCount++; // Move to next parameter
+ break;
+ }
+ }
+
+ // Get function description
+ for (int c = funcEnd; c < MAX_LINE_LENGTH; c++)
+ {
+ if (funcLines[i][c] == '/')
+ {
+ MemoryCopy(funcs[i].desc, &funcLines[i][c], 127); // WARNING: Size could be too long for funcLines[i][c]?
+ break;
+ }
+ }
+ }
+
+ for (int i = 0; i < linesCount; i++) free(lines[i]);
+ free(lines);
+ free(funcLines);
+
+ // At this point, all raylib data has been parsed!
+ //-----------------------------------------------------------------------------------------
+ // structs[] -> We have all the structs decomposed into pieces for further analysis
+ // enums[] -> We have all the enums decomposed into pieces for further analysis
+ // funcs[] -> We have all the functions decomposed into pieces for further analysis
+ // defines[] -> We have all the defines decomposed into pieces for further analysis
+
+ // Process input file to output
+ if (outFileName[0] == '\0') MemoryCopy(outFileName, "raylib_api.txt\0", 15);
+
+ printf("\nInput file: %s", inFileName);
+ printf("\nOutput file: %s", outFileName);
+ if (outputFormat == DEFAULT) printf("\nOutput format: DEFAULT\n\n");
+ else if (outputFormat == JSON) printf("\nOutput format: JSON\n\n");
+ else if (outputFormat == XML) printf("\nOutput format: XML\n\n");
+ else if (outputFormat == LUA) printf("\nOutput format: LUA\n\n");
+
+ ExportParsedData(outFileName, outputFormat);
+
+ free(funcs);
+ free(structs);
+ free(enums);
+}
+
+//----------------------------------------------------------------------------------
+// Module Functions Definition
+//----------------------------------------------------------------------------------
+// Show command line usage info
+static void ShowCommandLineInfo(void)
+{
+ printf("\n//////////////////////////////////////////////////////////////////////////////////\n");
+ printf("// //\n");
+ printf("// raylib API parser //\n");
+ printf("// //\n");
+ printf("// more info and bugs-report: github.com/raysan5/raylib/parser //\n");
+ printf("// //\n");
+ printf("// Copyright (c) 2021 Ramon Santamaria (@raysan5) //\n");
+ printf("// //\n");
+ printf("//////////////////////////////////////////////////////////////////////////////////\n\n");
+
+ printf("USAGE:\n\n");
+ printf(" > raylib_parser [--help] [--input <filename.h>] [--output <filename.ext>] [--format <type>] [--define <DEF>]\n");
+
+ printf("\nOPTIONS:\n\n");
+ printf(" -h, --help : Show tool version and command line usage help\n\n");
+ printf(" -i, --input <filename.h> : Define input header file to parse.\n");
+ printf(" NOTE: If not specified, defaults to: raylib.h\n\n");
+ printf(" -o, --output <filename.ext> : Define output file and format.\n");
+ printf(" Supported extensions: .txt, .json, .xml, .h\n");
+ printf(" NOTE: If not specified, defaults to: raylib_api.txt\n\n");
+ printf(" -f, --format <type> : Define output format for parser data.\n");
+ printf(" Supported types: DEFAULT, JSON, XML, LUA\n\n");
+ printf(" -d, --define <DEF> : Define functions define (i.e. RLAPI for raylib.h, RMDEF for raymath.h, etc\n");
+ printf(" NOTE: If not specified, defaults to: RLAPI\n\n");
+
+ printf("\nEXAMPLES:\n\n");
+ printf(" > raylib_parser --input raylib.h --output api.json\n");
+ printf(" Process <raylib.h> to generate <api.json>\n\n");
+ printf(" > raylib_parser --output raylib_data.info --format XML\n");
+ printf(" Process <raylib.h> to generate <raylib_data.info> as XML text data\n\n");
+ printf(" > raylib_parser --input raymath.h --output raymath_data.info --format XML\n");
+ printf(" Process <raymath.h> to generate <raymath_data.info> as XML text data\n\n");
+}
+
+// Process command line arguments
+static void ProcessCommandLine(int argc, char *argv[])
+{
+ for (int i = 1; i < argc; i++)
+ {
+ if (IsTextEqual(argv[i], "-h", 2) || IsTextEqual(argv[i], "--help", 6))
+ {
+ // Show info
+ ShowCommandLineInfo();
+ }
+ else if (IsTextEqual(argv[i], "-i", 2) || IsTextEqual(argv[i], "--input", 7))
+ {
+ // Check for valid argument and valid file extension
+ if (((i + 1) < argc) && (argv[i + 1][0] != '-'))
+ {
+ MemoryCopy(inFileName, argv[i + 1], TextLength(argv[i + 1])); // Read input filename
+ i++;
+ }
+ else printf("WARNING: No input file provided\n");
+ }
+ else if (IsTextEqual(argv[i], "-o", 2) || IsTextEqual(argv[i], "--output", 8))
+ {
+ if (((i + 1) < argc) && (argv[i + 1][0] != '-'))
+ {
+ MemoryCopy(outFileName, argv[i + 1], TextLength(argv[i + 1])); // Read output filename
+ i++;
+ }
+ else printf("WARNING: No output file provided\n");
+ }
+ else if (IsTextEqual(argv[i], "-f", 2) || IsTextEqual(argv[i], "--format", 8))
+ {
+ if (((i + 1) < argc) && (argv[i + 1][0] != '-'))
+ {
+ if (IsTextEqual(argv[i + 1], "DEFAULT\0", 8)) outputFormat = DEFAULT;
+ else if (IsTextEqual(argv[i + 1], "JSON\0", 5)) outputFormat = JSON;
+ else if (IsTextEqual(argv[i + 1], "XML\0", 4)) outputFormat = XML;
+ else if (IsTextEqual(argv[i + 1], "LUA\0", 4)) outputFormat = LUA;
+ }
+ else printf("WARNING: No format parameters provided\n");
+ }
+ else if (IsTextEqual(argv[i], "-d", 2) || IsTextEqual(argv[i], "--define", 8))
+ {
+ if (((i + 1) < argc) && (argv[i + 1][0] != '-'))
+ {
+ MemoryCopy(apiDefine, argv[i + 1], TextLength(argv[i + 1])); // Read functions define
+ apiDefine[TextLength(argv[i + 1])] = '\0';
+ i++;
+ }
+ else printf("WARNING: No define key provided\n");
+ }
+ }
+}
+
+// Load text data from file, returns a '\0' terminated string
+// NOTE: text chars array should be freed manually
+static char *LoadFileText(const char *fileName, int *length)
+{
+ char *text = NULL;
+
+ if (fileName != NULL)
+ {
+ FILE *file = fopen(fileName, "rt");
+
+ if (file != NULL)
+ {
+ // WARNING: When reading a file as 'text' file,
+ // text mode causes carriage return-linefeed translation...
+ // ...but using fseek() should return correct byte-offset
+ fseek(file, 0, SEEK_END);
+ int size = ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ if (size > 0)
+ {
+ text = (char *)calloc((size + 1), sizeof(char));
+ unsigned int count = (unsigned int)fread(text, sizeof(char), size, file);
+
+ // WARNING: \r\n is converted to \n on reading, so,
+ // read bytes count gets reduced by the number of lines
+ if (count < (unsigned int)size)
+ {
+ text = realloc(text, count + 1);
+ *length = count;
+ }
+ else *length = size;
+
+ // Zero-terminate the string
+ text[count] = '\0';
+ }
+
+ fclose(file);
+ }
+ }
+
+ return text;
+}
+
+// Get all lines from a text buffer (expecting lines ending with '\n')
+static char **GetTextLines(const char *buffer, int length, int *linesCount)
+{
+ // Get the number of lines in the text
+ int count = 0;
+ for (int i = 0; i < length; i++) if (buffer[i] == '\n') count++;
+
+ printf("Number of text lines in buffer: %i\n", count);
+
+ // Allocate as many pointers as lines
+ char **lines = (char **)malloc(count*sizeof(char **));
+
+ char *bufferPtr = (char *)buffer;
+
+ for (int i = 0; (i < count) || (bufferPtr[0] != '\0'); i++)
+ {
+ lines[i] = (char *)calloc(MAX_LINE_LENGTH, sizeof(char));
+
+ // Remove line leading spaces
+ // Find last index of space/tab character
+ int index = 0;
+ while ((bufferPtr[index] == ' ') || (bufferPtr[index] == '\t')) index++;
+
+ int j = 0;
+ while (bufferPtr[index + j] != '\n')
+ {
+ lines[i][j] = bufferPtr[index + j];
+ j++;
+ }
+
+ bufferPtr += (index + j + 1);
+ }
+
+ *linesCount = count;
+ return lines;
+}
+
+// Get data type and name from a string containing both
+// NOTE: Useful to parse function parameters and struct fields
+static void GetDataTypeAndName(const char *typeName, int typeNameLen, char *type, char *name)
+{
+ for (int k = typeNameLen; k > 0; k--)
+ {
+ if (typeName[k] == ' ' && typeName[k - 1] != ',')
+ {
+ // Function name starts at this point (and ret type finishes at this point)
+ MemoryCopy(type, typeName, k);
+ MemoryCopy(name, typeName + k + 1, typeNameLen - k - 1);
+ break;
+ }
+ else if (typeName[k] == '*')
+ {
+ MemoryCopy(type, typeName, k + 1);
+ MemoryCopy(name, typeName + k + 1, typeNameLen - k - 1);
+ break;
+ }
+ else if (typeName[k] == '.' && typeNameLen == 3) // Handle varargs ...);
+ {
+ MemoryCopy(type, "...", 3);
+ MemoryCopy(name, "args", 4);
+ break;
+ }
+ }
+}
+
+// Get text length in bytes, check for \0 character
+static unsigned int TextLength(const char *text)
+{
+ unsigned int length = 0;
+
+ if (text != NULL) while (*text++) length++;
+
+ return length;
+}
+
+// Custom memcpy() to avoid <string.h>
+static void MemoryCopy(void *dest, const void *src, unsigned int count)
+{
+ char *srcPtr = (char *)src;
+ char *destPtr = (char *)dest;
+
+ for (unsigned int i = 0; i < count; i++) destPtr[i] = srcPtr[i];
+}
+
+// Compare two text strings, requires number of characters to compare
+static bool IsTextEqual(const char *text1, const char *text2, unsigned int count)
+{
+ bool result = true;
+
+ for (unsigned int i = 0; i < count; i++)
+ {
+ if (text1[i] != text2[i])
+ {
+ result = false;
+ break;
+ }
+ }
+
+ return result;
+}
+
+// Escape backslashes in a string, writing the escaped string into a static buffer
+static char *EscapeBackslashes(char *text)
+{
+ static char buffer[256] = { 0 };
+
+ int count = 0;
+
+ for (int i = 0; (text[i] != '\0') && (i < 255); i++, count++)
+ {
+ buffer[count] = text[i];
+
+ if (text[i] == '\\')
+ {
+ buffer[count + 1] = '\\';
+ count++;
+ }
+ }
+
+ buffer[count] = '\0';
+
+ return buffer;
+}
+
+// Get string of define type
+static const char *StrDefineType(DefineType type)
+{
+ switch (type)
+ {
+ case UNKNOWN: return "UNKNOWN";
+ case GUARD: return "GUARD";
+ case MACRO: return "MACRO";
+ case INT: return "INT";
+ case LONG: return "LONG";
+ case FLOAT: return "FLOAT";
+ case DOUBLE: return "DOUBLE";
+ case CHAR: return "CHAR";
+ case STRING: return "STRING";
+ case COLOR: return "COLOR";
+ }
+ return "";
+}
+
+/*
+// Replace text string
+// REQUIRES: strlen(), strstr(), strncpy(), strcpy() -> TODO: Replace by custom implementations!
+// WARNING: Returned buffer must be freed by the user (if return != NULL)
+static char *TextReplace(char *text, const char *replace, const char *by)
+{
+ // Sanity checks and initialization
+ if (!text || !replace || !by) return NULL;
+
+ char *result;
+
+ char *insertPoint; // Next insert point
+ char *temp; // Temp pointer
+ int replaceLen; // Replace string length of (the string to remove)
+ int byLen; // Replacement length (the string to replace replace by)
+ int lastReplacePos; // Distance between replace and end of last replace
+ int count; // Number of replacements
+
+ replaceLen = strlen(replace);
+ if (replaceLen == 0) return NULL; // Empty replace causes infinite loop during count
+
+ byLen = strlen(by);
+
+ // Count the number of replacements needed
+ insertPoint = text;
+ for (count = 0; (temp = strstr(insertPoint, replace)); count++) insertPoint = temp + replaceLen;
+
+ // Allocate returning string and point temp to it
+ temp = result = (char *)malloc(strlen(text) + (byLen - replaceLen)*count + 1);
+
+ if (!result) return NULL; // Memory could not be allocated
+
+ // First time through the loop, all the variable are set correctly from here on,
+ // - 'temp' points to the end of the result string
+ // - 'insertPoint' points to the next occurrence of replace in text
+ // - 'text' points to the remainder of text after "end of replace"
+ while (count--)
+ {
+ insertPoint = strstr(text, replace);
+ lastReplacePos = (int)(insertPoint - text);
+ temp = strncpy(temp, text, lastReplacePos) + lastReplacePos;
+ temp = strcpy(temp, by) + byLen;
+ text += lastReplacePos + replaceLen; // Move to next "end of replace"
+ }
+
+ // Copy remaind text part after replacement to result (pointed by moving temp)
+ strcpy(temp, text);
+
+ return result;
+}
+*/
+
+// Export parsed data in desired format
+static void ExportParsedData(const char *fileName, int format)
+{
+ FILE *outFile = fopen(fileName, "wt");
+
+ switch (format)
+ {
+ case DEFAULT:
+ {
+ // Print structs info
+ fprintf(outFile, "\nStructures found: %i\n\n", structCount);
+ for (int i = 0; i < structCount; i++)
+ {
+ fprintf(outFile, "Struct %02i: %s (%i fields)\n", i + 1, structs[i].name, structs[i].fieldCount);
+ fprintf(outFile, " Name: %s\n", structs[i].name);
+ fprintf(outFile, " Description: %s\n", structs[i].desc + 3);
+ for (int f = 0; f < structs[i].fieldCount; f++) fprintf(outFile, " Field[%i]: %s %s %s\n", f + 1, structs[i].fieldType[f], structs[i].fieldName[f], structs[i].fieldDesc[f]);
+ }
+
+ // Print enums info
+ fprintf(outFile, "\nEnums found: %i\n\n", enumCount);
+ for (int i = 0; i < enumCount; i++)
+ {
+ fprintf(outFile, "Enum %02i: %s (%i values)\n", i + 1, enums[i].name, enums[i].valueCount);
+ fprintf(outFile, " Name: %s\n", enums[i].name);
+ fprintf(outFile, " Description: %s\n", enums[i].desc + 3);
+ for (int e = 0; e < enums[i].valueCount; e++) fprintf(outFile, " Value[%s]: %i\n", enums[i].valueName[e], enums[i].valueInteger[e]);
+ }
+
+ // Print functions info
+ fprintf(outFile, "\nFunctions found: %i\n\n", funcCount);
+ for (int i = 0; i < funcCount; i++)
+ {
+ fprintf(outFile, "Function %03i: %s() (%i input parameters)\n", i + 1, funcs[i].name, funcs[i].paramCount);
+ fprintf(outFile, " Name: %s\n", funcs[i].name);
+ fprintf(outFile, " Return type: %s\n", funcs[i].retType);
+ fprintf(outFile, " Description: %s\n", funcs[i].desc + 3);
+ for (int p = 0; p < funcs[i].paramCount; p++) fprintf(outFile, " Param[%i]: %s (type: %s)\n", p + 1, funcs[i].paramName[p], funcs[i].paramType[p]);
+ if (funcs[i].paramCount == 0) fprintf(outFile, " No input parameters\n");
+ }
+
+ fprintf(outFile, "\nDefines found: %i\n\n", defineCount);
+ for (int i = 0; i < defineCount; i++)
+ {
+ fprintf(outFile, "Define %03i: %s\n", i + 1, defines[i].name);
+ fprintf(outFile, " Name: %s\n", defines[i].name);
+ fprintf(outFile, " Type: %s\n", StrDefineType(defines[i].type));
+ fprintf(outFile, " Value: %s\n", defines[i].value);
+ fprintf(outFile, " Description: %s\n", defines[i].desc + 3);
+ }
+ } break;
+ case LUA:
+ {
+ fprintf(outFile, "return {\n");
+
+ // Print structs info
+ fprintf(outFile, " structs = {\n");
+ for (int i = 0; i < structCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " name = \"%s\",\n", structs[i].name);
+ fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(structs[i].desc + 3));
+ fprintf(outFile, " fields = {\n");
+ for (int f = 0; f < structs[i].fieldCount; f++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " type = \"%s\",\n", structs[i].fieldType[f]);
+ fprintf(outFile, " name = \"%s\",\n", structs[i].fieldName[f]);
+ fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f] + 3));
+ fprintf(outFile, " }");
+ if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " }\n");
+ fprintf(outFile, " }");
+ if (i < structCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " },\n");
+
+ // Print enums info
+ fprintf(outFile, " enums = {\n");
+ for (int i = 0; i < enumCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " name = \"%s\",\n", enums[i].name);
+ fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(enums[i].desc + 3));
+ fprintf(outFile, " values = {\n");
+ for (int e = 0; e < enums[i].valueCount; e++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " name = \"%s\",\n", enums[i].valueName[e]);
+ fprintf(outFile, " value = %i,\n", enums[i].valueInteger[e]);
+ fprintf(outFile, " description = \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e] + 3));
+ fprintf(outFile, " }");
+ if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " }\n");
+ fprintf(outFile, " }");
+ if (i < enumCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " },\n");
+
+ // Print defines info
+ fprintf(outFile, " defines = {\n");
+ for (int i = 0; i < defineCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " name = \"%s\",\n", defines[i].name);
+ fprintf(outFile, " type = \"%s\",\n", StrDefineType(defines[i].type));
+ if (defines[i].type == INT || defines[i].type == LONG || defines[i].type == FLOAT || defines[i].type == DOUBLE || defines[i].type == STRING) {
+ fprintf(outFile, " value = %s,\n", defines[i].value);
+ } else {
+ fprintf(outFile, " value = \"%s\",\n", defines[i].value);
+ }
+ fprintf(outFile, " description = \"%s\"\n", defines[i].desc + 3);
+ fprintf(outFile, " }");
+
+ if (i < defineCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " },\n");
+
+ // Print functions info
+ fprintf(outFile, " functions = {\n");
+ for (int i = 0; i < funcCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " name = \"%s\",\n", funcs[i].name);
+ fprintf(outFile, " description = \"%s\",\n", EscapeBackslashes(funcs[i].desc + 3));
+ fprintf(outFile, " returnType = \"%s\"", funcs[i].retType);
+
+ if (funcs[i].paramCount == 0) fprintf(outFile, "\n");
+ else
+ {
+ fprintf(outFile, ",\n params = {\n");
+ for (int p = 0; p < funcs[i].paramCount; p++)
+ {
+ fprintf(outFile, " {type = \"%s\", name = \"%s\"}", funcs[i].paramType[p], funcs[i].paramName[p]);
+ if (p < funcs[i].paramCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " }\n");
+ }
+ fprintf(outFile, " }");
+
+ if (i < funcCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " }\n");
+ fprintf(outFile, "}\n");
+ } break;
+ case JSON:
+ {
+ fprintf(outFile, "{\n");
+
+ // Print structs info
+ fprintf(outFile, " \"structs\": [\n");
+ for (int i = 0; i < structCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"name\": \"%s\",\n", structs[i].name);
+ fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(structs[i].desc + 3));
+ fprintf(outFile, " \"fields\": [\n");
+ for (int f = 0; f < structs[i].fieldCount; f++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"type\": \"%s\",\n", structs[i].fieldType[f]);
+ fprintf(outFile, " \"name\": \"%s\",\n", structs[i].fieldName[f]);
+ fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(structs[i].fieldDesc[f] + 3));
+ fprintf(outFile, " }");
+ if (f < structs[i].fieldCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ]\n");
+ fprintf(outFile, " }");
+ if (i < structCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ],\n");
+
+ // Print enums info
+ fprintf(outFile, " \"enums\": [\n");
+ for (int i = 0; i < enumCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"name\": \"%s\",\n", enums[i].name);
+ fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(enums[i].desc + 3));
+ fprintf(outFile, " \"values\": [\n");
+ for (int e = 0; e < enums[i].valueCount; e++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"name\": \"%s\",\n", enums[i].valueName[e]);
+ fprintf(outFile, " \"value\": %i,\n", enums[i].valueInteger[e]);
+ fprintf(outFile, " \"description\": \"%s\"\n", EscapeBackslashes(enums[i].valueDesc[e] + 3));
+ fprintf(outFile, " }");
+ if (e < enums[i].valueCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ]\n");
+ fprintf(outFile, " }");
+ if (i < enumCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ],\n");
+
+ // Print defines info
+ fprintf(outFile, " \"defines\": [\n");
+ for (int i = 0; i < defineCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"name\": \"%s\",\n", defines[i].name);
+ fprintf(outFile, " \"type\": \"%s\",\n", StrDefineType(defines[i].type));
+ if (defines[i].isHex) { // INT or LONG
+ fprintf(outFile, " \"value\": %ld,\n", strtol(defines[i].value, NULL, 16));
+ } else if (defines[i].type == INT || defines[i].type == LONG || defines[i].type == FLOAT || defines[i].type == DOUBLE || defines[i].type == STRING) {
+ fprintf(outFile, " \"value\": %s,\n", defines[i].value);
+ } else {
+ fprintf(outFile, " \"value\": \"%s\",\n", defines[i].value);
+ }
+ fprintf(outFile, " \"description\": \"%s\"\n", defines[i].desc + 3);
+ fprintf(outFile, " }");
+
+ if (i < defineCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ],\n");
+
+ // Print functions info
+ fprintf(outFile, " \"functions\": [\n");
+ for (int i = 0; i < funcCount; i++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"name\": \"%s\",\n", funcs[i].name);
+ fprintf(outFile, " \"description\": \"%s\",\n", EscapeBackslashes(funcs[i].desc + 3));
+ fprintf(outFile, " \"returnType\": \"%s\"", funcs[i].retType);
+
+ if (funcs[i].paramCount == 0) fprintf(outFile, "\n");
+ else
+ {
+ fprintf(outFile, ",\n \"params\": [\n");
+ for (int p = 0; p < funcs[i].paramCount; p++)
+ {
+ fprintf(outFile, " {\n");
+ fprintf(outFile, " \"type\": \"%s\",\n", funcs[i].paramType[p]);
+ fprintf(outFile, " \"name\": \"%s\"\n", funcs[i].paramName[p]);
+ fprintf(outFile, " }");
+ if (p < funcs[i].paramCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ]\n");
+ }
+ fprintf(outFile, " }");
+
+ if (i < funcCount - 1) fprintf(outFile, ",\n");
+ else fprintf(outFile, "\n");
+ }
+ fprintf(outFile, " ]\n");
+ fprintf(outFile, "}\n");
+ } break;
+ case XML:
+ {
+ // XML format to export data:
+ /*
+ <?xml version="1.0" encoding="Windows-1252" ?>
+ <raylibAPI>
+ <Structs count="">
+ <Struct name="" fieldCount="" desc="">
+ <Field type="" name="" desc="">
+ <Field type="" name="" desc="">
+ </Struct>
+ <Structs>
+ <Enums count="">
+ <Enum name="" valueCount="" desc="">
+ <Value name="" integer="" desc="">
+ <Value name="" integer="" desc="">
+ </Enum>
+ </Enums>
+ <Functions count="">
+ <Function name="" retType="" paramCount="" desc="">
+ <Param type="" name="" desc="" />
+ <Param type="" name="" desc="" />
+ </Function>
+ </Functions>
+ </raylibAPI>
+ */
+
+ fprintf(outFile, "<?xml version=\"1.0\" encoding=\"Windows-1252\" ?>\n");
+ fprintf(outFile, "<raylibAPI>\n");
+
+ // Print structs info
+ fprintf(outFile, " <Structs count=\"%i\">\n", structCount);
+ for (int i = 0; i < structCount; i++)
+ {
+ fprintf(outFile, " <Struct name=\"%s\" fieldCount=\"%i\" desc=\"%s\">\n", structs[i].name, structs[i].fieldCount, structs[i].desc + 3);
+ for (int f = 0; f < structs[i].fieldCount; f++)
+ {
+ fprintf(outFile, " <Field type=\"%s\" name=\"%s\" desc=\"%s\" />\n", structs[i].fieldType[f], structs[i].fieldName[f], structs[i].fieldDesc[f] + 3);
+ }
+ fprintf(outFile, " </Struct>\n");
+ }
+ fprintf(outFile, " </Structs>\n");
+
+ // Print enums info
+ fprintf(outFile, " <Enums count=\"%i\">\n", enumCount);
+ for (int i = 0; i < enumCount; i++)
+ {
+ fprintf(outFile, " <Enum name=\"%s\" valueCount=\"%i\" desc=\"%s\">\n", enums[i].name, enums[i].valueCount, enums[i].desc + 3);
+ for (int v = 0; v < enums[i].valueCount; v++)
+ {
+ fprintf(outFile, " <Value name=\"%s\" integer=\"%i\" desc=\"%s\" />\n", enums[i].valueName[v], enums[i].valueInteger[v], enums[i].valueDesc[v] + 3);
+ }
+ fprintf(outFile, " </Enum>\n");
+ }
+ fprintf(outFile, " </Enums>\n");
+
+ // Print defines info
+ fprintf(outFile, " <Defines count=\"%i\">\n", defineCount);
+ for (int i = 0; i < defineCount; i++)
+ {
+ fprintf(outFile, " <Define name=\"%s\" type=\"%s\" value=\"%s\" desc=\"%s\" />\n", defines[i].name, StrDefineType(defines[i].type), defines[i].value, defines[i].desc);
+ }
+ fprintf(outFile, " </Defines>\n");
+
+ // Print functions info
+ fprintf(outFile, " <Functions count=\"%i\">\n", funcCount);
+ for (int i = 0; i < funcCount; i++)
+ {
+ fprintf(outFile, " <Function name=\"%s\" retType=\"%s\" paramCount=\"%i\" desc=\"%s\">\n", funcs[i].name, funcs[i].retType, funcs[i].paramCount, funcs[i].desc + 3);
+ for (int p = 0; p < funcs[i].paramCount; p++)
+ {
+ fprintf(outFile, " <Param type=\"%s\" name=\"%s\" desc=\"%s\" />\n", funcs[i].paramType[p], funcs[i].paramName[p], funcs[i].paramDesc[p] + 3);
+ }
+ fprintf(outFile, " </Function>\n");
+ }
+ fprintf(outFile, " </Functions>\n");
+
+ fprintf(outFile, "</raylibAPI>\n");
+
+ } break;
+ default: break;
+ }
+
+ fclose(outFile);
+}