2024-03-18 08:06:11 -04:00
|
|
|
------------------------------------------------------------------------
|
2024-04-05 09:19:28 -04:00
|
|
|
--
|
|
|
|
-- Copyright (c) 2024 - Ognjen 'xolatile' Milan Robovic
|
|
|
|
--
|
|
|
|
-- This program is free software; you can redistribute it and/or modify
|
|
|
|
-- it under the terms of the GNU General Public License as published by
|
|
|
|
-- the Free Software Foundation; either version 3 of the License, or
|
|
|
|
-- (at your option) any later version.
|
|
|
|
--
|
|
|
|
-- This file was made by altering original Raylib 5.1 C header file. I
|
|
|
|
-- used few formatting programs of mine, tho sadly most of the editing
|
2024-04-23 06:36:51 -04:00
|
|
|
-- was done manually. Contact me if there are license issues, read this
|
|
|
|
-- file, since this is the documentation.
|
2024-04-05 09:19:28 -04:00
|
|
|
--
|
2024-04-23 06:36:51 -04:00
|
|
|
-- Raylib is great game programming library written by 'raysan5' and
|
|
|
|
-- many contributors, you can check out original C source code in the
|
|
|
|
-- link below, it's under zlib license. I wrote this because of the
|
|
|
|
-- lack of good Ada bindings.
|
2024-04-05 09:19:28 -04:00
|
|
|
--
|
2024-04-05 10:04:51 -04:00
|
|
|
-- There are minor name changes, and this binding was adapted to Ada
|
|
|
|
-- programming language. That means that you can't replace few keywords
|
2024-04-23 06:36:51 -04:00
|
|
|
-- in your C program, and expect that everything works. Aim are new Ada
|
|
|
|
-- projects. Variadic functions and function pointers were removed.
|
2024-04-05 10:04:51 -04:00
|
|
|
--
|
2024-04-05 09:19:28 -04:00
|
|
|
-- https://github.com/raysan5/raylib
|
|
|
|
--
|
|
|
|
------------------------------------------------------------------------
|
2024-03-18 08:06:11 -04:00
|
|
|
|
|
|
|
with System;
|
|
|
|
|
|
|
|
package Raylib is
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Logical is new Boolean;
|
|
|
|
--
|
|
|
|
for Logical'Size use 32;
|
|
|
|
|
|
|
|
type Config_Flags is (
|
|
|
|
Flag_None,
|
|
|
|
Flag_Fullscreen_Mode,
|
|
|
|
Flag_Window_Resizable,
|
|
|
|
Flag_Window_Undecorated,
|
|
|
|
Flag_Window_Transparent,
|
|
|
|
Flag_MSAA_x4_Hint,
|
|
|
|
Flag_VSync_Hint,
|
|
|
|
Flag_Window_Hidden,
|
|
|
|
Flag_Window_Always_Run,
|
|
|
|
Flag_Window_Minimized,
|
|
|
|
Flag_Window_Maximized,
|
|
|
|
Flag_Window_Unfocused,
|
|
|
|
Flag_Window_Topmost,
|
|
|
|
Flag_Window_High_DPI,
|
|
|
|
Flag_Window_Mouse_Passthrough,
|
|
|
|
Flag_Borderless_Windowed_Mode,
|
|
|
|
Flag_Interlaced_Hint
|
|
|
|
) with Convention => C;
|
|
|
|
|
|
|
|
for Config_Flags use (
|
2024-04-05 09:56:09 -04:00
|
|
|
Flag_None => 16#00000000#, -- 0
|
|
|
|
Flag_Fullscreen_Mode => 16#00000002#, -- 2
|
|
|
|
Flag_Window_Resizable => 16#00000004#, -- 4
|
|
|
|
Flag_Window_Undecorated => 16#00000008#, -- 8
|
|
|
|
Flag_Window_Transparent => 16#00000010#, -- 16
|
|
|
|
Flag_MSAA_x4_Hint => 16#00000020#, -- 32
|
|
|
|
Flag_VSync_Hint => 16#00000040#, -- 64
|
|
|
|
Flag_Window_Hidden => 16#00000080#, -- 128
|
|
|
|
Flag_Window_Always_Run => 16#00000100#, -- 256
|
|
|
|
Flag_Window_Minimized => 16#00000200#, -- 512
|
|
|
|
Flag_Window_Maximized => 16#00000400#, -- 1024
|
|
|
|
Flag_Window_Unfocused => 16#00000800#, -- 2048
|
|
|
|
Flag_Window_Topmost => 16#00001000#, -- 4096
|
|
|
|
Flag_Window_High_DPI => 16#00002000#, -- 8192
|
|
|
|
Flag_Window_Mouse_Passthrough => 16#00004000#, -- 16384
|
|
|
|
Flag_Borderless_Windowed_Mode => 16#00008000#, -- 32768
|
|
|
|
Flag_Interlaced_Hint => 16#00010000# -- 65536
|
2024-04-05 09:19:28 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
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 (
|
2024-04-05 09:56:09 -04:00
|
|
|
Gesture_None => 2#0000000000#, -- 0
|
|
|
|
Gesture_Tap => 2#0000000001#, -- 1
|
|
|
|
Gesture_Doubletap => 2#0000000010#, -- 2
|
|
|
|
Gesture_Hold => 2#0000000100#, -- 4
|
|
|
|
Gesture_Drag => 2#0000001000#, -- 8
|
|
|
|
Gesture_Swipe_Right => 2#0000010000#, -- 16
|
|
|
|
Gesture_Swipe_Left => 2#0000100000#, -- 32
|
|
|
|
Gesture_Swipe_Up => 2#0001000000#, -- 64
|
|
|
|
Gesture_Swipe_Down => 2#0010000000#, -- 128
|
|
|
|
Gesture_Pinch_In => 2#0100000000#, -- 256
|
|
|
|
Gesture_Pinch_Out => 2#1000000000# -- 512
|
2024-04-05 09:19:28 -04:00
|
|
|
);
|
|
|
|
|
|
|
|
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;
|
2024-03-18 08:06:11 -04:00
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Color_Range is range 0 .. 2**8 - 1;
|
|
|
|
type Index_Range is range 0 .. 2**16 - 1;
|
|
|
|
|
|
|
|
for Color_Range'Size use 8;
|
|
|
|
for Index_Range'Size use 16;
|
|
|
|
|
|
|
|
type Pointer is access all System.Address;
|
2024-04-07 19:01:25 -04:00
|
|
|
type Strings is access all Character;
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
type Vector_2D is record
|
|
|
|
X : Float := 0.0;
|
|
|
|
Y : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
type Vector_3D is record
|
|
|
|
X : Float := 0.0;
|
|
|
|
Y : Float := 0.0;
|
|
|
|
Z : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
type Vector_4D is record
|
|
|
|
X : Float := 0.0;
|
|
|
|
Y : Float := 0.0;
|
|
|
|
Z : Float := 0.0;
|
|
|
|
W : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
type Quaternion is new Vector_4D;
|
|
|
|
|
|
|
|
type Matrix_4D is record
|
|
|
|
M00 : Float := 1.0;
|
|
|
|
M10 : Float := 0.0;
|
|
|
|
M20 : Float := 0.0;
|
|
|
|
M30 : Float := 0.0;
|
|
|
|
M01 : Float := 0.0;
|
|
|
|
M11 : Float := 1.0;
|
|
|
|
M21 : Float := 0.0;
|
|
|
|
M31 : Float := 0.0;
|
|
|
|
M02 : Float := 0.0;
|
|
|
|
M12 : Float := 0.0;
|
|
|
|
M22 : Float := 1.0;
|
|
|
|
M32 : Float := 0.0;
|
|
|
|
M03 : Float := 0.0;
|
|
|
|
M13 : Float := 0.0;
|
|
|
|
M23 : Float := 0.0;
|
|
|
|
M33 : Float := 1.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
Id_Matrix : Matrix_4D;
|
|
|
|
|
|
|
|
type Color is record
|
|
|
|
R : Color_Range := 255;
|
|
|
|
G : Color_Range := 255;
|
|
|
|
B : Color_Range := 255;
|
|
|
|
A : Color_Range := 255;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Color : Color;
|
|
|
|
|
|
|
|
type Rectangle is record
|
|
|
|
X : Float := 0.0;
|
|
|
|
Y : Float := 0.0;
|
|
|
|
Width : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Rectangle : Rectangle;
|
|
|
|
|
|
|
|
type Image is record
|
|
|
|
Data : Pointer := null;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Mipmaps : Integer := 1;
|
|
|
|
Format : Pixel_Format := Pixel_Format_None;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Image : Image;
|
|
|
|
|
|
|
|
type Texture is record
|
|
|
|
Id : Natural := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Mipmaps : Integer := 1;
|
|
|
|
Format : Pixel_Format := Pixel_Format_None;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Texture : Texture;
|
|
|
|
|
|
|
|
type Render_Texture is record
|
|
|
|
Id : Natural := 0;
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Depth : Texture := No_Texture;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Render_Texture : Render_Texture;
|
|
|
|
|
|
|
|
type NPatch_Info is record
|
|
|
|
Source : Rectangle := No_Rectangle;
|
|
|
|
Left : Integer := 0;
|
|
|
|
Top : Integer := 0;
|
|
|
|
Right : Integer := 0;
|
|
|
|
Bottom : Integer := 0;
|
|
|
|
Layout : NPatch_Layout := NPatch_Nine_Patch;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_NPatch_Info : NPatch_Info;
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
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;
|
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_Glyph_Info : Glyph_Info;
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Font is record
|
|
|
|
Base_Size : Integer := 0;
|
|
|
|
Glyph_Count : Integer := 0;
|
|
|
|
Glyph_Padding : Integer := 0;
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Rectangles : access Rectangle := null;
|
|
|
|
Glyphs : access Glyph_Info := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Font : Font;
|
|
|
|
|
|
|
|
type Camera_3D is record
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Target : Vector_3D := (others => 0.0);
|
|
|
|
Up : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Field_Of_View : Float := 0.0;
|
|
|
|
Projection : Camera_Projection := Camera_Perspective;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Camera_3D : Camera_3D;
|
|
|
|
|
|
|
|
type Camera_2D is record
|
2024-04-05 09:36:42 -04:00
|
|
|
Offset : Vector_2D := (others => 0.0);
|
|
|
|
Target : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Zoom : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Camera_2D : Camera_2D;
|
|
|
|
|
|
|
|
type Mesh is record
|
|
|
|
Vertex_Count : Integer := 0;
|
|
|
|
Triangle_Count : Integer := 0;
|
|
|
|
Vertices : access Float := null;
|
|
|
|
Texture_Coordinates : access Float := null;
|
|
|
|
Texture_Coordinates_2 : access Float := null;
|
|
|
|
Normals : access Float := null;
|
|
|
|
Tangents : access Float := null;
|
|
|
|
Colors : access Color_Range := null;
|
|
|
|
Indices : access Index_Range := null;
|
|
|
|
Animation_Vertices : access Float := null;
|
|
|
|
Animation_Normals : access Float := null;
|
|
|
|
Bone_Ids : access Color_Range := null;
|
|
|
|
Bone_Weights : access Float := null;
|
|
|
|
VAO_Id : Natural := 0;
|
|
|
|
VBO_Id : access Natural := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Mesh : Mesh;
|
|
|
|
|
|
|
|
type Shader is record
|
|
|
|
Id : Natural := 0;
|
|
|
|
Locations : access Integer := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Shader : Shader;
|
|
|
|
|
|
|
|
type Material_Map is record
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Tint : Color := No_Color;
|
|
|
|
Value : Float := 0.0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Material_Map : Material_Map;
|
|
|
|
|
|
|
|
type Float_Array_4 is array (0 .. 3) of Float;
|
|
|
|
type Material_Map_Array_4 is array (0 .. 3) of Material_Map;
|
2024-04-05 09:56:09 -04:00
|
|
|
|
|
|
|
type Material_Map_Array is array (Natural range <>) of Material_Map;
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
type Material is record
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Maps : access Material_Map_Array := null;
|
|
|
|
Parameter : Float_Array_4 := (0.0, 0.0, 0.0, 1.0);
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Material : Material;
|
|
|
|
|
|
|
|
type Transform is record
|
2024-04-05 09:36:42 -04:00
|
|
|
Translation : Vector_3D := (others => 0.0);
|
|
|
|
Rotation : Vector_4D := (others => 0.0);
|
|
|
|
Scale : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_Transform : Transform;
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Character_Array_32 is array (0 .. 31) of Character;
|
|
|
|
|
|
|
|
Empty : Character_Array_32 := (others => Character'Val (0));
|
|
|
|
|
|
|
|
type Bone_Info is record
|
|
|
|
Name : Character_Array_32 := Empty;
|
|
|
|
Parent : Integer := 0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Bone_Info : Bone_Info;
|
|
|
|
|
|
|
|
type Material_Array_4 is array (0 .. 3) of Material;
|
|
|
|
type Material_Array is array (Natural range <>) of Material;
|
|
|
|
|
|
|
|
type Model is record
|
|
|
|
Transform : Matrix_4D := Id_Matrix;
|
|
|
|
Mesh_Count : Integer := 0;
|
|
|
|
Material_Count : Integer := 0;
|
|
|
|
Meshes : access Mesh := null;
|
|
|
|
Materials : access Material_Array := null;
|
|
|
|
Mesh_Materials : access Integer := null;
|
|
|
|
Bone_Count : Integer := 0;
|
|
|
|
Bones : access Bone_Info := null;
|
2024-04-23 06:36:51 -04:00
|
|
|
-- ERROR Bind_Post : access Transform := null;
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Model : Model;
|
|
|
|
|
|
|
|
type Model_Animation is record
|
|
|
|
Bone_Count : Integer := 0;
|
|
|
|
Frame_Count : Integer := 0;
|
|
|
|
Bones : access Bone_Info := null;
|
|
|
|
Frame_Poses : access Transform := null;
|
|
|
|
Name : Character_Array_32 := Empty;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Model_Animation : Model_Animation;
|
|
|
|
|
|
|
|
type Ray is record
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Direction : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Ray : Ray;
|
|
|
|
|
|
|
|
type Ray_Collision is record
|
|
|
|
Hit : Logical := False;
|
|
|
|
Distance : Float := 0.0;
|
2024-04-05 09:36:42 -04:00
|
|
|
Point : Vector_3D := (others => 0.0);
|
|
|
|
Normal : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Ray_Collision : Ray_Collision;
|
|
|
|
|
|
|
|
type Bounding_Box is record
|
2024-04-05 09:36:42 -04:00
|
|
|
Min : Vector_3D := (others => 0.0);
|
|
|
|
Max : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Bounding_Box : Bounding_Box;
|
|
|
|
|
|
|
|
type Wave is record
|
|
|
|
Frame_Count : Natural := 0;
|
|
|
|
Sample_Rate : Natural := 0;
|
|
|
|
Sample_Size : Natural := 0;
|
|
|
|
Channels : Natural := 0;
|
|
|
|
Data : Pointer := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Wave : Wave;
|
|
|
|
|
|
|
|
type Audio_Stream is record
|
|
|
|
Buffer : Pointer := null;
|
|
|
|
Processor : Pointer := null;
|
|
|
|
Sample_Rate : Natural := 0;
|
|
|
|
Sample_Size : Natural := 0;
|
|
|
|
Channels : Natural := 0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Audio_Stream : Audio_Stream;
|
|
|
|
|
|
|
|
type Sound is record
|
|
|
|
Stream : Audio_Stream := No_Audio_Stream;
|
|
|
|
Frame_Count : Natural := 0;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Sound : Sound;
|
|
|
|
|
|
|
|
type Music is record
|
|
|
|
Stream : Audio_Stream := No_Audio_Stream;
|
|
|
|
Frame_Count : Natural := 0;
|
|
|
|
Looping : Logical := False;
|
|
|
|
Context_Type : Integer := 0;
|
|
|
|
Context_Data : Pointer := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_Music : Music;
|
|
|
|
|
|
|
|
type VR_Device_Info is record
|
|
|
|
Horizontal_Resoultion : Integer := 0;
|
|
|
|
Vertical_Resoultion : Integer := 0;
|
|
|
|
Horizontal_Screen_Size : Float := 0.0;
|
|
|
|
Vertical_Screen_Size : Float := 0.0;
|
|
|
|
Vertical_Screen_Center : Float := 0.0;
|
|
|
|
Eye_To_Screen_Distance : Float := 0.0;
|
|
|
|
Lens_Separate_Distance : Float := 0.0;
|
|
|
|
Interpupillary_Distance : Float := 0.0;
|
2024-04-05 09:36:42 -04:00
|
|
|
Lens_Distortion_Values : Float_Array_4 := (others => 0.0);
|
|
|
|
Chroma_Abberation_Correction : Float_Array_4 := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_VR_Device_Info : VR_Device_Info;
|
|
|
|
|
|
|
|
type Matrix_4D_Array_2 is array (0 .. 1) of Matrix_4D;
|
|
|
|
type Float_Array_2 is array (0 .. 1) of Float;
|
|
|
|
|
|
|
|
type VR_Stereo_Config is record
|
|
|
|
Projection : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix);
|
|
|
|
View_Offset : Matrix_4D_Array_2 := (Id_Matrix, Id_Matrix);
|
2024-04-05 09:36:42 -04:00
|
|
|
Left_Lens_Center : Float_Array_2 := (others => 0.0);
|
|
|
|
Right_Lens_Center : Float_Array_2 := (others => 0.0);
|
|
|
|
Left_Screen_Center : Float_Array_2 := (others => 0.0);
|
|
|
|
Right_Screen_Center : Float_Array_2 := (others => 0.0);
|
|
|
|
Scale : Float_Array_2 := (others => 0.0);
|
|
|
|
Scale_In : Float_Array_2 := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
|
|
|
No_VR_Stereo_Config : VR_Stereo_Config;
|
|
|
|
|
|
|
|
type File_Path_List is record
|
|
|
|
Capacity : Natural := 0;
|
|
|
|
Count : Natural := 0;
|
|
|
|
Paths : Pointer := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_File_Path_List : File_Path_List;
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Integer_Array_4 is array (0 .. 3) of Integer;
|
|
|
|
|
|
|
|
type Automation_Event is record
|
|
|
|
Frame : Natural := 0;
|
|
|
|
Kind : Natural := 0;
|
2024-04-05 09:56:09 -04:00
|
|
|
Parameters : Integer_Array_4 := (others => 0);
|
2024-04-05 09:19:28 -04:00
|
|
|
end record with Convention => C_Pass_By_Copy;
|
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_Automation_Event : Automation_Event;
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
type Automation_Event_List is record
|
|
|
|
Capacity : Natural := 0;
|
|
|
|
Count : Natural := 0;
|
|
|
|
Events : access Automation_Event := null;
|
|
|
|
end record with Convention => C_Pass_By_Copy;
|
2024-03-18 08:06:11 -04:00
|
|
|
|
2024-04-05 09:56:09 -04:00
|
|
|
No_Automation_Event_List : Automation_Event_List;
|
|
|
|
|
2024-03-18 08:06:11 -04:00
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
2024-04-05 09:19:28 -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);
|
2024-03-18 08:06:11 -04:00
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
|
2024-04-05 09:19:28 -04:00
|
|
|
procedure Open_Window (
|
|
|
|
Width : Integer := 640;
|
|
|
|
Height : Integer := 480;
|
2024-04-05 10:02:52 -04:00
|
|
|
Title : String := "Raylib-Ada" & Character'Val (0)
|
2024-04-05 09:19:28 -04:00
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "InitWindow";
|
|
|
|
|
|
|
|
procedure Close_Window with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CloseWindow";
|
|
|
|
|
|
|
|
function Window_Should_Close return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "WindowShouldClose";
|
|
|
|
|
|
|
|
function Is_Window_Ready return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowReady";
|
|
|
|
|
|
|
|
function Is_Window_Fullscreen return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowFullscreen";
|
|
|
|
|
|
|
|
function Is_Window_Hidden return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowHidden";
|
|
|
|
|
|
|
|
function Is_Window_Minimized return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowMinimized";
|
|
|
|
|
|
|
|
function Is_Window_Maximized return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowMaximized";
|
|
|
|
|
|
|
|
function Is_Window_Focused return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowFocused";
|
|
|
|
|
|
|
|
function Is_Window_Resized return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowResized";
|
|
|
|
|
|
|
|
function Is_Window_State (
|
|
|
|
Flags : Natural := 0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWindowState";
|
|
|
|
|
|
|
|
procedure Set_Window_State (
|
|
|
|
Flags : Natural := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowState";
|
|
|
|
|
|
|
|
procedure Clear_Window_State (
|
|
|
|
Flags : Natural := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ClearWindowState";
|
|
|
|
|
|
|
|
procedure Toggle_Fullscreen with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ToggleFullscreen";
|
|
|
|
|
|
|
|
procedure Toggle_Borderless_Windowed with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ToggleBorderlessWindowed";
|
|
|
|
|
|
|
|
procedure Maximize_Window with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MaximizeWindow";
|
|
|
|
|
|
|
|
procedure Minimize_Window with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MinimizeWindow";
|
|
|
|
|
|
|
|
procedure Restore_Window with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "RestoreWindow";
|
|
|
|
|
|
|
|
procedure Set_Window_Icon (
|
|
|
|
Icon : Image := No_Image
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowIcon";
|
|
|
|
|
|
|
|
procedure Set_Window_Icons (
|
|
|
|
Icons : access Image := null;
|
|
|
|
Count : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowIcons";
|
|
|
|
|
|
|
|
procedure Set_Window_Title (
|
|
|
|
Title : String := ""
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowTitle";
|
|
|
|
|
|
|
|
procedure Set_Window_Position (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowPosition";
|
|
|
|
|
|
|
|
procedure Set_Window_Monitor (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowMonitor";
|
|
|
|
|
|
|
|
procedure Set_Window_Min_Size (
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowMinSize";
|
|
|
|
|
|
|
|
procedure Set_Window_Max_Size (
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowMaxSize";
|
|
|
|
|
|
|
|
procedure Set_Window_Size (
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowSize";
|
|
|
|
|
|
|
|
procedure Set_WindowZ_Opacity (
|
|
|
|
Opacity : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowOpacity";
|
|
|
|
|
|
|
|
procedure Set_Window_Focused with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetWindowFocused";
|
|
|
|
|
|
|
|
function Get_Window_Handle return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWindowHandle";
|
|
|
|
|
|
|
|
function Get_Screen_Width return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetScreenWidth";
|
|
|
|
|
|
|
|
function Get_Screen_Height return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetScreenHeight";
|
|
|
|
|
|
|
|
function Get_Render_Width return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRenderWidth";
|
|
|
|
|
|
|
|
function Get_Render_Height return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRenderHeight";
|
|
|
|
|
|
|
|
function Get_Monitor_Count return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorCount";
|
|
|
|
|
|
|
|
function Get_Current_Monitor return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCurrentMonitor";
|
|
|
|
|
|
|
|
function Get_Monitor_Position (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorPosition";
|
|
|
|
|
|
|
|
function Get_Monitor_Width (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorWidth";
|
|
|
|
|
|
|
|
function Get_Monitor_Height (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorHeight";
|
|
|
|
|
|
|
|
function Get_Monitor_Physical_Width (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorPhysicalWidth";
|
|
|
|
|
|
|
|
function Get_Monitor_Physical_Height (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorPhysicalHeight";
|
|
|
|
|
|
|
|
function Get_Monitor_Refresh_Rate (
|
|
|
|
Monitor : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorRefreshRate";
|
|
|
|
|
|
|
|
function Get_Window_Position return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWindowPosition";
|
|
|
|
|
|
|
|
function Get_Window_Scale_DPI return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWindowScaleDPI";
|
|
|
|
|
|
|
|
function Get_Monitor_Name (
|
|
|
|
Monitor : Integer := 0
|
2024-04-07 19:01:25 -04:00
|
|
|
) return Strings with
|
2024-04-05 09:19:28 -04:00
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMonitorName";
|
|
|
|
|
|
|
|
procedure Set_Clipboard_Text (
|
|
|
|
Text : String := ""
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetClipboardText";
|
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Clipboard_Text return Strings with
|
2024-04-05 09:19:28 -04:00
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetClipboardText";
|
|
|
|
|
|
|
|
procedure Enable_Event_Waiting with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EnableEventWaiting";
|
|
|
|
|
|
|
|
procedure Disable_Event_Waiting with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DisableEventWaiting";
|
|
|
|
|
|
|
|
procedure Show_Cursor with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ShowCursor";
|
|
|
|
|
|
|
|
procedure Hide_Cursor with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "HideCursor";
|
|
|
|
|
|
|
|
function Is_Cursor_Hidden return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsCursorHidden";
|
|
|
|
|
|
|
|
procedure Enable_Cursor with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EnableCursor";
|
|
|
|
|
|
|
|
procedure Disable_Cursor with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DisableCursor";
|
|
|
|
|
|
|
|
function Is_Cursor_On_Screen return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsCursorOnScreen";
|
|
|
|
|
|
|
|
procedure Clear_Background (
|
|
|
|
Tint : Color := Ray_White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ClearBackground";
|
|
|
|
|
|
|
|
procedure Begin_Drawing with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginDrawing";
|
|
|
|
|
|
|
|
procedure End_Drawing with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndDrawing";
|
|
|
|
|
|
|
|
procedure Begin_Mode_2D (
|
|
|
|
Camera : Camera_2D
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginMode2D";
|
|
|
|
|
|
|
|
procedure End_Mode_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndMode2D";
|
|
|
|
|
|
|
|
procedure Begin_Mode_3D (
|
|
|
|
Camera : Camera_3D
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginMode3D";
|
|
|
|
|
|
|
|
procedure End_Mode_3D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndMode3D";
|
|
|
|
|
|
|
|
procedure Begin_Texture_Mode (
|
|
|
|
Data : Render_Texture := No_Render_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginTextureMode";
|
|
|
|
|
|
|
|
procedure End_Texture_Mode with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndTextureMode";
|
|
|
|
|
|
|
|
procedure Begin_Shader_Mode (
|
|
|
|
Data : Shader := No_Shader
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginShaderMode";
|
|
|
|
|
|
|
|
procedure End_Shader_Mode with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndShaderMode";
|
|
|
|
|
|
|
|
procedure Begin_Blend_Mode (
|
|
|
|
Mode : Blend_Mode := Blend_Alpha
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginBlendMode";
|
|
|
|
|
|
|
|
procedure End_Blend_Mode with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndBlendMode";
|
|
|
|
|
|
|
|
procedure Begin_Scissor_Mode (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginScissorMode";
|
|
|
|
|
|
|
|
procedure End_Scissor_Mode with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndScissorMode";
|
|
|
|
|
|
|
|
procedure Begin_VR_Stereo_Mode (
|
|
|
|
Config : VR_Stereo_Config := No_VR_Stereo_Config
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "BeginVrStereoMode";
|
|
|
|
|
|
|
|
procedure End_VR_Stereo_Mode with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EndVrStereoMode";
|
|
|
|
|
|
|
|
function Load_VR_Stereo_Config (
|
|
|
|
Device : VR_Device_Info := No_VR_Device_Info
|
|
|
|
) return VR_Stereo_Config with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadVrStereoConfig";
|
|
|
|
|
|
|
|
procedure Unload_VR_Stereo_Config (
|
|
|
|
Config : VR_Stereo_Config := No_VR_Stereo_Config
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadVrStereoConfig";
|
|
|
|
|
|
|
|
function Load_Shader (
|
|
|
|
Vertex_Shader_File_Path : String := "";
|
|
|
|
Fragment_Shader_File_Path : String := ""
|
|
|
|
) return Shader with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadShader";
|
|
|
|
|
|
|
|
function Load_Shader_From_Memory (
|
|
|
|
Vertex_Shader_Code_Path : String := "";
|
|
|
|
Fragment_Shader_Code_Path : String := ""
|
|
|
|
) return Shader with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadShaderFromMemory";
|
|
|
|
|
|
|
|
function Is_Shader_Ready (
|
|
|
|
Data : Shader := No_Shader
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsShaderReady";
|
|
|
|
|
|
|
|
function Get_Shader_Location (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Name : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetShaderLocation";
|
|
|
|
|
|
|
|
function Get_Shader_Location_Attribute (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Name : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetShaderLocationAttrib";
|
|
|
|
|
|
|
|
procedure Set_Shader_Value (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Location_Index : Integer := 0;
|
|
|
|
Value : Pointer := null;
|
|
|
|
Uniform_Type : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetShaderValue";
|
|
|
|
|
|
|
|
procedure Set_Shader_Value_Vector (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Location_Index : Integer := 0;
|
|
|
|
Value : Pointer := null;
|
|
|
|
Uniform_Type : Integer := 0;
|
|
|
|
Count : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetShaderValueV";
|
|
|
|
|
|
|
|
procedure Set_Shader_Value_Matrix (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Location_Index : Integer := 0;
|
|
|
|
Value : Matrix_4D := Id_Matrix
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetShaderValueMatrix";
|
|
|
|
|
|
|
|
procedure Set_Shader_Value_Texture (
|
|
|
|
Data : Shader := No_Shader;
|
|
|
|
Location_Index : Integer := 0;
|
|
|
|
Value : Texture := No_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetShaderValueTexture";
|
|
|
|
|
|
|
|
procedure Unload_Shader (
|
|
|
|
Data : Shader := No_Shader
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadShader";
|
|
|
|
|
|
|
|
function Get_Mouse_Ray (
|
2024-04-05 09:36:42 -04:00
|
|
|
Mouse_Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
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 (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Camera : Camera_3D := No_Camera_3D
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWorldToScreen";
|
|
|
|
|
|
|
|
function Get_Screen_To_World_2D (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Camera : Camera_2D := No_Camera_2D
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetScreenToWorld2D";
|
|
|
|
|
|
|
|
function Get_World_To_Screen_Ex (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
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 (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Camera : Camera_2D := No_Camera_2D
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWorldToScreen2D";
|
|
|
|
|
|
|
|
procedure Set_Target_FPS (
|
|
|
|
FPS : Integer := 60
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetTargetFPS";
|
|
|
|
|
|
|
|
function Get_Frame_Time return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFrameTime";
|
|
|
|
|
|
|
|
function Get_Time return Long_Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTime";
|
|
|
|
|
|
|
|
function Get_FPS return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFPS";
|
|
|
|
|
|
|
|
procedure Swap_Screen_Buffer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SwapScreenBuffer";
|
|
|
|
|
|
|
|
procedure Poll_Input_Events with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PollInputEvents";
|
|
|
|
|
|
|
|
procedure Wait_Time (
|
|
|
|
Seconds : Long_Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "WaitTime";
|
|
|
|
|
|
|
|
procedure Set_Random_Seed (
|
|
|
|
Seed : Natural := 16#0EADBEEF#
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetRandomSeed";
|
|
|
|
|
|
|
|
function Get_Random_Value (
|
|
|
|
Min : Integer := 0;
|
|
|
|
Max : Integer := 255
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRandomValue";
|
|
|
|
|
|
|
|
function Load_Random_Sequence (
|
|
|
|
Count : Natural := 0;
|
|
|
|
Min : Integer := 0;
|
|
|
|
Max : Integer := 0
|
|
|
|
) return access Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadRandomSequence";
|
|
|
|
|
|
|
|
procedure Unload_Random_Sequence (
|
|
|
|
Sequence : access Integer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadRandomSequence";
|
|
|
|
|
|
|
|
procedure Take_Screenshot (
|
|
|
|
File_Name : String := "Screenshot.png"
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TakeScreenshot";
|
|
|
|
|
|
|
|
procedure Set_Config_Flags (
|
|
|
|
Flags : Config_Flags := Flag_None
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetConfigFlags";
|
|
|
|
|
|
|
|
procedure Open_URL (
|
|
|
|
URL : String := ""
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "OpenURL";
|
|
|
|
|
|
|
|
procedure Set_Trace_Log_Level (
|
|
|
|
Level : Trace_Log_Level := Log_All
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetTraceLogLevel";
|
|
|
|
|
|
|
|
function Allocate (
|
|
|
|
Size : Natural := 0
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MemAlloc";
|
|
|
|
|
|
|
|
function Reallocate (
|
|
|
|
Data : Pointer := null;
|
|
|
|
Size : Natural := 0
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MemRealloc";
|
|
|
|
|
|
|
|
procedure Deallocate (
|
|
|
|
Data : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MemFree";
|
|
|
|
|
|
|
|
function Load_File_Data (
|
|
|
|
File_Name : String := "";
|
|
|
|
Data_Size : access Integer := null
|
|
|
|
) return access Character with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFileData";
|
|
|
|
|
|
|
|
procedure Unload_File_Data (
|
|
|
|
Data : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadFileData";
|
|
|
|
|
2024-04-22 18:18:21 -04:00
|
|
|
function Save_File_Data (
|
|
|
|
File_Name : String := "";
|
|
|
|
Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SaveFileData";
|
|
|
|
|
|
|
|
function Export_Data_As_Code (
|
|
|
|
Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportDataAsCode";
|
|
|
|
|
|
|
|
function Load_File_Text (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFileText";
|
|
|
|
|
|
|
|
procedure Unload_File_Text (
|
|
|
|
Text : String := ""
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadFileText";
|
|
|
|
|
|
|
|
function Save_File_Text (
|
|
|
|
File_Name : String := "";
|
|
|
|
Text : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SaveFileText";
|
|
|
|
|
|
|
|
function File_Exists (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "FileExists";
|
|
|
|
|
|
|
|
function Directory_Exists (
|
|
|
|
Directory_Path : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DirectoryExists";
|
|
|
|
|
|
|
|
function Is_File_Extension (
|
|
|
|
File_Name : String := "";
|
|
|
|
Extension : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsFileExtension";
|
|
|
|
|
|
|
|
function Get_File_Length (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFileLength";
|
|
|
|
|
|
|
|
function Get_File_Extension (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFileExtension";
|
|
|
|
|
|
|
|
function Get_File_Name (
|
|
|
|
File_Path : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFileName";
|
|
|
|
|
|
|
|
function Get_File_Name_Without_Ext (
|
|
|
|
File_Path : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFileNameWithoutExt";
|
|
|
|
|
|
|
|
function Get_Directory_Path (
|
|
|
|
File_Path : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetDirectoryPath";
|
|
|
|
|
|
|
|
function Get_Prev_Directory_Path (
|
|
|
|
Directory_Path : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetPrevDirectoryPath";
|
|
|
|
|
|
|
|
function Get_Working_Directory return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetWorkingDirectory";
|
|
|
|
|
|
|
|
function Get_Application_Directory return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetApplicationDirectory";
|
|
|
|
|
|
|
|
function Change_Directory (
|
|
|
|
Directory_Path : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ChangeDirectory";
|
|
|
|
|
|
|
|
function Is_Path_File (
|
|
|
|
Path : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsPathFile";
|
|
|
|
|
|
|
|
function Load_Directory_Files (
|
|
|
|
Directory_Path : String := ""
|
|
|
|
) return File_Path_List with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadDirectoryFiles";
|
|
|
|
|
|
|
|
function Load_Directory_Files_Ex (
|
|
|
|
Base_Path : String := "";
|
|
|
|
Filter : String := "";
|
|
|
|
Scan_Subdirectories : Logical := False
|
|
|
|
) return File_Path_List with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadDirectoryFilesEx";
|
|
|
|
|
|
|
|
procedure Unload_Directory_Files (
|
|
|
|
Files : File_Path_List := No_File_Path_List
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadDirectoryFiles";
|
|
|
|
|
|
|
|
function Is_File_Dropped return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsFileDropped";
|
|
|
|
|
|
|
|
function Load_Dropped_Files return File_Path_List with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadDroppedFiles";
|
|
|
|
|
|
|
|
procedure Unload_Dropped_Files (
|
|
|
|
Files : File_Path_List := No_File_Path_List
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadDroppedFiles";
|
|
|
|
|
|
|
|
function Get_File_Mod_Time (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Natural with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFileModTime";
|
|
|
|
|
|
|
|
function Compress_Data (
|
|
|
|
Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
Compressed_Data_Size : access Integer := null
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CompressData";
|
|
|
|
|
|
|
|
function Decompress_Data (
|
|
|
|
Compressed_Data : Pointer := null;
|
|
|
|
Compressed_Data_Size : Natural := 0;
|
|
|
|
Data_Size : Natural := 0
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DecompressData";
|
|
|
|
|
|
|
|
function Encode_Data_Base_64 (
|
|
|
|
Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
Output_Size : access Integer := null
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "EncodeDataBase64";
|
|
|
|
|
|
|
|
function Decode_Data_Base_64 (
|
|
|
|
Data : Pointer := null;
|
|
|
|
Output_Size : access Integer := null
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DecodeDataBase64";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
function Load_Automation_Event_List (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Automation_Event_List with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadAutomationEventList";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Unload_Automation_Event_List (
|
|
|
|
Data : access Automation_Event_List := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadAutomationEventList";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
function Export_Automation_Event_List (
|
|
|
|
Data : Automation_Event_List := No_Automation_Event_List;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportAutomationEventList";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Set_Automation_Event_List (
|
|
|
|
Data : access Automation_Event_List := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAutomationEventList";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Set_Automation_Event_Base_Frame (
|
|
|
|
Frame : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAutomationEventBaseFrame";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Start_Automation_Event_Recording with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "StartAutomationEventRecording";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Stop_Automation_Event_Recording with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "StopAutomationEventRecording";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 10:02:52 -04:00
|
|
|
procedure Play_Automation_Event (
|
|
|
|
Event : Automation_Event := No_Automation_Event
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PlayAutomationEvent";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Is_Key_Pressed (
|
|
|
|
Key : Keyboard_Key := Key_Null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsKeyPressed";
|
|
|
|
|
|
|
|
function Is_Key_Pressed_Repeat (
|
|
|
|
Key : Keyboard_Key := Key_Null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsKeyPressedRepeat";
|
|
|
|
|
|
|
|
function Is_Key_Down (
|
|
|
|
Key : Keyboard_Key := Key_Null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsKeyDown";
|
|
|
|
|
|
|
|
function Is_Key_Released (
|
|
|
|
Key : Keyboard_Key := Key_Null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsKeyReleased";
|
|
|
|
|
|
|
|
function Is_Key_Up (
|
|
|
|
Key : Keyboard_Key := Key_Null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsKeyUp";
|
|
|
|
|
|
|
|
function Get_Key_Pressed return Keyboard_Key with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetKeyPressed";
|
|
|
|
|
|
|
|
function Get_Character_Pressed return Character with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCharPressed";
|
|
|
|
|
|
|
|
procedure Set_Exit_Key (
|
|
|
|
Key : Keyboard_Key := Key_Escape
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetExitKey";
|
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Is_Gamepad_Available (
|
|
|
|
Gamepad : Integer := 0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGamepadAvailable";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Get_Gamepad_Name (
|
|
|
|
Gamepad : Integer := 0
|
2024-04-07 19:01:25 -04:00
|
|
|
) return Strings with
|
2024-04-07 18:43:24 -04:00
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGamepadName";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Is_Gamepad_Button_Pressed (
|
|
|
|
Gamepad : Integer := 0;
|
|
|
|
Button : Gamepad_Button := Gamepad_Button_Left_Thumb
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGamepadButtonPressed";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Is_Gamepad_Button_Down (
|
|
|
|
Gamepad : Integer := 0;
|
|
|
|
Button : Gamepad_Button := Gamepad_Button_Left_Thumb
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGamepadButtonDown";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Is_Gamepad_Button_Released (
|
|
|
|
Gamepad : Integer := 0;
|
|
|
|
Button : Gamepad_Button := Gamepad_Button_Left_Thumb
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGamepadButtonReleased";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Is_Gamepad_Button_Up (
|
|
|
|
Gamepad : Integer := 0;
|
|
|
|
Button : Gamepad_Button := Gamepad_Button_Left_Thumb
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGamepadButtonUp";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Get_Gamepad_Button_Pressed return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGamepadButtonPressed";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Get_Gamepad_Axis_Count (
|
|
|
|
Gamepad : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGamepadAxisCount";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Get_Gamepad_Axis_Movement (
|
|
|
|
Gamepad : Integer := 0;
|
|
|
|
Axis : Gamepad_Axis := Gamepad_Axis_Left_Trigger
|
|
|
|
) return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGamepadAxisMovement";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 18:43:24 -04:00
|
|
|
function Set_Gamepad_Mappings (
|
|
|
|
Mappings : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetGamepadMappings";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Is_Mouse_Button_Pressed (
|
|
|
|
Button : Mouse_Button := Mouse_Button_Left
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMouseButtonPressed";
|
|
|
|
|
|
|
|
function Is_Mouse_Button_Down (
|
|
|
|
Button : Mouse_Button := Mouse_Button_Left
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMouseButtonDown";
|
|
|
|
|
|
|
|
function Is_Mouse_Button_Released (
|
|
|
|
Button : Mouse_Button := Mouse_Button_Left
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMouseButtonReleased";
|
|
|
|
|
|
|
|
function Is_Mouse_Button_Up (
|
|
|
|
Button : Mouse_Button := Mouse_Button_Left
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMouseButtonUp";
|
|
|
|
|
|
|
|
function Get_Mouse_X return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMouseX";
|
|
|
|
|
|
|
|
function Get_Mouse_Y return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMouseY";
|
|
|
|
|
|
|
|
function Get_Mouse_Position return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMousePosition";
|
|
|
|
|
|
|
|
function Get_Mouse_Delta return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMouseDelta";
|
|
|
|
|
|
|
|
procedure Set_Mouse_Position (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMousePosition";
|
|
|
|
|
|
|
|
procedure Set_Mouse_Offset (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMouseOffset";
|
|
|
|
|
|
|
|
procedure Set_Mouse_Scale (
|
|
|
|
X : Float := 0.0;
|
|
|
|
Y : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMouseScale";
|
|
|
|
|
|
|
|
function Get_Mouse_Wheel_Move return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMouseWheelMove";
|
|
|
|
|
|
|
|
function Get_Mouse_Wheel_Move_V return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMouseWheelMoveV";
|
|
|
|
|
|
|
|
procedure Set_Mouse_Cursor (
|
|
|
|
Cursor : Mouse_Cursor := Mouse_Cursor_Default
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMouseCursor";
|
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Touch_X return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTouchX";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Touch_Y return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTouchY";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Touch_Position (
|
|
|
|
Index : Integer := 0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTouchPosition";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Touch_Point_Id (
|
|
|
|
Index : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTouchPointId";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Touch_Point_Count return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetTouchPointCount";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
procedure Set_Gestures_Enabled (
|
|
|
|
Data : Gesture := Gesture_None
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetGesturesEnabled";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Is_Gesture_Detected (
|
|
|
|
Data : Gesture := Gesture_None
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsGestureDetected";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Detected return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGestureDetected";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Hold_Duration return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGestureHoldDuration";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Drag_Vector return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGestureDragVector";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Drag_Angle return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGestureDragAngle";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Pinch_Vector return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGesturePinchVector";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:01:25 -04:00
|
|
|
function Get_Gesture_Pinch_Angle return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGesturePinchAngle";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Update_Camera (
|
|
|
|
Data : access Camera_3D := null;
|
|
|
|
Mode : Camera_Mode := Camera_First_Person
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateCamera";
|
|
|
|
|
|
|
|
procedure Update_Camera_Pro (
|
|
|
|
Data : access Camera_3D := null;
|
2024-04-05 09:36:42 -04:00
|
|
|
Movement : Vector_3D := (others => 0.0);
|
|
|
|
Rotation : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Zoom : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateCameraPro";
|
|
|
|
|
|
|
|
procedure Set_Shapes_Texture (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetShapesTexture";
|
|
|
|
|
|
|
|
procedure Draw_Pixel (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPixel";
|
|
|
|
|
|
|
|
procedure Draw_Pixel_V (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPixelV";
|
|
|
|
|
|
|
|
procedure Draw_Line (
|
|
|
|
X0 : Integer := 0;
|
|
|
|
Y0 : Integer := 0;
|
|
|
|
X1 : Integer := 0;
|
|
|
|
Y1 : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLine";
|
|
|
|
|
|
|
|
procedure Draw_Line_V (
|
2024-04-05 09:36:42 -04:00
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLineV";
|
|
|
|
|
|
|
|
procedure Draw_Line_Ex (
|
2024-04-05 09:36:42 -04:00
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Thick : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLineEx";
|
|
|
|
|
|
|
|
procedure Draw_Line_Strip (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLineStrip";
|
|
|
|
|
|
|
|
procedure Draw_Line_Bezier (
|
2024-04-05 09:36:42 -04:00
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Thick : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLineBezier";
|
|
|
|
|
|
|
|
procedure Draw_Circle (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircle";
|
|
|
|
|
|
|
|
procedure Draw_Circle_Sector (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0;
|
|
|
|
From : Float := 0.0;
|
|
|
|
To : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleSector";
|
|
|
|
|
|
|
|
procedure Draw_Circle_Sector_Lines (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0;
|
|
|
|
From : Float := 0.0;
|
|
|
|
To : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleSectorLines";
|
|
|
|
|
|
|
|
procedure Draw_Circle_Gradient (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint_1 : Color := Black;
|
|
|
|
Tint_2 : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleGradient";
|
|
|
|
|
|
|
|
procedure Draw_Circle_V (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleV";
|
|
|
|
|
|
|
|
procedure Draw_Circle_Lines (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleLines";
|
|
|
|
|
|
|
|
procedure Draw_Circle_Lines_V (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircleLinesV";
|
|
|
|
|
|
|
|
procedure Draw_Ellipse (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Horizontal : Float := 0.0;
|
|
|
|
Vertical : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawEllipse";
|
|
|
|
|
|
|
|
procedure Draw_Ellipse_Lines (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Horizontal : Float := 0.0;
|
|
|
|
Vertical : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawEllipseLines";
|
|
|
|
|
|
|
|
procedure Draw_Ring (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Inner_Radius : Float := 0.0;
|
|
|
|
Outer_Radius : Float := 0.0;
|
|
|
|
From : Float := 0.0;
|
|
|
|
To : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRing";
|
|
|
|
|
|
|
|
procedure Draw_Ring_Lines (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Inner_Radius : Float := 0.0;
|
|
|
|
Outer_Radius : Float := 0.0;
|
|
|
|
From : Float := 0.0;
|
|
|
|
To : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRingLines";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangle";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_V (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Size : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleV";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Rec (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleRec";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Pro (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
2024-04-05 09:36:42 -04:00
|
|
|
Origin : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectanglePro";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Gradient_V (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Color_1 : Color := Black;
|
|
|
|
Color_2 : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleGradientV";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Gradient_H (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Color_1 : Color := Black;
|
|
|
|
Color_2 : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleGradientH";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Gradient_Ex (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Color_1 : Color := Red;
|
|
|
|
Color_2 : Color := Green;
|
|
|
|
Color_3 : Color := Blue;
|
|
|
|
Color_4 : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleGradientEx";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Lines (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleLines";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Lines_Ex (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Thickness : Float := 1.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleLinesEx";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Rounded (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Roundness : Float := 1.0;
|
|
|
|
Segments : Integer := 1;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleRounded";
|
|
|
|
|
|
|
|
procedure Draw_Rectangle_Rounded_Lines (
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Roundness : Float := 1.0;
|
|
|
|
Segments : Integer := 1;
|
|
|
|
Thickness : Float := 1.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRectangleRoundedLines";
|
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Triangle (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangle";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Triangle_Lines (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangleLines";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Triangle_Fan (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangleFan";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Triangle_Strip (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangleStrip";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Poly (
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Sides : Natural := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPoly";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Poly_Lines (
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Sides : Natural := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPolyLines";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:44:58 -04:00
|
|
|
procedure Draw_Poly_Lines_Ex (
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Sides : Natural := 0;
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPolyLinesEx";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Linear (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineLinear";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Basis (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineBasis";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Catmull_Rom (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineCatmullRom";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Bezier_Quadratic (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineBezierQuadratic";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Bezier_Cubic (
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0;
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineBezierCubic";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Segment_Linear (
|
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineSegmentLinear";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Segment_Basis (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineSegmentBasis";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Segment_Catmull_Rom (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineSegmentCatmullRom";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Segment_Bezier_Quadratic (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineSegmentBezierQuadratic";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
procedure Draw_Spline_Segment_Bezier_Cubic (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Thickness : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSplineSegmentBezierCubic";
|
2024-04-22 21:06:35 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
function Get_Spline_Point_Linear (
|
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
|
|
|
Off : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetSplinePointLinear";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
function Get_Spline_Point_Basis (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Off : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetSplinePointBasis";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
function Get_Spline_Point_Catmull_Rom (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Off : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetSplinePointCatmullRom";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
function Get_Spline_Point_Bezier_Quad (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Off : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetSplinePointBezierQuad";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 20:56:18 -04:00
|
|
|
function Get_Spline_Point_Bezier_Cubic (
|
|
|
|
Point_1 : Vector_2D := (others => 0.0);
|
|
|
|
Point_2 : Vector_2D := (others => 0.0);
|
|
|
|
Point_3 : Vector_2D := (others => 0.0);
|
|
|
|
Point_4 : Vector_2D := (others => 0.0);
|
|
|
|
Off : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetSplinePointBezierCubic";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Recs (
|
|
|
|
Bound_1 : Rectangle := No_Rectangle;
|
|
|
|
Bound_2 : Rectangle := No_Rectangle
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionRecs";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Circles (
|
|
|
|
Center_1 : Vector_2D := (others => 0.0);
|
|
|
|
Radius_1 : Float := 0.0;
|
|
|
|
Center_2 : Vector_2D := (others => 0.0);
|
|
|
|
Radius_2 : Float := 0.0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionCircles";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Circle_Rec (
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Bound : Rectangle := No_Rectangle
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionCircleRec";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Point_Rec (
|
|
|
|
Point : Vector_2D := (others => 0.0);
|
|
|
|
Bound : Rectangle := No_Rectangle
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionPointRec";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Point_Circle (
|
|
|
|
Point : Vector_2D := (others => 0.0);
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionPointCircle";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Point_Triangle (
|
|
|
|
Point : Vector_2D := (others => 0.0);
|
|
|
|
Triangle_A : Vector_2D := (others => 0.0);
|
|
|
|
Triangle_B : Vector_2D := (others => 0.0);
|
|
|
|
Triangle_C : Vector_2D := (others => 0.0)
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionPointTriangle";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Point_Poly (
|
|
|
|
Point : Vector_2D := (others => 0.0);
|
|
|
|
Points : access Vector_2D := null;
|
|
|
|
Point_Count : Natural := 0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionPointPoly";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Lines (
|
|
|
|
From_1 : Vector_2D := (others => 0.0);
|
|
|
|
To_1 : Vector_2D := (others => 0.0);
|
|
|
|
From_2 : Vector_2D := (others => 0.0);
|
|
|
|
To_2 : Vector_2D := (others => 0.0);
|
|
|
|
Intersections : access Vector_2D := null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionLines";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Check_Collision_Point_Line (
|
|
|
|
Point : Vector_2D := (others => 0.0);
|
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
|
|
|
Threshold : Natural := 0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionPointLine";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 21:06:35 -04:00
|
|
|
function Get_Collision_Rec (
|
|
|
|
Bound_1 : Rectangle := No_Rectangle;
|
|
|
|
Bound_2 : Rectangle := No_Rectangle
|
|
|
|
) return Rectangle with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCollisionRec";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImage";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_Raw (
|
|
|
|
File_Name : String := "";
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Format : Integer := 0;
|
|
|
|
Header_Size : Integer := 0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageRaw";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_Svg (
|
|
|
|
File_Name : String := "";
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageSvg";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_Anim (
|
|
|
|
File_Name : String := "";
|
|
|
|
Frames : access Integer := null
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageAnim";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_From_Memory (
|
|
|
|
File_Type : String := "";
|
|
|
|
File_Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageFromMemory";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_From_Texture (
|
|
|
|
Data : Texture := No_Texture
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageFromTexture";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 04:53:57 -04:00
|
|
|
function Load_Image_From_Screen return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageFromScreen";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:01:04 -04:00
|
|
|
function Is_Image_Ready (
|
|
|
|
Data : Image := No_Image
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsImageReady";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:01:04 -04:00
|
|
|
procedure Unload_Image (
|
|
|
|
Data : Image := No_Image
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadImage";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:01:04 -04:00
|
|
|
function Export_Image (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportImage";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:01:04 -04:00
|
|
|
function Export_Image_To_Memory (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
File_Type : String := "";
|
|
|
|
File_Size : access Integer := null
|
|
|
|
) return Pointer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportImageToMemory";
|
|
|
|
|
|
|
|
function Export_Image_As_Code (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportImageAsCode";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Color (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageColor";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Gradient_Linear (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Direction : Integer := 0;
|
|
|
|
From : Color := White;
|
|
|
|
To : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageGradientLinear";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Gradient_Radial (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Density : Float := 0.0;
|
|
|
|
Inner : Color := White;
|
|
|
|
Outer : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageGradientRadial";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Gradient_Square (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Density : Float := 0.0;
|
|
|
|
Inner : Color := White;
|
|
|
|
Outer : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageGradientSquare";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Checked (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
X : Natural := 0;
|
|
|
|
Y : Natural := 0;
|
|
|
|
Color_1 : Color := White;
|
|
|
|
Color_2 : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageChecked";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_White_Noise (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Factor : Float := 0.0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageWhiteNoise";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Perlin_Noise (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
X : Natural := 0;
|
|
|
|
Y : Natural := 0;
|
|
|
|
Scale : Float := 0.0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImagePerlinNoise";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Cellular (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Size : Natural := 0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageCellular";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 05:33:45 -04:00
|
|
|
function Gen_Image_Text (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Text : String := ""
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageText";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-23 06:12:48 -04:00
|
|
|
function Image_Copy (
|
|
|
|
Data : Image := No_Image
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageCopy";
|
|
|
|
|
|
|
|
function Image_From_Image (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
Crop : Rectangle := No_Rectangle
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageFromImage";
|
|
|
|
|
|
|
|
function Image_Text (
|
|
|
|
Text : String := "";
|
|
|
|
Font_Size : Natural := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageText";
|
|
|
|
|
|
|
|
function Image_Text_Ex (
|
|
|
|
Data : Font := No_Font;
|
|
|
|
Text : String := "";
|
|
|
|
Font_Size : Natural := 0;
|
|
|
|
Spacing : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageTextEx";
|
|
|
|
|
|
|
|
procedure Image_Format (
|
|
|
|
Data : access Image := null;
|
|
|
|
Format : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageFormat";
|
|
|
|
|
|
|
|
procedure Image_To_POT (
|
|
|
|
Data : access Image := null;
|
|
|
|
Fill : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageToPOT";
|
|
|
|
|
|
|
|
procedure Image_Crop (
|
|
|
|
Data : access Image := null;
|
|
|
|
Crop : Rectangle := No_Rectangle
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageCrop";
|
|
|
|
|
|
|
|
procedure Image_Alpha_Crop (
|
|
|
|
Data : access Image := null;
|
|
|
|
Threshold : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageAlphaCrop";
|
|
|
|
|
|
|
|
procedure Image_Alpha_Clear (
|
|
|
|
Data : access Image := null;
|
|
|
|
Tint : Color := White;
|
|
|
|
Threshold : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageAlphaClear";
|
|
|
|
|
|
|
|
procedure Image_Alpha_Mask (
|
|
|
|
Data : access Image := null;
|
|
|
|
Mask : Image := No_Image
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageAlphaMask";
|
|
|
|
|
|
|
|
procedure Image_Alpha_Premultiply (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageAlphaPremultiply";
|
|
|
|
|
|
|
|
procedure Image_Blur_Gaussian (
|
|
|
|
Data : access Image := null;
|
|
|
|
Blur : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageBlurGaussian";
|
|
|
|
|
|
|
|
procedure Image_Kernel_Convolution (
|
|
|
|
Data : access Image := null;
|
|
|
|
Kernel : access Float := null;
|
|
|
|
Kernel_Size : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageKernelConvolution";
|
|
|
|
|
|
|
|
procedure Image_Resize (
|
|
|
|
Data : access Image := null;
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageResize";
|
|
|
|
|
|
|
|
procedure Image_Resize_NN (
|
|
|
|
Data : access Image := null;
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageResizeNN";
|
|
|
|
|
|
|
|
procedure Image_Resize_Canvas (
|
|
|
|
Data : access Image := null;
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Fill : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageResizeCanvas";
|
|
|
|
|
|
|
|
procedure Image_Mipmaps (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageMipmaps";
|
|
|
|
|
|
|
|
procedure Image_Dither (
|
|
|
|
Data : access Image := null;
|
|
|
|
R : Integer := 0;
|
|
|
|
G : Integer := 0;
|
|
|
|
B : Integer := 0;
|
|
|
|
A : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDither";
|
|
|
|
|
|
|
|
procedure Image_Flip_Vertical (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageFlipVertical";
|
|
|
|
|
|
|
|
procedure Image_Flip_Horizontal (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageFlipHorizontal";
|
|
|
|
|
|
|
|
procedure Image_Rotate (
|
|
|
|
Data : access Image := null;
|
|
|
|
Degrees : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageRotate";
|
|
|
|
|
|
|
|
procedure Image_Rotate_CW (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageRotateCW";
|
|
|
|
|
|
|
|
procedure Image_Rotate_CCW (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageRotateCCW";
|
|
|
|
|
|
|
|
procedure Image_Color_Tint (
|
|
|
|
Data : access Image := null;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorTint";
|
|
|
|
|
|
|
|
procedure Image_Color_Invert (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorInvert";
|
|
|
|
|
|
|
|
procedure Image_Color_Grayscale (
|
|
|
|
Data : access Image := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorGrayscale";
|
|
|
|
|
|
|
|
procedure Image_Color_Contrast (
|
|
|
|
Data : access Image := null;
|
|
|
|
Contrast : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorContrast";
|
|
|
|
|
|
|
|
procedure Image_Color_Brightness (
|
|
|
|
Data : access Image := null;
|
|
|
|
Brightness : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorBrightness";
|
|
|
|
|
|
|
|
procedure Image_Color_Replace (
|
|
|
|
Data : access Image := null;
|
|
|
|
Color_1 : Color := White;
|
|
|
|
Color_2 : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageColorReplace";
|
|
|
|
|
|
|
|
function Load_Image_Colors (
|
|
|
|
Data : Image := No_Image
|
|
|
|
) return access Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImageColors";
|
|
|
|
|
|
|
|
function Load_Image_Palette (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
Palette_Size : Natural := 0;
|
|
|
|
Color_Count : access Integer := null
|
|
|
|
) return access Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadImagePalette";
|
|
|
|
|
|
|
|
procedure Unload_Image_Colors (
|
|
|
|
Colors : access Color := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadImageColors";
|
|
|
|
|
|
|
|
procedure Unload_Image_Palette (
|
|
|
|
Colors : access Color := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadImagePalette";
|
|
|
|
|
|
|
|
function Get_Image_Alpha_Border (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
Threshold : Float := 0.0
|
|
|
|
) return Rectangle with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetImageAlphaBorder";
|
|
|
|
|
|
|
|
function Get_Image_Color (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetImageColor";
|
|
|
|
|
|
|
|
procedure Image_Clear_Background (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageClearBackground";
|
|
|
|
|
|
|
|
procedure Image_Draw_Pixel (
|
|
|
|
Destination : access Image := null;
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawPixel";
|
|
|
|
|
|
|
|
procedure Image_Draw_Pixel_V (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawPixelV";
|
|
|
|
|
|
|
|
procedure Image_Draw_Line (
|
|
|
|
Destination : access Image := null;
|
|
|
|
From_X : Integer := 0;
|
|
|
|
From_Y : Integer := 0;
|
|
|
|
To_X : Integer := 0;
|
|
|
|
To_Y : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawLine";
|
|
|
|
|
|
|
|
procedure Image_Draw_Line_V (
|
|
|
|
Destination : access Image := null;
|
|
|
|
From : Vector_2D := (others => 0.0);
|
|
|
|
To : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawLineV";
|
|
|
|
|
|
|
|
procedure Image_Draw_Circle (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Center_X : Integer := 0;
|
|
|
|
Center_Y : Integer := 0;
|
|
|
|
Radius : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawCircle";
|
|
|
|
|
|
|
|
procedure Image_Draw_Circle_V (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Radius : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawCircleV";
|
|
|
|
|
|
|
|
procedure Image_Draw_Circle_Lines (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Center_X : Integer := 0;
|
|
|
|
Center_Y : Integer := 0;
|
|
|
|
Radius : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawCircleLines";
|
|
|
|
|
|
|
|
procedure Image_Draw_Circle_Lines_V (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Center : Vector_2D := (others => 0.0);
|
|
|
|
Radius : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawCircleLinesV";
|
|
|
|
|
|
|
|
procedure Image_Draw_Rectangle (
|
|
|
|
Destination : access Image := null;
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Width : Integer := 0;
|
|
|
|
Height : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawRectangle";
|
|
|
|
|
|
|
|
procedure Image_Draw_Rectangle_V (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Size : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawRectangleV";
|
|
|
|
|
|
|
|
procedure Image_Draw_Rectangle_Rec (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawRectangleRec";
|
|
|
|
|
|
|
|
procedure Image_Draw_Rectangle_Lines (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Data : Rectangle := No_Rectangle;
|
|
|
|
Thick : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawRectangleLines";
|
|
|
|
|
|
|
|
procedure Image_Draw (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Source : Image := No_Image;
|
|
|
|
From : Rectangle := No_Rectangle;
|
|
|
|
To : Rectangle := No_Rectangle;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDraw";
|
|
|
|
|
|
|
|
procedure Image_Draw_Text (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Text : String := "";
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Font_Size : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawText";
|
|
|
|
|
|
|
|
procedure Image_Draw_Text_Ex (
|
|
|
|
Destination : access Image := null;
|
|
|
|
Data : Font := No_Font;
|
|
|
|
Text : String := "";
|
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Spacing : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ImageDrawTextEx";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Load_Texture (
|
|
|
|
File_Path : String := ""
|
|
|
|
) return Texture with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadTexture";
|
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Load_Texture_From_Image (
|
|
|
|
Data : Image := No_Image
|
|
|
|
) return Texture with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadTextureFromImage";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Load_Texture_Cubemap (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
Layout : Integer := 0
|
|
|
|
) return Texture with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadTextureCubemap";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Load_Render_Texture (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0
|
|
|
|
) return Render_Texture with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadRenderTexture";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Is_Texture_Ready (
|
|
|
|
Data : Texture := No_Texture
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsTextureReady";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Unload_Texture (
|
|
|
|
Data : Texture := No_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadTexture";
|
|
|
|
|
|
|
|
function Is_Render_Texture_Ready (
|
|
|
|
Target : Render_Texture := No_Render_Texture
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsRenderTextureReady";
|
|
|
|
|
|
|
|
procedure Unload_Render_Texture (
|
|
|
|
Target : Render_Texture := No_Render_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadRenderTexture";
|
|
|
|
|
|
|
|
procedure Update_Texture (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Pixels : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateTexture";
|
|
|
|
|
|
|
|
procedure Update_Texture_Rec (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle;
|
|
|
|
Pixels : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateTextureRec";
|
|
|
|
|
|
|
|
procedure Gen_Texture_Mipmaps (
|
|
|
|
Data : Texture := No_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenTextureMipmaps";
|
|
|
|
|
|
|
|
procedure Set_Texture_Filter (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Filter : Texture_Filter := Texture_Filter_Point
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetTextureFilter";
|
|
|
|
|
|
|
|
procedure Set_Texture_Wrap (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Wrap : Texture_Wrap := Texture_Wrap_Repeat
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetTextureWrap";
|
|
|
|
|
|
|
|
procedure Draw_Texture (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTexture";
|
|
|
|
|
|
|
|
procedure Draw_Texture_V (
|
|
|
|
Data : Texture := No_Texture;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextureV";
|
|
|
|
|
|
|
|
procedure Draw_Texture_Ex (
|
|
|
|
Data : Texture := No_Texture;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Scale : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextureEx";
|
|
|
|
|
|
|
|
procedure Draw_Texture_Rec (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextureRec";
|
|
|
|
|
|
|
|
procedure Draw_Texture_Pro (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle;
|
|
|
|
Destination : Rectangle := No_Rectangle;
|
2024-04-05 09:36:42 -04:00
|
|
|
Origin : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTexturePro";
|
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
procedure Draw_Texture_NPatch (
|
|
|
|
Data : Texture := No_Texture;
|
|
|
|
-- ERROR NPatch_Info : NPatch_Info := No_NPatch_Info;
|
|
|
|
Destination : Rectangle := No_Rectangle;
|
|
|
|
Origin : Vector_2D := (others => 0.0);
|
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextureNPatch";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Fade (
|
|
|
|
Data : Color := White;
|
|
|
|
Alpha : Float := 0.0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "Fade";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_To_Integer (
|
|
|
|
Data : Color := White
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorToInt";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Normalize (
|
|
|
|
Data : Color := White
|
|
|
|
) return Vector_4D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorNormalize";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_From_Normalized (
|
|
|
|
Normalized : Vector_4D := (others => 0.0)
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorFromNormalized";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_To_HSV (
|
|
|
|
Data : Color := White
|
|
|
|
) return Vector_3D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorToHSV";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_From_HSV (
|
|
|
|
Hue : Float := 0.0;
|
|
|
|
Saturation : Float := 0.0;
|
|
|
|
Value : Float := 0.0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorFromHSV";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Tint (
|
|
|
|
Data : Color := White;
|
|
|
|
Tint : Color := Black
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorTint";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Brightness (
|
|
|
|
Data : Color := White;
|
|
|
|
Factor : Float := 0.0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorBrightness";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Contrast (
|
|
|
|
Data : Color := White;
|
|
|
|
Contrast : Float := 0.0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorContrast";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Alpha (
|
|
|
|
Data : Color := White;
|
|
|
|
Alpha : Float := 0.0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorAlpha";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Color_Alpha_Blend (
|
|
|
|
Destination : Color := White;
|
|
|
|
Source : Color := Black;
|
|
|
|
Tint : Color := Ray_White
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ColorAlphaBlend";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Get_Color (
|
|
|
|
Value : Natural := 0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetColor";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Get_Pixel_Color (
|
|
|
|
Source : Pointer := null;
|
|
|
|
Format : Integer := 0
|
|
|
|
) return Color with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetPixelColor";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
procedure Set_Pixel_Color (
|
|
|
|
Destination : Pointer := null;
|
|
|
|
Data : Color := White;
|
|
|
|
Format : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetPixelColor";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:19:54 -04:00
|
|
|
function Get_Pixel_Data_Size (
|
|
|
|
Width : Natural := 0;
|
|
|
|
Height : Natural := 0;
|
|
|
|
Format : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetPixelDataSize";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Get_Font_Default return Font with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetFontDefault";
|
|
|
|
|
|
|
|
function Load_Font (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Font with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFont";
|
|
|
|
|
|
|
|
function Load_Font_Ex (
|
|
|
|
File_Name : String := "";
|
|
|
|
Font_Size : Integer := 32;
|
|
|
|
Code_Points : access Integer := null;
|
|
|
|
Code_Point_Count : Natural := 0
|
|
|
|
) return Font with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFontEx";
|
|
|
|
|
|
|
|
function Load_Font_From_Image (
|
|
|
|
Data : Image := No_Image;
|
|
|
|
Key : Color := White;
|
|
|
|
First_Character : Integer := 0
|
|
|
|
) return Font with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFontFromImage";
|
|
|
|
|
|
|
|
function Load_Font_From_Memory (
|
|
|
|
File_Type : String := "";
|
|
|
|
File_Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
Font_Size : Integer := 32;
|
|
|
|
Code_Points : access Integer := null;
|
|
|
|
Code_Point_Count : Natural := 0
|
|
|
|
) return Font with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFontFromMemory";
|
|
|
|
|
|
|
|
function Is_Font_Ready (
|
|
|
|
Data : Font := No_Font
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsFontReady";
|
|
|
|
|
|
|
|
function Load_Font_Data (
|
|
|
|
File_Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
Font_Size : Integer := 32;
|
|
|
|
Code_Points : access Integer := null;
|
|
|
|
Code_Point_Count : Natural := 0;
|
|
|
|
Kind : Integer := 0
|
|
|
|
) return access Glyph_Info with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadFontData";
|
|
|
|
|
|
|
|
function Gen_Image_Font_Atlas (
|
|
|
|
Glyphs : access Glyph_Info := null;
|
|
|
|
Glyph_Rectangles : access Rectangle := null;
|
|
|
|
Glyph_Count : Integer := 0;
|
|
|
|
Font_Size : Integer := 32;
|
|
|
|
Padding : Integer := 0;
|
|
|
|
Pack_Method : Integer := 0
|
|
|
|
) return Image with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenImageFontAtlas";
|
|
|
|
|
|
|
|
procedure Unload_Font_Data (
|
|
|
|
Glyphs : access Glyph_Info := null;
|
|
|
|
Glyph_Count : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadFontData";
|
|
|
|
|
|
|
|
procedure Unload_Font (
|
|
|
|
Data : Font := No_Font
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadFont";
|
|
|
|
|
|
|
|
function Export_Font_As_Code (
|
|
|
|
Data : Font := No_Font;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportFontAsCode";
|
|
|
|
|
|
|
|
procedure Draw_FPS (
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawFPS";
|
|
|
|
|
|
|
|
procedure Draw_Text (
|
|
|
|
Text : String := "";
|
|
|
|
X : Integer := 0;
|
|
|
|
Y : Integer := 0;
|
|
|
|
Size : Integer := 32;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawText";
|
|
|
|
|
|
|
|
procedure Draw_Text_Ex (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Text : String := "";
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Spacing : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextEx";
|
|
|
|
|
|
|
|
procedure Draw_Text_Pro (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Text : String := "";
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Origin : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Spacing : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextPro";
|
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Text_Codepoint (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Code_Point : Integer := 0;
|
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextCodepoint";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Text_Codepoints (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Code_Points : access Integer := null;
|
|
|
|
Code_Point_Count : Integer := 0;
|
|
|
|
Position : Vector_2D := (others => 0.0);
|
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Spacing : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTextCodepoints";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Set_Text_Line_Spacing (
|
|
|
|
Spacing : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetTextLineSpacing";
|
|
|
|
|
|
|
|
function Measure_Text (
|
|
|
|
Text : String := "";
|
|
|
|
Font_Size : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MeasureText";
|
|
|
|
|
|
|
|
function Measure_Text_Ex (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Text : String := "";
|
|
|
|
Font_Size : Float := 0.0;
|
|
|
|
Spacing : Float := 0.0
|
|
|
|
) return Vector_2D with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "MeasureTextEx";
|
|
|
|
|
|
|
|
function Get_Glyph_Index (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Code_Point : Integer := 0
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGlyphIndex";
|
|
|
|
|
|
|
|
function Get_Glyph_Info (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Code_Point : Integer := 0
|
|
|
|
) return Glyph_Info with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGlyphInfo";
|
|
|
|
|
|
|
|
function Get_Glyph_Atlas_Rec (
|
|
|
|
Data : Font := Get_Font_Default;
|
|
|
|
Code_Point : Integer := 0
|
|
|
|
) return Rectangle with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetGlyphAtlasRec";
|
|
|
|
|
|
|
|
function Load_UTF8 (
|
|
|
|
Code_Points : access Integer := null;
|
|
|
|
Length : Integer := 0
|
|
|
|
) return access Character with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadUTF8";
|
|
|
|
|
|
|
|
procedure Unload_UTF8 (
|
|
|
|
Text : access Character := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadUTF8";
|
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Load_Code_Points (
|
|
|
|
Text : String := "";
|
|
|
|
Count : access Integer := null
|
|
|
|
) return access Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadCodepoints";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Unload_Code_Points (
|
|
|
|
Code_Points : access Integer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadCodepoints";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Get_Code_Point_Count (
|
|
|
|
Text : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCodepointCount";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Get_Code_Point (
|
|
|
|
Text : String := "";
|
|
|
|
Code_Point_Size : access Integer := null
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCodepoint";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Get_Code_Point_Next (
|
|
|
|
Text : String := "";
|
|
|
|
Code_Point_Size : access Integer := null
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCodepointNext";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Get_Code_Point_Previous (
|
|
|
|
Text : String := "";
|
|
|
|
Code_Point_Size : access Integer := null
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetCodepointPrevious";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Code_Point_To_UTF8 (
|
|
|
|
Code_Point : Integer := 0;
|
|
|
|
UTF8_Size : access Integer := null
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CodepointToUTF8";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Copy (
|
|
|
|
Destination : Strings := null;
|
|
|
|
Source : Strings := null
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextCopy";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Is_Equal (
|
|
|
|
Text_1 : Strings := null;
|
|
|
|
Text_2 : Strings := null
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextIsEqual";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Length (
|
|
|
|
Text : String := ""
|
|
|
|
) return Natural with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextLength";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Subtext (
|
|
|
|
Text : String := "";
|
|
|
|
Position : Integer := 0;
|
|
|
|
Length : Integer := 0
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextSubtext";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Replace (
|
|
|
|
Text : Strings := null;
|
|
|
|
Replace : String := "";
|
|
|
|
By : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextReplace";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Insert (
|
|
|
|
Text : String := "";
|
|
|
|
Insert : String := "";
|
|
|
|
Position : Integer := 0
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextInsert";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Join (
|
|
|
|
Text : Strings := null;
|
|
|
|
Count : Integer := 0;
|
|
|
|
Delimiter : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextJoin";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Split (
|
|
|
|
Text : String := "";
|
|
|
|
Delimiter : Character := ' ';
|
|
|
|
Count : access Integer := null
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextSplit";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Text_Append (
|
|
|
|
Text : Strings := null;
|
|
|
|
Append : String := "";
|
|
|
|
Position : access Integer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextAppend";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_Find_Index (
|
|
|
|
Text : String := "";
|
|
|
|
Find : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextFindIndex";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_To_Upper (
|
|
|
|
Text : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextToUpper";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_To_Lower (
|
|
|
|
Text : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextToLower";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_To_Pascal (
|
|
|
|
Text : String := ""
|
|
|
|
) return Strings with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextToPascal";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
function Text_To_Integer (
|
|
|
|
Text : String := ""
|
|
|
|
) return Integer with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "TextToInteger";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Draw_Line_3D (
|
|
|
|
From : Vector_3D := (others => 0.0);
|
|
|
|
To : Vector_3D := (others => 0.0);
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawLine3D";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Draw_Point_3D (
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPoint3D";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Draw_Circle_3D (
|
|
|
|
Center : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rotation_Axis : Vector_3D := (others => 0.0);
|
|
|
|
Rotation_Angle : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCircle3D";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Draw_Triangle_3D (
|
|
|
|
Point_1 : Vector_3D := (others => 0.0);
|
|
|
|
Point_2 : Vector_3D := (others => 0.0);
|
|
|
|
Point_3 : Vector_3D := (others => 0.0);
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangle3D";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-22 16:07:40 -04:00
|
|
|
procedure Draw_Triangle_Strip_3D (
|
|
|
|
Points : access Vector_3D := null;
|
|
|
|
Point_Count : Integer := 0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawTriangleStrip3D";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Cube (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Width : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Length : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCube";
|
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cube_V (
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Size : Vector_3D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCubeV";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Cube_Wires (
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Width : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Length : Float := 0.0;
|
|
|
|
Tint : Color := Black
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCubeWires";
|
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cube_Wires_V (
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Size : Vector_3D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCubeWiresV";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Sphere (
|
|
|
|
Center : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSphere";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Sphere_Ex (
|
|
|
|
Center : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rings : Integer := 0;
|
|
|
|
Slices : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSphereEx";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Sphere_Wires (
|
|
|
|
Center : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rings : Integer := 0;
|
|
|
|
Slices : Integer := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawSphereWires";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cylinder (
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Radius_Top : Float := 0.0;
|
|
|
|
Radius_Bottom : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Slices : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCylinder";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cylinder_Ex (
|
|
|
|
From : Vector_3D := (others => 0.0);
|
|
|
|
To : Vector_3D := (others => 0.0);
|
|
|
|
From_Radius : Float := 0.0;
|
|
|
|
To_Radius : Float := 0.0;
|
|
|
|
Sides : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCylinderEx";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cylinder_Wires (
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Radius_Top : Float := 0.0;
|
|
|
|
Radius_Bottom : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Slices : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCylinderWires";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Cylinder_Wires_Ex (
|
|
|
|
From : Vector_3D := (others => 0.0);
|
|
|
|
To : Vector_3D := (others => 0.0);
|
|
|
|
From_Radius : Float := 0.0;
|
|
|
|
To_Radius : Float := 0.0;
|
|
|
|
Sides : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCylinderWiresEx";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Capsule (
|
|
|
|
From : Vector_3D := (others => 0.0);
|
|
|
|
To : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Slices : Natural := 0;
|
|
|
|
Rings : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCapsule";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Capsule_Wires (
|
|
|
|
From : Vector_3D := (others => 0.0);
|
|
|
|
To : Vector_3D := (others => 0.0);
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Slices : Natural := 0;
|
|
|
|
Rings : Natural := 0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawCapsuleWires";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Plane (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_3D := (others => 0.0);
|
|
|
|
Size : Vector_2D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawPlane";
|
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Ray (
|
|
|
|
Data : Ray := No_Ray;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawRay";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
procedure Draw_Grid (
|
|
|
|
Slices : Integer := 0;
|
|
|
|
Spacing : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawGrid";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Load_Model (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Model with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadModel";
|
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
function Load_Model_From_Mesh (
|
|
|
|
Data : Mesh := No_Mesh
|
|
|
|
) return Model with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadModelFromMesh";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-07 19:39:00 -04:00
|
|
|
function Is_Model_Ready (
|
|
|
|
Data : Model := No_Model
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsModelReady";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Unload_Model (
|
|
|
|
Data : Model := No_Model
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadModel";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
function GetModelBoundingBox (
|
|
|
|
Data : Model := No_Model
|
|
|
|
) return Bounding_Box with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetModelBoundingBox";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Model (
|
|
|
|
Data : Model := No_Model;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Scale : Float := 1.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawModel";
|
|
|
|
|
|
|
|
procedure Draw_Model_Ex (
|
|
|
|
Data : Model := No_Model;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Axis : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Angle : Float := 0.0;
|
|
|
|
Scale : Vector_3D := (1.0, 1.0, 1.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawModelEx";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Draw_Model_Wires (
|
|
|
|
Data : Model := No_Model;
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Scale : Float := 0.0;
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawModelWires";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Model_Wires_Ex (
|
|
|
|
Data : Model := No_Model;
|
2024-04-05 09:36:42 -04:00
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Axis : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Angle : Float := 0.0;
|
|
|
|
Scale : Vector_3D := (1.0, 1.0, 1.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawModelWiresEx";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Draw_Bounding_Box (
|
2024-04-05 09:56:09 -04:00
|
|
|
Box : Bounding_Box := No_Bounding_Box;
|
|
|
|
Tint : Color := White
|
2024-04-05 09:36:42 -04:00
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawBoundingBox";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Billboard (
|
2024-04-05 09:36:42 -04:00
|
|
|
Camera : Camera_3D := No_Camera_3D;
|
|
|
|
Billboard : Texture := No_Texture;
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Size : Float := 0.0;
|
|
|
|
Tint : Color := White
|
2024-04-05 09:19:28 -04:00
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawBillboard";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Draw_Billboard_Rec (
|
|
|
|
Camera : Camera_3D := No_Camera_3D;
|
|
|
|
Billboard : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle;
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Size : Vector_2D := (others => 0.0);
|
|
|
|
Tint : Color := White
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawBillboardRec";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Billboard_Pro (
|
2024-04-05 09:36:42 -04:00
|
|
|
Camera : Camera_3D := No_Camera_3D;
|
|
|
|
Billboard : Texture := No_Texture;
|
|
|
|
Source : Rectangle := No_Rectangle;
|
|
|
|
Position : Vector_3D := (others => 0.0);
|
|
|
|
Up : Vector_3D := (others => 0.0);
|
|
|
|
Size : Vector_2D := (others => 0.0);
|
|
|
|
Origin : Vector_2D := (others => 0.0);
|
|
|
|
Rotation : Float := 0.0;
|
|
|
|
Tint : Color := White
|
2024-04-05 09:19:28 -04:00
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawBillboardPro";
|
|
|
|
|
|
|
|
procedure Upload_Mesh (
|
|
|
|
Data : access Mesh := null;
|
|
|
|
Dynamic : Logical := False
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UploadMesh";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Update_Mesh_Buffer (
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
Index : Integer := 0;
|
|
|
|
This : Pointer := null;
|
|
|
|
Data_Size : Natural := 0;
|
|
|
|
Offset : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateMeshBuffer";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Unload_Mesh (
|
|
|
|
Data : Mesh := No_Mesh
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadMesh";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
procedure Draw_Mesh (
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
Pixels : Material := No_Material;
|
|
|
|
Transform : Matrix_4D := (others => 0.0)
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawMesh";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Draw_Mesh_Instanced (
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
Use_Material : Material := No_Material;
|
|
|
|
Transforms : access Matrix_4D := null;
|
|
|
|
Instances : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DrawMeshInstanced";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
function Get_Mesh_Bounding_Box (
|
|
|
|
Data : Mesh := No_Mesh
|
|
|
|
) return Bounding_Box with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMeshBoundingBox";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Gen_Mesh_Tangents (
|
|
|
|
Data : access Mesh := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshTangents";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
function Export_Mesh (
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportMesh";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
function Export_Mesh_As_Code (
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportMeshAsCode";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
function Gen_Mesh_Poly (
|
|
|
|
Sides : Integer := 0;
|
|
|
|
Radius : Float := 0.0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshPoly";
|
2024-04-05 09:19:28 -04:00
|
|
|
|
|
|
|
function Gen_Mesh_Plane (
|
|
|
|
Width : Float := 1.0;
|
|
|
|
Height : Float := 1.0;
|
|
|
|
X : Integer := 1;
|
|
|
|
Z : Integer := 1
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshPlane";
|
|
|
|
|
|
|
|
function Gen_Mesh_Cube (
|
|
|
|
Width : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Length : Float := 0.0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshCube";
|
|
|
|
|
|
|
|
function Gen_Mesh_Sphere (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rings : Integer := 0;
|
|
|
|
Slices : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshSphere";
|
|
|
|
|
|
|
|
function Gen_Mesh_Hemisphere (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Rings : Integer := 0;
|
|
|
|
Slices : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshHemiSphere";
|
|
|
|
|
|
|
|
function Gen_Mesh_Cylinder (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Slices : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshCylinder";
|
|
|
|
|
|
|
|
function Gen_Mesh_Cone (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Height : Float := 0.0;
|
|
|
|
Slices : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshCone";
|
|
|
|
|
|
|
|
function Gen_Mesh_Torus (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Size : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Sides : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshTorus";
|
|
|
|
|
|
|
|
function Gen_Mesh_Knot (
|
|
|
|
Radius : Float := 0.0;
|
|
|
|
Size : Float := 0.0;
|
|
|
|
Segments : Integer := 0;
|
|
|
|
Sides : Integer := 0
|
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshKnot";
|
|
|
|
|
|
|
|
function Gen_Mesh_Height_Map (
|
|
|
|
Height_Map : Image := No_Image;
|
2024-04-05 09:36:42 -04:00
|
|
|
Size : Vector_3D := (others => 0.0)
|
2024-04-05 09:19:28 -04:00
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshHeightmap";
|
|
|
|
|
|
|
|
function Gen_Mesh_Cubic_Map (
|
|
|
|
Cubic_Map : Image := No_Image;
|
2024-04-05 09:36:42 -04:00
|
|
|
Size : Vector_3D := (others => 0.0)
|
2024-04-05 09:19:28 -04:00
|
|
|
) return Mesh with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GenMeshCubicmap";
|
|
|
|
|
|
|
|
function Load_Materials (
|
|
|
|
File_Name : String := "";
|
|
|
|
Counts : access Integer := null
|
|
|
|
) return access Material with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadMaterials";
|
|
|
|
|
|
|
|
function Load_Material_Default return Material with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadMaterialDefault";
|
|
|
|
|
|
|
|
function Is_Material_Ready (
|
|
|
|
Data : Material := No_Material
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMaterialReady";
|
|
|
|
|
|
|
|
procedure Unload_Material (
|
|
|
|
Data : Material := No_Material
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadMaterial";
|
|
|
|
|
|
|
|
procedure Set_Material_Texture (
|
|
|
|
Data : access Material := null;
|
|
|
|
Kind : Material_Map_Index := Material_Map_Height;
|
|
|
|
This : Texture := No_Texture
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMaterialTexture";
|
|
|
|
|
|
|
|
procedure Set_Model_Mesh_Material (
|
|
|
|
Data : access Model := null;
|
|
|
|
Mesh_Id : Integer := 0;
|
|
|
|
Material_Id : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetModelMeshMaterial";
|
|
|
|
|
|
|
|
function Load_Model_Animations (
|
|
|
|
File_Name : String := "";
|
|
|
|
Counts : access Integer := null
|
|
|
|
) return access Model_Animation with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadModelAnimations";
|
|
|
|
|
|
|
|
procedure Update_Model_Animation (
|
|
|
|
Data : Model := No_Model;
|
|
|
|
Animation : Model_Animation := No_Model_Animation;
|
|
|
|
Frame : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateModelAnimation";
|
|
|
|
|
|
|
|
procedure Unload_Model_Animation (
|
|
|
|
Animation : Model_Animation := No_Model_Animation
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadModelAnimation";
|
|
|
|
|
|
|
|
procedure Unload_Model_Animations (
|
|
|
|
Animations : access Model_Animation := null;
|
|
|
|
Animation_Count : Natural := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadModelAnimations";
|
|
|
|
|
|
|
|
function Is_Model_Animation_Valid (
|
|
|
|
Data : Model := No_Model;
|
|
|
|
Animation : Model_Animation := No_Model_Animation
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsModelAnimationValid";
|
|
|
|
|
|
|
|
function Check_Collision_Spheres (
|
2024-04-05 09:36:42 -04:00
|
|
|
Center_1 : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius_1 : Float := 0.0;
|
2024-04-05 09:36:42 -04:00
|
|
|
Center_2 : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius_2 : Float := 0.0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionSpheres";
|
|
|
|
|
|
|
|
function Check_Collision_Boxes (
|
|
|
|
Box_1 : Bounding_Box := No_Bounding_Box;
|
|
|
|
Box_2 : Bounding_Box := No_Bounding_Box
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionBoxes";
|
|
|
|
|
|
|
|
function Check_Collision_Box_Sphere (
|
|
|
|
Box : Bounding_Box := No_Bounding_Box;
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CheckCollisionBoxSphere";
|
|
|
|
|
|
|
|
function Get_Ray_Collision_Sphere (
|
|
|
|
Hit : Ray := No_Ray;
|
2024-04-05 09:36:42 -04:00
|
|
|
Center : Vector_3D := (others => 0.0);
|
2024-04-05 09:19:28 -04:00
|
|
|
Radius : Float := 0.0
|
|
|
|
) return Ray_Collision with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRayCollisionSphere";
|
|
|
|
|
|
|
|
function Get_Ray_Collision_Box (
|
|
|
|
Hit : Ray := No_Ray;
|
|
|
|
Box : Bounding_Box := No_Bounding_Box
|
|
|
|
) return Ray_Collision with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRayCollisionBox";
|
|
|
|
|
|
|
|
function Get_Ray_Collision_Mesh (
|
|
|
|
Hit : Ray := No_Ray;
|
|
|
|
Data : Mesh := No_Mesh;
|
|
|
|
Transform : Matrix_4D := Id_Matrix
|
|
|
|
) return Ray_Collision with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRayCollisionMesh";
|
|
|
|
|
|
|
|
function Get_Ray_Collision_Triangle (
|
|
|
|
Hit : Ray := No_Ray;
|
2024-04-05 09:36:42 -04:00
|
|
|
Point_1 : Vector_3D := (others => 0.0);
|
|
|
|
Point_2 : Vector_3D := (others => 0.0);
|
|
|
|
Point_3 : Vector_3D := (others => 0.0)
|
2024-04-05 09:19:28 -04:00
|
|
|
) return Ray_Collision with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRayCollisionTriangle";
|
|
|
|
|
|
|
|
function Get_Ray_Collision_Quad (
|
|
|
|
Hit : Ray := No_Ray;
|
2024-04-05 09:36:42 -04:00
|
|
|
Point_1 : Vector_3D := (others => 0.0);
|
|
|
|
Point_2 : Vector_3D := (others => 0.0);
|
|
|
|
Point_3 : Vector_3D := (others => 0.0);
|
|
|
|
Point_4 : Vector_3D := (others => 0.0)
|
2024-04-05 09:19:28 -04:00
|
|
|
) return Ray_Collision with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetRayCollisionQuad";
|
|
|
|
|
|
|
|
procedure Open_Audio_Device with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "InitAudioDevice";
|
|
|
|
|
|
|
|
procedure Close_Audio_Device with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "CloseAudioDevice";
|
|
|
|
|
|
|
|
function Is_Audio_Device_Ready return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsAudioDeviceReady";
|
|
|
|
|
2024-04-05 09:36:42 -04:00
|
|
|
procedure Set_Master_Volume (
|
|
|
|
Volume : Float := 1.0
|
|
|
|
) with
|
2024-04-05 09:19:28 -04:00
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMasterVolume";
|
|
|
|
|
|
|
|
function Get_Master_Volume return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMasterVolume";
|
|
|
|
|
|
|
|
function Load_Wave (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Wave with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadWave";
|
|
|
|
|
|
|
|
function Load_Wave_From_Memory (
|
|
|
|
File_Type : String := "";
|
|
|
|
File_Data : Pointer := null;
|
|
|
|
Data_Size : Natural := 0
|
|
|
|
) return Wave with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadWaveFromMemory";
|
|
|
|
|
|
|
|
function Is_Wave_Ready (
|
|
|
|
Data : Wave := No_Wave
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsWaveReady";
|
|
|
|
|
|
|
|
function Load_Sound (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Sound with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadSound";
|
|
|
|
|
|
|
|
function Load_Sound_From_Wave (
|
|
|
|
Data : Wave := No_Wave
|
|
|
|
) return Sound with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadSoundFromWave";
|
|
|
|
|
|
|
|
function Load_Sound_Alias (
|
|
|
|
Source : Sound := No_Sound
|
|
|
|
) return Sound with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadSoundAlias";
|
|
|
|
|
|
|
|
function Is_Sound_Ready (
|
|
|
|
Source : Sound := No_Sound
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsSoundReady";
|
|
|
|
|
|
|
|
procedure Update_Sound (
|
|
|
|
Source : Sound := No_Sound;
|
|
|
|
Data : Pointer := null;
|
|
|
|
Sample_Count : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateSound";
|
|
|
|
|
|
|
|
procedure Unload_Wave (
|
|
|
|
Data : Wave := No_Wave
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadWave";
|
|
|
|
|
|
|
|
procedure Unload_Sound (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadSound";
|
|
|
|
|
|
|
|
procedure Unload_Sound_Alias (
|
|
|
|
Alias : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadSoundAlias";
|
|
|
|
|
|
|
|
function Export_Wave (
|
|
|
|
Data : Wave := No_Wave;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportWave";
|
|
|
|
|
|
|
|
function Export_Wave_As_Code (
|
|
|
|
Data : Wave := No_Wave;
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ExportWaveAsCode";
|
|
|
|
|
|
|
|
procedure Play_Sound (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PlaySound";
|
|
|
|
|
|
|
|
procedure Stop_Sound (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "StopSound";
|
|
|
|
|
|
|
|
procedure Pause_Sound (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PauseSound";
|
|
|
|
|
|
|
|
procedure Resume_Sound (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ResumeSound";
|
|
|
|
|
|
|
|
function Is_Sound_Playing (
|
|
|
|
Data : Sound := No_Sound
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsSoundPlaying";
|
|
|
|
|
|
|
|
procedure Set_Sound_Volume (
|
|
|
|
Data : Sound := No_Sound;
|
|
|
|
Volume : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetSoundVolume";
|
|
|
|
|
|
|
|
procedure Set_Sound_Pitch (
|
|
|
|
Data : Sound := No_Sound;
|
|
|
|
Pitch : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetSoundPitch";
|
|
|
|
|
|
|
|
procedure Set_Sound_Pan (
|
|
|
|
Data : Sound := No_Sound;
|
|
|
|
Pan : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetSoundPan";
|
|
|
|
|
|
|
|
function Wave_Copy (
|
|
|
|
Data : Wave := No_Wave
|
|
|
|
) return Wave with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "WaveCopy";
|
|
|
|
|
|
|
|
procedure Wave_Crop (
|
|
|
|
Data : access Wave := null;
|
|
|
|
First_Sample : Integer := 0;
|
|
|
|
Final_Sample : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "WaveCrop";
|
|
|
|
|
|
|
|
procedure Wave_Format (
|
|
|
|
Data : access Wave := null;
|
|
|
|
Sample_Rate : Integer := 0;
|
|
|
|
Sample_Size : Integer := 0;
|
|
|
|
Channels : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "WaveFormat";
|
|
|
|
|
|
|
|
function Load_Wave_Samples (
|
|
|
|
Data : Wave := No_Wave
|
|
|
|
) return access Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadWaveSamples";
|
|
|
|
|
|
|
|
procedure Unload_Wave_Samples (
|
|
|
|
Samples : access Float := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadWaveSamples";
|
|
|
|
|
|
|
|
function Load_Music_Stream (
|
|
|
|
File_Name : String := ""
|
|
|
|
) return Music with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadMusicStream";
|
|
|
|
|
|
|
|
function Load_Music_Stream_From_Memory (
|
|
|
|
File_Type : String := "";
|
|
|
|
Data : Pointer := null;
|
|
|
|
Data_Size : Integer := 0
|
|
|
|
) return Music with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadMusicStreamFromMemory";
|
|
|
|
|
|
|
|
function Is_Music_Ready (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMusicReady";
|
|
|
|
|
|
|
|
procedure Unload_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadMusicStream";
|
|
|
|
|
|
|
|
procedure Play_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PlayMusicStream";
|
|
|
|
|
|
|
|
function Is_Music_Stream_Playing (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsMusicStreamPlaying";
|
|
|
|
|
|
|
|
procedure Update_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateMusicStream";
|
|
|
|
|
|
|
|
procedure Stop_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "StopMusicStream";
|
|
|
|
|
|
|
|
procedure Pause_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PauseMusicStream";
|
|
|
|
|
|
|
|
procedure Resume_Music_Stream (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ResumeMusicStream";
|
|
|
|
|
|
|
|
procedure Seek_Music_Stream (
|
|
|
|
Data : Music := No_Music;
|
|
|
|
Position : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SeekMusicStream";
|
|
|
|
|
|
|
|
procedure Set_Music_Volume (
|
|
|
|
Data : Music := No_Music;
|
|
|
|
Volume : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMusicVolume";
|
|
|
|
|
|
|
|
procedure Set_Music_Pitch (
|
|
|
|
Data : Music := No_Music;
|
|
|
|
Pitch : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMusicPitch";
|
|
|
|
|
|
|
|
procedure Set_Music_Pan (
|
|
|
|
Data : Music := No_Music;
|
|
|
|
Pan : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetMusicPan";
|
|
|
|
|
|
|
|
function Get_Music_Time_Length (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMusicTimeLength";
|
|
|
|
|
|
|
|
function Get_Music_Time_Played (
|
|
|
|
Data : Music := No_Music
|
|
|
|
) return Float with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "GetMusicTimePlayed";
|
|
|
|
|
|
|
|
function Load_Audio_Stream (
|
|
|
|
Sample_Rate : Natural := 0;
|
|
|
|
Sample_Size : Natural := 0;
|
|
|
|
Channels : Natural := 0
|
|
|
|
) return Audio_Stream with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "LoadAudioStream";
|
|
|
|
|
|
|
|
function Is_Audio_Stream_Ready (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsAudioStreamReady";
|
|
|
|
|
|
|
|
procedure Unload_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UnloadAudioStream";
|
|
|
|
|
|
|
|
procedure Update_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream;
|
|
|
|
Raw_Data : Pointer := null;
|
|
|
|
Frame_Count : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "UpdateAudioStream";
|
|
|
|
|
|
|
|
function Is_Audio_Stream_Processed (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsAudioStreamProcessed";
|
|
|
|
|
|
|
|
procedure Play_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PlayAudioStream";
|
|
|
|
|
|
|
|
procedure Pause_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "PauseAudioStream";
|
|
|
|
|
|
|
|
procedure Resume_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "ResumeAudioStream";
|
|
|
|
|
|
|
|
function Is_Audio_Stream_Playing (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) return Logical with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "IsAudioStreamPlaying";
|
|
|
|
|
|
|
|
procedure Stop_Audio_Stream (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "StopAudioStream";
|
|
|
|
|
|
|
|
procedure Set_Audio_Stream_Volume (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream;
|
|
|
|
Volume : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAudioStreamVolume";
|
|
|
|
|
|
|
|
procedure Set_Audio_Stream_Pitch (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream;
|
|
|
|
Pitch : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAudioStreamPitch";
|
|
|
|
|
|
|
|
procedure Set_Audio_Stream_Pan (
|
|
|
|
Data : Audio_Stream := No_Audio_Stream;
|
|
|
|
Pan : Float := 0.0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAudioStreamPan";
|
|
|
|
|
|
|
|
procedure Set_Audio_Stream_Buffer_Size_Default (
|
|
|
|
Size : Integer := 0
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "SetAudioStreamBufferSizeDefault";
|
|
|
|
|
|
|
|
procedure Attach_Audio_Stream_Processor (
|
|
|
|
Stream : Audio_Stream := No_Audio_Stream;
|
|
|
|
Processor : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "AttachAudioStreamProcessor";
|
|
|
|
|
|
|
|
procedure Detach_Audio_Stream_Processor (
|
|
|
|
Stream : Audio_Stream := No_Audio_Stream;
|
|
|
|
Processor : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DetachAudioStreamProcessor";
|
|
|
|
|
|
|
|
procedure Attach_Audio_Mixed_Processor (
|
|
|
|
Processor : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "AttachAudioMixedProcessor";
|
|
|
|
|
|
|
|
procedure Detach_Audio_Mixed_Processor (
|
|
|
|
Processor : Pointer := null
|
|
|
|
) with
|
|
|
|
Import => True,
|
|
|
|
Convention => C,
|
|
|
|
External_Name => "DetachAudioMixedProcessor";
|
|
|
|
|
|
|
|
------------------------------------------------------------------------
|
2024-03-18 08:06:11 -04:00
|
|
|
|
|
|
|
end Raylib;
|