raylib-ada/raylib.ads

4461 lines
120 KiB
Ada

------------------------------------------------------------------------
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;
No_Bone_Info : Bone_Info;
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;
No_Model_Animation : Model_Animation;
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;
No_Ray : Ray;
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;
No_Ray_Collision : Ray_Collision;
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;
No_Bounding_Box : Bounding_Box;
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);
------------------------------------------------------------------------
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";
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 Set_Shapes_Texture (
Data : Texture := No_Texture;
Source : Rectangle := No_Rectangle
) with
Import => True,
Convention => C,
External_Name => "SetShapesTexture";
procedure Draw_Pixel (
X : Integer := 0;
Y : Integer := 0;
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawPixel";
procedure Draw_Pixel_V (
Position : Vector_2D := (0.0, 0.0);
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawPixelV";
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 Draw_Line_V (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawLineV";
procedure Draw_Line_Ex (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
Thick : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawLineEx";
procedure Draw_Line_Strip (
Points : access Vector_2D := null;
Point_Count : Natural := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawLineStrip";
procedure Draw_Line_Bezier (
From : Vector_2D := (0.0, 0.0);
To : Vector_2D := (0.0, 0.0);
Thick : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawLineBezier";
procedure Draw_Circle (
X : Integer := 0;
Y : Integer := 0;
Radius : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircle";
procedure Draw_Circle_Sector (
Center : Vector_2D := (0.0, 0.0);
Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
Segments : Integer := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircleSector";
procedure Draw_Circle_Sector_Lines (
Center : Vector_2D := (0.0, 0.0);
Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
Segments : Integer := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircleSectorLines";
procedure Draw_Circle_Gradient (
X : Integer := 0;
Y : Integer := 0;
Radius : Float := 0.0;
Tint_1 : Color := Black;
Tint_2 : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawCircleGradient";
procedure Draw_Circle_V (
Center : Vector_2D := (0.0, 0.0);
Radius : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircleV";
procedure Draw_Circle_Lines (
X : Integer := 0;
Y : Integer := 0;
Radius : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircleLines";
procedure Draw_Circle_Lines_V (
Center : Vector_2D := (0.0, 0.0);
Radius : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawCircleLinesV";
procedure Draw_Ellipse (
X : Integer := 0;
Y : Integer := 0;
Horizontal : Float := 0.0;
Vertical : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawEllipse";
procedure Draw_Ellipse_Lines (
X : Integer := 0;
Y : Integer := 0;
Horizontal : Float := 0.0;
Vertical : Float := 0.0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawEllipseLines";
procedure Draw_Ring (
Center : Vector_2D := (0.0, 0.0);
Inner_Radius : Float := 0.0;
Outer_Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
Segments : Integer := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawRing";
procedure Draw_Ring_Lines (
Center : Vector_2D := (0.0, 0.0);
Inner_Radius : Float := 0.0;
Outer_Radius : Float := 0.0;
From : Float := 0.0;
To : Float := 0.0;
Segments : Integer := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawRingLines";
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 Load_Font_Ex (
File_Name : String := "";
Font_Size : Integer := 32;
Code_Points : access Integer := null;
Code_Point_Count : Natural := 0
) return Font with
Import => True,
Convention => C,
External_Name => "LoadFontEx";
function Load_Font_From_Image (
Data : Image := No_Image;
Key : Color := White;
First_Character : Integer := 0
) return Font with
Import => True,
Convention => C,
External_Name => "LoadFontFromImage";
function Load_Font_From_Memory (
File_Type : String := "";
File_Data : Pointer := null;
Data_Size : Natural := 0;
Font_Size : Integer := 32;
Code_Points : access Integer := null;
Code_Point_Count : Natural := 0
) return Font with
Import => True,
Convention => C,
External_Name => "LoadFontFromMemory";
function Is_Font_Ready (
Data : Font := No_Font
) return Logical with
Import => True,
Convention => C,
External_Name => "IsFontReady";
function Load_Font_Data (
File_Data : Pointer := null;
Data_Size : Natural := 0;
Font_Size : Integer := 32;
Code_Points : access Integer := null;
Code_Point_Count : Natural := 0;
Kind : Integer := 0
) return access Glyph_Info with
Import => True,
Convention => C,
External_Name => "LoadFontData";
function Gen_Image_Font_Atlas (
Glyphs : access Glyph_Info := null;
Glyph_Rectangles : access Rectangle := null;
Glyph_Count : Integer := 0;
Font_Size : Integer := 32;
Padding : Integer := 0;
Pack_Method : Integer := 0
) return Image with
Import => True,
Convention => C,
External_Name => "GenImageFontAtlas";
procedure Unload_Font_Data (
Glyphs : access Glyph_Info := null;
Glyph_Count : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "UnloadFontData";
procedure Unload_Font (
Data : Font := No_Font
) with
Import => True,
Convention => C,
External_Name => "UnloadFont";
function Export_Font_As_Code (
Data : Font := No_Font;
File_Name : String := ""
) return Logical with
Import => True,
Convention => C,
External_Name => "ExportFontAsCode";
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 Gen_Mesh_Cube (
Width : Float := 0.0;
Height : Float := 0.0;
Length : Float := 0.0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshCube";
function Gen_Mesh_Sphere (
Radius : Float := 0.0;
Rings : Integer := 0;
Slices : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshSphere";
function Gen_Mesh_Hemisphere (
Radius : Float := 0.0;
Rings : Integer := 0;
Slices : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshHemiSphere";
function Gen_Mesh_Cylinder (
Radius : Float := 0.0;
Height : Float := 0.0;
Slices : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshCylinder";
function Gen_Mesh_Cone (
Radius : Float := 0.0;
Height : Float := 0.0;
Slices : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshCone";
function Gen_Mesh_Torus (
Radius : Float := 0.0;
Size : Float := 0.0;
Segments : Integer := 0;
Sides : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshTorus";
function Gen_Mesh_Knot (
Radius : Float := 0.0;
Size : Float := 0.0;
Segments : Integer := 0;
Sides : Integer := 0
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshKnot";
function Gen_Mesh_Height_Map (
Height_Map : Image := No_Image;
Size : Vector_3D := (0.0, 0.0, 0.0)
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshHeightmap";
function Gen_Mesh_Cubic_Map (
Cubic_Map : Image := No_Image;
Size : Vector_3D := (0.0, 0.0, 0.0)
) return Mesh with
Import => True,
Convention => C,
External_Name => "GenMeshCubicmap";
function Load_Materials (
File_Name : String := "";
Counts : access Integer := null
) return access Material with
Import => True,
Convention => C,
External_Name => "LoadMaterials";
function Load_Material_Default return Material with
Import => True,
Convention => C,
External_Name => "LoadMaterialDefault";
function Is_Material_Ready (
Data : Material := No_Material
) return Logical with
Import => True,
Convention => C,
External_Name => "IsMaterialReady";
procedure Unload_Material (
Data : Material := No_Material
) with
Import => True,
Convention => C,
External_Name => "UnloadMaterial";
procedure Set_Material_Texture (
Data : access Material := null;
Kind : Material_Map_Index := Material_Map_Height;
This : Texture := No_Texture
) with
Import => True,
Convention => C,
External_Name => "SetMaterialTexture";
procedure Set_Model_Mesh_Material (
Data : access Model := null;
Mesh_Id : Integer := 0;
Material_Id : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "SetModelMeshMaterial";
function Load_Model_Animations (
File_Name : String := "";
Counts : access Integer := null
) return access Model_Animation with
Import => True,
Convention => C,
External_Name => "LoadModelAnimations";
procedure Update_Model_Animation (
Data : Model := No_Model;
Animation : Model_Animation := No_Model_Animation;
Frame : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "UpdateModelAnimation";
procedure Unload_Model_Animation (
Animation : Model_Animation := No_Model_Animation
) with
Import => True,
Convention => C,
External_Name => "UnloadModelAnimation";
procedure Unload_Model_Animations (
Animations : access Model_Animation := null;
Animation_Count : Natural := 0
) with
Import => True,
Convention => C,
External_Name => "UnloadModelAnimations";
function Is_Model_Animation_Valid (
Data : Model := No_Model;
Animation : Model_Animation := No_Model_Animation
) return Logical with
Import => True,
Convention => C,
External_Name => "IsModelAnimationValid";
function Check_Collision_Spheres (
Center_1 : Vector_3D := (0.0, 0.0, 0.0);
Radius_1 : Float := 0.0;
Center_2 : Vector_3D := (0.0, 0.0, 0.0);
Radius_2 : Float := 0.0
) return Logical with
Import => True,
Convention => C,
External_Name => "CheckCollisionSpheres";
function Check_Collision_Boxes (
Box_1 : Bounding_Box := No_Bounding_Box;
Box_2 : Bounding_Box := No_Bounding_Box
) return Logical with
Import => True,
Convention => C,
External_Name => "CheckCollisionBoxes";
function Check_Collision_Box_Sphere (
Box : Bounding_Box := No_Bounding_Box;
Center : Vector_3D := (0.0, 0.0, 0.0);
Radius : Float := 0.0
) return Logical with
Import => True,
Convention => C,
External_Name => "CheckCollisionBoxSphere";
function Get_Ray_Collision_Sphere (
Hit : Ray := No_Ray;
Center : Vector_3D := (0.0, 0.0, 0.0);
Radius : Float := 0.0
) return Ray_Collision with
Import => True,
Convention => C,
External_Name => "GetRayCollisionSphere";
function Get_Ray_Collision_Box (
Hit : Ray := No_Ray;
Box : Bounding_Box := No_Bounding_Box
) return Ray_Collision with
Import => True,
Convention => C,
External_Name => "GetRayCollisionBox";
function Get_Ray_Collision_Mesh (
Hit : Ray := No_Ray;
Data : Mesh := No_Mesh;
Transform : Matrix_4D := Id_Matrix
) return Ray_Collision with
Import => True,
Convention => C,
External_Name => "GetRayCollisionMesh";
function Get_Ray_Collision_Triangle (
Hit : Ray := No_Ray;
Point_1 : Vector_3D := (0.0, 0.0, 0.0);
Point_2 : Vector_3D := (0.0, 0.0, 0.0);
Point_3 : Vector_3D := (0.0, 0.0, 0.0)
) return Ray_Collision with
Import => True,
Convention => C,
External_Name => "GetRayCollisionTriangle";
function Get_Ray_Collision_Quad (
Hit : Ray := No_Ray;
Point_1 : Vector_3D := (0.0, 0.0, 0.0);
Point_2 : Vector_3D := (0.0, 0.0, 0.0);
Point_3 : Vector_3D := (0.0, 0.0, 0.0);
Point_4 : Vector_3D := (0.0, 0.0, 0.0)
) return Ray_Collision with
Import => True,
Convention => C,
External_Name => "GetRayCollisionQuad";
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 Is_Audio_Device_Ready return Logical with
Import => True,
Convention => C,
External_Name => "IsAudioDeviceReady";
procedure Set_Master_Volume (Volume : Float := 1.0) with
Import => True,
Convention => C,
External_Name => "SetMasterVolume";
function Get_Master_Volume return Float with
Import => True,
Convention => C,
External_Name => "GetMasterVolume";
function Load_Wave (
File_Name : String := ""
) return Wave with
Import => True,
Convention => C,
External_Name => "LoadWave";
function Load_Wave_From_Memory (
File_Type : String := "";
File_Data : Pointer := null;
Data_Size : Natural := 0
) return Wave with
Import => True,
Convention => C,
External_Name => "LoadWaveFromMemory";
function Is_Wave_Ready (
Data : Wave := No_Wave
) return Logical with
Import => True,
Convention => C,
External_Name => "IsWaveReady";
function Load_Sound (
File_Name : String := ""
) return Sound with
Import => True,
Convention => C,
External_Name => "LoadSound";
function Load_Sound_From_Wave (
Data : Wave := No_Wave
) return Sound with
Import => True,
Convention => C,
External_Name => "LoadSoundFromWave";
function Load_Sound_Alias (
Source : Sound := No_Sound
) return Sound with
Import => True,
Convention => C,
External_Name => "LoadSoundAlias";
function Is_Sound_Ready (
Source : Sound := No_Sound
) return Logical with
Import => True,
Convention => C,
External_Name => "IsSoundReady";
procedure Update_Sound (
Source : Sound := No_Sound;
Data : Pointer := null;
Sample_Count : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "UpdateSound";
procedure Unload_Wave (
Data : Wave := No_Wave
) with
Import => True,
Convention => C,
External_Name => "UnloadWave";
procedure Unload_Sound (
Data : Sound := No_Sound
) with
Import => True,
Convention => C,
External_Name => "UnloadSound";
procedure Unload_Sound_Alias (
Alias : Sound := No_Sound
) with
Import => True,
Convention => C,
External_Name => "UnloadSoundAlias";
function Export_Wave (
Data : Wave := No_Wave;
File_Name : String := ""
) return Logical with
Import => True,
Convention => C,
External_Name => "ExportWave";
function Export_Wave_As_Code (
Data : Wave := No_Wave;
File_Name : String := ""
) return Logical with
Import => True,
Convention => C,
External_Name => "ExportWaveAsCode";
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 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;