------------------------------------------------------------------------ -- -- raylib v5.1-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com) -- -- FEATURES: -- - NO external dependencies, all required libraries included with raylib -- - Multiplatform: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly, -- MacOS, Haiku, Android, Raspberry Pi, DRM native, HTML5. -- - Written in plain C code (C99) in PascalCase/camelCase notation -- - Hardware accelerated with OpenGL (1.1, 2.1, 3.3, 4.3 or ES2 - choose at compile) -- - Unique OpenGL abstraction layer (usable as standalone module): [rlgl] -- - Multiple Fonts formats supported (TTF, XNA fonts, AngelCode fonts) -- - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC) -- - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more! -- - Flexible Materials system, supporting classic maps and PBR maps -- - Animated 3D models supported (skeletal bones animation) (IQM) -- - Shaders support, including Model shaders and Postprocessing shaders -- - Powerful math module for Vector, Matrix and Quaternion operations: [raymath] -- - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD) -- - VR stereo rendering with configurable HMD device parameters -- - Bindings to multiple programming languages available! -- -- NOTES: -- - One default Font is loaded on InitWindow()->LoadFontDefault() [core, text] -- - One default Texture2D is loaded on rlglInit(), 1x1 white pixel R8G8B8A8 [rlgl] (OpenGL 3.3 or ES2) -- - One default Shader is loaded on rlglInit()->rlLoadShaderDefault() [rlgl] (OpenGL 3.3 or ES2) -- - One default RenderBatch is loaded on rlglInit()->rlLoadRenderBatch() [rlgl] (OpenGL 3.3 or ES2) -- -- DEPENDENCIES (included): -- [rcore] rglfw (Camilla Löwy - github.com/glfw/glfw) for window/context management and input (PLATFORM_DESKTOP) -- [rlgl] glad (David Herberth - github.com/Dav1dde/glad) for OpenGL 3.3 extensions loading (PLATFORM_DESKTOP) -- [raudio] miniaudio (David Reid - github.com/mackron/miniaudio) for audio device/context management -- -- OPTIONAL DEPENDENCIES (included): -- [rcore] msf_gif (Miles Fogle) for GIF recording -- [rcore] sinfl (Micha Mettke) for DEFLATE decompression algorithm -- [rcore] sdefl (Micha Mettke) for DEFLATE compression algorithm -- [rtextures] stb_image (Sean Barret) for images loading (BMP, TGA, PNG, JPEG, HDR...) -- [rtextures] stb_image_write (Sean Barret) for image writing (BMP, TGA, PNG, JPG) -- [rtextures] stb_image_resize (Sean Barret) for image resizing algorithms -- [rtext] stb_truetype (Sean Barret) for ttf fonts loading -- [rtext] stb_rect_pack (Sean Barret) for rectangles packing -- [rmodels] par_shapes (Philip Rideout) for parametric 3d shapes generation -- [rmodels] tinyobj_loader_c (Syoyo Fujita) for models loading (OBJ, MTL) -- [rmodels] cgltf (Johannes Kuhlmann) for models loading (glTF) -- [rmodels] Model3D (bzt) for models loading (M3D, https:--bztsrc.gitlab.io/model3d) -- [raudio] dr_wav (David Reid) for WAV audio file loading -- [raudio] dr_flac (David Reid) for FLAC audio file loading -- [raudio] dr_mp3 (David Reid) for MP3 audio file loading -- [raudio] stb_vorbis (Sean Barret) for OGG audio loading -- [raudio] jar_xm (Joshua Reisenauer) for XM audio module loading -- [raudio] jar_mod (Joshua Reisenauer) for MOD audio module loading -- -- -- LICENSE: zlib/libpng -- -- raylib 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) 2013-2023 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. -- -- Documenting small changes I've made to avoid the confusion: -- -- Changed all names from PascalCase to Ada_Case. -- -- Removed 2D from some names, added _ND to other names. -- -- What was once an integer is now a properly checked enumeration. -- -- IDE with search support can handle things changed above... -- -- -- -- -- -- -- -- -- ------------------------------------------------------------------------ with System; package Raylib is ------------------------------------------------------------------------ type Config_Flags is ( Flag_Fullscreen_Mode, Flag_Window_Resizable, Flag_Window_Undecorated, Flag_Window_Transparent, Flag_MSAA_x4_Hint, Flag_VSync_Hint, Flag_Window_Hidden, Flag_Window_Always_Run, Flag_Window_Minimized, Flag_Window_Maximized, Flag_Window_Unfocused, Flag_Window_Topmost, Flag_Window_High_DPI, Flag_Window_Mouse_Passthrough, Flag_Borderless_Windowed_Mode, Flag_Interlaced_Hint ) with Convention => C; for Config_Flags use ( Flag_Fullscreen_Mode => 16#00000002#, Flag_Window_Resizable => 16#00000004#, Flag_Window_Undecorated => 16#00000008#, Flag_Window_Transparent => 16#00000010#, Flag_MSAA_x4_Hint => 16#00000020#, Flag_VSync_Hint => 16#00000040#, Flag_Window_Hidden => 16#00000080#, Flag_Window_Always_Run => 16#00000100#, Flag_Window_Minimized => 16#00000200#, Flag_Window_Maximized => 16#00000400#, Flag_Window_Unfocused => 16#00000800#, Flag_Window_Topmost => 16#00001000#, Flag_Window_High_DPI => 16#00002000#, Flag_Window_Mouse_Passthrough => 16#00004000#, Flag_Borderless_Windowed_Mode => 16#00008000#, Flag_Interlaced_Hint => 16#00010000# ); type Trace_Log_Level is ( Log_All, Log_Trace, Log_Debug, Log_Info, Log_Warning, Log_Error, Log_Fatal, Log_None ) with Convention => C; type Keyboard_Key is ( Key_Null, Key_Space, Key_Apostrophe, Key_Comma, Key_Minus, Key_Period, Key_Slash, Key_0, Key_1, Key_2, Key_3, Key_4, Key_5, Key_6, Key_7, Key_8, Key_9, Key_Semicolon, Key_Equal, Key_A, Key_B, Key_C, Key_D, Key_E, Key_F, Key_G, Key_H, Key_I, Key_J, Key_K, Key_L, Key_M, Key_N, Key_O, Key_P, Key_Q, Key_R, Key_S, Key_T, Key_U, Key_V, Key_W, Key_X, Key_Y, Key_Z, Key_Left_Bracket, Key_Backslash, Key_Right_Bracket, Key_Grave, Key_Escape, Key_Enter, Key_Tab, Key_Backspace, Key_Insert, Key_Delete, Key_Right, Key_Left, Key_Down, Key_Up, Key_Page_Up, Key_Page_Down, Key_Home, Key_End, Key_Caps_Lock, Key_Scroll_Lock, Key_Num_Lock, Key_Print_Screen, Key_Pause, Key_F1, Key_F2, Key_F3, Key_F4, Key_F5, Key_F6, Key_F7, Key_F8, Key_F9, Key_F10, Key_F11, Key_F12, Key_Pad_0, Key_Pad_1, Key_Pad_2, Key_Pad_3, Key_Pad_4, Key_Pad_5, Key_Pad_6, Key_Pad_7, Key_Pad_8, Key_Pad_9, Key_Pad_Decimal, Key_Pad_Divide, Key_Pad_Multiply, Key_Pad_Subtract, Key_Pad_Add, Key_Pad_Enter, Key_Pad_Equal, Key_Left_Shift, Key_Left_Control, Key_Left_Alt, Key_Left_Super, Key_Right_Shift, Key_Right_Control, Key_Right_Alt, Key_Right_Super, Key_KB_Menu ) with Convention => C; for Keyboard_Key use ( Key_Null => 0, Key_Space => 32, Key_Apostrophe => 39, Key_Comma => 44, Key_Minus => 45, Key_Period => 46, Key_Slash => 47, Key_0 => 48, Key_1 => 49, Key_2 => 50, Key_3 => 51, Key_4 => 52, Key_5 => 53, Key_6 => 54, Key_7 => 55, Key_8 => 56, Key_9 => 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_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_Pad_0 => 320, Key_Pad_1 => 321, Key_Pad_2 => 322, Key_Pad_3 => 323, Key_Pad_4 => 324, Key_Pad_5 => 325, Key_Pad_6 => 326, Key_Pad_7 => 327, Key_Pad_8 => 328, Key_Pad_9 => 329, Key_Pad_Decimal => 330, Key_Pad_Divide => 331, Key_Pad_Multiply => 332, Key_Pad_Subtract => 333, Key_Pad_Add => 334, Key_Pad_Enter => 335, Key_Pad_Equal => 336, 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 ); type Mouse_Button is ( Mouse_Button_Left, Mouse_Button_Right, Mouse_Button_Middle, Mouse_Button_Side, Mouse_Button_Extra, Mouse_Button_Forward, Mouse_Button_Back ) with Convention => C; type Mouse_Cursor is ( Mouse_Cursor_Default, Mouse_Cursor_Arrow, Mouse_Cursor_Ibeam, Mouse_Cursor_Crosshair, Mouse_Cursor_Pointing_Hand, Mouse_Cursor_Resize_EW, Mouse_Cursor_Resize_NS, Mouse_Cursor_Resize_NWSE, Mouse_Cursor_Resize_NESW, Mouse_Cursor_Resize_All, Mouse_Cursor_Not_Allowed ) with Convention => C; type Gamepad_Button is ( Gamepad_Button_Unknown, Gamepad_Button_Left_Face_Up, Gamepad_Button_Left_Face_Right, Gamepad_Button_Left_Face_Down, Gamepad_Button_Left_Face_Left, Gamepad_Button_Right_Face_Up, Gamepad_Button_Right_Face_Right, Gamepad_Button_Right_Face_Down, Gamepad_Button_Right_Face_Left, Gamepad_Button_Left_Trigger_1, Gamepad_Button_Left_Trigger_2, Gamepad_Button_Right_Trigger_1, Gamepad_Button_Right_Trigger_2, Gamepad_Button_Middle_Left, Gamepad_Button_Middle, Gamepad_Button_Middle_Right, Gamepad_Button_Left_Thumb, Gamepad_Button_Right_Thumb ) with Convention => C; type Gamepad_Axis is ( Gamepad_Axis_Left_X, Gamepad_Axis_Left_Y, Gamepad_Axis_Right_X, Gamepad_Axis_Right_Y, Gamepad_Axis_Left_Trigger, Gamepad_Axis_Right_Trigger ) with Convention => C; type Material_Map_Index is ( Material_Map_Diffuse, Material_Map_Specular, Material_Map_Normal, Material_Map_Roughness, Material_Map_Occlusion, Material_Map_Emission, Material_Map_Height, Material_Map_Cubemap, Material_Map_Irradiance, Material_Map_Prefilter, Material_Map_BRDF ) with Convention => C; type Shader_Location_Index is ( Shader_Location_Vertex_Position, Shader_Location_Vertex_Texcoord_1, Shader_Location_Vertex_Texcoord_2, Shader_Location_Vertex_Normal, Shader_Location_Vertex_Tangent, Shader_Location_Vertex_Color, Shader_Location_Matrix_MVP, Shader_Location_Matrix_View, Shader_Location_Matrix_Projection, Shader_Location_Matrix_Model, Shader_Location_Matrix_Normal, Shader_Location_Vector_View, Shader_Location_Color_Diffuse, Shader_Location_Color_Specular, Shader_Location_Color_Ambient, Shader_Location_Map_Diffuse, Shader_Location_Map_Specular, Shader_Location_Map_Normal, Shader_Location_Map_Roughness, Shader_Location_Map_Occlusion, Shader_Location_Map_Emission, Shader_Location_Map_Height, Shader_Location_Map_Cubemap, Shader_Location_Map_Irradiance, Shader_Location_Map_Prefilter, Shader_Location_Map_BRDF ) with Convention => C; type Shader_Uniform_Data_Type is ( Shader_Uniform_FLOAT, Shader_Uniform_VEC2, Shader_Uniform_VEC3, Shader_Uniform_VEC4, Shader_Uniform_INT, Shader_Uniform_IVEC2, Shader_Uniform_IVEC3, Shader_Uniform_IVEC4, Shader_Uniform_SAMPLER2D ) with Convention => C; type Shader_Attribute_Data_Type is ( Shader_Attribute_FLOAT, Shader_Attribute_VEC2, Shader_Attribute_VEC3, Shader_Attribute_VEC4 ) with Convention => C; type Pixel_Format is ( Pixel_Format_None, Pixel_Format_Uncompressed_Grayscale, Pixel_Format_Uncompressed_Gray_Alpha, Pixel_Format_Uncompressed_R5G6B5, Pixel_Format_Uncompressed_R8G8B8, Pixel_Format_Uncompressed_R5G5B5A1, Pixel_Format_Uncompressed_R4G4B4A4, Pixel_Format_Uncompressed_R8G8B8A8, Pixel_Format_Uncompressed_R32, Pixel_Format_Uncompressed_R32G32B32, Pixel_Format_Uncompressed_R32G32B32A32, Pixel_Format_Uncompressed_R16, Pixel_Format_Uncompressed_R16G16B16, Pixel_Format_Uncompressed_R16G16B16A16, Pixel_Format_Compressed_DXT1_RGB, Pixel_Format_Compressed_DXT1_RGBA, Pixel_Format_Compressed_DXT3_RGBA, Pixel_Format_Compressed_DXT5_RGBA, Pixel_Format_Compressed_ETC1_RGB, Pixel_Format_Compressed_ETC2_RGB, Pixel_Format_Compressed_ETC2_EAC_RGBA, Pixel_Format_Compressed_PVRT_RGB, Pixel_Format_Compressed_PVRT_RGBA, Pixel_Format_Compressed_ASTC_4x4_RGBA, Pixel_Format_Compressed_ASTC_8x8_RGBA ) with Convention => C; type Texture_Filter is ( Texture_Filter_Point, Texture_Filter_Bilinear, Texture_Filter_Trilinear, Texture_Filter_Anisotropic_x4, Texture_Filter_Anisotropic_x8, Texture_Filter_Anisotropic_x16 ) with Convention => C; type Texture_Wrap is ( Texture_Wrap_Repeat, Texture_Wrap_Clamp, Texture_Wrap_Mirror_Repeat, Texture_Wrap_Mirror_Clamp ) with Convention => C; type Cubemap_Layout is ( Cubemap_Layout_Auto_Detect, Cubemap_Layout_Line_Vertical, Cubemap_Layout_Line_Horizontal, Cubemap_Layout_Cross_3_By_4, Cubemap_Layout_Cross_4_By_3, Cubemap_Layout_Panorama ) with Convention => C; type Font_Type is ( Font_Default, Font_Bitmap, Font_SDF ) with Convention => C; type Blend_Mode is ( Blend_Alpha, Blend_Additive, Blend_Multiplied, Blend_Add_Colors, Blend_Subtract_Colors, Blend_Alpha_Premultiply, Blend_Custom, Blend_Custom_Separate ) with Convention => C; type Gesture is ( Gesture_None, Gesture_Tap, Gesture_Doubletap, Gesture_Hold, Gesture_Drag, Gesture_Swipe_Right, Gesture_Swipe_Left, Gesture_Swipe_Up, Gesture_Swipe_Down, Gesture_Pinch_In, Gesture_Pinch_Out ) with Convention => C; for Gesture use ( 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 ); type Camera_Mode is ( Camera_Custom, Camera_Free, Camera_Orbital, Camera_First_Person, Camera_Third_Person ) with Convention => C; type Camera_Projection is ( Camera_Perspective, Camera_Orthographic ) with Convention => C; type NPatch_Layout is ( NPatch_Nine_Patch, NPatch_Three_Patch_Vertical, NPatch_Three_Patch_Horizontal ) with Convention => C; ------------------------------------------------------------------------ type Color_Range is range 0 .. 2**8 - 1; type Index_Range is range 0 .. 2**16 - 1; type Pointer is access all System.Address; type Vector_2D is record X : Float := 0.0; Y : Float := 0.0; end record with Convention => C_Pass_By_Copy; type Vector_3D is record X : Float := 0.0; Y : Float := 0.0; Z : Float := 0.0; end record with Convention => C_Pass_By_Copy; type Vector_4D is record X : Float := 0.0; Y : Float := 0.0; Z : Float := 0.0; W : Float := 0.0; end record with Convention => C_Pass_By_Copy; type Quaternion is new Vector_4D; type Matrix_4D is record --~M00, M10, M20, M30, --~M01, M11, M21, M31, --~M02, M12, M22, M32, --~M03, M13, M23, M33 : Float := ( --~1.0, 0.0, 0.0, 0.0, --~0.0, 1.0, 0.0, 0.0, --~0.0, 0.0, 1.0, 0.0, --~0.0, 0.0, 0.0, 1.0); M00, M10, M20, M30, M01, M11, M21, M31, M02, M12, M22, M32, M03, M13, M23, M33 : Float; end record with Convention => C_Pass_By_Copy; Id_Matrix : Matrix_4D; type Color is record R : Color_Range := 255; G : Color_Range := 255; B : Color_Range := 255; A : Color_Range := 255; end record with Convention => C_Pass_By_Copy; No_Color : Color; type Rectangle is record X : Float := 0.0; Y : Float := 0.0; Width : Float := 0.0; Height : Float := 0.0; end record with Convention => C_Pass_By_Copy; No_Rectangle : Rectangle; type Image is record Data : Pointer := null; Width : Integer := 0; Height : Integer := 0; Mipmaps : Integer := 1; Format : Pixel_Format := Pixel_Format_None; end record with Convention => C_Pass_By_Copy; No_Image : Image; type Texture is record Id : Natural := 0; Width : Integer := 0; Height : Integer := 0; Mipmaps : Integer := 1; Format : Pixel_Format := Pixel_Format_None; end record with Convention => C_Pass_By_Copy; No_Texture : Texture; type Render_Texture is record Id : Natural := 0; Data : Texture := No_Texture; Depth : Texture := No_Texture; end record with Convention => C_Pass_By_Copy; No_Render_Texture : Render_Texture; type NPatch_Info is record Source : Rectangle := No_Rectangle; Left : Integer := 0; Top : Integer := 0; Right : Integer := 0; Bottom : Integer := 0; Layout : NPatch_Layout := NPatch_Nine_Patch; end record with Convention => C_Pass_By_Copy; type Glyph_Info is record Value : Integer := 0; Offset_X : Integer := 0; Offset_Y : Integer := 0; Advance_X : Integer := 0; Data : Image := No_Image; end record with Convention => C_Pass_By_Copy; type Font is record Base_Size : Integer := 0; Glyph_Count : Integer := 0; Glyph_Padding : Integer := 0; Data : Texture := No_Texture; Rectangles : access Rectangle := null; Glyphs : access Glyph_Info := null; end record with Convention => C_Pass_By_Copy; type Camera_3D is record Position : Vector_3D := (0.0, 0.0, 0.0); Target : Vector_3D := (0.0, 0.0, 0.0); Up : Vector_3D := (0.0, 0.0, 0.0); Field_Of_View : Float := 0.0; Projection : Camera_Projection := Camera_Perspective; end record with Convention => C_Pass_By_Copy; type Camera_2D is record Offset : Vector_2D := (0.0, 0.0); Target : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Zoom : Float := 0.0; end record with Convention => C_Pass_By_Copy; type Mesh is record Vertex_Count : Integer := 0; Triangle_Count : Integer := 0; Vertices : access Float := null; Texture_Coordinates : access Float := null; Texture_Coordinates_2 : access Float := null; Normals : access Float := null; Tangents : access Float := null; Colors : access Color_Range := null; Indices : access Index_Range := null; Animation_Vertices : access Float := null; Animation_Normals : access Float := null; Bone_Ids : access Color_Range := null; Bone_Weights : access Float := null; VAO_Id : Natural := 0; VBO_Id : access Natural := null; end record with Convention => C_Pass_By_Copy; No_Mesh : Mesh; type Shader is record Id : Natural := 0; Locations : access Integer := null; end record with Convention => C_Pass_By_Copy; No_Shader : Shader; type Material_Map is record Data : Texture := No_Texture; Tint : Color := No_Color; Value : Float := 0.0; end record with Convention => C_Pass_By_Copy; type Float_Array_4 is array (0 .. 3) of Float; type Material is record Data : Shader := No_Shader; Map : access Material_Map := null; Parameter : Float_Array_4 := (0.0, 0.0, 0.0, 0.0); end record with Convention => C_Pass_By_Copy; type Transform is record Translation : Vector_3D := (0.0, 0.0, 0.0); Rotation : Vector_4D := (0.0, 0.0, 0.0, 0.0); Scale : Vector_3D := (0.0, 0.0, 0.0); end record with Convention => C_Pass_By_Copy; type Character_Array_32 is array (0 .. 31) of Character; Empty : Character_Array_32 := (others => Character'Val (0)); type Bone_Info is record Name : Character_Array_32 := Empty; Parent : Integer := 0; end record with Convention => C_Pass_By_Copy; type Model is record Transform : Matrix_4D := Id_Matrix; Mesh_Count : Integer := 0; Material_Count : Integer := 0; Meshes : access Mesh := null; Materials : access Material := null; Mesh_Materials : access Integer := null; Bone_Count : Integer := 0; Bones : access Bone_Info := null; --~Bind_Post : access Transform := null; ERROR end record with Convention => C_Pass_By_Copy; type Model_Animation is record Bone_Count : Integer := 0; Frame_Count : Integer := 0; Bones : access Bone_Info := null; Frame_Poses : access Transform := null; Name : Character_Array_32 := Empty; end record with Convention => C_Pass_By_Copy; type Ray is record Position : Vector_3D := (0.0, 0.0, 0.0); Direction : Vector_3D := (0.0, 0.0, 0.0); end record with Convention => C_Pass_By_Copy; type Ray_Collision is record Hit : Boolean := False; Distance : Float := 0.0; Point : Vector_3D := (0.0, 0.0, 0.0); Normal : Vector_3D := (0.0, 0.0, 0.0); end record; type Bounding_Box is record Min : Vector_3D := (0.0, 0.0, 0.0); Max : Vector_3D := (0.0, 0.0, 0.0); end record; type Wave is record Frame_Count : Natural := 0; Sample_Rate : Natural := 0; Sample_Size : Natural := 0; Channels : Natural := 0; Data : Pointer := null; end record; type Audio_Stream is record Buffer : Pointer := null; Processor : Pointer := null; Sample_Rate : Natural := 0; Sample_Size : Natural := 0; Channels : Natural := 0; end record; No_Audio_Stream : Audio_Stream; type Sound is record Stream : Audio_Stream := No_Audio_Stream; Frame_Count : Natural := 0; end record; type Music is record Stream : Audio_Stream := No_Audio_Stream; Frame_Count : Natural := 0; Looping : Boolean := False; Context_Type : Integer := 0; Context_Data : Pointer := null; end record; type VR_Device_Info is record Horizontal_Resoultion : Integer := 0; Vertical_Resoultion : Integer := 0; Horizontal_Screen_Size : Float := 0.0; Vertical_Screen_Size : Float := 0.0; Vertical_Screen_Center : Float := 0.0; Eye_To_Screen_Distance : Float := 0.0; Lens_Separate_Distance : Float := 0.0; Interpupillary_Distance : Float := 0.0; Lens_Distortion_Values : Float_Array_4 := (0.0, 0.0, 0.0, 0.0); Chroma_Abberation_Correction : Float_Array_4 := (0.0, 0.0, 0.0, 0.0); end record; No_VR_Device_Info : VR_Device_Info; type Matrix_4D_Array_2 is array (0 .. 1) of Matrix_4D; type Float_Array_2 is array (0 .. 1) of Float; type VR_Stereo_Config is record Projection : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix); View_Offset : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix); Left_Lens_Center : Float_Array_2 := (0.0, 0.0); Right_Lens_Center : Float_Array_2 := (0.0, 0.0); Left_Screen_Center : Float_Array_2 := (0.0, 0.0); Right_Screen_Center : Float_Array_2 := (0.0, 0.0); Scale : Float_Array_2 := (0.0, 0.0); Scale_In : Float_Array_2 := (0.0, 0.0); end record; No_VR_Stereo_Config : VR_Stereo_Config; type File_Path_List is record Capacity : Natural := 0; Count : Natural := 0; Paths : Pointer := null; end record; type Integer_Array_4 is array (0 .. 3) of Integer; type Automation_Event is record Frame : Natural := 0; Kind : Natural := 0; Parameters : Integer_Array_4 := (0, 0, 0, 0); end record; type Automation_Event_List is record Capacity : Natural := 0; Count : Natural := 0; Events : access Automation_Event := null; end record; ------------------------------------------------------------------------ Version_Major : constant Integer := 5; Version_Minor : constant Integer := 1; Version_Patch : constant Integer := 0; Version : aliased constant String := "5.1-dev"; Pi : constant Float := 3.14159265358979323846; Tau : constant Float := 2.0 * Pi; Degree_To_Radius : constant Float := Pi / 180.0; Radius_To_Degree : constant Float := 180.0 / Pi; Light_Gray : constant Color := (200, 200, 200, 255); Gray : constant Color := (130, 130, 130, 255); Dark_Gray : constant Color := (80, 80, 80, 255); Yellow : constant Color := (253, 249, 0, 255); Gold : constant Color := (255, 203, 0, 255); Orange : constant Color := (255, 161, 0, 255); Pink : constant Color := (255, 109, 194, 255); Red : constant Color := (230, 41, 55, 255); Maroon : constant Color := (190, 33, 55, 255); Green : constant Color := (0, 228, 48, 255); Lime : constant Color := (0, 158, 47, 255); Dark_Green : constant Color := (0, 117, 44, 255); Sky_Blue : constant Color := (102, 191, 255, 255); Blue : constant Color := (0, 121, 241, 255); Dark_Blue : constant Color := (0, 82, 172, 255); Purple : constant Color := (200, 122, 255, 255); Violet : constant Color := (135, 60, 190, 255); Dark_Purple : constant Color := (112, 31, 126, 255); Beige : constant Color := (211, 176, 131, 255); Brown : constant Color := (127, 106, 79, 255); Dark_Brown : constant Color := (76, 63, 47, 255); White : constant Color := (255, 255, 255, 255); Black : constant Color := (0, 0, 0, 255); Blank : constant Color := (0, 0, 0, 0 ); Magenta : constant Color := (255, 0, 255, 255); Ray_White : constant Color := (245, 245, 245, 255); ------------------------------------------------------------------------ --~typedef void (*TraceLogCallback)(int logLevel, const char *text, va_list args); -- Logging: Redirect trace log messages --~typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, int *dataSize); -- FileIO: Load binary data --~typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, int dataSize); -- FileIO: Save binary data --~typedef char *(*LoadFileTextCallback)(const char *fileName); -- FileIO: Load text data --~typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); -- FileIO: Save text data procedure Open_Window ( Width : Integer := 640; Height : Integer := 480; Title : String := "" ) with Import => True, Convention => C, External_Name => "InitWindow"; procedure Close_Window with Import => True, Convention => C, External_Name => "CloseWindow"; function Window_Should_Close return Boolean with Import => True, Convention => C, External_Name => "WindowShouldClose"; function Is_Window_Ready return Boolean with Import => True, Convention => C, External_Name => "IsWindowReady"; function Is_Window_Fullscreen return Boolean with Import => True, Convention => C, External_Name => "IsWindowFullscreen"; function Is_Window_Hidden return Boolean with Import => True, Convention => C, External_Name => "IsWindowHidden"; function Is_Window_Minimized return Boolean with Import => True, Convention => C, External_Name => "IsWindowMinimized"; function Is_Window_Maximized return Boolean with Import => True, Convention => C, External_Name => "IsWindowMaximized"; function Is_Window_Focused return Boolean with Import => True, Convention => C, External_Name => "IsWindowFocused"; function Is_Window_Resized return Boolean with Import => True, Convention => C, External_Name => "IsWindowResized"; function Is_Window_State ( Flags : Natural := 0 ) return Boolean with Import => True, Convention => C, External_Name => "IsWindowState"; procedure Set_Window_State ( Flags : Natural := 0 ) with Import => True, Convention => C, External_Name => "SetWindowState"; procedure Clear_Window_State ( Flags : Natural := 0 ) with Import => True, Convention => C, External_Name => "ClearWindowState"; procedure Toggle_Fullscreen with Import => True, Convention => C, External_Name => "ToggleFullscreen"; procedure Toggle_Borderless_Windowed with Import => True, Convention => C, External_Name => "ToggleBorderlessWindowed"; procedure Maximize_Window with Import => True, Convention => C, External_Name => "MaximizeWindow"; procedure Minimize_Window with Import => True, Convention => C, External_Name => "MinimizeWindow"; procedure Restore_Window with Import => True, Convention => C, External_Name => "RestoreWindow"; procedure Set_Window_Icon ( Icon : Image := No_Image ) with Import => True, Convention => C, External_Name => "SetWindowIcon"; procedure Set_Window_Icons ( Icons : access Image := null; Count : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowIcons"; procedure Set_Window_Title ( Title : String := "" ) with Import => True, Convention => C, External_Name => "SetWindowTitle"; procedure Set_Window_Position ( X : Integer := 0; Y : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowPosition"; procedure Set_Window_Monitor ( Monitor : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowMonitor"; procedure Set_Window_Min_Size ( Width : Integer := 0; Height : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowMinSize"; procedure Set_Window_Max_Size ( Width : Integer := 0; Height : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowMaxSize"; procedure Set_Window_Size ( Width : Integer := 0; Height : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetWindowSize"; procedure Set_WindowZ_Opacity ( Opacity : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetWindowOpacity"; procedure Set_Window_Focused with Import => True, Convention => C, External_Name => "SetWindowFocused"; function Get_Window_Handle return Pointer with Import => True, Convention => C, External_Name => "GetWindowHandle"; function Get_Screen_Width return Integer with Import => True, Convention => C, External_Name => "GetScreenWidth"; function Get_Screen_Height return Integer with Import => True, Convention => C, External_Name => "GetScreenHeight"; function Get_Render_Width return Integer with Import => True, Convention => C, External_Name => "GetRenderWidth"; function Get_Render_Height return Integer with Import => True, Convention => C, External_Name => "GetRenderHeight"; function Get_Monitor_Count return Integer with Import => True, Convention => C, External_Name => "GetMonitorCount"; function Get_Current_Monitor return Integer with Import => True, Convention => C, External_Name => "GetCurrentMonitor"; function Get_Monitor_Position ( Monitor : Integer := 0 ) return Vector_2D with Import => True, Convention => C, External_Name => "GetMonitorPosition"; function Get_Monitor_Width ( Monitor : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetMonitorWidth"; function Get_Monitor_Height ( Monitor : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetMonitorHeight"; function Get_Monitor_Physical_Width ( Monitor : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetMonitorPhysicalWidth"; function Get_Monitor_Physical_Height ( Monitor : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetMonitorPhysicalHeight"; function Get_Monitor_Refresh_Rate ( Monitor : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetMonitorRefreshRate"; function Get_Window_Position return Vector_2D with Import => True, Convention => C, External_Name => "GetWindowPosition"; function Get_Window_Scale_DPI return Vector_2D with Import => True, Convention => C, External_Name => "GetWindowScaleDPI"; function Get_Monitor_Name ( Monitor : Integer := 0 ) return Pointer with Import => True, Convention => C, External_Name => "GetMonitorName"; procedure Set_Clipboard_Text ( Text : String := "" ) with Import => True, Convention => C, External_Name => "SetClipboardText"; function Get_Clipboard_Text return Pointer with Import => True, Convention => C, External_Name => "GetClipboardText"; procedure Enable_Event_Waiting with Import => True, Convention => C, External_Name => "EnableEventWaiting"; procedure Disable_Event_Waiting with Import => True, Convention => C, External_Name => "DisableEventWaiting"; procedure Show_Cursor with Import => True, Convention => C, External_Name => "ShowCursor"; procedure Hide_Cursor with Import => True, Convention => C, External_Name => "HideCursor"; function Is_Cursor_Hidden return Boolean with Import => True, Convention => C, External_Name => "IsCursorHidden"; procedure Enable_Cursor with Import => True, Convention => C, External_Name => "EnableCursor"; procedure Disable_Cursor with Import => True, Convention => C, External_Name => "DisableCursor"; function Is_Cursor_On_Screen return Boolean with Import => True, Convention => C, External_Name => "IsCursorOnScreen"; procedure Clear_Background ( Tint : Color := Ray_White ) with Import => True, Convention => C, External_Name => "ClearBackground"; procedure Begin_Drawing with Import => True, Convention => C, External_Name => "BeginDrawing"; procedure End_Drawing with Import => True, Convention => C, External_Name => "EndDrawing"; procedure Begin_Mode_2D ( Camera : Camera_2D ) with Import => True, Convention => C, External_Name => "BeginMode2D"; procedure End_Mode_2D with Import => True, Convention => C, External_Name => "EndMode2D"; procedure Begin_Mode_3D ( Camera : Camera_3D ) with Import => True, Convention => C, External_Name => "BeginMode3D"; procedure End_Mode_3D with Import => True, Convention => C, External_Name => "EndMode3D"; procedure Begin_Texture_Mode ( Data : Render_Texture := No_Render_Texture ) with Import => True, Convention => C, External_Name => "BeginTextureMode"; procedure End_Texture_Mode with Import => True, Convention => C, External_Name => "EndTextureMode"; procedure Begin_Shader_Mode ( Data : Shader := No_Shader ) with Import => True, Convention => C, External_Name => "BeginShaderMode"; procedure End_Shader_Mode with Import => True, Convention => C, External_Name => "EndShaderMode"; procedure Begin_Blend_Mode ( Mode : Blend_Mode := Blend_Alpha ) with Import => True, Convention => C, External_Name => "BeginBlendMode"; procedure End_Blend_Mode with Import => True, Convention => C, External_Name => "EndBlendMode"; procedure Begin_Scissor_Mode ( X : Integer := 0; Y : Integer := 0; Width : Integer := 0; Height : Integer := 0 ) with Import => True, Convention => C, External_Name => "BeginScissorMode"; procedure End_Scissor_Mode with Import => True, Convention => C, External_Name => "EndScissorMode"; procedure Begin_VR_Stereo_Mode ( Config : VR_Stereo_Config := No_VR_Stereo_Config ) with Import => True, Convention => C, External_Name => "BeginVrStereoMode"; procedure End_VR_Stereo_Mode with Import => True, Convention => C, External_Name => "EndVrStereoMode"; function Load_VR_Stereo_Config ( Device : VR_Device_Info := No_VR_Device_Info ) return VR_Stereo_Config with Import => True, Convention => C, External_Name => "LoadVrStereoConfig"; procedure Unload_VR_Stereo_Config ( Config : VR_Stereo_Config := No_VR_Stereo_Config ) with Import => True, Convention => C, External_Name => "UnloadVrStereoConfig"; function Load_Shader ( Vertex_Shader_File_Path : String := ""; Fragment_Shader_File_Path : String := "" ) return Shader with Import => True, Convention => C, External_Name => "LoadShader"; function Load_Shader_From_Memory ( Vertex_Shader_Code_Path : String := ""; Fragment_Shader_Code_Path : String := "" ) return Shader with Import => True, Convention => C, External_Name => "LoadShaderFromMemory"; function Is_Shader_Ready ( Data : Shader := No_Shader ) return Boolean with Import => True, Convention => C, External_Name => "IsShaderReady"; function Get_Shader_Location ( Data : Shader := No_Shader; Name : String := "" ) return Integer with Import => True, Convention => C, External_Name => "GetShaderLocation"; function Get_Shader_Location_Attribute ( Data : Shader := No_Shader; Name : String := "" ) return Integer with Import => True, Convention => C, External_Name => "GetShaderLocationAttrib"; procedure Set_Shader_Value ( Data : Shader := No_Shader; Location_Index : Integer := 0; Value : Pointer := null; Uniform_Type : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetShaderValue"; procedure Set_Shader_Value_Vector ( Data : Shader := No_Shader; Location_Index : Integer := 0; Value : Pointer := null; Uniform_Type : Integer := 0; Count : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetShaderValueV"; procedure Set_Shader_Value_Matrix ( Data : Shader := No_Shader; Location_Index : Integer := 0; Value : Matrix_4D := Id_Matrix ) with Import => True, Convention => C, External_Name => "SetShaderValueMatrix"; procedure Set_Shader_Value_Texture ( Data : Shader := No_Shader; Location_Index : Integer := 0; Value : Texture := No_Texture ) with Import => True, Convention => C, External_Name => "SetShaderValueTexture"; procedure Unload_Shader ( Data : Shader := No_Shader ) with Import => True, Convention => C, External_Name => "UnloadShader"; --~################################################################ --~################################################################ --~################################################################ --~function Ray GetMouseRay (Vector2 mousePosition, Camera camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Matrix GetCameraMatrix (Camera camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Matrix GetCameraMatrix2D (Camera2D camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetWorldToScreen (Vector3 position, Camera camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetScreenToWorld2D (Vector2 position, Camera2D camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetWorldToScreenEx (Vector3 position, Camera camera, int width, int height) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetWorldToScreen2D (Vector2 position, Camera2D camera) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTargetFPS (int fps) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetFrameTime (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function double GetTime (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetFPS (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SwapScreenBuffer (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PollInputEvents (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure WaitTime (double seconds) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetRandomSeed (unsigned int seed) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetRandomValue (int min, int max) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int *LoadRandomSequence (unsigned int count, int min, int max) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadRandomSequence (int *sequence) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure TakeScreenshot (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetConfigFlags (unsigned int flags) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure OpenURL (const char *url) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure TraceLog (int logLevel, const char *text, ...) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTraceLogLevel (int logLevel) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure *MemAlloc (unsigned int size) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure *MemRealloc (void *ptr, unsigned int size) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure MemFree (void *ptr) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTraceLogCallback (TraceLogCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetLoadFileDataCallback (LoadFileDataCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetSaveFileDataCallback (SaveFileDataCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetLoadFileTextCallback (LoadFileTextCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetSaveFileTextCallback (SaveFileTextCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned char *LoadFileData (const char *fileName, int *dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadFileData (unsigned char *data) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool SaveFileData (const char *fileName, void *data, int dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportDataAsCode (const unsigned char *data, int dataSize, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function char *LoadFileText (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadFileText (char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool SaveFileText (const char *fileName, char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool FileExists (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool DirectoryExists (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsFileExtension (const char *fileName, const char *ext) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetFileLength (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetFileExtension (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetFileName (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetFileNameWithoutExt (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetDirectoryPath (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetPrevDirectoryPath (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetWorkingDirectory (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetApplicationDirectory (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ChangeDirectory (const char *dir) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsPathFile (const char *path) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function FilePathList LoadDirectoryFiles (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function FilePathList LoadDirectoryFilesEx (const char *basePath, const char *filter, bool scanSubdirs) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadDirectoryFiles (FilePathList files) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsFileDropped (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function FilePathList LoadDroppedFiles (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadDroppedFiles (FilePathList files) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function long GetFileModTime (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned char *CompressData (const unsigned char *data, int dataSize, int *compDataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned char *DecompressData (const unsigned char *compData, int compDataSize, int *dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function char *EncodeDataBase64 (const unsigned char *data, int dataSize, int *outputSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned char *DecodeDataBase64 (const unsigned char *data, int *outputSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function AutomationEventList LoadAutomationEventList (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadAutomationEventList (AutomationEventList *list) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportAutomationEventList (AutomationEventList list, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAutomationEventList (AutomationEventList *list) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAutomationEventBaseFrame (int frame) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure StartAutomationEventRecording (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure StopAutomationEventRecording (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PlayAutomationEvent (AutomationEvent event) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsKeyPressed (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsKeyPressedRepeat (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsKeyDown (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsKeyReleased (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsKeyUp (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetKeyPressed (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetCharPressed (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetExitKey (int key) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGamepadAvailable (int gamepad) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *GetGamepadName (int gamepad) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGamepadButtonPressed (int gamepad, int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGamepadButtonDown (int gamepad, int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGamepadButtonReleased (int gamepad, int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGamepadButtonUp (int gamepad, int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetGamepadButtonPressed (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetGamepadAxisCount (int gamepad) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetGamepadAxisMovement (int gamepad, int axis) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int SetGamepadMappings (const char *mappings) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMouseButtonPressed (int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMouseButtonDown (int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMouseButtonReleased (int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMouseButtonUp (int button) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetMouseX (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetMouseY (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetMousePosition (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetMouseDelta (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMousePosition (int x, int y) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMouseOffset (int offsetX, int offsetY) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMouseScale (float scaleX, float scaleY) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetMouseWheelMove (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetMouseWheelMoveV (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMouseCursor (int cursor) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetTouchX (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetTouchY (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetTouchPosition (int index) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetTouchPointId (int index) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetTouchPointCount (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetGesturesEnabled (unsigned int flags) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsGestureDetected (unsigned int gesture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetGestureDetected (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetGestureHoldDuration (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetGestureDragVector (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetGestureDragAngle (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetGesturePinchVector (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetGesturePinchAngle (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateCamera (Camera *camera, int mode) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateCameraPro (Camera *camera, Vector3 movement, Vector3 rotation, float zoom) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetShapesTexture (Texture2D texture, Rectangle source) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPixel (int posX, int posY, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPixelV (Vector2 position, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLine (int startPosX, int startPosY, int endPosX, int endPosY, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLineV (Vector2 startPos, Vector2 endPos, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLineEx (Vector2 startPos, Vector2 endPos, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLineStrip (Vector2 *points, int pointCount, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLineBezier (Vector2 startPos, Vector2 endPos, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircle (int centerX, int centerY, float radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleSector (Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleSectorLines (Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleGradient (int centerX, int centerY, float radius, Color color1, Color color2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleV (Vector2 center, float radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleLines (int centerX, int centerY, float radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircleLinesV (Vector2 center, float radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawEllipse (int centerX, int centerY, float radiusH, float radiusV, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawEllipseLines (int centerX, int centerY, float radiusH, float radiusV, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRing (Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRingLines (Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangle (int posX, int posY, int width, int height, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleV (Vector2 position, Vector2 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleRec (Rectangle rec, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectanglePro (Rectangle rec, Vector2 origin, float rotation, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleGradientV (int posX, int posY, int width, int height, Color color1, Color color2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleGradientH (int posX, int posY, int width, int height, Color color1, Color color2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleGradientEx (Rectangle rec, Color col1, Color col2, Color col3, Color col4) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleLines (int posX, int posY, int width, int height, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleLinesEx (Rectangle rec, float lineThick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleRounded (Rectangle rec, float roundness, int segments, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRectangleRoundedLines (Rectangle rec, float roundness, int segments, float lineThick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangle (Vector2 v1, Vector2 v2, Vector2 v3, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangleLines (Vector2 v1, Vector2 v2, Vector2 v3, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangleFan (Vector2 *points, int pointCount, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangleStrip (Vector2 *points, int pointCount, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPoly (Vector2 center, int sides, float radius, float rotation, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPolyLines (Vector2 center, int sides, float radius, float rotation, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPolyLinesEx (Vector2 center, int sides, float radius, float rotation, float lineThick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineLinear (Vector2 *points, int pointCount, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineBasis (Vector2 *points, int pointCount, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineCatmullRom (Vector2 *points, int pointCount, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineBezierQuadratic (Vector2 *points, int pointCount, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineBezierCubic (Vector2 *points, int pointCount, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineSegmentLinear (Vector2 p1, Vector2 p2, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineSegmentBasis (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineSegmentCatmullRom (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineSegmentBezierQuadratic (Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSplineSegmentBezierCubic (Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetSplinePointLinear (Vector2 startPos, Vector2 endPos, float t) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetSplinePointBasis (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetSplinePointCatmullRom (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetSplinePointBezierQuad (Vector2 p1, Vector2 c2, Vector2 p3, float t) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 GetSplinePointBezierCubic (Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionRecs (Rectangle rec1, Rectangle rec2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionCircles (Vector2 center1, float radius1, Vector2 center2, float radius2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionCircleRec (Vector2 center, float radius, Rectangle rec) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionPointRec (Vector2 point, Rectangle rec) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionPointCircle (Vector2 point, Vector2 center, float radius) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionPointTriangle (Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionPointPoly (Vector2 point, Vector2 *points, int pointCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionLines (Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionPointLine (Vector2 point, Vector2 p1, Vector2 p2, int threshold) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Rectangle GetCollisionRec (Rectangle rec1, Rectangle rec2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImage (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageRaw (const char *fileName, int width, int height, int format, int headerSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageSvg (const char *fileNameOrString, int width, int height) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageAnim (const char *fileName, int *frames) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageFromMemory (const char *fileType, const unsigned char *fileData, int dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageFromTexture (Texture2D texture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image LoadImageFromScreen (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsImageReady (Image image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadImage (Image image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportImage (Image image, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned char *ExportImageToMemory (Image image, const char *fileType, int *fileSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportImageAsCode (Image image, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageColor (int width, int height, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageGradientLinear (int width, int height, int direction, Color start, Color end) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageGradientRadial (int width, int height, float density, Color inner, Color outer) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageGradientSquare (int width, int height, float density, Color inner, Color outer) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageChecked (int width, int height, int checksX, int checksY, Color col1, Color col2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageWhiteNoise (int width, int height, float factor) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImagePerlinNoise (int width, int height, int offsetX, int offsetY, float scale) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageCellular (int width, int height, int tileSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageText (int width, int height, const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image ImageCopy (Image image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image ImageFromImage (Image image, Rectangle rec) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image ImageText (const char *text, int fontSize, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image ImageTextEx (Font font, const char *text, float fontSize, float spacing, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageFormat (Image *image, int newFormat) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageToPOT (Image *image, Color fill) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageCrop (Image *image, Rectangle crop) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageAlphaCrop (Image *image, float threshold) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageAlphaClear (Image *image, Color color, float threshold) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageAlphaMask (Image *image, Image alphaMask) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageAlphaPremultiply (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageBlurGaussian (Image *image, int blurSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageKernelConvolution (Image *image, float* kernel, int kernelSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageResize (Image *image, int newWidth, int newHeight) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageResizeNN (Image *image, int newWidth,int newHeight) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageResizeCanvas (Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageMipmaps (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDither (Image *image, int rBpp, int gBpp, int bBpp, int aBpp) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageFlipVertical (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageFlipHorizontal (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageRotate (Image *image, int degrees) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageRotateCW (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageRotateCCW (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorTint (Image *image, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorInvert (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorGrayscale (Image *image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorContrast (Image *image, float contrast) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorBrightness (Image *image, int brightness) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageColorReplace (Image *image, Color color, Color replace) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color *LoadImageColors (Image image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color *LoadImagePalette (Image image, int maxPaletteSize, int *colorCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadImageColors (Color *colors) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadImagePalette (Color *colors) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Rectangle GetImageAlphaBorder (Image image, float threshold) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color GetImageColor (Image image, int x, int y) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageClearBackground (Image *dst, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawPixel (Image *dst, int posX, int posY, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawPixelV (Image *dst, Vector2 position, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawLine (Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawLineV (Image *dst, Vector2 start, Vector2 end, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawCircle (Image *dst, int centerX, int centerY, int radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawCircleV (Image *dst, Vector2 center, int radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawCircleLines (Image *dst, int centerX, int centerY, int radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawCircleLinesV (Image *dst, Vector2 center, int radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawRectangle (Image *dst, int posX, int posY, int width, int height, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawRectangleV (Image *dst, Vector2 position, Vector2 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawRectangleRec (Image *dst, Rectangle rec, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawRectangleLines (Image *dst, Rectangle rec, int thick, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDraw (Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawText (Image *dst, const char *text, int posX, int posY, int fontSize, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ImageDrawTextEx (Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Texture2D LoadTexture (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Texture2D LoadTextureFromImage (Image image) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function TextureCubemap LoadTextureCubemap (Image image, int layout) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RenderTexture2D LoadRenderTexture (int width, int height) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsTextureReady (Texture2D texture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadTexture (Texture2D texture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsRenderTextureReady (RenderTexture2D target) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadRenderTexture (RenderTexture2D target) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateTexture (Texture2D texture, const void *pixels) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateTextureRec (Texture2D texture, Rectangle rec, const void *pixels) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure GenTextureMipmaps (Texture2D *texture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTextureFilter (Texture2D texture, int filter) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTextureWrap (Texture2D texture, int wrap) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTexture (Texture2D texture, int posX, int posY, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextureV (Texture2D texture, Vector2 position, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextureEx (Texture2D texture, Vector2 position, float rotation, float scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextureRec (Texture2D texture, Rectangle source, Vector2 position, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTexturePro (Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextureNPatch (Texture2D texture, NPatchInfo nPatchInfo, Rectangle dest, Vector2 origin, float rotation, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color Fade (Color color, float alpha) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int ColorToInt (Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector4 ColorNormalize (Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorFromNormalized (Vector4 normalized) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector3 ColorToHSV (Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorFromHSV (float hue, float saturation, float value) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorTint (Color color, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorBrightness (Color color, float factor) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorContrast (Color color, float contrast) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorAlpha (Color color, float alpha) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color ColorAlphaBlend (Color dst, Color src, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color GetColor (unsigned int hexValue) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Color GetPixelColor (void *srcPtr, int format) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetPixelColor (void *dstPtr, Color color, int format) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetPixelDataSize (int width, int height, int format) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Font GetFontDefault (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Font LoadFont (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Font LoadFontEx (const char *fileName, int fontSize, int *codepoints, int codepointCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Font LoadFontFromImage (Image image, Color key, int firstChar) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Font LoadFontFromMemory (const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsFontReady (Font font) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function GlyphInfo *LoadFontData (const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Image GenImageFontAtlas (const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadFontData (GlyphInfo *glyphs, int glyphCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadFont (Font font) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportFontAsCode (Font font, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawFPS (int posX, int posY) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawText (const char *text, int posX, int posY, int fontSize, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextEx (Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextPro (Font font, const char *text, Vector2 position, Vector2 origin, float rotation, float fontSize, float spacing, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextCodepoint (Font font, int codepoint, Vector2 position, float fontSize, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTextCodepoints (Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetTextLineSpacing (int spacing) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int MeasureText (const char *text, int fontSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Vector2 MeasureTextEx (Font font, const char *text, float fontSize, float spacing) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetGlyphIndex (Font font, int codepoint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function GlyphInfo GetGlyphInfo (Font font, int codepoint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Rectangle GetGlyphAtlasRec (Font font, int codepoint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function char *LoadUTF8 (const int *codepoints, int length) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadUTF8 (char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int *LoadCodepoints (const char *text, int *count) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadCodepoints (int *codepoints) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetCodepointCount (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetCodepoint (const char *text, int *codepointSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetCodepointNext (const char *text, int *codepointSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int GetCodepointPrevious (const char *text, int *codepointSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *CodepointToUTF8 (int codepoint, int *utf8Size) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int TextCopy (char *dst, const char *src) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool TextIsEqual (const char *text1, const char *text2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function unsigned int TextLength (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextFormat (const char *text, ...) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextSubtext (const char *text, int position, int length) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function char *TextReplace (char *text, const char *replace, const char *by) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function char *TextInsert (const char *text, const char *insert, int position) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextJoin (const char **textList, int count, const char *delimiter) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char **TextSplit (const char *text, char delimiter, int *count) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure TextAppend (char *text, const char *append, int *position) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int TextFindIndex (const char *text, const char *find) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextToUpper (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextToLower (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function const char *TextToPascal (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function int TextToInteger (const char *text) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawLine3D (Vector3 startPos, Vector3 endPos, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPoint3D (Vector3 position, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCircle3D (Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangle3D (Vector3 v1, Vector3 v2, Vector3 v3, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawTriangleStrip3D (Vector3 *points, int pointCount, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCube (Vector3 position, float width, float height, float length, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCubeV (Vector3 position, Vector3 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCubeWires (Vector3 position, float width, float height, float length, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCubeWiresV (Vector3 position, Vector3 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSphere (Vector3 centerPos, float radius, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSphereEx (Vector3 centerPos, float radius, int rings, int slices, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawSphereWires (Vector3 centerPos, float radius, int rings, int slices, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCylinder (Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCylinderEx (Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCylinderWires (Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCylinderWiresEx (Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCapsule (Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawCapsuleWires (Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawPlane (Vector3 centerPos, Vector2 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawRay (Ray ray, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawGrid (int slices, float spacing) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Model LoadModel (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Model LoadModelFromMesh (Mesh mesh) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsModelReady (Model model) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadModel (Model model) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function BoundingBox GetModelBoundingBox (Model model) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawModel (Model model, Vector3 position, float scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawModelEx (Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawModelWires (Model model, Vector3 position, float scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawModelWiresEx (Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawBoundingBox (BoundingBox box, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawBillboard (Camera camera, Texture2D texture, Vector3 position, float size, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawBillboardRec (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawBillboardPro (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UploadMesh (Mesh *mesh, bool dynamic) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateMeshBuffer (Mesh mesh, int index, const void *data, int dataSize, int offset) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadMesh (Mesh mesh) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawMesh (Mesh mesh, Material material, Matrix transform) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure DrawMeshInstanced (Mesh mesh, Material material, const Matrix *transforms, int instances) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function BoundingBox GetMeshBoundingBox (Mesh mesh) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure GenMeshTangents (Mesh *mesh) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportMesh (Mesh mesh, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportMeshAsCode (Mesh mesh, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshPoly (int sides, float radius) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshPlane (float width, float length, int resX, int resZ) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshCube (float width, float height, float length) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshSphere (float radius, int rings, int slices) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshHemiSphere (float radius, int rings, int slices) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshCylinder (float radius, float height, int slices) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshCone (float radius, float height, int slices) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshTorus (float radius, float size, int radSeg, int sides) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshKnot (float radius, float size, int radSeg, int sides) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshHeightmap (Image heightmap, Vector3 size) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Mesh GenMeshCubicmap (Image cubicmap, Vector3 cubeSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Material *LoadMaterials (const char *fileName, int *materialCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Material LoadMaterialDefault (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMaterialReady (Material material) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadMaterial (Material material) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMaterialTexture (Material *material, int mapType, Texture2D texture) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetModelMeshMaterial (Model *model, int meshId, int materialId) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function ModelAnimation *LoadModelAnimations (const char *fileName, int *animCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateModelAnimation (Model model, ModelAnimation anim, int frame) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadModelAnimation (ModelAnimation anim) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadModelAnimations (ModelAnimation *animations, int animCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsModelAnimationValid (Model model, ModelAnimation anim) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionSpheres (Vector3 center1, float radius1, Vector3 center2, float radius2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionBoxes (BoundingBox box1, BoundingBox box2) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool CheckCollisionBoxSphere (BoundingBox box, Vector3 center, float radius) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RayCollision GetRayCollisionSphere (Ray ray, Vector3 center, float radius) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RayCollision GetRayCollisionBox (Ray ray, BoundingBox box) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RayCollision GetRayCollisionMesh (Ray ray, Mesh mesh, Matrix transform) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RayCollision GetRayCollisionTriangle (Ray ray, Vector3 p1, Vector3 p2, Vector3 p3) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function RayCollision GetRayCollisionQuad (Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4) with --~Import => True, --~Convention => C, --~External_Name => ""; --~typedef void (*AudioCallback) (void *bufferData, unsigned int frames) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure InitAudioDevice (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure CloseAudioDevice (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsAudioDeviceReady (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMasterVolume (float volume) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetMasterVolume (void) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Wave LoadWave (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Wave LoadWaveFromMemory (const char *fileType, const unsigned char *fileData, int dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsWaveReady (Wave wave) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Sound LoadSound (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Sound LoadSoundFromWave (Wave wave) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Sound LoadSoundAlias (Sound source) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsSoundReady (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateSound (Sound sound, const void *data, int sampleCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadWave (Wave wave) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadSound (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadSoundAlias (Sound alias) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportWave (Wave wave, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool ExportWaveAsCode (Wave wave, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PlaySound (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure StopSound (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PauseSound (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ResumeSound (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsSoundPlaying (Sound sound) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetSoundVolume (Sound sound, float volume) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetSoundPitch (Sound sound, float pitch) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetSoundPan (Sound sound, float pan) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Wave WaveCopy (Wave wave) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure WaveCrop (Wave *wave, int initSample, int finalSample) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure WaveFormat (Wave *wave, int sampleRate, int sampleSize, int channels) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float *LoadWaveSamples (Wave wave) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadWaveSamples (float *samples) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Music LoadMusicStream (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function Music LoadMusicStreamFromMemory (const char *fileType, const unsigned char *data, int dataSize) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMusicReady (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PlayMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsMusicStreamPlaying (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure StopMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PauseMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ResumeMusicStream (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SeekMusicStream (Music music, float position) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMusicVolume (Music music, float volume) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMusicPitch (Music music, float pitch) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetMusicPan (Music music, float pan) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetMusicTimeLength (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function float GetMusicTimePlayed (Music music) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function AudioStream LoadAudioStream (unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsAudioStreamReady (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UnloadAudioStream (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure UpdateAudioStream (AudioStream stream, const void *data, int frameCount) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsAudioStreamProcessed (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PlayAudioStream (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure PauseAudioStream (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure ResumeAudioStream (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~function bool IsAudioStreamPlaying (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure StopAudioStream (AudioStream stream) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAudioStreamVolume (AudioStream stream, float volume) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAudioStreamPitch (AudioStream stream, float pitch) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAudioStreamPan (AudioStream stream, float pan) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAudioStreamBufferSizeDefault (int size) with --~Import => True, --~Convention => C, --~External_Name => ""; --~procedure SetAudioStreamCallback (AudioStream stream, AudioCallback callback) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Attach_Audio_Stream_Processor ( Stream : Audio_Stream := No_Audio_Stream; Processor : Pointer := null ) with Import => True, Convention => C, External_Name => "AttachAudioStreamProcessor"; procedure Detach_Audio_Stream_Processor ( Stream : Audio_Stream := No_Audio_Stream; Processor : Pointer := null ) with Import => True, Convention => C, External_Name => "DetachAudioStreamProcessor"; procedure Attach_Audio_Mixed_Processor ( Processor : Pointer := null ) with Import => True, Convention => C, External_Name => "AttachAudioMixedProcessor"; procedure Detach_Audio_Mixed_Processor ( Processor : Pointer := null ) with Import => True, Convention => C, External_Name => "DetachAudioMixedProcessor"; end Raylib;