diff options
Diffstat (limited to 'raylib/parser')
-rw-r--r-- | raylib/parser/LICENSE | 16 | ||||
-rw-r--r-- | raylib/parser/Makefile | 28 | ||||
-rw-r--r-- | raylib/parser/README.md | 63 | ||||
-rw-r--r-- | raylib/parser/raylib_api.json | 10438 | ||||
-rw-r--r-- | raylib/parser/raylib_api.lua | 7216 | ||||
-rw-r--r-- | raylib/parser/raylib_api.txt | 3998 | ||||
-rw-r--r-- | raylib/parser/raylib_api.xml | 2670 | ||||
-rw-r--r-- | raylib/parser/raylib_parser.c | 1308 |
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); +} |