raylib-ada/raylib.ads

3982 lines
116 KiB
Ada
Raw Normal View History

2024-03-18 08:06:11 -04:00
------------------------------------------------------------------------
--
-- raylib v5.1-dev - A simple and easy-to-use library to enjoy videogames programming (www.raylib.com)
--
-- FEATURES:
-- - NO external dependencies, all required libraries included with raylib
-- - Multiplatform: Windows, Linux, FreeBSD, OpenBSD, NetBSD, DragonFly,
-- MacOS, Haiku, Android, Raspberry Pi, DRM native, HTML5.
-- - Written in plain C code (C99) in PascalCase/camelCase notation
-- - Hardware accelerated with OpenGL (1.1, 2.1, 3.3, 4.3 or ES2 - choose at compile)
-- - Unique OpenGL abstraction layer (usable as standalone module): [rlgl]
-- - Multiple Fonts formats supported (TTF, XNA fonts, AngelCode fonts)
-- - Outstanding texture formats support, including compressed formats (DXT, ETC, ASTC)
-- - Full 3d support for 3d Shapes, Models, Billboards, Heightmaps and more!
-- - Flexible Materials system, supporting classic maps and PBR maps
-- - Animated 3D models supported (skeletal bones animation) (IQM)
-- - Shaders support, including Model shaders and Postprocessing shaders
-- - Powerful math module for Vector, Matrix and Quaternion operations: [raymath]
-- - Audio loading and playing with streaming support (WAV, OGG, MP3, FLAC, XM, MOD)
-- - VR stereo rendering with configurable HMD device parameters
-- - Bindings to multiple programming languages available!
--
-- NOTES:
-- - One default Font is loaded on InitWindow()->LoadFontDefault() [core, text]
-- - One default Texture2D is loaded on rlglInit(), 1x1 white pixel R8G8B8A8 [rlgl] (OpenGL 3.3 or ES2)
-- - One default Shader is loaded on rlglInit()->rlLoadShaderDefault() [rlgl] (OpenGL 3.3 or ES2)
-- - One default RenderBatch is loaded on rlglInit()->rlLoadRenderBatch() [rlgl] (OpenGL 3.3 or ES2)
--
-- DEPENDENCIES (included):
-- [rcore] rglfw (Camilla Löwy - github.com/glfw/glfw) for window/context management and input (PLATFORM_DESKTOP)
-- [rlgl] glad (David Herberth - github.com/Dav1dde/glad) for OpenGL 3.3 extensions loading (PLATFORM_DESKTOP)
-- [raudio] miniaudio (David Reid - github.com/mackron/miniaudio) for audio device/context management
--
-- OPTIONAL DEPENDENCIES (included):
-- [rcore] msf_gif (Miles Fogle) for GIF recording
-- [rcore] sinfl (Micha Mettke) for DEFLATE decompression algorithm
-- [rcore] sdefl (Micha Mettke) for DEFLATE compression algorithm
-- [rtextures] stb_image (Sean Barret) for images loading (BMP, TGA, PNG, JPEG, HDR...)
-- [rtextures] stb_image_write (Sean Barret) for image writing (BMP, TGA, PNG, JPG)
-- [rtextures] stb_image_resize (Sean Barret) for image resizing algorithms
-- [rtext] stb_truetype (Sean Barret) for ttf fonts loading
-- [rtext] stb_rect_pack (Sean Barret) for rectangles packing
-- [rmodels] par_shapes (Philip Rideout) for parametric 3d shapes generation
-- [rmodels] tinyobj_loader_c (Syoyo Fujita) for models loading (OBJ, MTL)
-- [rmodels] cgltf (Johannes Kuhlmann) for models loading (glTF)
-- [rmodels] Model3D (bzt) for models loading (M3D, https:--bztsrc.gitlab.io/model3d)
-- [raudio] dr_wav (David Reid) for WAV audio file loading
-- [raudio] dr_flac (David Reid) for FLAC audio file loading
-- [raudio] dr_mp3 (David Reid) for MP3 audio file loading
-- [raudio] stb_vorbis (Sean Barret) for OGG audio loading
-- [raudio] jar_xm (Joshua Reisenauer) for XM audio module loading
-- [raudio] jar_mod (Joshua Reisenauer) for MOD audio module loading
--
--
-- LICENSE: zlib/libpng
--
-- raylib is licensed under an unmodified zlib/libpng license, which is an OSI-certified,
-- BSD-like license that allows static linking with closed source software:
--
-- Copyright (c) 2013-2023 Ramon Santamaria (@raysan5)
--
-- This software is provided "as-is", without any express or implied warranty. In no event
-- will the authors be held liable for any damages arising from the use of this software.
--
-- Permission is granted to anyone to use this software for any purpose, including commercial
-- applications, and to alter it and redistribute it freely, subject to the following restrictions:
--
-- 1. The origin of this software must not be misrepresented; you must not claim that you
-- wrote the original software. If you use this software in a product, an acknowledgment
-- in the product documentation would be appreciated but is not required.
--
-- 2. Altered source versions must be plainly marked as such, and must not be misrepresented
-- as being the original software.
--
-- 3. This notice may not be removed or altered from any source distribution.
--
-- Documenting small changes I've made to avoid the confusion:
-- -- Changed all names from PascalCase to Ada_Case.
-- -- Removed 2D from some names, added _ND to other names.
-- -- What was once an integer is now a properly checked enumeration.
-- -- IDE with search support can handle things changed above...
-- --
-- --
-- --
-- --
--
------------------------------------------------------------------------
with System;
package Raylib is
------------------------------------------------------------------------
2024-03-18 08:19:30 -04:00
type Logical is new Boolean;
--
for Logical'Size use 32;
2024-03-18 08:06:11 -04:00
type Config_Flags is (
2024-03-18 15:48:53 -04:00
Flag_None,
2024-03-18 08:06:11 -04:00
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 (
2024-03-18 15:48:53 -04:00
Flag_None => 16#00000000#,
2024-03-18 08:06:11 -04:00
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;
2024-03-18 08:06:11 -04:00
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
2024-03-18 15:28:32 -04:00
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;
2024-03-18 08:06:11 -04:00
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
2024-03-18 11:43:03 -04:00
Id : Natural := 0;
Width : Integer := 0;
Height : Integer := 0;
Mipmaps : Integer := 1;
Format : Pixel_Format := Pixel_Format_None;
2024-03-18 08:06:11 -04:00
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;
2024-03-18 08:06:11 -04:00
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;
2024-03-18 15:28:32 -04:00
No_Camera_3D : Camera_3D;
2024-03-18 08:06:11 -04:00
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;
2024-03-18 15:28:32 -04:00
No_Camera_2D : Camera_2D;
2024-03-18 08:06:11 -04:00
type Mesh is record
Vertex_Count : Integer := 0;
Triangle_Count : Integer := 0;
Vertices : access Float := null;
Texture_Coordinates : access Float := null;
Texture_Coordinates_2 : access Float := null;
Normals : access Float := null;
Tangents : access Float := null;
Colors : access Color_Range := null;
Indices : access Index_Range := null;
Animation_Vertices : access Float := null;
Animation_Normals : access Float := null;
Bone_Ids : access Color_Range := null;
Bone_Weights : access Float := null;
VAO_Id : Natural := 0;
VBO_Id : access Natural := null;
end record with Convention => C_Pass_By_Copy;
No_Mesh : Mesh;
type Shader is record
Id : Natural := 0;
Locations : access Integer := null;
end record with Convention => C_Pass_By_Copy;
No_Shader : Shader;
type Material_Map is record
Data : Texture := No_Texture;
Tint : Color := No_Color;
Value : Float := 0.0;
end record with Convention => C_Pass_By_Copy;
type Float_Array_4 is array (0 .. 3) of Float;
type Material is record
Data : Shader := No_Shader;
Map : access Material_Map := null;
Parameter : Float_Array_4 := (0.0, 0.0, 0.0, 0.0);
end record with Convention => C_Pass_By_Copy;
type Transform is record
Translation : Vector_3D := (0.0, 0.0, 0.0);
Rotation : Vector_4D := (0.0, 0.0, 0.0, 0.0);
Scale : Vector_3D := (0.0, 0.0, 0.0);
end record with Convention => C_Pass_By_Copy;
type Character_Array_32 is array (0 .. 31) of Character;
Empty : Character_Array_32 := (others => Character'Val (0));
type Bone_Info is record
Name : Character_Array_32 := Empty;
Parent : Integer := 0;
end record with Convention => C_Pass_By_Copy;
type Model is record
Transform : Matrix_4D := Id_Matrix;
Mesh_Count : Integer := 0;
Material_Count : Integer := 0;
Meshes : access Mesh := null;
Materials : access Material := null;
Mesh_Materials : access Integer := null;
Bone_Count : Integer := 0;
Bones : access Bone_Info := null;
--~Bind_Post : access Transform := null; ERROR
end record with Convention => C_Pass_By_Copy;
type Model_Animation is record
Bone_Count : Integer := 0;
Frame_Count : Integer := 0;
Bones : access Bone_Info := null;
Frame_Poses : access Transform := null;
Name : Character_Array_32 := Empty;
end record with Convention => C_Pass_By_Copy;
type Ray is record
Position : Vector_3D := (0.0, 0.0, 0.0);
Direction : Vector_3D := (0.0, 0.0, 0.0);
end record with Convention => C_Pass_By_Copy;
type Ray_Collision is record
2024-03-18 08:19:30 -04:00
Hit : Logical := False;
2024-03-18 08:06:11 -04:00
Distance : Float := 0.0;
Point : Vector_3D := (0.0, 0.0, 0.0);
Normal : Vector_3D := (0.0, 0.0, 0.0);
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
type Bounding_Box is record
Min : Vector_3D := (0.0, 0.0, 0.0);
Max : Vector_3D := (0.0, 0.0, 0.0);
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
type Wave is record
Frame_Count : Natural := 0;
Sample_Rate : Natural := 0;
Sample_Size : Natural := 0;
Channels : Natural := 0;
Data : Pointer := null;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
type Audio_Stream is record
Buffer : Pointer := null;
Processor : Pointer := null;
Sample_Rate : Natural := 0;
Sample_Size : Natural := 0;
Channels : Natural := 0;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
No_Audio_Stream : Audio_Stream;
type Sound is record
Stream : Audio_Stream := No_Audio_Stream;
Frame_Count : Natural := 0;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
type Music is record
Stream : Audio_Stream := No_Audio_Stream;
Frame_Count : Natural := 0;
2024-03-18 08:19:30 -04:00
Looping : Logical := False;
2024-03-18 08:06:11 -04:00
Context_Type : Integer := 0;
Context_Data : Pointer := null;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
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);
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
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);
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
No_VR_Stereo_Config : VR_Stereo_Config;
type File_Path_List is record
Capacity : Natural := 0;
Count : Natural := 0;
Paths : Pointer := null;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
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);
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
type Automation_Event_List is record
Capacity : Natural := 0;
Count : Natural := 0;
Events : access Automation_Event := null;
2024-03-18 11:43:03 -04:00
end record with Convention => C_Pass_By_Copy;
2024-03-18 08:06:11 -04:00
------------------------------------------------------------------------
Version_Major : constant Integer := 5;
Version_Minor : constant Integer := 1;
Version_Patch : constant Integer := 0;
Version : aliased constant String := "5.1-dev";
Pi : constant Float := 3.14159265358979323846;
Tau : constant Float := 2.0 * Pi;
Degree_To_Radius : constant Float := Pi / 180.0;
Radius_To_Degree : constant Float := 180.0 / Pi;
Light_Gray : constant Color := (200, 200, 200, 255);
Gray : constant Color := (130, 130, 130, 255);
Dark_Gray : constant Color := (80, 80, 80, 255);
Yellow : constant Color := (253, 249, 0, 255);
Gold : constant Color := (255, 203, 0, 255);
Orange : constant Color := (255, 161, 0, 255);
Pink : constant Color := (255, 109, 194, 255);
Red : constant Color := (230, 41, 55, 255);
Maroon : constant Color := (190, 33, 55, 255);
Green : constant Color := (0, 228, 48, 255);
Lime : constant Color := (0, 158, 47, 255);
Dark_Green : constant Color := (0, 117, 44, 255);
Sky_Blue : constant Color := (102, 191, 255, 255);
Blue : constant Color := (0, 121, 241, 255);
Dark_Blue : constant Color := (0, 82, 172, 255);
Purple : constant Color := (200, 122, 255, 255);
Violet : constant Color := (135, 60, 190, 255);
Dark_Purple : constant Color := (112, 31, 126, 255);
Beige : constant Color := (211, 176, 131, 255);
Brown : constant Color := (127, 106, 79, 255);
Dark_Brown : constant Color := (76, 63, 47, 255);
White : constant Color := (255, 255, 255, 255);
Black : constant Color := (0, 0, 0, 255);
Blank : constant Color := (0, 0, 0, 0 );
Magenta : constant Color := (255, 0, 255, 255);
Ray_White : constant Color := (245, 245, 245, 255);
------------------------------------------------------------------------
--~typedef void (*TraceLogCallback)(int logLevel, const char *text, va_list args); -- Logging: Redirect trace log messages
--~typedef unsigned char *(*LoadFileDataCallback)(const char *fileName, int *dataSize); -- FileIO: Load binary data
--~typedef bool (*SaveFileDataCallback)(const char *fileName, void *data, int dataSize); -- FileIO: Save binary data
--~typedef char *(*LoadFileTextCallback)(const char *fileName); -- FileIO: Load text data
--~typedef bool (*SaveFileTextCallback)(const char *fileName, char *text); -- FileIO: Save text data
procedure Open_Window (
Width : Integer := 640;
Height : Integer := 480;
Title : String := ""
) with
Import => True,
Convention => C,
External_Name => "InitWindow";
procedure Close_Window with
Import => True,
Convention => C,
External_Name => "CloseWindow";
2024-03-18 08:19:30 -04:00
function Window_Should_Close return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "WindowShouldClose";
2024-03-18 08:19:30 -04:00
function Is_Window_Ready return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowReady";
2024-03-18 08:19:30 -04:00
function Is_Window_Fullscreen return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowFullscreen";
2024-03-18 08:19:30 -04:00
function Is_Window_Hidden return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowHidden";
2024-03-18 08:19:30 -04:00
function Is_Window_Minimized return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowMinimized";
2024-03-18 08:19:30 -04:00
function Is_Window_Maximized return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowMaximized";
2024-03-18 08:19:30 -04:00
function Is_Window_Focused return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowFocused";
2024-03-18 08:19:30 -04:00
function Is_Window_Resized return Logical with
2024-03-18 08:06:11 -04:00
Import => True,
Convention => C,
External_Name => "IsWindowResized";
function Is_Window_State (
Flags : Natural := 0
2024-03-18 08:19:30 -04:00
) return Logical with
2024-03-18 08:06:11 -04:00
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";
2024-03-18 08:19:30 -04:00
function Is_Cursor_Hidden return Logical with
2024-03-18 08:06:11 -04:00
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";
2024-03-18 08:19:30 -04:00
function Is_Cursor_On_Screen return Logical with
2024-03-18 08:06:11 -04:00
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
2024-03-18 08:19:30 -04:00
) return Logical with
2024-03-18 08:06:11 -04:00
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";
2024-03-18 15:28:32 -04:00
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";
2024-03-18 15:48:53 -04:00
procedure Set_Target_FPS (
FPS : Integer := 60
) with
Import => True,
Convention => C,
External_Name => "SetTargetFPS";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Get_Frame_Time return Float with
Import => True,
Convention => C,
External_Name => "GetFrameTime";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Get_Time return Long_Float with
Import => True,
Convention => C,
External_Name => "GetTime";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Get_FPS return Integer with
Import => True,
Convention => C,
External_Name => "GetFPS";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Swap_Screen_Buffer with
Import => True,
Convention => C,
External_Name => "SwapScreenBuffer";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Poll_Input_Events with
Import => True,
Convention => C,
External_Name => "PollInputEvents";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Wait_Time (
Seconds : Long_Float := 0.0
) with
Import => True,
Convention => C,
External_Name => "WaitTime";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Set_Random_Seed (
Seed : Natural := 16#0EADBEEF#
) with
Import => True,
Convention => C,
External_Name => "SetRandomSeed";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Get_Random_Value (
Min : Integer := 0;
Max : Integer := 255
) return Integer with
Import => True,
Convention => C,
External_Name => "GetRandomValue";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Load_Random_Sequence (
Count : Natural := 0;
Min : Integer := 0;
Max : Integer := 0
) return access Integer with
Import => True,
Convention => C,
External_Name => "LoadRandomSequence";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Unload_Random_Sequence (
Sequence : access Integer := null
) with
Import => True,
Convention => C,
External_Name => "UnloadRandomSequence";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Take_Screenshot (
File_Name : String := "Screenshot.png"
) with
Import => True,
Convention => C,
External_Name => "TakeScreenshot";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Set_Config_Flags (
Flags : Config_Flags := Flag_None
) with
Import => True,
Convention => C,
External_Name => "SetConfigFlags";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Open_URL (
URL : String := ""
) with
Import => True,
Convention => C,
External_Name => "OpenURL";
2024-03-18 08:06:11 -04:00
--~procedure TraceLog (int logLevel, const char *text, ...) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "TraceLog";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Set_Trace_Log_Level (
Level : Trace_Log_Level := Log_All
) with
Import => True,
Convention => C,
External_Name => "SetTraceLogLevel";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Allocate (
Size : Natural := 0
) return Pointer with
Import => True,
Convention => C,
External_Name => "MemAlloc";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Reallocate (
Data : Pointer := null;
Size : Natural := 0
) return Pointer with
Import => True,
Convention => C,
External_Name => "MemRealloc";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Deallocate (
Data : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "MemFree";
2024-03-18 08:06:11 -04:00
--~procedure SetTraceLogCallback (TraceLogCallback callback) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetTraceLogCallback";
2024-03-18 08:06:11 -04:00
--~procedure SetLoadFileDataCallback (LoadFileDataCallback callback) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetLoadFileDataCallback";
2024-03-18 08:06:11 -04:00
--~procedure SetSaveFileDataCallback (SaveFileDataCallback callback) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetSaveFileDataCallback";
2024-03-18 08:06:11 -04:00
--~procedure SetLoadFileTextCallback (LoadFileTextCallback callback) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetLoadFileTextCallback";
2024-03-18 08:06:11 -04:00
--~procedure SetSaveFileTextCallback (SaveFileTextCallback callback) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetSaveFileTextCallback";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
function Load_File_Data (
File_Name : String := "";
Data_Size : access Integer := null
) return access Character with
Import => True,
Convention => C,
External_Name => "LoadFileData";
2024-03-18 08:06:11 -04:00
2024-03-18 15:48:53 -04:00
procedure Unload_File_Data (
Data : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "UnloadFileData";
2024-03-18 08:06:11 -04:00
--~function bool SaveFileData (const char *fileName, void *data, int dataSize) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SaveFileData";
2024-03-18 08:06:11 -04:00
--~function bool ExportDataAsCode (const unsigned char *data, int dataSize, const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "ExportDataAsCode";
2024-03-18 08:06:11 -04:00
--~function char *LoadFileText (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "LoadFileText";
2024-03-18 08:06:11 -04:00
--~procedure UnloadFileText (char *text) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "UnloadFileText";
2024-03-18 08:06:11 -04:00
--~function bool SaveFileText (const char *fileName, char *text) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SaveFileText";
2024-03-18 08:06:11 -04:00
--~function bool FileExists (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "FileExists";
2024-03-18 08:06:11 -04:00
--~function bool DirectoryExists (const char *dirPath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "DirectoryExists";
2024-03-18 08:06:11 -04:00
--~function bool IsFileExtension (const char *fileName, const char *ext) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "IsFileExtension";
2024-03-18 08:06:11 -04:00
--~function int GetFileLength (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetFileLength";
2024-03-18 08:06:11 -04:00
--~function const char *GetFileExtension (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetFileExtension";
2024-03-18 08:06:11 -04:00
--~function const char *GetFileName (const char *filePath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetFileName";
2024-03-18 08:06:11 -04:00
--~function const char *GetFileNameWithoutExt (const char *filePath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetFileNameWithoutExt";
2024-03-18 08:06:11 -04:00
--~function const char *GetDirectoryPath (const char *filePath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetDirectoryPath";
2024-03-18 08:06:11 -04:00
--~function const char *GetPrevDirectoryPath (const char *dirPath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetPrevDirectoryPath";
2024-03-18 08:06:11 -04:00
--~function const char *GetWorkingDirectory (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetWorkingDirectory";
2024-03-18 08:06:11 -04:00
--~function const char *GetApplicationDirectory (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetApplicationDirectory";
2024-03-18 08:06:11 -04:00
--~function bool ChangeDirectory (const char *dir) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "ChangeDirectory";
2024-03-18 08:06:11 -04:00
--~function bool IsPathFile (const char *path) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "IsPathFile";
2024-03-18 08:06:11 -04:00
--~function FilePathList LoadDirectoryFiles (const char *dirPath) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "LoadDirectoryFiles";
2024-03-18 08:06:11 -04:00
--~function FilePathList LoadDirectoryFilesEx (const char *basePath, const char *filter, bool scanSubdirs) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "LoadDirectoryFilesEx";
2024-03-18 08:06:11 -04:00
--~procedure UnloadDirectoryFiles (FilePathList files) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "UnloadDirectoryFiles";
2024-03-18 08:06:11 -04:00
--~function bool IsFileDropped (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "IsFileDropped";
2024-03-18 08:06:11 -04:00
--~function FilePathList LoadDroppedFiles (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "LoadDroppedFiles";
2024-03-18 08:06:11 -04:00
--~procedure UnloadDroppedFiles (FilePathList files) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "UnloadDroppedFiles";
2024-03-18 08:06:11 -04:00
--~function long GetFileModTime (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "GetFileModTime";
2024-03-18 08:06:11 -04:00
--~function unsigned char *CompressData (const unsigned char *data, int dataSize, int *compDataSize) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "CompressData";
2024-03-18 08:06:11 -04:00
--~function unsigned char *DecompressData (const unsigned char *compData, int compDataSize, int *dataSize) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "DecompressData";
2024-03-18 08:06:11 -04:00
--~function char *EncodeDataBase64 (const unsigned char *data, int dataSize, int *outputSize) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "EncodeDataBase64";
2024-03-18 08:06:11 -04:00
--~function unsigned char *DecodeDataBase64 (const unsigned char *data, int *outputSize) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "DecodeDataBase64";
2024-03-18 08:06:11 -04:00
--~function AutomationEventList LoadAutomationEventList (const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "LoadAutomationEventList";
2024-03-18 08:06:11 -04:00
--~procedure UnloadAutomationEventList (AutomationEventList *list) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "UnloadAutomationEventList";
2024-03-18 08:06:11 -04:00
--~function bool ExportAutomationEventList (AutomationEventList list, const char *fileName) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "ExportAutomationEventList";
2024-03-18 08:06:11 -04:00
--~procedure SetAutomationEventList (AutomationEventList *list) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetAutomationEventList";
2024-03-18 08:06:11 -04:00
--~procedure SetAutomationEventBaseFrame (int frame) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "SetAutomationEventBaseFrame";
2024-03-18 08:06:11 -04:00
--~procedure StartAutomationEventRecording (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "StartAutomationEventRecording";
2024-03-18 08:06:11 -04:00
--~procedure StopAutomationEventRecording (void) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "StopAutomationEventRecording";
2024-03-18 08:06:11 -04:00
--~procedure PlayAutomationEvent (AutomationEvent event) with
--~Import => True,
--~Convention => C,
2024-03-18 15:48:53 -04:00
--~External_Name => "PlayAutomationEvent";
--~################################################################
--~################################################################
--~################################################################
function Is_Key_Pressed (
Key : Keyboard_Key := Key_Null
) return Logical with
Import => True,
Convention => C,
External_Name => "IsKeyPressed";
2024-03-18 08:06:11 -04:00
function Is_Key_Pressed_Repeat (
Key : Keyboard_Key := Key_Null
) return Logical with
Import => True,
Convention => C,
External_Name => "IsKeyPressedRepeat";
2024-03-18 08:06:11 -04:00
function Is_Key_Down (
Key : Keyboard_Key := Key_Null
) return Logical with
Import => True,
Convention => C,
External_Name => "IsKeyDown";
2024-03-18 08:06:11 -04:00
function Is_Key_Released (
Key : Keyboard_Key := Key_Null
) return Logical with
Import => True,
Convention => C,
External_Name => "IsKeyReleased";
2024-03-18 08:06:11 -04:00
function Is_Key_Up (
Key : Keyboard_Key := Key_Null
) return Logical with
Import => True,
Convention => C,
External_Name => "IsKeyUp";
2024-03-18 08:06:11 -04:00
function Get_Key_Pressed return Keyboard_Key with
Import => True,
Convention => C,
External_Name => "GetKeyPressed";
2024-03-18 08:06:11 -04:00
function Get_Character_Pressed return Character with
Import => True,
Convention => C,
External_Name => "GetCharPressed";
2024-03-18 08:06:11 -04:00
procedure Set_Exit_Key (
Key : Keyboard_Key := Key_Escape
) with
Import => True,
Convention => C,
External_Name => "SetExitKey";
2024-03-18 08:06:11 -04:00
--~function bool IsGamepadAvailable (int gamepad) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *GetGamepadName (int gamepad) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsGamepadButtonPressed (int gamepad, int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsGamepadButtonDown (int gamepad, int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsGamepadButtonReleased (int gamepad, int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsGamepadButtonUp (int gamepad, int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetGamepadButtonPressed (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetGamepadAxisCount (int gamepad) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetGamepadAxisMovement (int gamepad, int axis) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int SetGamepadMappings (const char *mappings) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMouseButtonPressed (int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMouseButtonDown (int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMouseButtonReleased (int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMouseButtonUp (int button) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetMouseX (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetMouseY (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetMousePosition (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetMouseDelta (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMousePosition (int x, int y) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMouseOffset (int offsetX, int offsetY) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMouseScale (float scaleX, float scaleY) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetMouseWheelMove (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetMouseWheelMoveV (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMouseCursor (int cursor) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetTouchX (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetTouchY (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetTouchPosition (int index) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetTouchPointId (int index) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetTouchPointCount (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetGesturesEnabled (unsigned int flags) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsGestureDetected (unsigned int gesture) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetGestureDetected (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetGestureHoldDuration (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetGestureDragVector (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetGestureDragAngle (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetGesturePinchVector (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetGesturePinchAngle (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateCamera (Camera *camera, int mode) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateCameraPro (Camera *camera, Vector3 movement, Vector3 rotation, float zoom) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetShapesTexture (Texture2D texture, Rectangle source) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPixel (int posX, int posY, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPixelV (Vector2 position, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure 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";
2024-03-18 08:06:11 -04:00
--~procedure DrawLineV (Vector2 startPos, Vector2 endPos, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawLineEx (Vector2 startPos, Vector2 endPos, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawLineStrip (Vector2 *points, int pointCount, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawLineBezier (Vector2 startPos, Vector2 endPos, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircle (int centerX, int centerY, float radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleSector (Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleSectorLines (Vector2 center, float radius, float startAngle, float endAngle, int segments, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleGradient (int centerX, int centerY, float radius, Color color1, Color color2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleV (Vector2 center, float radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleLines (int centerX, int centerY, float radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircleLinesV (Vector2 center, float radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawEllipse (int centerX, int centerY, float radiusH, float radiusV, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawEllipseLines (int centerX, int centerY, float radiusH, float radiusV, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRing (Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRingLines (Vector2 center, float innerRadius, float outerRadius, float startAngle, float endAngle, int segments, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Rectangle (
X : Integer := 0;
Y : Integer := 0;
Width : Integer := 0;
Height : Integer := 0;
Tint : Color := Black
) with
Import => True,
Convention => C,
External_Name => "DrawRectangle";
2024-03-18 08:06:11 -04:00
--~procedure DrawRectangleV (Vector2 position, Vector2 size, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleRec (Rectangle rec, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectanglePro (Rectangle rec, Vector2 origin, float rotation, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleGradientV (int posX, int posY, int width, int height, Color color1, Color color2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleGradientH (int posX, int posY, int width, int height, Color color1, Color color2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleGradientEx (Rectangle rec, Color col1, Color col2, Color col3, Color col4) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleLines (int posX, int posY, int width, int height, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleLinesEx (Rectangle rec, float lineThick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleRounded (Rectangle rec, float roundness, int segments, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRectangleRoundedLines (Rectangle rec, float roundness, int segments, float lineThick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangle (Vector2 v1, Vector2 v2, Vector2 v3, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangleLines (Vector2 v1, Vector2 v2, Vector2 v3, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangleFan (Vector2 *points, int pointCount, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangleStrip (Vector2 *points, int pointCount, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPoly (Vector2 center, int sides, float radius, float rotation, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPolyLines (Vector2 center, int sides, float radius, float rotation, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPolyLinesEx (Vector2 center, int sides, float radius, float rotation, float lineThick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineLinear (Vector2 *points, int pointCount, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineBasis (Vector2 *points, int pointCount, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineCatmullRom (Vector2 *points, int pointCount, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineBezierQuadratic (Vector2 *points, int pointCount, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineBezierCubic (Vector2 *points, int pointCount, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineSegmentLinear (Vector2 p1, Vector2 p2, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineSegmentBasis (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineSegmentCatmullRom (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineSegmentBezierQuadratic (Vector2 p1, Vector2 c2, Vector2 p3, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSplineSegmentBezierCubic (Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetSplinePointLinear (Vector2 startPos, Vector2 endPos, float t) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetSplinePointBasis (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetSplinePointCatmullRom (Vector2 p1, Vector2 p2, Vector2 p3, Vector2 p4, float t) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetSplinePointBezierQuad (Vector2 p1, Vector2 c2, Vector2 p3, float t) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 GetSplinePointBezierCubic (Vector2 p1, Vector2 c2, Vector2 c3, Vector2 p4, float t) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionRecs (Rectangle rec1, Rectangle rec2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionCircles (Vector2 center1, float radius1, Vector2 center2, float radius2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionCircleRec (Vector2 center, float radius, Rectangle rec) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionPointRec (Vector2 point, Rectangle rec) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionPointCircle (Vector2 point, Vector2 center, float radius) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionPointTriangle (Vector2 point, Vector2 p1, Vector2 p2, Vector2 p3) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionPointPoly (Vector2 point, Vector2 *points, int pointCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionLines (Vector2 startPos1, Vector2 endPos1, Vector2 startPos2, Vector2 endPos2, Vector2 *collisionPoint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionPointLine (Vector2 point, Vector2 p1, Vector2 p2, int threshold) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Rectangle GetCollisionRec (Rectangle rec1, Rectangle rec2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImage (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageRaw (const char *fileName, int width, int height, int format, int headerSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageSvg (const char *fileNameOrString, int width, int height) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageAnim (const char *fileName, int *frames) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageFromMemory (const char *fileType, const unsigned char *fileData, int dataSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageFromTexture (Texture2D texture) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image LoadImageFromScreen (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsImageReady (Image image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadImage (Image image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportImage (Image image, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function unsigned char *ExportImageToMemory (Image image, const char *fileType, int *fileSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportImageAsCode (Image image, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageColor (int width, int height, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageGradientLinear (int width, int height, int direction, Color start, Color end) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageGradientRadial (int width, int height, float density, Color inner, Color outer) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageGradientSquare (int width, int height, float density, Color inner, Color outer) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageChecked (int width, int height, int checksX, int checksY, Color col1, Color col2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageWhiteNoise (int width, int height, float factor) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImagePerlinNoise (int width, int height, int offsetX, int offsetY, float scale) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageCellular (int width, int height, int tileSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageText (int width, int height, const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image ImageCopy (Image image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image ImageFromImage (Image image, Rectangle rec) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image ImageText (const char *text, int fontSize, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image ImageTextEx (Font font, const char *text, float fontSize, float spacing, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageFormat (Image *image, int newFormat) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageToPOT (Image *image, Color fill) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageCrop (Image *image, Rectangle crop) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageAlphaCrop (Image *image, float threshold) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageAlphaClear (Image *image, Color color, float threshold) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageAlphaMask (Image *image, Image alphaMask) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageAlphaPremultiply (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageBlurGaussian (Image *image, int blurSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageKernelConvolution (Image *image, float* kernel, int kernelSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageResize (Image *image, int newWidth, int newHeight) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageResizeNN (Image *image, int newWidth,int newHeight) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageResizeCanvas (Image *image, int newWidth, int newHeight, int offsetX, int offsetY, Color fill) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageMipmaps (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDither (Image *image, int rBpp, int gBpp, int bBpp, int aBpp) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageFlipVertical (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageFlipHorizontal (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageRotate (Image *image, int degrees) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageRotateCW (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageRotateCCW (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorTint (Image *image, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorInvert (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorGrayscale (Image *image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorContrast (Image *image, float contrast) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorBrightness (Image *image, int brightness) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageColorReplace (Image *image, Color color, Color replace) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Color *LoadImageColors (Image image) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Color *LoadImagePalette (Image image, int maxPaletteSize, int *colorCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadImageColors (Color *colors) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadImagePalette (Color *colors) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Rectangle GetImageAlphaBorder (Image image, float threshold) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Color GetImageColor (Image image, int x, int y) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageClearBackground (Image *dst, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawPixel (Image *dst, int posX, int posY, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawPixelV (Image *dst, Vector2 position, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawLine (Image *dst, int startPosX, int startPosY, int endPosX, int endPosY, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawLineV (Image *dst, Vector2 start, Vector2 end, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawCircle (Image *dst, int centerX, int centerY, int radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawCircleV (Image *dst, Vector2 center, int radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawCircleLines (Image *dst, int centerX, int centerY, int radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawCircleLinesV (Image *dst, Vector2 center, int radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawRectangle (Image *dst, int posX, int posY, int width, int height, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawRectangleV (Image *dst, Vector2 position, Vector2 size, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawRectangleRec (Image *dst, Rectangle rec, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawRectangleLines (Image *dst, Rectangle rec, int thick, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDraw (Image *dst, Image src, Rectangle srcRec, Rectangle dstRec, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawText (Image *dst, const char *text, int posX, int posY, int fontSize, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ImageDrawTextEx (Image *dst, Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
function Load_Texture (
File_Path : String := ""
) return Texture with
Import => True,
Convention => C,
External_Name => "LoadTexture";
2024-03-18 08:06:11 -04:00
--~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";
2024-03-18 08:06:11 -04:00
--~function bool IsRenderTextureReady (RenderTexture2D target) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadRenderTexture (RenderTexture2D target) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateTexture (Texture2D texture, const void *pixels) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateTextureRec (Texture2D texture, Rectangle rec, const void *pixels) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure GenTextureMipmaps (Texture2D *texture) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetTextureFilter (Texture2D texture, int filter) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetTextureWrap (Texture2D texture, int wrap) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Texture (
Data : Texture := No_Texture;
X : Integer := 0;
Y : Integer := 0;
Tint : Color := White
) with
Import => True,
Convention => C,
External_Name => "DrawTexture";
2024-03-18 08:06:11 -04:00
--~procedure DrawTextureV (Texture2D texture, Vector2 position, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTextureEx (Texture2D texture, Vector2 position, float rotation, float scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTextureRec (Texture2D texture, Rectangle source, Vector2 position, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure 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";
2024-03-18 08:06:11 -04:00
2024-03-18 11:43:03 -04:00
--~RLAPI void DrawTexturePro(Texture2D texture, Rectangle source, Rectangle dest, Vector2 origin, float rotation, Color tint);
2024-03-18 08:06:11 -04:00
--~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";
2024-03-18 08:06:11 -04:00
--~function Font LoadFont (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Font LoadFontEx (const char *fileName, int fontSize, int *codepoints, int codepointCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Font LoadFontFromImage (Image image, Color key, int firstChar) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Font LoadFontFromMemory (const char *fileType, const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsFontReady (Font font) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function GlyphInfo *LoadFontData (const unsigned char *fileData, int dataSize, int fontSize, int *codepoints, int codepointCount, int type) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Image GenImageFontAtlas (const GlyphInfo *glyphs, Rectangle **glyphRecs, int glyphCount, int fontSize, int padding, int packMethod) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadFontData (GlyphInfo *glyphs, int glyphCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadFont (Font font) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportFontAsCode (Font font, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_FPS (
X : Integer := 0;
Y : Integer := 0
) with
Import => True,
Convention => C,
External_Name => "DrawFPS";
--~################################################################
--~################################################################
--~################################################################
procedure Draw_Text (
Text : String := "";
--~Text : access String := null;
--~Text : String := "";
X : Integer := 0;
Y : Integer := 0;
Size : Integer := 32;
Tint : Color := Dark_Gray
) with
Import => True,
Convention => C,
External_Name => "DrawText";
2024-03-18 08:06:11 -04:00
--~procedure DrawTextEx (Font font, const char *text, Vector2 position, float fontSize, float spacing, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Draw_Text_Pro (
Data : Font := Get_Font_Default;
Text : String := "NOOO";
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 := Dark_Gray
) with
Import => True,
Convention => C,
External_Name => "DrawTextPro";
2024-03-18 08:06:11 -04:00
--~procedure DrawTextCodepoint (Font font, int codepoint, Vector2 position, float fontSize, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTextCodepoints (Font font, const int *codepoints, int codepointCount, Vector2 position, float fontSize, float spacing, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetTextLineSpacing (int spacing) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int MeasureText (const char *text, int fontSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Vector2 MeasureTextEx (Font font, const char *text, float fontSize, float spacing) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetGlyphIndex (Font font, int codepoint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function GlyphInfo GetGlyphInfo (Font font, int codepoint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Rectangle GetGlyphAtlasRec (Font font, int codepoint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function char *LoadUTF8 (const int *codepoints, int length) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadUTF8 (char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int *LoadCodepoints (const char *text, int *count) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadCodepoints (int *codepoints) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetCodepointCount (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetCodepoint (const char *text, int *codepointSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetCodepointNext (const char *text, int *codepointSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int GetCodepointPrevious (const char *text, int *codepointSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *CodepointToUTF8 (int codepoint, int *utf8Size) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int TextCopy (char *dst, const char *src) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool TextIsEqual (const char *text1, const char *text2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function unsigned int TextLength (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextFormat (const char *text, ...) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextSubtext (const char *text, int position, int length) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function char *TextReplace (char *text, const char *replace, const char *by) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function char *TextInsert (const char *text, const char *insert, int position) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextJoin (const char **textList, int count, const char *delimiter) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char **TextSplit (const char *text, char delimiter, int *count) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure TextAppend (char *text, const char *append, int *position) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int TextFindIndex (const char *text, const char *find) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextToUpper (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextToLower (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function const char *TextToPascal (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function int TextToInteger (const char *text) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawLine3D (Vector3 startPos, Vector3 endPos, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPoint3D (Vector3 position, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCircle3D (Vector3 center, float radius, Vector3 rotationAxis, float rotationAngle, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangle3D (Vector3 v1, Vector3 v2, Vector3 v3, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawTriangleStrip3D (Vector3 *points, int pointCount, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCube (Vector3 position, float width, float height, float length, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCubeV (Vector3 position, Vector3 size, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCubeWires (Vector3 position, float width, float height, float length, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCubeWiresV (Vector3 position, Vector3 size, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSphere (Vector3 centerPos, float radius, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSphereEx (Vector3 centerPos, float radius, int rings, int slices, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawSphereWires (Vector3 centerPos, float radius, int rings, int slices, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCylinder (Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCylinderEx (Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCylinderWires (Vector3 position, float radiusTop, float radiusBottom, float height, int slices, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCylinderWiresEx (Vector3 startPos, Vector3 endPos, float startRadius, float endRadius, int sides, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCapsule (Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawCapsuleWires (Vector3 startPos, Vector3 endPos, float radius, int slices, int rings, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawPlane (Vector3 centerPos, Vector2 size, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawRay (Ray ray, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawGrid (int slices, float spacing) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Model LoadModel (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Model LoadModelFromMesh (Mesh mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsModelReady (Model model) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadModel (Model model) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function BoundingBox GetModelBoundingBox (Model model) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawModel (Model model, Vector3 position, float scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawModelEx (Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawModelWires (Model model, Vector3 position, float scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawModelWiresEx (Model model, Vector3 position, Vector3 rotationAxis, float rotationAngle, Vector3 scale, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawBoundingBox (BoundingBox box, Color color) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawBillboard (Camera camera, Texture2D texture, Vector3 position, float size, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawBillboardRec (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector2 size, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawBillboardPro (Camera camera, Texture2D texture, Rectangle source, Vector3 position, Vector3 up, Vector2 size, Vector2 origin, float rotation, Color tint) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UploadMesh (Mesh *mesh, bool dynamic) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateMeshBuffer (Mesh mesh, int index, const void *data, int dataSize, int offset) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadMesh (Mesh mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawMesh (Mesh mesh, Material material, Matrix transform) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure DrawMeshInstanced (Mesh mesh, Material material, const Matrix *transforms, int instances) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function BoundingBox GetMeshBoundingBox (Mesh mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure GenMeshTangents (Mesh *mesh) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportMesh (Mesh mesh, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportMeshAsCode (Mesh mesh, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshPoly (int sides, float radius) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshPlane (float width, float length, int resX, int resZ) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshCube (float width, float height, float length) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshSphere (float radius, int rings, int slices) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshHemiSphere (float radius, int rings, int slices) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshCylinder (float radius, float height, int slices) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshCone (float radius, float height, int slices) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshTorus (float radius, float size, int radSeg, int sides) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshKnot (float radius, float size, int radSeg, int sides) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshHeightmap (Image heightmap, Vector3 size) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Mesh GenMeshCubicmap (Image cubicmap, Vector3 cubeSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Material *LoadMaterials (const char *fileName, int *materialCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Material LoadMaterialDefault (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMaterialReady (Material material) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadMaterial (Material material) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMaterialTexture (Material *material, int mapType, Texture2D texture) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetModelMeshMaterial (Model *model, int meshId, int materialId) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function ModelAnimation *LoadModelAnimations (const char *fileName, int *animCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateModelAnimation (Model model, ModelAnimation anim, int frame) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadModelAnimation (ModelAnimation anim) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadModelAnimations (ModelAnimation *animations, int animCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsModelAnimationValid (Model model, ModelAnimation anim) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionSpheres (Vector3 center1, float radius1, Vector3 center2, float radius2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionBoxes (BoundingBox box1, BoundingBox box2) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool CheckCollisionBoxSphere (BoundingBox box, Vector3 center, float radius) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function RayCollision GetRayCollisionSphere (Ray ray, Vector3 center, float radius) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function RayCollision GetRayCollisionBox (Ray ray, BoundingBox box) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function RayCollision GetRayCollisionMesh (Ray ray, Mesh mesh, Matrix transform) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function RayCollision GetRayCollisionTriangle (Ray ray, Vector3 p1, Vector3 p2, Vector3 p3) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function RayCollision GetRayCollisionQuad (Ray ray, Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~typedef void (*AudioCallback) (void *bufferData, unsigned int frames) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure InitAudioDevice (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure CloseAudioDevice (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsAudioDeviceReady (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMasterVolume (float volume) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetMasterVolume (void) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Wave LoadWave (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Wave LoadWaveFromMemory (const char *fileType, const unsigned char *fileData, int dataSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsWaveReady (Wave wave) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Sound LoadSound (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Sound LoadSoundFromWave (Wave wave) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Sound LoadSoundAlias (Sound source) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsSoundReady (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateSound (Sound sound, const void *data, int sampleCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadWave (Wave wave) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadSound (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadSoundAlias (Sound alias) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportWave (Wave wave, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool ExportWaveAsCode (Wave wave, const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PlaySound (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure StopSound (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PauseSound (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ResumeSound (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsSoundPlaying (Sound sound) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetSoundVolume (Sound sound, float volume) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetSoundPitch (Sound sound, float pitch) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetSoundPan (Sound sound, float pan) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Wave WaveCopy (Wave wave) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure WaveCrop (Wave *wave, int initSample, int finalSample) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure WaveFormat (Wave *wave, int sampleRate, int sampleSize, int channels) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float *LoadWaveSamples (Wave wave) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadWaveSamples (float *samples) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Music LoadMusicStream (const char *fileName) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function Music LoadMusicStreamFromMemory (const char *fileType, const unsigned char *data, int dataSize) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMusicReady (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PlayMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsMusicStreamPlaying (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure StopMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PauseMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ResumeMusicStream (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SeekMusicStream (Music music, float position) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMusicVolume (Music music, float volume) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMusicPitch (Music music, float pitch) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetMusicPan (Music music, float pan) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetMusicTimeLength (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function float GetMusicTimePlayed (Music music) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function AudioStream LoadAudioStream (unsigned int sampleRate, unsigned int sampleSize, unsigned int channels) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsAudioStreamReady (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UnloadAudioStream (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure UpdateAudioStream (AudioStream stream, const void *data, int frameCount) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsAudioStreamProcessed (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PlayAudioStream (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure PauseAudioStream (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure ResumeAudioStream (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~function bool IsAudioStreamPlaying (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure StopAudioStream (AudioStream stream) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetAudioStreamVolume (AudioStream stream, float volume) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetAudioStreamPitch (AudioStream stream, float pitch) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetAudioStreamPan (AudioStream stream, float pan) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetAudioStreamBufferSizeDefault (int size) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
--~procedure SetAudioStreamCallback (AudioStream stream, AudioCallback callback) with
--~Import => True,
--~Convention => C,
--~External_Name => "";
procedure Attach_Audio_Stream_Processor (
Stream : Audio_Stream := No_Audio_Stream;
Processor : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "AttachAudioStreamProcessor";
procedure Detach_Audio_Stream_Processor (
Stream : Audio_Stream := No_Audio_Stream;
Processor : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "DetachAudioStreamProcessor";
procedure Attach_Audio_Mixed_Processor (
Processor : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "AttachAudioMixedProcessor";
procedure Detach_Audio_Mixed_Processor (
Processor : Pointer := null
) with
Import => True,
Convention => C,
External_Name => "DetachAudioMixedProcessor";
end Raylib;