------------------------------------------------------------------------ with System; package Raylib is ------------------------------------------------------------------------ type Logical is new Boolean; -- for Logical'Size use 32; type Config_Flags is ( Flag_None, 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_None => 16#00000000#, 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; for Color_Range'Size use 8; for Index_Range'Size use 16; 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 : Float := 1.0; M10 : Float := 0.0; M20 : Float := 0.0; M30 : Float := 0.0; M01 : Float := 0.0; M11 : Float := 1.0; M21 : Float := 0.0; M31 : Float := 0.0; M02 : Float := 0.0; M12 : Float := 0.0; M22 : Float := 1.0; M32 : Float := 0.0; M03 : Float := 0.0; M13 : Float := 0.0; M23 : Float := 0.0; M33 : Float := 1.0; 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; No_Font : Font; 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; No_Camera_3D : Camera_3D; 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; No_Camera_2D : Camera_2D; 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; No_Material_Map : Material_Map; type Float_Array_4 is array (0 .. 3) of Float; type Material_Map_Array_4 is array (0 .. 3) of Material_Map; type Material_Map_Array is array (Natural range <>) of Material_Map; type Material is record Data : Shader := No_Shader; Maps : access Material_Map_Array := null; Parameter : Float_Array_4 := (0.0, 0.0, 0.0, 1.0); end record with Convention => C_Pass_By_Copy; No_Material : Material; 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 Material_Array_4 is array (0 .. 3) of Material; type Material_Array is array (Natural range <>) of Material; type Model is record Transform : Matrix_4D := Id_Matrix; Mesh_Count : Integer := 0; Material_Count : Integer := 0; Meshes : access Mesh := null; Materials : access Material_Array := 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; No_Model : Model; 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 : Logical := 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 with Convention => C_Pass_By_Copy; 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 with Convention => C_Pass_By_Copy; type Wave is record Frame_Count : Natural := 0; Sample_Rate : Natural := 0; Sample_Size : Natural := 0; Channels : Natural := 0; Data : Pointer := null; end record with Convention => C_Pass_By_Copy; No_Wave : Wave; type Audio_Stream is record Buffer : Pointer := null; Processor : Pointer := null; Sample_Rate : Natural := 0; Sample_Size : Natural := 0; Channels : Natural := 0; end record with Convention => C_Pass_By_Copy; No_Audio_Stream : Audio_Stream; type Sound is record Stream : Audio_Stream := No_Audio_Stream; Frame_Count : Natural := 0; end record with Convention => C_Pass_By_Copy; No_Sound : Sound; type Music is record Stream : Audio_Stream := No_Audio_Stream; Frame_Count : Natural := 0; Looping : Logical := False; Context_Type : Integer := 0; Context_Data : Pointer := null; end record with Convention => C_Pass_By_Copy; No_Music : Music; 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 with Convention => C_Pass_By_Copy; 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 with Convention => C_Pass_By_Copy; No_VR_Stereo_Config : VR_Stereo_Config; type File_Path_List is record Capacity : Natural := 0; Count : Natural := 0; Paths : Pointer := null; end record with Convention => C_Pass_By_Copy; 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 with Convention => C_Pass_By_Copy; type Automation_Event_List is record Capacity : Natural := 0; Count : Natural := 0; Events : access Automation_Event := null; end record with Convention => C_Pass_By_Copy; ------------------------------------------------------------------------ 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 Logical with Import => True, Convention => C, External_Name => "WindowShouldClose"; function Is_Window_Ready return Logical with Import => True, Convention => C, External_Name => "IsWindowReady"; function Is_Window_Fullscreen return Logical with Import => True, Convention => C, External_Name => "IsWindowFullscreen"; function Is_Window_Hidden return Logical with Import => True, Convention => C, External_Name => "IsWindowHidden"; function Is_Window_Minimized return Logical with Import => True, Convention => C, External_Name => "IsWindowMinimized"; function Is_Window_Maximized return Logical with Import => True, Convention => C, External_Name => "IsWindowMaximized"; function Is_Window_Focused return Logical with Import => True, Convention => C, External_Name => "IsWindowFocused"; function Is_Window_Resized return Logical with Import => True, Convention => C, External_Name => "IsWindowResized"; function Is_Window_State ( Flags : Natural := 0 ) return Logical 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 Logical 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 Logical 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 Logical 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 Get_Mouse_Ray ( Mouse_Position : Vector_2D := (0.0, 0.0); Camera : Camera_3D := No_Camera_3D ) return Ray with Import => True, Convention => C, External_Name => "GetMouseRay"; function Get_Camera_Matrix_3D ( Camera : Camera_3D := No_Camera_3D ) return Matrix_4D with Import => True, Convention => C, External_Name => "GetCameraMatrix"; function Get_Camera_Matrix_2D ( Camera : Camera_2D := No_Camera_2D ) return Matrix_4D with Import => True, Convention => C, External_Name => "GetCameraMatrix2D"; function Get_World_To_Screen_3D ( Position : Vector_3D := (0.0, 0.0, 0.0); Camera : Camera_3D := No_Camera_3D ) return Vector_2D with Import => True, Convention => C, External_Name => "GetWorldToScreen"; function Get_Screen_To_World_2D ( Position : Vector_2D := (0.0, 0.0); Camera : Camera_2D := No_Camera_2D ) return Vector_2D with Import => True, Convention => C, External_Name => "GetScreenToWorld2D"; function Get_World_To_Screen_Ex ( Position : Vector_3D := (0.0, 0.0, 0.0); Camera : Camera_3D := No_Camera_3D; Width : Integer := 0; Height : Integer := 0 ) return Vector_2D with Import => True, Convention => C, External_Name => "GetWorldToScreenEx"; function Get_World_To_Screen_2D ( Position : Vector_2D := (0.0, 0.0); Camera : Camera_2D := No_Camera_2D ) return Vector_2D with Import => True, Convention => C, External_Name => "GetWorldToScreen2D"; procedure Set_Target_FPS ( FPS : Integer := 60 ) with Import => True, Convention => C, External_Name => "SetTargetFPS"; function Get_Frame_Time return Float with Import => True, Convention => C, External_Name => "GetFrameTime"; function Get_Time return Long_Float with Import => True, Convention => C, External_Name => "GetTime"; function Get_FPS return Integer with Import => True, Convention => C, External_Name => "GetFPS"; procedure Swap_Screen_Buffer with Import => True, Convention => C, External_Name => "SwapScreenBuffer"; procedure Poll_Input_Events with Import => True, Convention => C, External_Name => "PollInputEvents"; procedure Wait_Time ( Seconds : Long_Float := 0.0 ) with Import => True, Convention => C, External_Name => "WaitTime"; procedure Set_Random_Seed ( Seed : Natural := 16#0EADBEEF# ) with Import => True, Convention => C, External_Name => "SetRandomSeed"; function Get_Random_Value ( Min : Integer := 0; Max : Integer := 255 ) return Integer with Import => True, Convention => C, External_Name => "GetRandomValue"; function Load_Random_Sequence ( Count : Natural := 0; Min : Integer := 0; Max : Integer := 0 ) return access Integer with Import => True, Convention => C, External_Name => "LoadRandomSequence"; procedure Unload_Random_Sequence ( Sequence : access Integer := null ) with Import => True, Convention => C, External_Name => "UnloadRandomSequence"; procedure Take_Screenshot ( File_Name : String := "Screenshot.png" ) with Import => True, Convention => C, External_Name => "TakeScreenshot"; procedure Set_Config_Flags ( Flags : Config_Flags := Flag_None ) with Import => True, Convention => C, External_Name => "SetConfigFlags"; procedure Open_URL ( URL : String := "" ) with Import => True, Convention => C, External_Name => "OpenURL"; --~procedure TraceLog (int logLevel, const char *text, ...) with --~Import => True, --~Convention => C, --~External_Name => "TraceLog"; procedure Set_Trace_Log_Level ( Level : Trace_Log_Level := Log_All ) with Import => True, Convention => C, External_Name => "SetTraceLogLevel"; function Allocate ( Size : Natural := 0 ) return Pointer with Import => True, Convention => C, External_Name => "MemAlloc"; function Reallocate ( Data : Pointer := null; Size : Natural := 0 ) return Pointer with Import => True, Convention => C, External_Name => "MemRealloc"; procedure Deallocate ( Data : Pointer := null ) with Import => True, Convention => C, External_Name => "MemFree"; --~procedure SetTraceLogCallback (TraceLogCallback callback) with --~Import => True, --~Convention => C, --~External_Name => "SetTraceLogCallback"; --~procedure SetLoadFileDataCallback (LoadFileDataCallback callback) with --~Import => True, --~Convention => C, --~External_Name => "SetLoadFileDataCallback"; --~procedure SetSaveFileDataCallback (SaveFileDataCallback callback) with --~Import => True, --~Convention => C, --~External_Name => "SetSaveFileDataCallback"; --~procedure SetLoadFileTextCallback (LoadFileTextCallback callback) with --~Import => True, --~Convention => C, --~External_Name => "SetLoadFileTextCallback"; --~procedure SetSaveFileTextCallback (SaveFileTextCallback callback) with --~Import => True, --~Convention => C, --~External_Name => "SetSaveFileTextCallback"; function Load_File_Data ( File_Name : String := ""; Data_Size : access Integer := null ) return access Character with Import => True, Convention => C, External_Name => "LoadFileData"; procedure Unload_File_Data ( Data : Pointer := null ) with Import => True, Convention => C, External_Name => "UnloadFileData"; --~function bool SaveFileData (const char *fileName, void *data, int dataSize) with --~Import => True, --~Convention => C, --~External_Name => "SaveFileData"; --~function bool ExportDataAsCode (const unsigned char *data, int dataSize, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "ExportDataAsCode"; --~function char *LoadFileText (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "LoadFileText"; --~procedure UnloadFileText (char *text) with --~Import => True, --~Convention => C, --~External_Name => "UnloadFileText"; --~function bool SaveFileText (const char *fileName, char *text) with --~Import => True, --~Convention => C, --~External_Name => "SaveFileText"; --~function bool FileExists (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "FileExists"; --~function bool DirectoryExists (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => "DirectoryExists"; --~function bool IsFileExtension (const char *fileName, const char *ext) with --~Import => True, --~Convention => C, --~External_Name => "IsFileExtension"; --~function int GetFileLength (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "GetFileLength"; --~function const char *GetFileExtension (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "GetFileExtension"; --~function const char *GetFileName (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => "GetFileName"; --~function const char *GetFileNameWithoutExt (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => "GetFileNameWithoutExt"; --~function const char *GetDirectoryPath (const char *filePath) with --~Import => True, --~Convention => C, --~External_Name => "GetDirectoryPath"; --~function const char *GetPrevDirectoryPath (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => "GetPrevDirectoryPath"; --~function const char *GetWorkingDirectory (void) with --~Import => True, --~Convention => C, --~External_Name => "GetWorkingDirectory"; --~function const char *GetApplicationDirectory (void) with --~Import => True, --~Convention => C, --~External_Name => "GetApplicationDirectory"; --~function bool ChangeDirectory (const char *dir) with --~Import => True, --~Convention => C, --~External_Name => "ChangeDirectory"; --~function bool IsPathFile (const char *path) with --~Import => True, --~Convention => C, --~External_Name => "IsPathFile"; --~function FilePathList LoadDirectoryFiles (const char *dirPath) with --~Import => True, --~Convention => C, --~External_Name => "LoadDirectoryFiles"; --~function FilePathList LoadDirectoryFilesEx (const char *basePath, const char *filter, bool scanSubdirs) with --~Import => True, --~Convention => C, --~External_Name => "LoadDirectoryFilesEx"; --~procedure UnloadDirectoryFiles (FilePathList files) with --~Import => True, --~Convention => C, --~External_Name => "UnloadDirectoryFiles"; --~function bool IsFileDropped (void) with --~Import => True, --~Convention => C, --~External_Name => "IsFileDropped"; --~function FilePathList LoadDroppedFiles (void) with --~Import => True, --~Convention => C, --~External_Name => "LoadDroppedFiles"; --~procedure UnloadDroppedFiles (FilePathList files) with --~Import => True, --~Convention => C, --~External_Name => "UnloadDroppedFiles"; --~function long GetFileModTime (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "GetFileModTime"; --~function unsigned char *CompressData (const unsigned char *data, int dataSize, int *compDataSize) with --~Import => True, --~Convention => C, --~External_Name => "CompressData"; --~function unsigned char *DecompressData (const unsigned char *compData, int compDataSize, int *dataSize) with --~Import => True, --~Convention => C, --~External_Name => "DecompressData"; --~function char *EncodeDataBase64 (const unsigned char *data, int dataSize, int *outputSize) with --~Import => True, --~Convention => C, --~External_Name => "EncodeDataBase64"; --~function unsigned char *DecodeDataBase64 (const unsigned char *data, int *outputSize) with --~Import => True, --~Convention => C, --~External_Name => "DecodeDataBase64"; --~function AutomationEventList LoadAutomationEventList (const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "LoadAutomationEventList"; --~procedure UnloadAutomationEventList (AutomationEventList *list) with --~Import => True, --~Convention => C, --~External_Name => "UnloadAutomationEventList"; --~function bool ExportAutomationEventList (AutomationEventList list, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => "ExportAutomationEventList"; --~procedure SetAutomationEventList (AutomationEventList *list) with --~Import => True, --~Convention => C, --~External_Name => "SetAutomationEventList"; --~procedure SetAutomationEventBaseFrame (int frame) with --~Import => True, --~Convention => C, --~External_Name => "SetAutomationEventBaseFrame"; --~procedure StartAutomationEventRecording (void) with --~Import => True, --~Convention => C, --~External_Name => "StartAutomationEventRecording"; --~procedure StopAutomationEventRecording (void) with --~Import => True, --~Convention => C, --~External_Name => "StopAutomationEventRecording"; --~procedure PlayAutomationEvent (AutomationEvent event) with --~Import => True, --~Convention => C, --~External_Name => "PlayAutomationEvent"; function Is_Key_Pressed ( Key : Keyboard_Key := Key_Null ) return Logical with Import => True, Convention => C, External_Name => "IsKeyPressed"; function Is_Key_Pressed_Repeat ( Key : Keyboard_Key := Key_Null ) return Logical with Import => True, Convention => C, External_Name => "IsKeyPressedRepeat"; function Is_Key_Down ( Key : Keyboard_Key := Key_Null ) return Logical with Import => True, Convention => C, External_Name => "IsKeyDown"; function Is_Key_Released ( Key : Keyboard_Key := Key_Null ) return Logical with Import => True, Convention => C, External_Name => "IsKeyReleased"; function Is_Key_Up ( Key : Keyboard_Key := Key_Null ) return Logical with Import => True, Convention => C, External_Name => "IsKeyUp"; function Get_Key_Pressed return Keyboard_Key with Import => True, Convention => C, External_Name => "GetKeyPressed"; function Get_Character_Pressed return Character with Import => True, Convention => C, External_Name => "GetCharPressed"; procedure Set_Exit_Key ( Key : Keyboard_Key := Key_Escape ) with Import => True, Convention => C, External_Name => "SetExitKey"; --~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 Is_Mouse_Button_Pressed ( Button : Mouse_Button := Mouse_Button_Left ) return Logical with Import => True, Convention => C, External_Name => "IsMouseButtonPressed"; function Is_Mouse_Button_Down ( Button : Mouse_Button := Mouse_Button_Left ) return Logical with Import => True, Convention => C, External_Name => "IsMouseButtonDown"; function Is_Mouse_Button_Released ( Button : Mouse_Button := Mouse_Button_Left ) return Logical with Import => True, Convention => C, External_Name => "IsMouseButtonReleased"; function Is_Mouse_Button_Up ( Button : Mouse_Button := Mouse_Button_Left ) return Logical with Import => True, Convention => C, External_Name => "IsMouseButtonUp"; function Get_Mouse_X return Integer with Import => True, Convention => C, External_Name => "GetMouseX"; function Get_Mouse_Y return Integer with Import => True, Convention => C, External_Name => "GetMouseY"; function Get_Mouse_Position return Vector_2D with Import => True, Convention => C, External_Name => "GetMousePosition"; function Get_Mouse_Delta return Vector_2D with Import => True, Convention => C, External_Name => "GetMouseDelta"; procedure Set_Mouse_Position ( X : Integer := 0; Y : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetMousePosition"; procedure Set_Mouse_Offset ( X : Integer := 0; Y : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetMouseOffset"; procedure Set_Mouse_Scale ( X : Float := 0.0; Y : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetMouseScale"; function Get_Mouse_Wheel_Move return Float with Import => True, Convention => C, External_Name => "GetMouseWheelMove"; function Get_Mouse_Wheel_Move_V return Vector_2D with Import => True, Convention => C, External_Name => "GetMouseWheelMoveV"; procedure Set_Mouse_Cursor ( Cursor : Mouse_Cursor := Mouse_Cursor_Default ) with Import => True, Convention => C, External_Name => "SetMouseCursor"; --~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 Update_Camera ( Data : access Camera_3D := null; Mode : Camera_Mode := Camera_First_Person ) with Import => True, Convention => C, External_Name => "UpdateCamera"; procedure Update_Camera_Pro ( Data : access Camera_3D := null; Movement : Vector_3D := (0.0, 0.0, 0.0); Rotation : Vector_3D := (0.0, 0.0, 0.0); Zoom : Float := 0.0 ) with Import => True, Convention => C, External_Name => "UpdateCameraPro"; --~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 Draw_Line ( X0 : Integer := 0; Y0 : Integer := 0; X1 : Integer := 0; Y1 : Integer := 0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawLine"; --~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 Draw_Rectangle ( X : Integer := 0; Y : Integer := 0; Width : Integer := 0; Height : Integer := 0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangle"; procedure Draw_Rectangle_V ( Position : Vector_2D := (0.0, 0.0); Size : Vector_2D := (0.0, 0.0); Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleV"; procedure Draw_Rectangle_Rec ( Data : Rectangle := No_Rectangle; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleRec"; procedure Draw_Rectangle_Pro ( Data : Rectangle := No_Rectangle; Origin : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectanglePro"; procedure Draw_Rectangle_Gradient_V ( X : Integer := 0; Y : Integer := 0; Width : Integer := 0; Height : Integer := 0; Color_1 : Color := Black; Color_2 : Color := White ) with Import => True, Convention => C, External_Name => "DrawRectangleGradientV"; procedure Draw_Rectangle_Gradient_H ( X : Integer := 0; Y : Integer := 0; Width : Integer := 0; Height : Integer := 0; Color_1 : Color := Black; Color_2 : Color := White ) with Import => True, Convention => C, External_Name => "DrawRectangleGradientH"; procedure Draw_Rectangle_Gradient_Ex ( Data : Rectangle := No_Rectangle; Color_1 : Color := Red; Color_2 : Color := Green; Color_3 : Color := Blue; Color_4 : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleGradientEx"; procedure Draw_Rectangle_Lines ( X : Integer := 0; Y : Integer := 0; Width : Integer := 0; Height : Integer := 0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleLines"; procedure Draw_Rectangle_Lines_Ex ( Data : Rectangle := No_Rectangle; Thickness : Float := 1.0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleLinesEx"; procedure Draw_Rectangle_Rounded ( Data : Rectangle := No_Rectangle; Roundness : Float := 1.0; Segments : Integer := 1; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleRounded"; procedure Draw_Rectangle_Rounded_Lines ( Data : Rectangle := No_Rectangle; Roundness : Float := 1.0; Segments : Integer := 1; Thickness : Float := 1.0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawRectangleRoundedLines"; --~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 Load_Texture ( File_Path : String := "" ) return Texture with Import => True, Convention => C, External_Name => "LoadTexture"; --~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 Unload_Texture ( Data : Texture := No_Texture ) with Import => True, Convention => C, External_Name => "UnloadTexture"; function Is_Render_Texture_Ready ( Target : Render_Texture := No_Render_Texture ) return Logical with Import => True, Convention => C, External_Name => "IsRenderTextureReady"; procedure Unload_Render_Texture ( Target : Render_Texture := No_Render_Texture ) with Import => True, Convention => C, External_Name => "UnloadRenderTexture"; procedure Update_Texture ( Data : Texture := No_Texture; Pixels : Pointer := null ) with Import => True, Convention => C, External_Name => "UpdateTexture"; procedure Update_Texture_Rec ( Data : Texture := No_Texture; Source : Rectangle := No_Rectangle; Pixels : Pointer := null ) with Import => True, Convention => C, External_Name => "UpdateTextureRec"; procedure Gen_Texture_Mipmaps ( Data : Texture := No_Texture ) with Import => True, Convention => C, External_Name => "GenTextureMipmaps"; procedure Set_Texture_Filter ( Data : Texture := No_Texture; Filter : Texture_Filter := Texture_Filter_Point ) with Import => True, Convention => C, External_Name => "SetTextureFilter"; procedure Set_Texture_Wrap ( Data : Texture := No_Texture; Wrap : Texture_Wrap := Texture_Wrap_Repeat ) with Import => True, Convention => C, External_Name => "SetTextureWrap"; procedure Draw_Texture ( Data : Texture := No_Texture; X : Integer := 0; Y : Integer := 0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTexture"; procedure Draw_Texture_V ( Data : Texture := No_Texture; Position : Vector_2D := (0.0, 0.0); Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTextureV"; procedure Draw_Texture_Ex ( Data : Texture := No_Texture; Position : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Scale : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTextureEx"; procedure Draw_Texture_Rec ( Data : Texture := No_Texture; Source : Rectangle := No_Rectangle; Position : Vector_2D := (0.0, 0.0); Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTextureRec"; procedure Draw_Texture_Pro ( Data : Texture := No_Texture; Source : Rectangle := No_Rectangle; Destination : Rectangle := No_Rectangle; Origin : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTexturePro"; --~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 Get_Font_Default return Font with Import => True, Convention => C, External_Name => "GetFontDefault"; function Load_Font ( File_Name : String := "" ) return Font with Import => True, Convention => C, External_Name => "LoadFont"; --~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 Unload_Font ( Data : Font := No_Font ) with Import => True, Convention => C, External_Name => "UnloadFont"; --~function bool ExportFontAsCode (Font font, const char *fileName) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_FPS ( X : Integer := 0; Y : Integer := 0 ) with Import => True, Convention => C, External_Name => "DrawFPS"; procedure Draw_Text ( Text : String := ""; X : Integer := 0; Y : Integer := 0; Size : Integer := 32; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawText"; procedure Draw_Text_Ex ( Data : Font := Get_Font_Default; Text : String := ""; Position : Vector_2D := (0.0, 0.0); Font_Size : Float := 0.0; Spacing : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTextEx"; procedure Draw_Text_Pro ( Data : Font := Get_Font_Default; Text : String := ""; Position : Vector_2D := (0.0, 0.0); Origin : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Font_Size : Float := 0.0; Spacing : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawTextPro"; --~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 Set_Text_Line_Spacing ( Spacing : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetTextLineSpacing"; function Measure_Text ( Text : String := ""; Font_Size : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "MeasureText"; function Measure_Text_Ex ( Data : Font := Get_Font_Default; Text : String := ""; Font_Size : Float := 0.0; Spacing : Float := 0.0 ) return Vector_2D with Import => True, Convention => C, External_Name => "MeasureTextEx"; function Get_Glyph_Index ( Data : Font := Get_Font_Default; Code_Point : Integer := 0 ) return Integer with Import => True, Convention => C, External_Name => "GetGlyphIndex"; function Get_Glyph_Info ( Data : Font := Get_Font_Default; Code_Point : Integer := 0 ) return Glyph_Info with Import => True, Convention => C, External_Name => "GetGlyphInfo"; function Get_Glyph_Atlas_Rec ( Data : Font := Get_Font_Default; Code_Point : Integer := 0 ) return Rectangle with Import => True, Convention => C, External_Name => "GetGlyphAtlasRec"; function Load_UTF8 ( Code_Points : access Integer := null; Length : Integer := 0 ) return access Character with Import => True, Convention => C, External_Name => "LoadUTF8"; procedure Unload_UTF8 ( Text : access Character := null ) with Import => True, Convention => C, External_Name => "UnloadUTF8"; --~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 Draw_Cube ( Position : Vector_3D := (0.0, 0.0, 0.0); Width : Float := 0.0; Height : Float := 0.0; Length : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawCube"; --~procedure DrawCubeV (Vector3 position, Vector3 size, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_Cube_Wires ( Position : Vector_3D := (0.0, 0.0, 0.0); Width : Float := 0.0; Height : Float := 0.0; Length : Float := 0.0; Tint : Color := Black ) with Import => True, Convention => C, External_Name => "DrawCubeWires"; --~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 Draw_Plane ( Center : Vector_3D := (0.0, 0.0, 0.0); Size : Vector_2D := (0.0, 0.0); Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawPlane"; --~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 Load_Model ( File_Name : String := "" ) return Model with Import => True, Convention => C, External_Name => "LoadModel"; --~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 Unload_Model ( Data : Model := No_Model ) with Import => True, Convention => C, External_Name => "UnloadModel"; --~function BoundingBox GetModelBoundingBox (Model model) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_Model ( Data : Model := No_Model; Position : Vector_3D := (0.0, 0.0, 0.0); Scale : Float := 1.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawModel"; procedure Draw_Model_Ex ( Data : Model := No_Model; Position : Vector_3D := (0.0, 0.0, 0.0); Axis : Vector_3D := (0.0, 0.0, 0.0); Angle : Float := 0.0; Scale : Vector_3D := (1.0, 1.0, 1.0); Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawModelEx"; --~procedure DrawModelWires (Model model, Vector3 position, float scale, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_Model_Wires_Ex ( Data : Model := No_Model; Position : Vector_3D := (0.0, 0.0, 0.0); Axis : Vector_3D := (0.0, 0.0, 0.0); Angle : Float := 0.0; Scale : Vector_3D := (1.0, 1.0, 1.0); Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawModelWiresEx"; --~procedure DrawBoundingBox (BoundingBox box, Color color) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_Billboard ( Camera : Camera_3D := No_Camera_3D; Billboard : Texture := No_Texture; Position : Vector_3D := (0.0, 0.0, 0.0); Size : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawBillboard"; --~procedure DrawBillboardRec (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) with --~Import => True, --~Convention => C, --~External_Name => ""; procedure Draw_Billboard_Pro ( Camera : Camera_3D := No_Camera_3D; Billboard : Texture := No_Texture; Source : Rectangle := No_Rectangle; Position : Vector_3D := (0.0, 0.0, 0.0); Up : Vector_3D := (0.0, 0.0, 0.0); Size : Vector_2D := (0.0, 0.0); Origin : Vector_2D := (0.0, 0.0); Rotation : Float := 0.0; Tint : Color := White ) with Import => True, Convention => C, External_Name => "DrawBillboardPro"; procedure Upload_Mesh ( Data : access Mesh := null; Dynamic : Logical := False ) with Import => True, Convention => C, External_Name => "UploadMesh"; --~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 Draw_Mesh ( Data : Mesh := No_Mesh; Pixels : Material := No_Material; Transform : Matrix_4D := (others => 0.0) ) with Import => True, Convention => C, External_Name => "DrawMesh"; --~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 Gen_Mesh_Plane ( Width : Float := 1.0; Height : Float := 1.0; X : Integer := 1; Z : Integer := 1 ) return Mesh with Import => True, Convention => C, External_Name => "GenMeshPlane"; --~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 Open_Audio_Device with Import => True, Convention => C, External_Name => "InitAudioDevice"; procedure Close_Audio_Device with Import => True, Convention => C, External_Name => "CloseAudioDevice"; --~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 Load_Sound ( File_Name : String := "" ) return Sound with Import => True, Convention => C, External_Name => "LoadSound"; --~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 Unload_Sound ( Data : Sound := No_Sound ) with Import => True, Convention => C, External_Name => "UnloadSound"; --~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 Play_Sound ( Data : Sound := No_Sound ) with Import => True, Convention => C, External_Name => "PlaySound"; procedure Stop_Sound ( Data : Sound := No_Sound ) with Import => True, Convention => C, External_Name => "StopSound"; procedure Pause_Sound ( Data : Sound := No_Sound ) with Import => True, Convention => C, External_Name => "PauseSound"; procedure Resume_Sound ( Data : Sound := No_Sound ) with Import => True, Convention => C, External_Name => "ResumeSound"; function Is_Sound_Playing ( Data : Sound := No_Sound ) return Logical with Import => True, Convention => C, External_Name => "IsSoundPlaying"; procedure Set_Sound_Volume ( Data : Sound := No_Sound; Volume : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetSoundVolume"; procedure Set_Sound_Pitch ( Data : Sound := No_Sound; Pitch : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetSoundPitch"; procedure Set_Sound_Pan ( Data : Sound := No_Sound; Pan : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetSoundPan"; function Wave_Copy ( Data : Wave := No_Wave ) return Wave with Import => True, Convention => C, External_Name => "WaveCopy"; procedure Wave_Crop ( Data : access Wave := null; First_Sample : Integer := 0; Final_Sample : Integer := 0 ) with Import => True, Convention => C, External_Name => "WaveCrop"; procedure Wave_Format ( Data : access Wave := null; Sample_Rate : Integer := 0; Sample_Size : Integer := 0; Channels : Integer := 0 ) with Import => True, Convention => C, External_Name => "WaveFormat"; function Load_Wave_Samples ( Data : Wave := No_Wave ) return access Float with Import => True, Convention => C, External_Name => "LoadWaveSamples"; procedure Unload_Wave_Samples ( Samples : access Float := null ) with Import => True, Convention => C, External_Name => "UnloadWaveSamples"; function Load_Music_Stream ( File_Name : String := "" ) return Music with Import => True, Convention => C, External_Name => "LoadMusicStream"; function Load_Music_Stream_From_Memory ( File_Type : String := ""; Data : Pointer := null; Data_Size : Integer := 0 ) return Music with Import => True, Convention => C, External_Name => "LoadMusicStreamFromMemory"; function Is_Music_Ready ( Data : Music := No_Music ) return Logical with Import => True, Convention => C, External_Name => "IsMusicReady"; procedure Unload_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "UnloadMusicStream"; procedure Play_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "PlayMusicStream"; function Is_Music_Stream_Playing ( Data : Music := No_Music ) return Logical with Import => True, Convention => C, External_Name => "IsMusicStreamPlaying"; procedure Update_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "UpdateMusicStream"; procedure Stop_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "StopMusicStream"; procedure Pause_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "PauseMusicStream"; procedure Resume_Music_Stream ( Data : Music := No_Music ) with Import => True, Convention => C, External_Name => "ResumeMusicStream"; procedure Seek_Music_Stream ( Data : Music := No_Music; Position : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SeekMusicStream"; procedure Set_Music_Volume ( Data : Music := No_Music; Volume : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetMusicVolume"; procedure Set_Music_Pitch ( Data : Music := No_Music; Pitch : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetMusicPitch"; procedure Set_Music_Pan ( Data : Music := No_Music; Pan : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetMusicPan"; function Get_Music_Time_Length ( Data : Music := No_Music ) return Float with Import => True, Convention => C, External_Name => "GetMusicTimeLength"; function Get_Music_Time_Played ( Data : Music := No_Music ) return Float with Import => True, Convention => C, External_Name => "GetMusicTimePlayed"; function Load_Audio_Stream ( Sample_Rate : Natural := 0; Sample_Size : Natural := 0; Channels : Natural := 0 ) return Audio_Stream with Import => True, Convention => C, External_Name => "LoadAudioStream"; function Is_Audio_Stream_Ready ( Data : Audio_Stream := No_Audio_Stream ) return Logical with Import => True, Convention => C, External_Name => "IsAudioStreamReady"; procedure Unload_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream ) with Import => True, Convention => C, External_Name => "UnloadAudioStream"; procedure Update_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream; Raw_Data : Pointer := null; Frame_Count : Integer := 0 ) with Import => True, Convention => C, External_Name => "UpdateAudioStream"; function Is_Audio_Stream_Processed ( Data : Audio_Stream := No_Audio_Stream ) return Logical with Import => True, Convention => C, External_Name => "IsAudioStreamProcessed"; procedure Play_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream ) with Import => True, Convention => C, External_Name => "PlayAudioStream"; procedure Pause_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream ) with Import => True, Convention => C, External_Name => "PauseAudioStream"; procedure Resume_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream ) with Import => True, Convention => C, External_Name => "ResumeAudioStream"; function Is_Audio_Stream_Playing ( Data : Audio_Stream := No_Audio_Stream ) return Logical with Import => True, Convention => C, External_Name => "IsAudioStreamPlaying"; procedure Stop_Audio_Stream ( Data : Audio_Stream := No_Audio_Stream ) with Import => True, Convention => C, External_Name => "StopAudioStream"; procedure Set_Audio_Stream_Volume ( Data : Audio_Stream := No_Audio_Stream; Volume : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetAudioStreamVolume"; procedure Set_Audio_Stream_Pitch ( Data : Audio_Stream := No_Audio_Stream; Pitch : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetAudioStreamPitch"; procedure Set_Audio_Stream_Pan ( Data : Audio_Stream := No_Audio_Stream; Pan : Float := 0.0 ) with Import => True, Convention => C, External_Name => "SetAudioStreamPan"; procedure Set_Audio_Stream_Buffer_Size_Default ( Size : Integer := 0 ) with Import => True, Convention => C, External_Name => "SetAudioStreamBufferSizeDefault"; --~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;