module "raylib" export struct Vector2 { x: f32 y: f32 } export struct Vector3 { x: f32 y: f32 z: f32 } export struct Vector4 { x: f32 y: f32 z: f32 w: f32 } export struct Matrix { m0: f32 m4: f32 m8: f32 m12: f32 m1: f32 m5: f32 m9: f32 m13: f32 m2: f32 m6: f32 m10: f32 m14: f32 m3: f32 m7: f32 m11: f32 m15: f32 } export struct Color { r: u8 g: u8 b: u8 a: u8 } export struct Rectangle { x: f32 y: f32 width: f32 height: f32 } export struct Image { data: ^void width: i32 height: i32 mipmaps: i32 format: i32 } export struct Texture { id: u32 width: i32 height: i32 mipmaps: i32 format: i32 } export struct RenderTexture { id: u32 texture: Texture depth: Texture } export struct NPatchInfo { source: Rectangle left: i32 top: i32 right: i32 bottom: i32 layout: i32 } export struct GlyphInfo { value: i32 offsetX: i32 offsetY: i32 advanceX: i32 image: Image } export struct Font { baseSize: i32 glyphCount: i32 glyphPadding: i32 texture: Texture recs: ^Rectangle glyphs: ^GlyphInfo } export struct Camera3D { position: Vector3 target: Vector3 up: Vector3 fovy: f32 projection: i32 } export struct Camera2D { offset: Vector2 target: Vector2 rotation: f32 zoom: f32 } export struct Mesh { vertexCount: i32 triangleCount: i32 vertices: ^f32 texcoords: ^f32 texcoords2: ^f32 normals: ^f32 tangents: ^f32 colors: ^u8 indices: ^u16 animVertices: ^f32 animNormals: ^f32 boneIds: ^u8 boneWeights: ^f32 boneMatrices: ^Matrix boneCount: i32 vaoId: u32 vboId: ^u32 } export struct Shader { id: u32 locs: ^i32 } export struct MaterialMap { texture: Texture color: Color value: f32 } export struct Material { shader: Shader maps: ^MaterialMap params: [4]f32 } export struct Transform { translation: Vector3 rotation: Vector4 scale: Vector3 } export struct BoneInfo { name: [32]i8 parent: i32 } export struct Model { transform: Matrix meshCount: i32 materialCount: i32 meshes: ^Mesh materials: ^Material meshMaterial: ^i32 boneCount: i32 bones: ^BoneInfo bindPose: ^Transform } export struct ModelAnimation { boneCount: i32 frameCount: i32 bones: ^BoneInfo framePoses: ^^Transform name: [32]i8 } export struct Ray { position: Vector3 direction: Vector3 } export struct RayCollision { hit: bool distance: f32 point: Vector3 normal: Vector3 } export struct BoundingBox { min: Vector3 max: Vector3 } export struct Wave { frameCount: u32 sampleRate: u32 sampleSize: u32 channels: u32 data: ^void } export struct AudioStream { buffer: ^void processor: ^void sampleRate: u32 sampleSize: u32 channels: u32 } export struct Sound { stream: AudioStream frameCount: u32 } export struct Music { stream: AudioStream frameCount: u32 looping: bool ctxType: i32 ctxData: ^void } export struct VrDeviceInfo { hResolution: i32 vResolution: i32 hScreenSize: f32 vScreenSize: f32 eyeToScreenDistance: f32 lensSeparationDistance: f32 interpupillaryDistance: f32 lensDistortionValues: [4]f32 chromaAbCorrection: [4]f32 } export struct VrStereoConfig { projection: [2]Matrix viewOffset: [2]Matrix leftLensCenter: [2]f32 rightLensCenter: [2]f32 leftScreenCenter: [2]f32 rightScreenCenter: [2]f32 scale: [2]f32 scaleIn: [2]f32 } export struct FilePathList { capacity: u32 count: u32 paths: ^cstring } export struct AutomationEvent { frame: u32 type: u32 params: [4]i32 } export struct AutomationEventList { capacity: u32 count: u32 events: ^AutomationEvent } export enum ConfigFlags : u32 { FLAG_VSYNC_HINT = 64 FLAG_FULLSCREEN_MODE = 2 FLAG_WINDOW_RESIZABLE = 4 FLAG_WINDOW_UNDECORATED = 8 FLAG_WINDOW_HIDDEN = 128 FLAG_WINDOW_MINIMIZED = 512 FLAG_WINDOW_MAXIMIZED = 1024 FLAG_WINDOW_UNFOCUSED = 2048 FLAG_WINDOW_TOPMOST = 4096 FLAG_WINDOW_ALWAYS_RUN = 256 FLAG_WINDOW_TRANSPARENT = 16 FLAG_WINDOW_HIGHDPI = 8192 FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 FLAG_BORDERLESS_WINDOWED_MODE = 32768 FLAG_MSAA_4X_HINT = 32 FLAG_INTERLACED_HINT = 65536 } export enum ConfigFlags : u32 { FLAG_VSYNC_HINT = 64 FLAG_FULLSCREEN_MODE = 2 FLAG_WINDOW_RESIZABLE = 4 FLAG_WINDOW_UNDECORATED = 8 FLAG_WINDOW_HIDDEN = 128 FLAG_WINDOW_MINIMIZED = 512 FLAG_WINDOW_MAXIMIZED = 1024 FLAG_WINDOW_UNFOCUSED = 2048 FLAG_WINDOW_TOPMOST = 4096 FLAG_WINDOW_ALWAYS_RUN = 256 FLAG_WINDOW_TRANSPARENT = 16 FLAG_WINDOW_HIGHDPI = 8192 FLAG_WINDOW_MOUSE_PASSTHROUGH = 16384 FLAG_BORDERLESS_WINDOWED_MODE = 32768 FLAG_MSAA_4X_HINT = 32 FLAG_INTERLACED_HINT = 65536 } export enum TraceLogLevel : u32 { LOG_ALL = 0 LOG_TRACE = 1 LOG_DEBUG = 2 LOG_INFO = 3 LOG_WARNING = 4 LOG_ERROR = 5 LOG_FATAL = 6 LOG_NONE = 7 } export enum TraceLogLevel : u32 { LOG_ALL = 0 LOG_TRACE = 1 LOG_DEBUG = 2 LOG_INFO = 3 LOG_WARNING = 4 LOG_ERROR = 5 LOG_FATAL = 6 LOG_NONE = 7 } export enum KeyboardKey : u32 { KEY_NULL = 0 KEY_APOSTROPHE = 39 KEY_COMMA = 44 KEY_MINUS = 45 KEY_PERIOD = 46 KEY_SLASH = 47 KEY_ZERO = 48 KEY_ONE = 49 KEY_TWO = 50 KEY_THREE = 51 KEY_FOUR = 52 KEY_FIVE = 53 KEY_SIX = 54 KEY_SEVEN = 55 KEY_EIGHT = 56 KEY_NINE = 57 KEY_SEMICOLON = 59 KEY_EQUAL = 61 KEY_A = 65 KEY_B = 66 KEY_C = 67 KEY_D = 68 KEY_E = 69 KEY_F = 70 KEY_G = 71 KEY_H = 72 KEY_I = 73 KEY_J = 74 KEY_K = 75 KEY_L = 76 KEY_M = 77 KEY_N = 78 KEY_O = 79 KEY_P = 80 KEY_Q = 81 KEY_R = 82 KEY_S = 83 KEY_T = 84 KEY_U = 85 KEY_V = 86 KEY_W = 87 KEY_X = 88 KEY_Y = 89 KEY_Z = 90 KEY_LEFT_BRACKET = 91 KEY_BACKSLASH = 92 KEY_RIGHT_BRACKET = 93 KEY_GRAVE = 96 KEY_SPACE = 32 KEY_ESCAPE = 256 KEY_ENTER = 257 KEY_TAB = 258 KEY_BACKSPACE = 259 KEY_INSERT = 260 KEY_DELETE = 261 KEY_RIGHT = 262 KEY_LEFT = 263 KEY_DOWN = 264 KEY_UP = 265 KEY_PAGE_UP = 266 KEY_PAGE_DOWN = 267 KEY_HOME = 268 KEY_END = 269 KEY_CAPS_LOCK = 280 KEY_SCROLL_LOCK = 281 KEY_NUM_LOCK = 282 KEY_PRINT_SCREEN = 283 KEY_PAUSE = 284 KEY_F1 = 290 KEY_F2 = 291 KEY_F3 = 292 KEY_F4 = 293 KEY_F5 = 294 KEY_F6 = 295 KEY_F7 = 296 KEY_F8 = 297 KEY_F9 = 298 KEY_F10 = 299 KEY_F11 = 300 KEY_F12 = 301 KEY_LEFT_SHIFT = 340 KEY_LEFT_CONTROL = 341 KEY_LEFT_ALT = 342 KEY_LEFT_SUPER = 343 KEY_RIGHT_SHIFT = 344 KEY_RIGHT_CONTROL = 345 KEY_RIGHT_ALT = 346 KEY_RIGHT_SUPER = 347 KEY_KB_MENU = 348 KEY_KP_0 = 320 KEY_KP_1 = 321 KEY_KP_2 = 322 KEY_KP_3 = 323 KEY_KP_4 = 324 KEY_KP_5 = 325 KEY_KP_6 = 326 KEY_KP_7 = 327 KEY_KP_8 = 328 KEY_KP_9 = 329 KEY_KP_DECIMAL = 330 KEY_KP_DIVIDE = 331 KEY_KP_MULTIPLY = 332 KEY_KP_SUBTRACT = 333 KEY_KP_ADD = 334 KEY_KP_ENTER = 335 KEY_KP_EQUAL = 336 KEY_BACK = 4 KEY_MENU = 5 KEY_VOLUME_UP = 24 KEY_VOLUME_DOWN = 25 } export enum KeyboardKey : u32 { KEY_NULL = 0 KEY_APOSTROPHE = 39 KEY_COMMA = 44 KEY_MINUS = 45 KEY_PERIOD = 46 KEY_SLASH = 47 KEY_ZERO = 48 KEY_ONE = 49 KEY_TWO = 50 KEY_THREE = 51 KEY_FOUR = 52 KEY_FIVE = 53 KEY_SIX = 54 KEY_SEVEN = 55 KEY_EIGHT = 56 KEY_NINE = 57 KEY_SEMICOLON = 59 KEY_EQUAL = 61 KEY_A = 65 KEY_B = 66 KEY_C = 67 KEY_D = 68 KEY_E = 69 KEY_F = 70 KEY_G = 71 KEY_H = 72 KEY_I = 73 KEY_J = 74 KEY_K = 75 KEY_L = 76 KEY_M = 77 KEY_N = 78 KEY_O = 79 KEY_P = 80 KEY_Q = 81 KEY_R = 82 KEY_S = 83 KEY_T = 84 KEY_U = 85 KEY_V = 86 KEY_W = 87 KEY_X = 88 KEY_Y = 89 KEY_Z = 90 KEY_LEFT_BRACKET = 91 KEY_BACKSLASH = 92 KEY_RIGHT_BRACKET = 93 KEY_GRAVE = 96 KEY_SPACE = 32 KEY_ESCAPE = 256 KEY_ENTER = 257 KEY_TAB = 258 KEY_BACKSPACE = 259 KEY_INSERT = 260 KEY_DELETE = 261 KEY_RIGHT = 262 KEY_LEFT = 263 KEY_DOWN = 264 KEY_UP = 265 KEY_PAGE_UP = 266 KEY_PAGE_DOWN = 267 KEY_HOME = 268 KEY_END = 269 KEY_CAPS_LOCK = 280 KEY_SCROLL_LOCK = 281 KEY_NUM_LOCK = 282 KEY_PRINT_SCREEN = 283 KEY_PAUSE = 284 KEY_F1 = 290 KEY_F2 = 291 KEY_F3 = 292 KEY_F4 = 293 KEY_F5 = 294 KEY_F6 = 295 KEY_F7 = 296 KEY_F8 = 297 KEY_F9 = 298 KEY_F10 = 299 KEY_F11 = 300 KEY_F12 = 301 KEY_LEFT_SHIFT = 340 KEY_LEFT_CONTROL = 341 KEY_LEFT_ALT = 342 KEY_LEFT_SUPER = 343 KEY_RIGHT_SHIFT = 344 KEY_RIGHT_CONTROL = 345 KEY_RIGHT_ALT = 346 KEY_RIGHT_SUPER = 347 KEY_KB_MENU = 348 KEY_KP_0 = 320 KEY_KP_1 = 321 KEY_KP_2 = 322 KEY_KP_3 = 323 KEY_KP_4 = 324 KEY_KP_5 = 325 KEY_KP_6 = 326 KEY_KP_7 = 327 KEY_KP_8 = 328 KEY_KP_9 = 329 KEY_KP_DECIMAL = 330 KEY_KP_DIVIDE = 331 KEY_KP_MULTIPLY = 332 KEY_KP_SUBTRACT = 333 KEY_KP_ADD = 334 KEY_KP_ENTER = 335 KEY_KP_EQUAL = 336 KEY_BACK = 4 KEY_MENU = 5 KEY_VOLUME_UP = 24 KEY_VOLUME_DOWN = 25 } export enum MouseButton : u32 { MOUSE_BUTTON_LEFT = 0 MOUSE_BUTTON_RIGHT = 1 MOUSE_BUTTON_MIDDLE = 2 MOUSE_BUTTON_SIDE = 3 MOUSE_BUTTON_EXTRA = 4 MOUSE_BUTTON_FORWARD = 5 MOUSE_BUTTON_BACK = 6 } export enum MouseButton : u32 { MOUSE_BUTTON_LEFT = 0 MOUSE_BUTTON_RIGHT = 1 MOUSE_BUTTON_MIDDLE = 2 MOUSE_BUTTON_SIDE = 3 MOUSE_BUTTON_EXTRA = 4 MOUSE_BUTTON_FORWARD = 5 MOUSE_BUTTON_BACK = 6 } export enum MouseCursor : u32 { MOUSE_CURSOR_DEFAULT = 0 MOUSE_CURSOR_ARROW = 1 MOUSE_CURSOR_IBEAM = 2 MOUSE_CURSOR_CROSSHAIR = 3 MOUSE_CURSOR_POINTING_HAND = 4 MOUSE_CURSOR_RESIZE_EW = 5 MOUSE_CURSOR_RESIZE_NS = 6 MOUSE_CURSOR_RESIZE_NWSE = 7 MOUSE_CURSOR_RESIZE_NESW = 8 MOUSE_CURSOR_RESIZE_ALL = 9 MOUSE_CURSOR_NOT_ALLOWED = 10 } export enum MouseCursor : u32 { MOUSE_CURSOR_DEFAULT = 0 MOUSE_CURSOR_ARROW = 1 MOUSE_CURSOR_IBEAM = 2 MOUSE_CURSOR_CROSSHAIR = 3 MOUSE_CURSOR_POINTING_HAND = 4 MOUSE_CURSOR_RESIZE_EW = 5 MOUSE_CURSOR_RESIZE_NS = 6 MOUSE_CURSOR_RESIZE_NWSE = 7 MOUSE_CURSOR_RESIZE_NESW = 8 MOUSE_CURSOR_RESIZE_ALL = 9 MOUSE_CURSOR_NOT_ALLOWED = 10 } export enum GamepadButton : u32 { GAMEPAD_BUTTON_UNKNOWN = 0 GAMEPAD_BUTTON_LEFT_FACE_UP = 1 GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4 GAMEPAD_BUTTON_RIGHT_FACE_UP = 5 GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6 GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7 GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8 GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9 GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10 GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11 GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12 GAMEPAD_BUTTON_MIDDLE_LEFT = 13 GAMEPAD_BUTTON_MIDDLE = 14 GAMEPAD_BUTTON_MIDDLE_RIGHT = 15 GAMEPAD_BUTTON_LEFT_THUMB = 16 GAMEPAD_BUTTON_RIGHT_THUMB = 17 } export enum GamepadButton : u32 { GAMEPAD_BUTTON_UNKNOWN = 0 GAMEPAD_BUTTON_LEFT_FACE_UP = 1 GAMEPAD_BUTTON_LEFT_FACE_RIGHT = 2 GAMEPAD_BUTTON_LEFT_FACE_DOWN = 3 GAMEPAD_BUTTON_LEFT_FACE_LEFT = 4 GAMEPAD_BUTTON_RIGHT_FACE_UP = 5 GAMEPAD_BUTTON_RIGHT_FACE_RIGHT = 6 GAMEPAD_BUTTON_RIGHT_FACE_DOWN = 7 GAMEPAD_BUTTON_RIGHT_FACE_LEFT = 8 GAMEPAD_BUTTON_LEFT_TRIGGER_1 = 9 GAMEPAD_BUTTON_LEFT_TRIGGER_2 = 10 GAMEPAD_BUTTON_RIGHT_TRIGGER_1 = 11 GAMEPAD_BUTTON_RIGHT_TRIGGER_2 = 12 GAMEPAD_BUTTON_MIDDLE_LEFT = 13 GAMEPAD_BUTTON_MIDDLE = 14 GAMEPAD_BUTTON_MIDDLE_RIGHT = 15 GAMEPAD_BUTTON_LEFT_THUMB = 16 GAMEPAD_BUTTON_RIGHT_THUMB = 17 } export enum GamepadAxis : u32 { GAMEPAD_AXIS_LEFT_X = 0 GAMEPAD_AXIS_LEFT_Y = 1 GAMEPAD_AXIS_RIGHT_X = 2 GAMEPAD_AXIS_RIGHT_Y = 3 GAMEPAD_AXIS_LEFT_TRIGGER = 4 GAMEPAD_AXIS_RIGHT_TRIGGER = 5 } export enum GamepadAxis : u32 { GAMEPAD_AXIS_LEFT_X = 0 GAMEPAD_AXIS_LEFT_Y = 1 GAMEPAD_AXIS_RIGHT_X = 2 GAMEPAD_AXIS_RIGHT_Y = 3 GAMEPAD_AXIS_LEFT_TRIGGER = 4 GAMEPAD_AXIS_RIGHT_TRIGGER = 5 } export enum MaterialMapIndex : u32 { MATERIAL_MAP_ALBEDO = 0 MATERIAL_MAP_METALNESS = 1 MATERIAL_MAP_NORMAL = 2 MATERIAL_MAP_ROUGHNESS = 3 MATERIAL_MAP_OCCLUSION = 4 MATERIAL_MAP_EMISSION = 5 MATERIAL_MAP_HEIGHT = 6 MATERIAL_MAP_CUBEMAP = 7 MATERIAL_MAP_IRRADIANCE = 8 MATERIAL_MAP_PREFILTER = 9 MATERIAL_MAP_BRDF = 10 } export enum MaterialMapIndex : u32 { MATERIAL_MAP_ALBEDO = 0 MATERIAL_MAP_METALNESS = 1 MATERIAL_MAP_NORMAL = 2 MATERIAL_MAP_ROUGHNESS = 3 MATERIAL_MAP_OCCLUSION = 4 MATERIAL_MAP_EMISSION = 5 MATERIAL_MAP_HEIGHT = 6 MATERIAL_MAP_CUBEMAP = 7 MATERIAL_MAP_IRRADIANCE = 8 MATERIAL_MAP_PREFILTER = 9 MATERIAL_MAP_BRDF = 10 } export enum ShaderLocationIndex : u32 { SHADER_LOC_VERTEX_POSITION = 0 SHADER_LOC_VERTEX_TEXCOORD01 = 1 SHADER_LOC_VERTEX_TEXCOORD02 = 2 SHADER_LOC_VERTEX_NORMAL = 3 SHADER_LOC_VERTEX_TANGENT = 4 SHADER_LOC_VERTEX_COLOR = 5 SHADER_LOC_MATRIX_MVP = 6 SHADER_LOC_MATRIX_VIEW = 7 SHADER_LOC_MATRIX_PROJECTION = 8 SHADER_LOC_MATRIX_MODEL = 9 SHADER_LOC_MATRIX_NORMAL = 10 SHADER_LOC_VECTOR_VIEW = 11 SHADER_LOC_COLOR_DIFFUSE = 12 SHADER_LOC_COLOR_SPECULAR = 13 SHADER_LOC_COLOR_AMBIENT = 14 SHADER_LOC_MAP_ALBEDO = 15 SHADER_LOC_MAP_METALNESS = 16 SHADER_LOC_MAP_NORMAL = 17 SHADER_LOC_MAP_ROUGHNESS = 18 SHADER_LOC_MAP_OCCLUSION = 19 SHADER_LOC_MAP_EMISSION = 20 SHADER_LOC_MAP_HEIGHT = 21 SHADER_LOC_MAP_CUBEMAP = 22 SHADER_LOC_MAP_IRRADIANCE = 23 SHADER_LOC_MAP_PREFILTER = 24 SHADER_LOC_MAP_BRDF = 25 SHADER_LOC_VERTEX_BONEIDS = 26 SHADER_LOC_VERTEX_BONEWEIGHTS = 27 SHADER_LOC_BONE_MATRICES = 28 } export enum ShaderLocationIndex : u32 { SHADER_LOC_VERTEX_POSITION = 0 SHADER_LOC_VERTEX_TEXCOORD01 = 1 SHADER_LOC_VERTEX_TEXCOORD02 = 2 SHADER_LOC_VERTEX_NORMAL = 3 SHADER_LOC_VERTEX_TANGENT = 4 SHADER_LOC_VERTEX_COLOR = 5 SHADER_LOC_MATRIX_MVP = 6 SHADER_LOC_MATRIX_VIEW = 7 SHADER_LOC_MATRIX_PROJECTION = 8 SHADER_LOC_MATRIX_MODEL = 9 SHADER_LOC_MATRIX_NORMAL = 10 SHADER_LOC_VECTOR_VIEW = 11 SHADER_LOC_COLOR_DIFFUSE = 12 SHADER_LOC_COLOR_SPECULAR = 13 SHADER_LOC_COLOR_AMBIENT = 14 SHADER_LOC_MAP_ALBEDO = 15 SHADER_LOC_MAP_METALNESS = 16 SHADER_LOC_MAP_NORMAL = 17 SHADER_LOC_MAP_ROUGHNESS = 18 SHADER_LOC_MAP_OCCLUSION = 19 SHADER_LOC_MAP_EMISSION = 20 SHADER_LOC_MAP_HEIGHT = 21 SHADER_LOC_MAP_CUBEMAP = 22 SHADER_LOC_MAP_IRRADIANCE = 23 SHADER_LOC_MAP_PREFILTER = 24 SHADER_LOC_MAP_BRDF = 25 SHADER_LOC_VERTEX_BONEIDS = 26 SHADER_LOC_VERTEX_BONEWEIGHTS = 27 SHADER_LOC_BONE_MATRICES = 28 } export enum ShaderUniformDataType : u32 { SHADER_UNIFORM_FLOAT = 0 SHADER_UNIFORM_VEC2 = 1 SHADER_UNIFORM_VEC3 = 2 SHADER_UNIFORM_VEC4 = 3 SHADER_UNIFORM_INT = 4 SHADER_UNIFORM_IVEC2 = 5 SHADER_UNIFORM_IVEC3 = 6 SHADER_UNIFORM_IVEC4 = 7 SHADER_UNIFORM_SAMPLER2D = 8 } export enum ShaderUniformDataType : u32 { SHADER_UNIFORM_FLOAT = 0 SHADER_UNIFORM_VEC2 = 1 SHADER_UNIFORM_VEC3 = 2 SHADER_UNIFORM_VEC4 = 3 SHADER_UNIFORM_INT = 4 SHADER_UNIFORM_IVEC2 = 5 SHADER_UNIFORM_IVEC3 = 6 SHADER_UNIFORM_IVEC4 = 7 SHADER_UNIFORM_SAMPLER2D = 8 } export enum ShaderAttributeDataType : u32 { SHADER_ATTRIB_FLOAT = 0 SHADER_ATTRIB_VEC2 = 1 SHADER_ATTRIB_VEC3 = 2 SHADER_ATTRIB_VEC4 = 3 } export enum ShaderAttributeDataType : u32 { SHADER_ATTRIB_FLOAT = 0 SHADER_ATTRIB_VEC2 = 1 SHADER_ATTRIB_VEC3 = 2 SHADER_ATTRIB_VEC4 = 3 } export enum PixelFormat : u32 { PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 PIXELFORMAT_UNCOMPRESSED_R32 = 8 PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 PIXELFORMAT_UNCOMPRESSED_R16 = 11 PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 PIXELFORMAT_COMPRESSED_DXT1_RGB = 14 PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15 PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16 PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17 PIXELFORMAT_COMPRESSED_ETC1_RGB = 18 PIXELFORMAT_COMPRESSED_ETC2_RGB = 19 PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20 PIXELFORMAT_COMPRESSED_PVRT_RGB = 21 PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22 PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23 PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24 } export enum PixelFormat : u32 { PIXELFORMAT_UNCOMPRESSED_GRAYSCALE = 1 PIXELFORMAT_UNCOMPRESSED_GRAY_ALPHA = 2 PIXELFORMAT_UNCOMPRESSED_R5G6B5 = 3 PIXELFORMAT_UNCOMPRESSED_R8G8B8 = 4 PIXELFORMAT_UNCOMPRESSED_R5G5B5A1 = 5 PIXELFORMAT_UNCOMPRESSED_R4G4B4A4 = 6 PIXELFORMAT_UNCOMPRESSED_R8G8B8A8 = 7 PIXELFORMAT_UNCOMPRESSED_R32 = 8 PIXELFORMAT_UNCOMPRESSED_R32G32B32 = 9 PIXELFORMAT_UNCOMPRESSED_R32G32B32A32 = 10 PIXELFORMAT_UNCOMPRESSED_R16 = 11 PIXELFORMAT_UNCOMPRESSED_R16G16B16 = 12 PIXELFORMAT_UNCOMPRESSED_R16G16B16A16 = 13 PIXELFORMAT_COMPRESSED_DXT1_RGB = 14 PIXELFORMAT_COMPRESSED_DXT1_RGBA = 15 PIXELFORMAT_COMPRESSED_DXT3_RGBA = 16 PIXELFORMAT_COMPRESSED_DXT5_RGBA = 17 PIXELFORMAT_COMPRESSED_ETC1_RGB = 18 PIXELFORMAT_COMPRESSED_ETC2_RGB = 19 PIXELFORMAT_COMPRESSED_ETC2_EAC_RGBA = 20 PIXELFORMAT_COMPRESSED_PVRT_RGB = 21 PIXELFORMAT_COMPRESSED_PVRT_RGBA = 22 PIXELFORMAT_COMPRESSED_ASTC_4x4_RGBA = 23 PIXELFORMAT_COMPRESSED_ASTC_8x8_RGBA = 24 } export enum TextureFilter : u32 { TEXTURE_FILTER_POINT = 0 TEXTURE_FILTER_BILINEAR = 1 TEXTURE_FILTER_TRILINEAR = 2 TEXTURE_FILTER_ANISOTROPIC_4X = 3 TEXTURE_FILTER_ANISOTROPIC_8X = 4 TEXTURE_FILTER_ANISOTROPIC_16X = 5 } export enum TextureFilter : u32 { TEXTURE_FILTER_POINT = 0 TEXTURE_FILTER_BILINEAR = 1 TEXTURE_FILTER_TRILINEAR = 2 TEXTURE_FILTER_ANISOTROPIC_4X = 3 TEXTURE_FILTER_ANISOTROPIC_8X = 4 TEXTURE_FILTER_ANISOTROPIC_16X = 5 } export enum TextureWrap : u32 { TEXTURE_WRAP_REPEAT = 0 TEXTURE_WRAP_CLAMP = 1 TEXTURE_WRAP_MIRROR_REPEAT = 2 TEXTURE_WRAP_MIRROR_CLAMP = 3 } export enum TextureWrap : u32 { TEXTURE_WRAP_REPEAT = 0 TEXTURE_WRAP_CLAMP = 1 TEXTURE_WRAP_MIRROR_REPEAT = 2 TEXTURE_WRAP_MIRROR_CLAMP = 3 } export enum CubemapLayout : u32 { CUBEMAP_LAYOUT_AUTO_DETECT = 0 CUBEMAP_LAYOUT_LINE_VERTICAL = 1 CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2 CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3 CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4 } export enum CubemapLayout : u32 { CUBEMAP_LAYOUT_AUTO_DETECT = 0 CUBEMAP_LAYOUT_LINE_VERTICAL = 1 CUBEMAP_LAYOUT_LINE_HORIZONTAL = 2 CUBEMAP_LAYOUT_CROSS_THREE_BY_FOUR = 3 CUBEMAP_LAYOUT_CROSS_FOUR_BY_THREE = 4 } export enum FontType : u32 { FONT_DEFAULT = 0 FONT_BITMAP = 1 FONT_SDF = 2 } export enum FontType : u32 { FONT_DEFAULT = 0 FONT_BITMAP = 1 FONT_SDF = 2 } export enum BlendMode : u32 { BLEND_ALPHA = 0 BLEND_ADDITIVE = 1 BLEND_MULTIPLIED = 2 BLEND_ADD_COLORS = 3 BLEND_SUBTRACT_COLORS = 4 BLEND_ALPHA_PREMULTIPLY = 5 BLEND_CUSTOM = 6 BLEND_CUSTOM_SEPARATE = 7 } export enum BlendMode : u32 { BLEND_ALPHA = 0 BLEND_ADDITIVE = 1 BLEND_MULTIPLIED = 2 BLEND_ADD_COLORS = 3 BLEND_SUBTRACT_COLORS = 4 BLEND_ALPHA_PREMULTIPLY = 5 BLEND_CUSTOM = 6 BLEND_CUSTOM_SEPARATE = 7 } export enum Gesture : u32 { GESTURE_NONE = 0 GESTURE_TAP = 1 GESTURE_DOUBLETAP = 2 GESTURE_HOLD = 4 GESTURE_DRAG = 8 GESTURE_SWIPE_RIGHT = 16 GESTURE_SWIPE_LEFT = 32 GESTURE_SWIPE_UP = 64 GESTURE_SWIPE_DOWN = 128 GESTURE_PINCH_IN = 256 GESTURE_PINCH_OUT = 512 } export enum Gesture : u32 { GESTURE_NONE = 0 GESTURE_TAP = 1 GESTURE_DOUBLETAP = 2 GESTURE_HOLD = 4 GESTURE_DRAG = 8 GESTURE_SWIPE_RIGHT = 16 GESTURE_SWIPE_LEFT = 32 GESTURE_SWIPE_UP = 64 GESTURE_SWIPE_DOWN = 128 GESTURE_PINCH_IN = 256 GESTURE_PINCH_OUT = 512 } export enum CameraMode : u32 { CAMERA_CUSTOM = 0 CAMERA_FREE = 1 CAMERA_ORBITAL = 2 CAMERA_FIRST_PERSON = 3 CAMERA_THIRD_PERSON = 4 } export enum CameraMode : u32 { CAMERA_CUSTOM = 0 CAMERA_FREE = 1 CAMERA_ORBITAL = 2 CAMERA_FIRST_PERSON = 3 CAMERA_THIRD_PERSON = 4 } export enum CameraProjection : u32 { CAMERA_PERSPECTIVE = 0 CAMERA_ORTHOGRAPHIC = 1 } export enum CameraProjection : u32 { CAMERA_PERSPECTIVE = 0 CAMERA_ORTHOGRAPHIC = 1 } export enum NPatchLayout : u32 { NPATCH_NINE_PATCH = 0 NPATCH_THREE_PATCH_VERTICAL = 1 NPATCH_THREE_PATCH_HORIZONTAL = 2 } export enum NPatchLayout : u32 { NPATCH_NINE_PATCH = 0 NPATCH_THREE_PATCH_VERTICAL = 1 NPATCH_THREE_PATCH_HORIZONTAL = 2 } export extern "InitWindow" func InitWindow(width: i32, height: i32, title: cstring): void export extern "CloseWindow" func CloseWindow(): void export extern "WindowShouldClose" func WindowShouldClose(): bool export extern "IsWindowReady" func IsWindowReady(): bool export extern "IsWindowFullscreen" func IsWindowFullscreen(): bool export extern "IsWindowHidden" func IsWindowHidden(): bool export extern "IsWindowMinimized" func IsWindowMinimized(): bool export extern "IsWindowMaximized" func IsWindowMaximized(): bool export extern "IsWindowFocused" func IsWindowFocused(): bool export extern "IsWindowResized" func IsWindowResized(): bool export extern "IsWindowState" func IsWindowState(flag: u32): bool export extern "SetWindowState" func SetWindowState(flags: u32): void export extern "ClearWindowState" func ClearWindowState(flags: u32): void export extern "ToggleFullscreen" func ToggleFullscreen(): void export extern "ToggleBorderlessWindowed" func ToggleBorderlessWindowed(): void export extern "MaximizeWindow" func MaximizeWindow(): void export extern "MinimizeWindow" func MinimizeWindow(): void export extern "RestoreWindow" func RestoreWindow(): void export extern "SetWindowIcon" func SetWindowIcon(image: Image): void export extern "SetWindowIcons" func SetWindowIcons(images: ^Image, count: i32): void export extern "SetWindowTitle" func SetWindowTitle(title: cstring): void export extern "SetWindowPosition" func SetWindowPosition(x: i32, y: i32): void export extern "SetWindowMonitor" func SetWindowMonitor(monitor: i32): void export extern "SetWindowMinSize" func SetWindowMinSize(width: i32, height: i32): void export extern "SetWindowMaxSize" func SetWindowMaxSize(width: i32, height: i32): void export extern "SetWindowSize" func SetWindowSize(width: i32, height: i32): void export extern "SetWindowOpacity" func SetWindowOpacity(opacity: f32): void export extern "SetWindowFocused" func SetWindowFocused(): void export extern "GetWindowHandle" func GetWindowHandle(): ^void export extern "GetScreenWidth" func GetScreenWidth(): i32 export extern "GetScreenHeight" func GetScreenHeight(): i32 export extern "GetRenderWidth" func GetRenderWidth(): i32 export extern "GetRenderHeight" func GetRenderHeight(): i32 export extern "GetMonitorCount" func GetMonitorCount(): i32 export extern "GetCurrentMonitor" func GetCurrentMonitor(): i32 export extern "GetMonitorPosition" func GetMonitorPosition(monitor: i32): Vector2 export extern "GetMonitorWidth" func GetMonitorWidth(monitor: i32): i32 export extern "GetMonitorHeight" func GetMonitorHeight(monitor: i32): i32 export extern "GetMonitorPhysicalWidth" func GetMonitorPhysicalWidth(monitor: i32): i32 export extern "GetMonitorPhysicalHeight" func GetMonitorPhysicalHeight(monitor: i32): i32 export extern "GetMonitorRefreshRate" func GetMonitorRefreshRate(monitor: i32): i32 export extern "GetWindowPosition" func GetWindowPosition(): Vector2 export extern "GetWindowScaleDPI" func GetWindowScaleDPI(): Vector2 export extern "GetMonitorName" func GetMonitorName(monitor: i32): cstring export extern "SetClipboardText" func SetClipboardText(text: cstring): void export extern "GetClipboardText" func GetClipboardText(): cstring export extern "GetClipboardImage" func GetClipboardImage(): Image export extern "EnableEventWaiting" func EnableEventWaiting(): void export extern "DisableEventWaiting" func DisableEventWaiting(): void export extern "ShowCursor" func ShowCursor(): void export extern "HideCursor" func HideCursor(): void export extern "IsCursorHidden" func IsCursorHidden(): bool export extern "EnableCursor" func EnableCursor(): void export extern "DisableCursor" func DisableCursor(): void export extern "IsCursorOnScreen" func IsCursorOnScreen(): bool export extern "ClearBackground" func ClearBackground(color: Color): void export extern "BeginDrawing" func BeginDrawing(): void export extern "EndDrawing" func EndDrawing(): void export extern "BeginMode2D" func BeginMode2D(camera: Camera2D): void export extern "EndMode2D" func EndMode2D(): void export extern "BeginMode3D" func BeginMode3D(camera: Camera3D): void export extern "EndMode3D" func EndMode3D(): void export extern "BeginTextureMode" func BeginTextureMode(target: RenderTexture): void export extern "EndTextureMode" func EndTextureMode(): void export extern "BeginShaderMode" func BeginShaderMode(shader: Shader): void export extern "EndShaderMode" func EndShaderMode(): void export extern "BeginBlendMode" func BeginBlendMode(mode: i32): void export extern "EndBlendMode" func EndBlendMode(): void export extern "BeginScissorMode" func BeginScissorMode(x: i32, y: i32, width: i32, height: i32): void export extern "EndScissorMode" func EndScissorMode(): void export extern "BeginVrStereoMode" func BeginVrStereoMode(config: VrStereoConfig): void export extern "EndVrStereoMode" func EndVrStereoMode(): void export extern "LoadVrStereoConfig" func LoadVrStereoConfig(device: VrDeviceInfo): VrStereoConfig export extern "UnloadVrStereoConfig" func UnloadVrStereoConfig(config: VrStereoConfig): void export extern "LoadShader" func LoadShader(vsFileName: cstring, fsFileName: cstring): Shader export extern "LoadShaderFromMemory" func LoadShaderFromMemory(vsCode: cstring, fsCode: cstring): Shader export extern "IsShaderValid" func IsShaderValid(shader: Shader): bool export extern "GetShaderLocation" func GetShaderLocation(shader: Shader, uniformName: cstring): i32 export extern "GetShaderLocationAttrib" func GetShaderLocationAttrib(shader: Shader, attribName: cstring): i32 export extern "SetShaderValue" func SetShaderValue(shader: Shader, locIndex: i32, value: ^void, uniformType: i32): void export extern "SetShaderValueV" func SetShaderValueV(shader: Shader, locIndex: i32, value: ^void, uniformType: i32, count: i32): void export extern "SetShaderValueMatrix" func SetShaderValueMatrix(shader: Shader, locIndex: i32, mat: Matrix): void export extern "SetShaderValueTexture" func SetShaderValueTexture(shader: Shader, locIndex: i32, texture: Texture): void export extern "UnloadShader" func UnloadShader(shader: Shader): void export extern "GetScreenToWorldRay" func GetScreenToWorldRay(position: Vector2, camera: Camera3D): Ray export extern "GetScreenToWorldRayEx" func GetScreenToWorldRayEx(position: Vector2, camera: Camera3D, width: i32, height: i32): Ray export extern "GetWorldToScreen" func GetWorldToScreen(position: Vector3, camera: Camera3D): Vector2 export extern "GetWorldToScreenEx" func GetWorldToScreenEx(position: Vector3, camera: Camera3D, width: i32, height: i32): Vector2 export extern "GetWorldToScreen2D" func GetWorldToScreen2D(position: Vector2, camera: Camera2D): Vector2 export extern "GetScreenToWorld2D" func GetScreenToWorld2D(position: Vector2, camera: Camera2D): Vector2 export extern "GetCameraMatrix" func GetCameraMatrix(camera: Camera3D): Matrix export extern "GetCameraMatrix2D" func GetCameraMatrix2D(camera: Camera2D): Matrix export extern "SetTargetFPS" func SetTargetFPS(fps: i32): void export extern "GetFrameTime" func GetFrameTime(): f32 export extern "GetTime" func GetTime(): f64 export extern "GetFPS" func GetFPS(): i32 export extern "SwapScreenBuffer" func SwapScreenBuffer(): void export extern "PollInputEvents" func PollInputEvents(): void export extern "WaitTime" func WaitTime(seconds: f64): void export extern "SetRandomSeed" func SetRandomSeed(seed: u32): void export extern "GetRandomValue" func GetRandomValue(min: i32, max: i32): i32 export extern "LoadRandomSequence" func LoadRandomSequence(count: u32, min: i32, max: i32): ^i32 export extern "UnloadRandomSequence" func UnloadRandomSequence(sequence: ^i32): void export extern "TakeScreenshot" func TakeScreenshot(fileName: cstring): void export extern "SetConfigFlags" func SetConfigFlags(flags: u32): void export extern "OpenURL" func OpenURL(url: cstring): void export extern "TraceLog" func TraceLog(logLevel: i32, text: cstring): void export extern "SetTraceLogLevel" func SetTraceLogLevel(logLevel: i32): void export extern "MemAlloc" func MemAlloc(size: u32): ^void export extern "MemRealloc" func MemRealloc(ptr: ^void, size: u32): ^void export extern "MemFree" func MemFree(ptr: ^void): void export extern "SetTraceLogCallback" func SetTraceLogCallback(callback: func(i32, cstring, i32): void): void export extern "SetLoadFileDataCallback" func SetLoadFileDataCallback(callback: func(cstring, ^i32): ^u8): void export extern "SetSaveFileDataCallback" func SetSaveFileDataCallback(callback: func(cstring, ^void, i32): bool): void export extern "SetLoadFileTextCallback" func SetLoadFileTextCallback(callback: func(cstring): cstring): void export extern "SetSaveFileTextCallback" func SetSaveFileTextCallback(callback: func(cstring, cstring): bool): void export extern "LoadFileData" func LoadFileData(fileName: cstring, dataSize: ^i32): ^u8 export extern "UnloadFileData" func UnloadFileData(data: ^u8): void export extern "SaveFileData" func SaveFileData(fileName: cstring, data: ^void, dataSize: i32): bool export extern "ExportDataAsCode" func ExportDataAsCode(data: ^u8, dataSize: i32, fileName: cstring): bool export extern "LoadFileText" func LoadFileText(fileName: cstring): cstring export extern "UnloadFileText" func UnloadFileText(text: cstring): void export extern "SaveFileText" func SaveFileText(fileName: cstring, text: cstring): bool export extern "FileExists" func FileExists(fileName: cstring): bool export extern "DirectoryExists" func DirectoryExists(dirPath: cstring): bool export extern "IsFileExtension" func IsFileExtension(fileName: cstring, ext: cstring): bool export extern "GetFileLength" func GetFileLength(fileName: cstring): i32 export extern "GetFileExtension" func GetFileExtension(fileName: cstring): cstring export extern "GetFileName" func GetFileName(filePath: cstring): cstring export extern "GetFileNameWithoutExt" func GetFileNameWithoutExt(filePath: cstring): cstring export extern "GetDirectoryPath" func GetDirectoryPath(filePath: cstring): cstring export extern "GetPrevDirectoryPath" func GetPrevDirectoryPath(dirPath: cstring): cstring export extern "GetWorkingDirectory" func GetWorkingDirectory(): cstring export extern "GetApplicationDirectory" func GetApplicationDirectory(): cstring export extern "MakeDirectory" func MakeDirectory(dirPath: cstring): i32 export extern "ChangeDirectory" func ChangeDirectory(dir: cstring): bool export extern "IsPathFile" func IsPathFile(path: cstring): bool export extern "IsFileNameValid" func IsFileNameValid(fileName: cstring): bool export extern "LoadDirectoryFiles" func LoadDirectoryFiles(dirPath: cstring): FilePathList export extern "LoadDirectoryFilesEx" func LoadDirectoryFilesEx(basePath: cstring, filter: cstring, scanSubdirs: bool): FilePathList export extern "UnloadDirectoryFiles" func UnloadDirectoryFiles(files: FilePathList): void export extern "IsFileDropped" func IsFileDropped(): bool export extern "LoadDroppedFiles" func LoadDroppedFiles(): FilePathList export extern "UnloadDroppedFiles" func UnloadDroppedFiles(files: FilePathList): void export extern "GetFileModTime" func GetFileModTime(fileName: cstring): i64 export extern "CompressData" func CompressData(data: ^u8, dataSize: i32, compDataSize: ^i32): ^u8 export extern "DecompressData" func DecompressData(compData: ^u8, compDataSize: i32, dataSize: ^i32): ^u8 export extern "EncodeDataBase64" func EncodeDataBase64(data: ^u8, dataSize: i32, outputSize: ^i32): cstring export extern "DecodeDataBase64" func DecodeDataBase64(data: ^u8, outputSize: ^i32): ^u8 export extern "ComputeCRC32" func ComputeCRC32(data: ^u8, dataSize: i32): u32 export extern "ComputeMD5" func ComputeMD5(data: ^u8, dataSize: i32): ^u32 export extern "ComputeSHA1" func ComputeSHA1(data: ^u8, dataSize: i32): ^u32 export extern "LoadAutomationEventList" func LoadAutomationEventList(fileName: cstring): AutomationEventList export extern "UnloadAutomationEventList" func UnloadAutomationEventList(list: AutomationEventList): void export extern "ExportAutomationEventList" func ExportAutomationEventList(list: AutomationEventList, fileName: cstring): bool export extern "SetAutomationEventList" func SetAutomationEventList(list: ^AutomationEventList): void export extern "SetAutomationEventBaseFrame" func SetAutomationEventBaseFrame(frame: i32): void export extern "StartAutomationEventRecording" func StartAutomationEventRecording(): void export extern "StopAutomationEventRecording" func StopAutomationEventRecording(): void export extern "PlayAutomationEvent" func PlayAutomationEvent(event: AutomationEvent): void export extern "IsKeyPressed" func IsKeyPressed(key: i32): bool export extern "IsKeyPressedRepeat" func IsKeyPressedRepeat(key: i32): bool export extern "IsKeyDown" func IsKeyDown(key: i32): bool export extern "IsKeyReleased" func IsKeyReleased(key: i32): bool export extern "IsKeyUp" func IsKeyUp(key: i32): bool export extern "GetKeyPressed" func GetKeyPressed(): i32 export extern "GetCharPressed" func GetCharPressed(): i32 export extern "SetExitKey" func SetExitKey(key: i32): void export extern "IsGamepadAvailable" func IsGamepadAvailable(gamepad: i32): bool export extern "GetGamepadName" func GetGamepadName(gamepad: i32): cstring export extern "IsGamepadButtonPressed" func IsGamepadButtonPressed(gamepad: i32, button: i32): bool export extern "IsGamepadButtonDown" func IsGamepadButtonDown(gamepad: i32, button: i32): bool export extern "IsGamepadButtonReleased" func IsGamepadButtonReleased(gamepad: i32, button: i32): bool export extern "IsGamepadButtonUp" func IsGamepadButtonUp(gamepad: i32, button: i32): bool export extern "GetGamepadButtonPressed" func GetGamepadButtonPressed(): i32 export extern "GetGamepadAxisCount" func GetGamepadAxisCount(gamepad: i32): i32 export extern "GetGamepadAxisMovement" func GetGamepadAxisMovement(gamepad: i32, axis: i32): f32 export extern "SetGamepadMappings" func SetGamepadMappings(mappings: cstring): i32 export extern "SetGamepadVibration" func SetGamepadVibration(gamepad: i32, leftMotor: f32, rightMotor: f32, duration: f32): void export extern "IsMouseButtonPressed" func IsMouseButtonPressed(button: i32): bool export extern "IsMouseButtonDown" func IsMouseButtonDown(button: i32): bool export extern "IsMouseButtonReleased" func IsMouseButtonReleased(button: i32): bool export extern "IsMouseButtonUp" func IsMouseButtonUp(button: i32): bool export extern "GetMouseX" func GetMouseX(): i32 export extern "GetMouseY" func GetMouseY(): i32 export extern "GetMousePosition" func GetMousePosition(): Vector2 export extern "GetMouseDelta" func GetMouseDelta(): Vector2 export extern "SetMousePosition" func SetMousePosition(x: i32, y: i32): void export extern "SetMouseOffset" func SetMouseOffset(offsetX: i32, offsetY: i32): void export extern "SetMouseScale" func SetMouseScale(scaleX: f32, scaleY: f32): void export extern "GetMouseWheelMove" func GetMouseWheelMove(): f32 export extern "GetMouseWheelMoveV" func GetMouseWheelMoveV(): Vector2 export extern "SetMouseCursor" func SetMouseCursor(cursor: i32): void export extern "GetTouchX" func GetTouchX(): i32 export extern "GetTouchY" func GetTouchY(): i32 export extern "GetTouchPosition" func GetTouchPosition(index: i32): Vector2 export extern "GetTouchPointId" func GetTouchPointId(index: i32): i32 export extern "GetTouchPointCount" func GetTouchPointCount(): i32 export extern "SetGesturesEnabled" func SetGesturesEnabled(flags: u32): void export extern "IsGestureDetected" func IsGestureDetected(gesture: u32): bool export extern "GetGestureDetected" func GetGestureDetected(): i32 export extern "GetGestureHoldDuration" func GetGestureHoldDuration(): f32 export extern "GetGestureDragVector" func GetGestureDragVector(): Vector2 export extern "GetGestureDragAngle" func GetGestureDragAngle(): f32 export extern "GetGesturePinchVector" func GetGesturePinchVector(): Vector2 export extern "GetGesturePinchAngle" func GetGesturePinchAngle(): f32 export extern "UpdateCamera" func UpdateCamera(camera: ^Camera3D, mode: i32): void export extern "UpdateCameraPro" func UpdateCameraPro(camera: ^Camera3D, movement: Vector3, rotation: Vector3, zoom: f32): void export extern "SetShapesTexture" func SetShapesTexture(texture: Texture, source: Rectangle): void export extern "GetShapesTexture" func GetShapesTexture(): Texture export extern "GetShapesTextureRectangle" func GetShapesTextureRectangle(): Rectangle export extern "DrawPixel" func DrawPixel(posX: i32, posY: i32, color: Color): void export extern "DrawPixelV" func DrawPixelV(position: Vector2, color: Color): void export extern "DrawLine" func DrawLine(startPosX: i32, startPosY: i32, endPosX: i32, endPosY: i32, color: Color): void export extern "DrawLineV" func DrawLineV(startPos: Vector2, endPos: Vector2, color: Color): void export extern "DrawLineEx" func DrawLineEx(startPos: Vector2, endPos: Vector2, thick: f32, color: Color): void export extern "DrawLineStrip" func DrawLineStrip(points: ^Vector2, pointCount: i32, color: Color): void export extern "DrawLineBezier" func DrawLineBezier(startPos: Vector2, endPos: Vector2, thick: f32, color: Color): void export extern "DrawCircle" func DrawCircle(centerX: i32, centerY: i32, radius: f32, color: Color): void export extern "DrawCircleSector" func DrawCircleSector(center: Vector2, radius: f32, startAngle: f32, endAngle: f32, segments: i32, color: Color): void export extern "DrawCircleSectorLines" func DrawCircleSectorLines(center: Vector2, radius: f32, startAngle: f32, endAngle: f32, segments: i32, color: Color): void export extern "DrawCircleGradient" func DrawCircleGradient(centerX: i32, centerY: i32, radius: f32, inner: Color, outer: Color): void export extern "DrawCircleV" func DrawCircleV(center: Vector2, radius: f32, color: Color): void export extern "DrawCircleLines" func DrawCircleLines(centerX: i32, centerY: i32, radius: f32, color: Color): void export extern "DrawCircleLinesV" func DrawCircleLinesV(center: Vector2, radius: f32, color: Color): void export extern "DrawEllipse" func DrawEllipse(centerX: i32, centerY: i32, radiusH: f32, radiusV: f32, color: Color): void export extern "DrawEllipseLines" func DrawEllipseLines(centerX: i32, centerY: i32, radiusH: f32, radiusV: f32, color: Color): void export extern "DrawRing" func DrawRing(center: Vector2, innerRadius: f32, outerRadius: f32, startAngle: f32, endAngle: f32, segments: i32, color: Color): void export extern "DrawRingLines" func DrawRingLines(center: Vector2, innerRadius: f32, outerRadius: f32, startAngle: f32, endAngle: f32, segments: i32, color: Color): void export extern "DrawRectangle" func DrawRectangle(posX: i32, posY: i32, width: i32, height: i32, color: Color): void export extern "DrawRectangleV" func DrawRectangleV(position: Vector2, size: Vector2, color: Color): void export extern "DrawRectangleRec" func DrawRectangleRec(rec: Rectangle, color: Color): void export extern "DrawRectanglePro" func DrawRectanglePro(rec: Rectangle, origin: Vector2, rotation: f32, color: Color): void export extern "DrawRectangleGradientV" func DrawRectangleGradientV(posX: i32, posY: i32, width: i32, height: i32, top: Color, bottom: Color): void export extern "DrawRectangleGradientH" func DrawRectangleGradientH(posX: i32, posY: i32, width: i32, height: i32, left: Color, right: Color): void export extern "DrawRectangleGradientEx" func DrawRectangleGradientEx(rec: Rectangle, topLeft: Color, bottomLeft: Color, topRight: Color, bottomRight: Color): void export extern "DrawRectangleLines" func DrawRectangleLines(posX: i32, posY: i32, width: i32, height: i32, color: Color): void export extern "DrawRectangleLinesEx" func DrawRectangleLinesEx(rec: Rectangle, lineThick: f32, color: Color): void export extern "DrawRectangleRounded" func DrawRectangleRounded(rec: Rectangle, roundness: f32, segments: i32, color: Color): void export extern "DrawRectangleRoundedLines" func DrawRectangleRoundedLines(rec: Rectangle, roundness: f32, segments: i32, color: Color): void export extern "DrawRectangleRoundedLinesEx" func DrawRectangleRoundedLinesEx(rec: Rectangle, roundness: f32, segments: i32, lineThick: f32, color: Color): void export extern "DrawTriangle" func DrawTriangle(v1: Vector2, v2: Vector2, v3: Vector2, color: Color): void export extern "DrawTriangleLines" func DrawTriangleLines(v1: Vector2, v2: Vector2, v3: Vector2, color: Color): void export extern "DrawTriangleFan" func DrawTriangleFan(points: ^Vector2, pointCount: i32, color: Color): void export extern "DrawTriangleStrip" func DrawTriangleStrip(points: ^Vector2, pointCount: i32, color: Color): void export extern "DrawPoly" func DrawPoly(center: Vector2, sides: i32, radius: f32, rotation: f32, color: Color): void export extern "DrawPolyLines" func DrawPolyLines(center: Vector2, sides: i32, radius: f32, rotation: f32, color: Color): void export extern "DrawPolyLinesEx" func DrawPolyLinesEx(center: Vector2, sides: i32, radius: f32, rotation: f32, lineThick: f32, color: Color): void export extern "DrawSplineLinear" func DrawSplineLinear(points: ^Vector2, pointCount: i32, thick: f32, color: Color): void export extern "DrawSplineBasis" func DrawSplineBasis(points: ^Vector2, pointCount: i32, thick: f32, color: Color): void export extern "DrawSplineCatmullRom" func DrawSplineCatmullRom(points: ^Vector2, pointCount: i32, thick: f32, color: Color): void export extern "DrawSplineBezierQuadratic" func DrawSplineBezierQuadratic(points: ^Vector2, pointCount: i32, thick: f32, color: Color): void export extern "DrawSplineBezierCubic" func DrawSplineBezierCubic(points: ^Vector2, pointCount: i32, thick: f32, color: Color): void export extern "DrawSplineSegmentLinear" func DrawSplineSegmentLinear(p1: Vector2, p2: Vector2, thick: f32, color: Color): void export extern "DrawSplineSegmentBasis" func DrawSplineSegmentBasis(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: f32, color: Color): void export extern "DrawSplineSegmentCatmullRom" func DrawSplineSegmentCatmullRom(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, thick: f32, color: Color): void export extern "DrawSplineSegmentBezierQuadratic" func DrawSplineSegmentBezierQuadratic(p1: Vector2, c2: Vector2, p3: Vector2, thick: f32, color: Color): void export extern "DrawSplineSegmentBezierCubic" func DrawSplineSegmentBezierCubic(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, thick: f32, color: Color): void export extern "GetSplinePointLinear" func GetSplinePointLinear(startPos: Vector2, endPos: Vector2, t: f32): Vector2 export extern "GetSplinePointBasis" func GetSplinePointBasis(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: f32): Vector2 export extern "GetSplinePointCatmullRom" func GetSplinePointCatmullRom(p1: Vector2, p2: Vector2, p3: Vector2, p4: Vector2, t: f32): Vector2 export extern "GetSplinePointBezierQuad" func GetSplinePointBezierQuad(p1: Vector2, c2: Vector2, p3: Vector2, t: f32): Vector2 export extern "GetSplinePointBezierCubic" func GetSplinePointBezierCubic(p1: Vector2, c2: Vector2, c3: Vector2, p4: Vector2, t: f32): Vector2 export extern "CheckCollisionRecs" func CheckCollisionRecs(rec1: Rectangle, rec2: Rectangle): bool export extern "CheckCollisionCircles" func CheckCollisionCircles(center1: Vector2, radius1: f32, center2: Vector2, radius2: f32): bool export extern "CheckCollisionCircleRec" func CheckCollisionCircleRec(center: Vector2, radius: f32, rec: Rectangle): bool export extern "CheckCollisionCircleLine" func CheckCollisionCircleLine(center: Vector2, radius: f32, p1: Vector2, p2: Vector2): bool export extern "CheckCollisionPointRec" func CheckCollisionPointRec(point: Vector2, rec: Rectangle): bool export extern "CheckCollisionPointCircle" func CheckCollisionPointCircle(point: Vector2, center: Vector2, radius: f32): bool export extern "CheckCollisionPointTriangle" func CheckCollisionPointTriangle(point: Vector2, p1: Vector2, p2: Vector2, p3: Vector2): bool export extern "CheckCollisionPointLine" func CheckCollisionPointLine(point: Vector2, p1: Vector2, p2: Vector2, threshold: i32): bool export extern "CheckCollisionPointPoly" func CheckCollisionPointPoly(point: Vector2, points: ^Vector2, pointCount: i32): bool export extern "CheckCollisionLines" func CheckCollisionLines(startPos1: Vector2, endPos1: Vector2, startPos2: Vector2, endPos2: Vector2, collisionPoint: ^Vector2): bool export extern "GetCollisionRec" func GetCollisionRec(rec1: Rectangle, rec2: Rectangle): Rectangle export extern "LoadImage" func LoadImage(fileName: cstring): Image export extern "LoadImageRaw" func LoadImageRaw(fileName: cstring, width: i32, height: i32, format: i32, headerSize: i32): Image export extern "LoadImageAnim" func LoadImageAnim(fileName: cstring, frames: ^i32): Image export extern "LoadImageAnimFromMemory" func LoadImageAnimFromMemory(fileType: cstring, fileData: ^u8, dataSize: i32, frames: ^i32): Image export extern "LoadImageFromMemory" func LoadImageFromMemory(fileType: cstring, fileData: ^u8, dataSize: i32): Image export extern "LoadImageFromTexture" func LoadImageFromTexture(texture: Texture): Image export extern "LoadImageFromScreen" func LoadImageFromScreen(): Image export extern "IsImageValid" func IsImageValid(image: Image): bool export extern "UnloadImage" func UnloadImage(image: Image): void export extern "ExportImage" func ExportImage(image: Image, fileName: cstring): bool export extern "ExportImageToMemory" func ExportImageToMemory(image: Image, fileType: cstring, fileSize: ^i32): ^u8 export extern "ExportImageAsCode" func ExportImageAsCode(image: Image, fileName: cstring): bool export extern "GenImageColor" func GenImageColor(width: i32, height: i32, color: Color): Image export extern "GenImageGradientLinear" func GenImageGradientLinear(width: i32, height: i32, direction: i32, start: Color, end: Color): Image export extern "GenImageGradientRadial" func GenImageGradientRadial(width: i32, height: i32, density: f32, inner: Color, outer: Color): Image export extern "GenImageGradientSquare" func GenImageGradientSquare(width: i32, height: i32, density: f32, inner: Color, outer: Color): Image export extern "GenImageChecked" func GenImageChecked(width: i32, height: i32, checksX: i32, checksY: i32, col1: Color, col2: Color): Image export extern "GenImageWhiteNoise" func GenImageWhiteNoise(width: i32, height: i32, factor: f32): Image export extern "GenImagePerlinNoise" func GenImagePerlinNoise(width: i32, height: i32, offsetX: i32, offsetY: i32, scale: f32): Image export extern "GenImageCellular" func GenImageCellular(width: i32, height: i32, tileSize: i32): Image export extern "GenImageText" func GenImageText(width: i32, height: i32, text: cstring): Image export extern "ImageCopy" func ImageCopy(image: Image): Image export extern "ImageFromImage" func ImageFromImage(image: Image, rec: Rectangle): Image export extern "ImageFromChannel" func ImageFromChannel(image: Image, selectedChannel: i32): Image export extern "ImageText" func ImageText(text: cstring, fontSize: i32, color: Color): Image export extern "ImageTextEx" func ImageTextEx(font: Font, text: cstring, fontSize: f32, spacing: f32, tint: Color): Image export extern "ImageFormat" func ImageFormat(image: ^Image, newFormat: i32): void export extern "ImageToPOT" func ImageToPOT(image: ^Image, fill: Color): void export extern "ImageCrop" func ImageCrop(image: ^Image, crop: Rectangle): void export extern "ImageAlphaCrop" func ImageAlphaCrop(image: ^Image, threshold: f32): void export extern "ImageAlphaClear" func ImageAlphaClear(image: ^Image, color: Color, threshold: f32): void export extern "ImageAlphaMask" func ImageAlphaMask(image: ^Image, alphaMask: Image): void export extern "ImageAlphaPremultiply" func ImageAlphaPremultiply(image: ^Image): void export extern "ImageBlurGaussian" func ImageBlurGaussian(image: ^Image, blurSize: i32): void export extern "ImageKernelConvolution" func ImageKernelConvolution(image: ^Image, kernel: ^f32, kernelSize: i32): void export extern "ImageResize" func ImageResize(image: ^Image, newWidth: i32, newHeight: i32): void export extern "ImageResizeNN" func ImageResizeNN(image: ^Image, newWidth: i32, newHeight: i32): void export extern "ImageResizeCanvas" func ImageResizeCanvas(image: ^Image, newWidth: i32, newHeight: i32, offsetX: i32, offsetY: i32, fill: Color): void export extern "ImageMipmaps" func ImageMipmaps(image: ^Image): void export extern "ImageDither" func ImageDither(image: ^Image, rBpp: i32, gBpp: i32, bBpp: i32, aBpp: i32): void export extern "ImageFlipVertical" func ImageFlipVertical(image: ^Image): void export extern "ImageFlipHorizontal" func ImageFlipHorizontal(image: ^Image): void export extern "ImageRotate" func ImageRotate(image: ^Image, degrees: i32): void export extern "ImageRotateCW" func ImageRotateCW(image: ^Image): void export extern "ImageRotateCCW" func ImageRotateCCW(image: ^Image): void export extern "ImageColorTint" func ImageColorTint(image: ^Image, color: Color): void export extern "ImageColorInvert" func ImageColorInvert(image: ^Image): void export extern "ImageColorGrayscale" func ImageColorGrayscale(image: ^Image): void export extern "ImageColorContrast" func ImageColorContrast(image: ^Image, contrast: f32): void export extern "ImageColorBrightness" func ImageColorBrightness(image: ^Image, brightness: i32): void export extern "ImageColorReplace" func ImageColorReplace(image: ^Image, color: Color, replace: Color): void export extern "LoadImageColors" func LoadImageColors(image: Image): ^Color export extern "LoadImagePalette" func LoadImagePalette(image: Image, maxPaletteSize: i32, colorCount: ^i32): ^Color export extern "UnloadImageColors" func UnloadImageColors(colors: ^Color): void export extern "UnloadImagePalette" func UnloadImagePalette(colors: ^Color): void export extern "GetImageAlphaBorder" func GetImageAlphaBorder(image: Image, threshold: f32): Rectangle export extern "GetImageColor" func GetImageColor(image: Image, x: i32, y: i32): Color export extern "ImageClearBackground" func ImageClearBackground(dst: ^Image, color: Color): void export extern "ImageDrawPixel" func ImageDrawPixel(dst: ^Image, posX: i32, posY: i32, color: Color): void export extern "ImageDrawPixelV" func ImageDrawPixelV(dst: ^Image, position: Vector2, color: Color): void export extern "ImageDrawLine" func ImageDrawLine(dst: ^Image, startPosX: i32, startPosY: i32, endPosX: i32, endPosY: i32, color: Color): void export extern "ImageDrawLineV" func ImageDrawLineV(dst: ^Image, start: Vector2, end: Vector2, color: Color): void export extern "ImageDrawLineEx" func ImageDrawLineEx(dst: ^Image, start: Vector2, end: Vector2, thick: i32, color: Color): void export extern "ImageDrawCircle" func ImageDrawCircle(dst: ^Image, centerX: i32, centerY: i32, radius: i32, color: Color): void export extern "ImageDrawCircleV" func ImageDrawCircleV(dst: ^Image, center: Vector2, radius: i32, color: Color): void export extern "ImageDrawCircleLines" func ImageDrawCircleLines(dst: ^Image, centerX: i32, centerY: i32, radius: i32, color: Color): void export extern "ImageDrawCircleLinesV" func ImageDrawCircleLinesV(dst: ^Image, center: Vector2, radius: i32, color: Color): void export extern "ImageDrawRectangle" func ImageDrawRectangle(dst: ^Image, posX: i32, posY: i32, width: i32, height: i32, color: Color): void export extern "ImageDrawRectangleV" func ImageDrawRectangleV(dst: ^Image, position: Vector2, size: Vector2, color: Color): void export extern "ImageDrawRectangleRec" func ImageDrawRectangleRec(dst: ^Image, rec: Rectangle, color: Color): void export extern "ImageDrawRectangleLines" func ImageDrawRectangleLines(dst: ^Image, rec: Rectangle, thick: i32, color: Color): void export extern "ImageDrawTriangle" func ImageDrawTriangle(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color): void export extern "ImageDrawTriangleEx" func ImageDrawTriangleEx(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, c1: Color, c2: Color, c3: Color): void export extern "ImageDrawTriangleLines" func ImageDrawTriangleLines(dst: ^Image, v1: Vector2, v2: Vector2, v3: Vector2, color: Color): void export extern "ImageDrawTriangleFan" func ImageDrawTriangleFan(dst: ^Image, points: ^Vector2, pointCount: i32, color: Color): void export extern "ImageDrawTriangleStrip" func ImageDrawTriangleStrip(dst: ^Image, points: ^Vector2, pointCount: i32, color: Color): void export extern "ImageDraw" func ImageDraw(dst: ^Image, src: Image, srcRec: Rectangle, dstRec: Rectangle, tint: Color): void export extern "ImageDrawText" func ImageDrawText(dst: ^Image, text: cstring, posX: i32, posY: i32, fontSize: i32, color: Color): void export extern "ImageDrawTextEx" func ImageDrawTextEx(dst: ^Image, font: Font, text: cstring, position: Vector2, fontSize: f32, spacing: f32, tint: Color): void export extern "LoadTexture" func LoadTexture(fileName: cstring): Texture export extern "LoadTextureFromImage" func LoadTextureFromImage(image: Image): Texture export extern "LoadTextureCubemap" func LoadTextureCubemap(image: Image, layout: i32): Texture export extern "LoadRenderTexture" func LoadRenderTexture(width: i32, height: i32): RenderTexture export extern "IsTextureValid" func IsTextureValid(texture: Texture): bool export extern "UnloadTexture" func UnloadTexture(texture: Texture): void export extern "IsRenderTextureValid" func IsRenderTextureValid(target: RenderTexture): bool export extern "UnloadRenderTexture" func UnloadRenderTexture(target: RenderTexture): void export extern "UpdateTexture" func UpdateTexture(texture: Texture, pixels: ^void): void export extern "UpdateTextureRec" func UpdateTextureRec(texture: Texture, rec: Rectangle, pixels: ^void): void export extern "GenTextureMipmaps" func GenTextureMipmaps(texture: ^Texture): void export extern "SetTextureFilter" func SetTextureFilter(texture: Texture, filter: i32): void export extern "SetTextureWrap" func SetTextureWrap(texture: Texture, wrap: i32): void export extern "DrawTexture" func DrawTexture(texture: Texture, posX: i32, posY: i32, tint: Color): void export extern "DrawTextureV" func DrawTextureV(texture: Texture, position: Vector2, tint: Color): void export extern "DrawTextureEx" func DrawTextureEx(texture: Texture, position: Vector2, rotation: f32, scale: f32, tint: Color): void export extern "DrawTextureRec" func DrawTextureRec(texture: Texture, source: Rectangle, position: Vector2, tint: Color): void export extern "DrawTexturePro" func DrawTexturePro(texture: Texture, source: Rectangle, dest: Rectangle, origin: Vector2, rotation: f32, tint: Color): void export extern "DrawTextureNPatch" func DrawTextureNPatch(texture: Texture, nPatchInfo: NPatchInfo, dest: Rectangle, origin: Vector2, rotation: f32, tint: Color): void export extern "ColorIsEqual" func ColorIsEqual(col1: Color, col2: Color): bool export extern "Fade" func Fade(color: Color, alpha: f32): Color export extern "ColorToInt" func ColorToInt(color: Color): i32 export extern "ColorNormalize" func ColorNormalize(color: Color): Vector4 export extern "ColorFromNormalized" func ColorFromNormalized(normalized: Vector4): Color export extern "ColorToHSV" func ColorToHSV(color: Color): Vector3 export extern "ColorFromHSV" func ColorFromHSV(hue: f32, saturation: f32, value: f32): Color export extern "ColorTint" func ColorTint(color: Color, tint: Color): Color export extern "ColorBrightness" func ColorBrightness(color: Color, factor: f32): Color export extern "ColorContrast" func ColorContrast(color: Color, contrast: f32): Color export extern "ColorAlpha" func ColorAlpha(color: Color, alpha: f32): Color export extern "ColorAlphaBlend" func ColorAlphaBlend(dst: Color, src: Color, tint: Color): Color export extern "ColorLerp" func ColorLerp(color1: Color, color2: Color, factor: f32): Color export extern "GetColor" func GetColor(hexValue: u32): Color export extern "GetPixelColor" func GetPixelColor(srcPtr: ^void, format: i32): Color export extern "SetPixelColor" func SetPixelColor(dstPtr: ^void, color: Color, format: i32): void export extern "GetPixelDataSize" func GetPixelDataSize(width: i32, height: i32, format: i32): i32 export extern "GetFontDefault" func GetFontDefault(): Font export extern "LoadFont" func LoadFont(fileName: cstring): Font export extern "LoadFontEx" func LoadFontEx(fileName: cstring, fontSize: i32, codepoints: ^i32, codepointCount: i32): Font export extern "LoadFontFromImage" func LoadFontFromImage(image: Image, key: Color, firstChar: i32): Font export extern "LoadFontFromMemory" func LoadFontFromMemory(fileType: cstring, fileData: ^u8, dataSize: i32, fontSize: i32, codepoints: ^i32, codepointCount: i32): Font export extern "IsFontValid" func IsFontValid(font: Font): bool export extern "LoadFontData" func LoadFontData(fileData: ^u8, dataSize: i32, fontSize: i32, codepoints: ^i32, codepointCount: i32, type: i32): ^GlyphInfo export extern "GenImageFontAtlas" func GenImageFontAtlas(glyphs: ^GlyphInfo, glyphRecs: ^^Rectangle, glyphCount: i32, fontSize: i32, padding: i32, packMethod: i32): Image export extern "UnloadFontData" func UnloadFontData(glyphs: ^GlyphInfo, glyphCount: i32): void export extern "UnloadFont" func UnloadFont(font: Font): void export extern "ExportFontAsCode" func ExportFontAsCode(font: Font, fileName: cstring): bool export extern "DrawFPS" func DrawFPS(posX: i32, posY: i32): void export extern "DrawText" func DrawText(text: cstring, posX: i32, posY: i32, fontSize: i32, color: Color): void export extern "DrawTextEx" func DrawTextEx(font: Font, text: cstring, position: Vector2, fontSize: f32, spacing: f32, tint: Color): void export extern "DrawTextPro" func DrawTextPro(font: Font, text: cstring, position: Vector2, origin: Vector2, rotation: f32, fontSize: f32, spacing: f32, tint: Color): void export extern "DrawTextCodepoint" func DrawTextCodepoint(font: Font, codepoint: i32, position: Vector2, fontSize: f32, tint: Color): void export extern "DrawTextCodepoints" func DrawTextCodepoints(font: Font, codepoints: ^i32, codepointCount: i32, position: Vector2, fontSize: f32, spacing: f32, tint: Color): void export extern "SetTextLineSpacing" func SetTextLineSpacing(spacing: i32): void export extern "MeasureText" func MeasureText(text: cstring, fontSize: i32): i32 export extern "MeasureTextEx" func MeasureTextEx(font: Font, text: cstring, fontSize: f32, spacing: f32): Vector2 export extern "GetGlyphIndex" func GetGlyphIndex(font: Font, codepoint: i32): i32 export extern "GetGlyphInfo" func GetGlyphInfo(font: Font, codepoint: i32): GlyphInfo export extern "GetGlyphAtlasRec" func GetGlyphAtlasRec(font: Font, codepoint: i32): Rectangle export extern "LoadUTF8" func LoadUTF8(codepoints: ^i32, length: i32): cstring export extern "UnloadUTF8" func UnloadUTF8(text: cstring): void export extern "LoadCodepoints" func LoadCodepoints(text: cstring, count: ^i32): ^i32 export extern "UnloadCodepoints" func UnloadCodepoints(codepoints: ^i32): void export extern "GetCodepointCount" func GetCodepointCount(text: cstring): i32 export extern "GetCodepoint" func GetCodepoint(text: cstring, codepointSize: ^i32): i32 export extern "GetCodepointNext" func GetCodepointNext(text: cstring, codepointSize: ^i32): i32 export extern "GetCodepointPrevious" func GetCodepointPrevious(text: cstring, codepointSize: ^i32): i32 export extern "CodepointToUTF8" func CodepointToUTF8(codepoint: i32, utf8Size: ^i32): cstring export extern "TextCopy" func TextCopy(dst: cstring, src: cstring): i32 export extern "TextIsEqual" func TextIsEqual(text1: cstring, text2: cstring): bool export extern "TextLength" func TextLength(text: cstring): u32 export extern "TextFormat" func TextFormat(text: cstring): cstring export extern "TextSubtext" func TextSubtext(text: cstring, position: i32, length: i32): cstring export extern "TextReplace" func TextReplace(text: cstring, replace: cstring, by: cstring): cstring export extern "TextInsert" func TextInsert(text: cstring, insert: cstring, position: i32): cstring export extern "TextJoin" func TextJoin(textList: ^cstring, count: i32, delimiter: cstring): cstring export extern "TextSplit" func TextSplit(text: cstring, delimiter: i8, count: ^i32): ^cstring export extern "TextAppend" func TextAppend(text: cstring, append: cstring, position: ^i32): void export extern "TextFindIndex" func TextFindIndex(text: cstring, find: cstring): i32 export extern "TextToUpper" func TextToUpper(text: cstring): cstring export extern "TextToLower" func TextToLower(text: cstring): cstring export extern "TextToPascal" func TextToPascal(text: cstring): cstring export extern "TextToSnake" func TextToSnake(text: cstring): cstring export extern "TextToCamel" func TextToCamel(text: cstring): cstring export extern "TextToInteger" func TextToInteger(text: cstring): i32 export extern "TextToFloat" func TextToFloat(text: cstring): f32 export extern "DrawLine3D" func DrawLine3D(startPos: Vector3, endPos: Vector3, color: Color): void export extern "DrawPoint3D" func DrawPoint3D(position: Vector3, color: Color): void export extern "DrawCircle3D" func DrawCircle3D(center: Vector3, radius: f32, rotationAxis: Vector3, rotationAngle: f32, color: Color): void export extern "DrawTriangle3D" func DrawTriangle3D(v1: Vector3, v2: Vector3, v3: Vector3, color: Color): void export extern "DrawTriangleStrip3D" func DrawTriangleStrip3D(points: ^Vector3, pointCount: i32, color: Color): void export extern "DrawCube" func DrawCube(position: Vector3, width: f32, height: f32, length: f32, color: Color): void export extern "DrawCubeV" func DrawCubeV(position: Vector3, size: Vector3, color: Color): void export extern "DrawCubeWires" func DrawCubeWires(position: Vector3, width: f32, height: f32, length: f32, color: Color): void export extern "DrawCubeWiresV" func DrawCubeWiresV(position: Vector3, size: Vector3, color: Color): void export extern "DrawSphere" func DrawSphere(centerPos: Vector3, radius: f32, color: Color): void export extern "DrawSphereEx" func DrawSphereEx(centerPos: Vector3, radius: f32, rings: i32, slices: i32, color: Color): void export extern "DrawSphereWires" func DrawSphereWires(centerPos: Vector3, radius: f32, rings: i32, slices: i32, color: Color): void export extern "DrawCylinder" func DrawCylinder(position: Vector3, radiusTop: f32, radiusBottom: f32, height: f32, slices: i32, color: Color): void export extern "DrawCylinderEx" func DrawCylinderEx(startPos: Vector3, endPos: Vector3, startRadius: f32, endRadius: f32, sides: i32, color: Color): void export extern "DrawCylinderWires" func DrawCylinderWires(position: Vector3, radiusTop: f32, radiusBottom: f32, height: f32, slices: i32, color: Color): void export extern "DrawCylinderWiresEx" func DrawCylinderWiresEx(startPos: Vector3, endPos: Vector3, startRadius: f32, endRadius: f32, sides: i32, color: Color): void export extern "DrawCapsule" func DrawCapsule(startPos: Vector3, endPos: Vector3, radius: f32, slices: i32, rings: i32, color: Color): void export extern "DrawCapsuleWires" func DrawCapsuleWires(startPos: Vector3, endPos: Vector3, radius: f32, slices: i32, rings: i32, color: Color): void export extern "DrawPlane" func DrawPlane(centerPos: Vector3, size: Vector2, color: Color): void export extern "DrawRay" func DrawRay(ray: Ray, color: Color): void export extern "DrawGrid" func DrawGrid(slices: i32, spacing: f32): void export extern "LoadModel" func LoadModel(fileName: cstring): Model export extern "LoadModelFromMesh" func LoadModelFromMesh(mesh: Mesh): Model export extern "IsModelValid" func IsModelValid(model: Model): bool export extern "UnloadModel" func UnloadModel(model: Model): void export extern "GetModelBoundingBox" func GetModelBoundingBox(model: Model): BoundingBox export extern "DrawModel" func DrawModel(model: Model, position: Vector3, scale: f32, tint: Color): void export extern "DrawModelEx" func DrawModelEx(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: f32, scale: Vector3, tint: Color): void export extern "DrawModelWires" func DrawModelWires(model: Model, position: Vector3, scale: f32, tint: Color): void export extern "DrawModelWiresEx" func DrawModelWiresEx(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: f32, scale: Vector3, tint: Color): void export extern "DrawModelPoints" func DrawModelPoints(model: Model, position: Vector3, scale: f32, tint: Color): void export extern "DrawModelPointsEx" func DrawModelPointsEx(model: Model, position: Vector3, rotationAxis: Vector3, rotationAngle: f32, scale: Vector3, tint: Color): void export extern "DrawBoundingBox" func DrawBoundingBox(box: BoundingBox, color: Color): void export extern "DrawBillboard" func DrawBillboard(camera: Camera3D, texture: Texture, position: Vector3, scale: f32, tint: Color): void export extern "DrawBillboardRec" func DrawBillboardRec(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, size: Vector2, tint: Color): void export extern "DrawBillboardPro" func DrawBillboardPro(camera: Camera3D, texture: Texture, source: Rectangle, position: Vector3, up: Vector3, size: Vector2, origin: Vector2, rotation: f32, tint: Color): void export extern "UploadMesh" func UploadMesh(mesh: ^Mesh, dynamic: bool): void export extern "UpdateMeshBuffer" func UpdateMeshBuffer(mesh: Mesh, index: i32, data: ^void, dataSize: i32, offset: i32): void export extern "UnloadMesh" func UnloadMesh(mesh: Mesh): void export extern "DrawMesh" func DrawMesh(mesh: Mesh, material: Material, transform: Matrix): void export extern "DrawMeshInstanced" func DrawMeshInstanced(mesh: Mesh, material: Material, transforms: ^Matrix, instances: i32): void export extern "GetMeshBoundingBox" func GetMeshBoundingBox(mesh: Mesh): BoundingBox export extern "GenMeshTangents" func GenMeshTangents(mesh: ^Mesh): void export extern "ExportMesh" func ExportMesh(mesh: Mesh, fileName: cstring): bool export extern "ExportMeshAsCode" func ExportMeshAsCode(mesh: Mesh, fileName: cstring): bool export extern "GenMeshPoly" func GenMeshPoly(sides: i32, radius: f32): Mesh export extern "GenMeshPlane" func GenMeshPlane(width: f32, length: f32, resX: i32, resZ: i32): Mesh export extern "GenMeshCube" func GenMeshCube(width: f32, height: f32, length: f32): Mesh export extern "GenMeshSphere" func GenMeshSphere(radius: f32, rings: i32, slices: i32): Mesh export extern "GenMeshHemiSphere" func GenMeshHemiSphere(radius: f32, rings: i32, slices: i32): Mesh export extern "GenMeshCylinder" func GenMeshCylinder(radius: f32, height: f32, slices: i32): Mesh export extern "GenMeshCone" func GenMeshCone(radius: f32, height: f32, slices: i32): Mesh export extern "GenMeshTorus" func GenMeshTorus(radius: f32, size: f32, radSeg: i32, sides: i32): Mesh export extern "GenMeshKnot" func GenMeshKnot(radius: f32, size: f32, radSeg: i32, sides: i32): Mesh export extern "GenMeshHeightmap" func GenMeshHeightmap(heightmap: Image, size: Vector3): Mesh export extern "GenMeshCubicmap" func GenMeshCubicmap(cubicmap: Image, cubeSize: Vector3): Mesh export extern "LoadMaterials" func LoadMaterials(fileName: cstring, materialCount: ^i32): ^Material export extern "LoadMaterialDefault" func LoadMaterialDefault(): Material export extern "IsMaterialValid" func IsMaterialValid(material: Material): bool export extern "UnloadMaterial" func UnloadMaterial(material: Material): void export extern "SetMaterialTexture" func SetMaterialTexture(material: ^Material, mapType: i32, texture: Texture): void export extern "SetModelMeshMaterial" func SetModelMeshMaterial(model: ^Model, meshId: i32, materialId: i32): void export extern "LoadModelAnimations" func LoadModelAnimations(fileName: cstring, animCount: ^i32): ^ModelAnimation export extern "UpdateModelAnimation" func UpdateModelAnimation(model: Model, anim: ModelAnimation, frame: i32): void export extern "UpdateModelAnimationBones" func UpdateModelAnimationBones(model: Model, anim: ModelAnimation, frame: i32): void export extern "UnloadModelAnimation" func UnloadModelAnimation(anim: ModelAnimation): void export extern "UnloadModelAnimations" func UnloadModelAnimations(animations: ^ModelAnimation, animCount: i32): void export extern "IsModelAnimationValid" func IsModelAnimationValid(model: Model, anim: ModelAnimation): bool export extern "CheckCollisionSpheres" func CheckCollisionSpheres(center1: Vector3, radius1: f32, center2: Vector3, radius2: f32): bool export extern "CheckCollisionBoxes" func CheckCollisionBoxes(box1: BoundingBox, box2: BoundingBox): bool export extern "CheckCollisionBoxSphere" func CheckCollisionBoxSphere(box: BoundingBox, center: Vector3, radius: f32): bool export extern "GetRayCollisionSphere" func GetRayCollisionSphere(ray: Ray, center: Vector3, radius: f32): RayCollision export extern "GetRayCollisionBox" func GetRayCollisionBox(ray: Ray, box: BoundingBox): RayCollision export extern "GetRayCollisionMesh" func GetRayCollisionMesh(ray: Ray, mesh: Mesh, transform: Matrix): RayCollision export extern "GetRayCollisionTriangle" func GetRayCollisionTriangle(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3): RayCollision export extern "GetRayCollisionQuad" func GetRayCollisionQuad(ray: Ray, p1: Vector3, p2: Vector3, p3: Vector3, p4: Vector3): RayCollision export extern "InitAudioDevice" func InitAudioDevice(): void export extern "CloseAudioDevice" func CloseAudioDevice(): void export extern "IsAudioDeviceReady" func IsAudioDeviceReady(): bool export extern "SetMasterVolume" func SetMasterVolume(volume: f32): void export extern "GetMasterVolume" func GetMasterVolume(): f32 export extern "LoadWave" func LoadWave(fileName: cstring): Wave export extern "LoadWaveFromMemory" func LoadWaveFromMemory(fileType: cstring, fileData: ^u8, dataSize: i32): Wave export extern "IsWaveValid" func IsWaveValid(wave: Wave): bool export extern "LoadSound" func LoadSound(fileName: cstring): Sound export extern "LoadSoundFromWave" func LoadSoundFromWave(wave: Wave): Sound export extern "LoadSoundAlias" func LoadSoundAlias(source: Sound): Sound export extern "IsSoundValid" func IsSoundValid(sound: Sound): bool export extern "UpdateSound" func UpdateSound(sound: Sound, data: ^void, sampleCount: i32): void export extern "UnloadWave" func UnloadWave(wave: Wave): void export extern "UnloadSound" func UnloadSound(sound: Sound): void export extern "UnloadSoundAlias" func UnloadSoundAlias(alias: Sound): void export extern "ExportWave" func ExportWave(wave: Wave, fileName: cstring): bool export extern "ExportWaveAsCode" func ExportWaveAsCode(wave: Wave, fileName: cstring): bool export extern "PlaySound" func PlaySound(sound: Sound): void export extern "StopSound" func StopSound(sound: Sound): void export extern "PauseSound" func PauseSound(sound: Sound): void export extern "ResumeSound" func ResumeSound(sound: Sound): void export extern "IsSoundPlaying" func IsSoundPlaying(sound: Sound): bool export extern "SetSoundVolume" func SetSoundVolume(sound: Sound, volume: f32): void export extern "SetSoundPitch" func SetSoundPitch(sound: Sound, pitch: f32): void export extern "SetSoundPan" func SetSoundPan(sound: Sound, pan: f32): void export extern "WaveCopy" func WaveCopy(wave: Wave): Wave export extern "WaveCrop" func WaveCrop(wave: ^Wave, initFrame: i32, finalFrame: i32): void export extern "WaveFormat" func WaveFormat(wave: ^Wave, sampleRate: i32, sampleSize: i32, channels: i32): void export extern "LoadWaveSamples" func LoadWaveSamples(wave: Wave): ^f32 export extern "UnloadWaveSamples" func UnloadWaveSamples(samples: ^f32): void export extern "LoadMusicStream" func LoadMusicStream(fileName: cstring): Music export extern "LoadMusicStreamFromMemory" func LoadMusicStreamFromMemory(fileType: cstring, data: ^u8, dataSize: i32): Music export extern "IsMusicValid" func IsMusicValid(music: Music): bool export extern "UnloadMusicStream" func UnloadMusicStream(music: Music): void export extern "PlayMusicStream" func PlayMusicStream(music: Music): void export extern "IsMusicStreamPlaying" func IsMusicStreamPlaying(music: Music): bool export extern "UpdateMusicStream" func UpdateMusicStream(music: Music): void export extern "StopMusicStream" func StopMusicStream(music: Music): void export extern "PauseMusicStream" func PauseMusicStream(music: Music): void export extern "ResumeMusicStream" func ResumeMusicStream(music: Music): void export extern "SeekMusicStream" func SeekMusicStream(music: Music, position: f32): void export extern "SetMusicVolume" func SetMusicVolume(music: Music, volume: f32): void export extern "SetMusicPitch" func SetMusicPitch(music: Music, pitch: f32): void export extern "SetMusicPan" func SetMusicPan(music: Music, pan: f32): void export extern "GetMusicTimeLength" func GetMusicTimeLength(music: Music): f32 export extern "GetMusicTimePlayed" func GetMusicTimePlayed(music: Music): f32 export extern "LoadAudioStream" func LoadAudioStream(sampleRate: u32, sampleSize: u32, channels: u32): AudioStream export extern "IsAudioStreamValid" func IsAudioStreamValid(stream: AudioStream): bool export extern "UnloadAudioStream" func UnloadAudioStream(stream: AudioStream): void export extern "UpdateAudioStream" func UpdateAudioStream(stream: AudioStream, data: ^void, frameCount: i32): void export extern "IsAudioStreamProcessed" func IsAudioStreamProcessed(stream: AudioStream): bool export extern "PlayAudioStream" func PlayAudioStream(stream: AudioStream): void export extern "PauseAudioStream" func PauseAudioStream(stream: AudioStream): void export extern "ResumeAudioStream" func ResumeAudioStream(stream: AudioStream): void export extern "IsAudioStreamPlaying" func IsAudioStreamPlaying(stream: AudioStream): bool export extern "StopAudioStream" func StopAudioStream(stream: AudioStream): void export extern "SetAudioStreamVolume" func SetAudioStreamVolume(stream: AudioStream, volume: f32): void export extern "SetAudioStreamPitch" func SetAudioStreamPitch(stream: AudioStream, pitch: f32): void export extern "SetAudioStreamPan" func SetAudioStreamPan(stream: AudioStream, pan: f32): void export extern "SetAudioStreamBufferSizeDefault" func SetAudioStreamBufferSizeDefault(size: i32): void export extern "SetAudioStreamCallback" func SetAudioStreamCallback(stream: AudioStream, callback: func(^void, u32): void): void export extern "AttachAudioStreamProcessor" func AttachAudioStreamProcessor(stream: AudioStream, processor: func(^void, u32): void): void export extern "DetachAudioStreamProcessor" func DetachAudioStreamProcessor(stream: AudioStream, processor: func(^void, u32): void): void export extern "AttachAudioMixedProcessor" func AttachAudioMixedProcessor(processor: func(^void, u32): void): void export extern "DetachAudioMixedProcessor" func DetachAudioMixedProcessor(processor: func(^void, u32): void): void