From 759a652501a25333cb783263a22fff97c04c4a67 Mon Sep 17 00:00:00 2001 From: ChrisDill Date: Sat, 28 Jul 2018 09:26:59 +0100 Subject: [PATCH] Added raylib-example project - Separate project to test raylib on its own. - --- Raylib-cs/Generator.cs | 15 +- Raylib-cs/Program.cs | 3 +- Raylib-cs/Raylib-cs.csproj | 26 +- Raylib-cs/Raylib-cs.sln | 18 +- Raylib-example/App.config | 6 + Raylib-example/Program.cs | 57 + Raylib-example/Properties/AssemblyInfo.cs | 36 + Raylib-example/Raylib-example.csproj | 100 + Raylib-example/Raylib.cs | 8345 +++++++++++++++++++++ 9 files changed, 8595 insertions(+), 11 deletions(-) create mode 100644 Raylib-example/App.config create mode 100644 Raylib-example/Program.cs create mode 100644 Raylib-example/Properties/AssemblyInfo.cs create mode 100644 Raylib-example/Raylib-example.csproj create mode 100644 Raylib-example/Raylib.cs diff --git a/Raylib-cs/Generator.cs b/Raylib-cs/Generator.cs index b5423a0..3a15213 100644 --- a/Raylib-cs/Generator.cs +++ b/Raylib-cs/Generator.cs @@ -15,11 +15,13 @@ namespace Raylibcs { var options = driver.Options; var module = options.AddModule("raylib"); - module.IncludeDirs.Add("C:\\raylib\\raylib\\release\\include"); - // module.IncludeDirs.Add("C:\\raylib\\raylib\\src"); + // module.IncludeDirs.Add("C:\\raylib\\raylib\\release\\include"); + module.IncludeDirs.Add("C:\\raylib\\raylib\\src"); module.Headers.Add("raylib.h"); - // module.Headers.Add("raymath.h"); - module.LibraryDirs.Add("C:\\raylib\\raylib\\release\\libs\\win32\\msvc"); + module.Headers.Add("rlgl.h"); + module.Headers.Add("raymath.h"); + // module.Headers.Add("easings.h"); + module.LibraryDirs.Add("C:\\raylib\\raylib\\projects\\VS2017\\x64\\Debug.DLL"); module.Libraries.Add("raylib.lib"); var parserOptions = driver.ParserOptions; @@ -28,7 +30,7 @@ namespace Raylibcs } void ILibrary.SetupPasses(Driver driver) - { + { driver.Context.TranslationUnitPasses.RenameDeclsUpperCase(RenameTargets.Any); // driver.AddTranslationUnitPass(new FunctionToInstanceMethodPass()); // driver.AddTranslationUnitPass(new HandleDefaultParamValuesPass()); @@ -37,11 +39,12 @@ namespace Raylibcs } public void Preprocess(Driver driver, ASTContext ctx) - { + { ctx.SetNameOfEnumWithMatchingItem("KEY_UNKOWN", "Key"); ctx.GenerateEnumFromMacros("Flag", "FLAG_(.*)"); ctx.GenerateEnumFromMacros("Key", "KEY_(.*)"); ctx.GenerateEnumFromMacros("Mouse", "MOUSE_(.*)"); + ctx.GenerateEnumFromMacros("Colors", "RAYWHITE"); // ctx.GenerateEnumFromMacros("Gamepad", "GAMEPAD_(.*)"); } diff --git a/Raylib-cs/Program.cs b/Raylib-cs/Program.cs index d8ececb..510fce5 100644 --- a/Raylib-cs/Program.cs +++ b/Raylib-cs/Program.cs @@ -7,7 +7,6 @@ namespace Raylibcs { class Program { - // TODO: setup windows forms gui static void Main(string[] args) { Console.WriteLine("Raylib-cs generator"); @@ -15,7 +14,7 @@ namespace Raylibcs while (true) { Console.WriteLine(); - Console.WriteLine("1. Regenerate bindings in .exe folder"); + Console.WriteLine("1. Genertate c# binding code"); Console.WriteLine("2. Run test example, requires raylib.dll in .exe folder"); Console.WriteLine("3. Exit"); diff --git a/Raylib-cs/Raylib-cs.csproj b/Raylib-cs/Raylib-cs.csproj index 6afba28..561c94a 100644 --- a/Raylib-cs/Raylib-cs.csproj +++ b/Raylib-cs/Raylib-cs.csproj @@ -54,6 +54,27 @@ MinimumRecommendedRules.ruleset true + + true + bin\x86\Debug\ + DEBUG;TRACE + full + x86 + prompt + MinimumRecommendedRules.ruleset + true + true + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + true + packages\CppSharp.0.8.20\lib\CppSharp.dll @@ -96,7 +117,10 @@ - + + + + diff --git a/Raylib-cs/Raylib-cs.sln b/Raylib-cs/Raylib-cs.sln index b61269a..52ba7e3 100644 --- a/Raylib-cs/Raylib-cs.sln +++ b/Raylib-cs/Raylib-cs.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.27703.2035 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Raylib-cs", "Raylib-cs.csproj", "{3B25D9D6-17A6-4A32-B9D1-C637002BD554}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Raylib-example", "..\Raylib-example\Raylib-example.csproj", "{A2B3BBC8-3D48-46DD-B3CF-263F554E4474}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -19,14 +21,26 @@ Global {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|Any CPU.Build.0 = Debug|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x64.ActiveCfg = Debug|x64 {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x64.Build.0 = Debug|x64 - {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x86.ActiveCfg = Debug|Any CPU - {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x86.Build.0 = Debug|Any CPU + {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x86.ActiveCfg = Debug|x86 + {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|x86.Build.0 = Debug|x86 {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|Any CPU.ActiveCfg = Release|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|Any CPU.Build.0 = Release|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|x64.ActiveCfg = Release|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|x64.Build.0 = Release|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|x86.ActiveCfg = Release|Any CPU {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Release|x86.Build.0 = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|x64.ActiveCfg = Debug|x64 + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|x64.Build.0 = Debug|x64 + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|x86.ActiveCfg = Debug|x86 + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Debug|x86.Build.0 = Debug|x86 + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|Any CPU.Build.0 = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|x64.ActiveCfg = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|x64.Build.0 = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|x86.ActiveCfg = Release|Any CPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Raylib-example/App.config b/Raylib-example/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/Raylib-example/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Raylib-example/Program.cs b/Raylib-example/Program.cs new file mode 100644 index 0000000..9050a37 --- /dev/null +++ b/Raylib-example/Program.cs @@ -0,0 +1,57 @@ +using raylib; +using static raylib.raylib; + +namespace Raylibexample +{ + class Program + { + static void Main(string[] args) + { + Test(); + } + + public static int Test() + { + var RAYWHITE = new Color { R = 255, G = 255, B = 255, A = 255 }; + var MAROON = new Color { R = 0, G = 0, B = 0, A = 255 }; + + // Initialization + //-------------------------------------------------------------------------------------- + int screenWidth = 800; + int screenHeight = 450; + + InitWindow(screenWidth, screenHeight, "Raylib-cs [core] example - basic window"); + + SetTargetFPS(60); + //-------------------------------------------------------------------------------------- + + // Main game loop + while (!WindowShouldClose()) // Detect window close button or ESC key + { + // Update + //---------------------------------------------------------------------------------- + // TODO: Update your variables here + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(RAYWHITE); + + DrawText("Congrats! You created your first window!", 190, 200, 20, MAROON); + DrawFPS(0, 0); + + EndDrawing(); + //---------------------------------------------------------------------------------- + } + + // De-Initialization + //-------------------------------------------------------------------------------------- + CloseWindow(); // Close window and OpenGL context + //----------------------------- + + return 0; + } + } +} \ No newline at end of file diff --git a/Raylib-example/Properties/AssemblyInfo.cs b/Raylib-example/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..5cbaef6 --- /dev/null +++ b/Raylib-example/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Raylib-example")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Raylib-example")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("a2b3bbc8-3d48-46dd-b3cf-263f554e4474")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Raylib-example/Raylib-example.csproj b/Raylib-example/Raylib-example.csproj new file mode 100644 index 0000000..69f00c4 --- /dev/null +++ b/Raylib-example/Raylib-example.csproj @@ -0,0 +1,100 @@ + + + + + Debug + AnyCPU + {A2B3BBC8-3D48-46DD-B3CF-263F554E4474} + Exe + Raylib_example + Raylib-example + v4.6.1 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + true + bin\x64\Debug\ + DEBUG;TRACE + true + full + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + true + bin\x86\Debug\ + DEBUG;TRACE + true + full + x86 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x86\Release\ + TRACE + true + pdbonly + x86 + prompt + MinimumRecommendedRules.ruleset + true + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Raylib-example/Raylib.cs b/Raylib-example/Raylib.cs new file mode 100644 index 0000000..1653cdd --- /dev/null +++ b/Raylib-example/Raylib.cs @@ -0,0 +1,8345 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace raylib +{ + [Flags] + public enum LogType + { + LOG_INFO = 1, + LOG_WARNING = 2, + LOG_ERROR = 4, + LOG_DEBUG = 8, + LOG_OTHER = 16 + } + + public enum ShaderLocationIndex + { + LOC_VERTEX_POSITION = 0, + LOC_VERTEX_TEXCOORD01 = 1, + LOC_VERTEX_TEXCOORD02 = 2, + LOC_VERTEX_NORMAL = 3, + LOC_VERTEX_TANGENT = 4, + LOC_VERTEX_COLOR = 5, + LOC_MATRIX_MVP = 6, + LOC_MATRIX_MODEL = 7, + LOC_MATRIX_VIEW = 8, + LOC_MATRIX_PROJECTION = 9, + LOC_VECTOR_VIEW = 10, + LOC_COLOR_DIFFUSE = 11, + LOC_COLOR_SPECULAR = 12, + LOC_COLOR_AMBIENT = 13, + LOC_MAP_ALBEDO = 14, + LOC_MAP_METALNESS = 15, + LOC_MAP_NORMAL = 16, + LOC_MAP_ROUGHNESS = 17, + LOC_MAP_OCCLUSION = 18, + LOC_MAP_EMISSION = 19, + LOC_MAP_HEIGHT = 20, + LOC_MAP_CUBEMAP = 21, + LOC_MAP_IRRADIANCE = 22, + LOC_MAP_PREFILTER = 23, + LOC_MAP_BRDF = 24 + } + + public enum TexmapIndex + { + MAP_ALBEDO = 0, + MAP_METALNESS = 1, + MAP_NORMAL = 2, + MAP_ROUGHNESS = 3, + MAP_OCCLUSION = 4, + MAP_EMISSION = 5, + MAP_HEIGHT = 6, + MAP_CUBEMAP = 7, + MAP_IRRADIANCE = 8, + MAP_PREFILTER = 9, + MAP_BRDF = 10 + } + + public enum PixelFormat + { + UNCOMPRESSED_GRAYSCALE = 1, + UNCOMPRESSED_GRAY_ALPHA = 2, + UNCOMPRESSED_R5G6B5 = 3, + UNCOMPRESSED_R8G8B8 = 4, + UNCOMPRESSED_R5G5B5A1 = 5, + UNCOMPRESSED_R4G4B4A4 = 6, + UNCOMPRESSED_R8G8B8A8 = 7, + UNCOMPRESSED_R32 = 8, + UNCOMPRESSED_R32G32B32 = 9, + UNCOMPRESSED_R32G32B32A32 = 10, + COMPRESSED_DXT1RGB = 11, + COMPRESSED_DXT1RGBA = 12, + COMPRESSED_DXT3RGBA = 13, + COMPRESSED_DXT5RGBA = 14, + COMPRESSED_ETC1RGB = 15, + COMPRESSED_ETC2RGB = 16, + COMPRESSED_ETC2EAC_RGBA = 17, + COMPRESSED_PVRT_RGB = 18, + COMPRESSED_PVRT_RGBA = 19, + COMPRESSED_ASTC_4x4RGBA = 20, + COMPRESSED_ASTC_8x8RGBA = 21 + } + + public enum TextureFilterMode + { + FILTER_POINT = 0, + FILTER_BILINEAR = 1, + FILTER_TRILINEAR = 2, + FILTER_ANISOTROPIC_4X = 3, + FILTER_ANISOTROPIC_8X = 4, + FILTER_ANISOTROPIC_16X = 5 + } + + public enum TextureWrapMode + { + WRAP_REPEAT = 0, + WRAP_CLAMP = 1, + WRAP_MIRROR = 2 + } + + public enum BlendMode + { + BLEND_ALPHA = 0, + BLEND_ADDITIVE = 1, + BLEND_MULTIPLIED = 2 + } + + [Flags] + public enum Gestures + { + GESTURE_NONE = 0, + GESTURE_TAP = 1, + GESTURE_DOUBLETAP = 2, + GESTURE_HOLD = 4, + GESTURE_DRAG = 8, + GESTURE_SWIPE_RIGHT = 16, + GESTURE_SWIPE_LEFT = 32, + GESTURE_SWIPE_UP = 64, + GESTURE_SWIPE_DOWN = 128, + GESTURE_PINCH_IN = 256, + GESTURE_PINCH_OUT = 512 + } + + public enum CameraMode + { + CAMERA_CUSTOM = 0, + CAMERA_FREE = 1, + CAMERA_ORBITAL = 2, + CAMERA_FIRST_PERSON = 3, + CAMERA_THIRD_PERSON = 4 + } + + public enum CameraType + { + CAMERA_PERSPECTIVE = 0, + CAMERA_ORTHOGRAPHIC = 1 + } + + public enum VrDeviceType + { + HMD_DEFAULT_DEVICE = 0, + HMD_OCULUS_RIFT_DK2 = 1, + HMD_OCULUS_RIFT_CV1 = 2, + HMD_OCULUS_GO = 3, + HMD_VALVE_HTC_VIVE = 4, + HMD_SONY_PSVR = 5 + } + + [Flags] + public enum Flag + { + FLAG_SHOW_LOGO = 1, + FLAG_FULLSCREEN_MODE = 2, + FLAG_WINDOW_RESIZABLE = 4, + FLAG_WINDOW_UNDECORATED = 8, + FLAG_WINDOW_TRANSPARENT = 16, + FLAG_MSAA_4X_HINT = 32, + FLAG_VSYNC_HINT = 64 + } + + public enum Key + { + KEY_SPACE = 32, + 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_LEFT_SHIFT = 340, + KEY_LEFT_CONTROL = 341, + KEY_LEFT_ALT = 342, + KEY_RIGHT_SHIFT = 344, + KEY_RIGHT_CONTROL = 345, + KEY_RIGHT_ALT = 346, + KEY_GRAVE = 96, + KEY_SLASH = 47, + KEY_BACKSLASH = 92, + KEY_ZERO = 48, + KEY_ONE = 49, + KEY_TWO = 50, + KEY_THREE = 51, + KEY_FOUR = 52, + KEY_FIVE = 53, + KEY_SIX = 54, + KEY_SEVEN = 55, + KEY_EIGHT = 56, + KEY_NINE = 57, + 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_BACK = 4, + KEY_MENU = 82, + KEY_VOLUME_UP = 24, + KEY_VOLUME_DOWN = 25 + } + + public enum Mouse + { + MOUSE_LEFT_BUTTON = 0, + MOUSE_RIGHT_BUTTON = 1, + MOUSE_MIDDLE_BUTTON = 2 + } + + public unsafe partial class Vector2 : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal float x; + + [FieldOffset(4)] + internal float y; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Vector2@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Vector2 __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Vector2(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Vector2 __CreateInstance(global::raylib.Vector2.__Internal native, bool skipVTables = false) + { + return new global::raylib.Vector2(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Vector2.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Vector2.__Internal)); + *(global::raylib.Vector2.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Vector2(global::raylib.Vector2.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Vector2(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Vector2() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector2.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Vector2(global::raylib.Vector2 _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector2.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Vector2.__Internal*) __Instance) = *((global::raylib.Vector2.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Vector2 __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float X + { + get + { + return ((global::raylib.Vector2.__Internal*) __Instance)->x; + } + + set + { + ((global::raylib.Vector2.__Internal*)__Instance)->x = value; + } + } + + public float Y + { + get + { + return ((global::raylib.Vector2.__Internal*) __Instance)->y; + } + + set + { + ((global::raylib.Vector2.__Internal*)__Instance)->y = value; + } + } + } + + public unsafe partial class Vector3 : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal float x; + + [FieldOffset(4)] + internal float y; + + [FieldOffset(8)] + internal float z; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Vector3@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Vector3 __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Vector3(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Vector3 __CreateInstance(global::raylib.Vector3.__Internal native, bool skipVTables = false) + { + return new global::raylib.Vector3(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Vector3.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Vector3.__Internal)); + *(global::raylib.Vector3.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Vector3(global::raylib.Vector3.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Vector3(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Vector3() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector3.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Vector3(global::raylib.Vector3 _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector3.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Vector3.__Internal*) __Instance) = *((global::raylib.Vector3.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Vector3 __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float X + { + get + { + return ((global::raylib.Vector3.__Internal*) __Instance)->x; + } + + set + { + ((global::raylib.Vector3.__Internal*)__Instance)->x = value; + } + } + + public float Y + { + get + { + return ((global::raylib.Vector3.__Internal*) __Instance)->y; + } + + set + { + ((global::raylib.Vector3.__Internal*)__Instance)->y = value; + } + } + + public float Z + { + get + { + return ((global::raylib.Vector3.__Internal*) __Instance)->z; + } + + set + { + ((global::raylib.Vector3.__Internal*)__Instance)->z = value; + } + } + } + + public unsafe partial class Vector4 : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal float x; + + [FieldOffset(4)] + internal float y; + + [FieldOffset(8)] + internal float z; + + [FieldOffset(12)] + internal float w; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Vector4@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Vector4 __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Vector4(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Vector4 __CreateInstance(global::raylib.Vector4.__Internal native, bool skipVTables = false) + { + return new global::raylib.Vector4(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Vector4.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Vector4.__Internal)); + *(global::raylib.Vector4.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Vector4(global::raylib.Vector4.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Vector4(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Vector4() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector4.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Vector4(global::raylib.Vector4 _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Vector4.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Vector4.__Internal*) __Instance) = *((global::raylib.Vector4.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Vector4 __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float X + { + get + { + return ((global::raylib.Vector4.__Internal*) __Instance)->x; + } + + set + { + ((global::raylib.Vector4.__Internal*)__Instance)->x = value; + } + } + + public float Y + { + get + { + return ((global::raylib.Vector4.__Internal*) __Instance)->y; + } + + set + { + ((global::raylib.Vector4.__Internal*)__Instance)->y = value; + } + } + + public float Z + { + get + { + return ((global::raylib.Vector4.__Internal*) __Instance)->z; + } + + set + { + ((global::raylib.Vector4.__Internal*)__Instance)->z = value; + } + } + + public float W + { + get + { + return ((global::raylib.Vector4.__Internal*) __Instance)->w; + } + + set + { + ((global::raylib.Vector4.__Internal*)__Instance)->w = value; + } + } + } + + public unsafe partial class Matrix : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal float m0; + + [FieldOffset(4)] + internal float m4; + + [FieldOffset(8)] + internal float m8; + + [FieldOffset(12)] + internal float m12; + + [FieldOffset(16)] + internal float m1; + + [FieldOffset(20)] + internal float m5; + + [FieldOffset(24)] + internal float m9; + + [FieldOffset(28)] + internal float m13; + + [FieldOffset(32)] + internal float m2; + + [FieldOffset(36)] + internal float m6; + + [FieldOffset(40)] + internal float m10; + + [FieldOffset(44)] + internal float m14; + + [FieldOffset(48)] + internal float m3; + + [FieldOffset(52)] + internal float m7; + + [FieldOffset(56)] + internal float m11; + + [FieldOffset(60)] + internal float m15; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Matrix@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Matrix __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Matrix(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Matrix __CreateInstance(global::raylib.Matrix.__Internal native, bool skipVTables = false) + { + return new global::raylib.Matrix(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Matrix.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Matrix.__Internal)); + *(global::raylib.Matrix.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Matrix(global::raylib.Matrix.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Matrix(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Matrix() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Matrix.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Matrix(global::raylib.Matrix _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Matrix.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Matrix.__Internal*) __Instance) = *((global::raylib.Matrix.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Matrix __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float M0 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m0; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m0 = value; + } + } + + public float M4 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m4; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m4 = value; + } + } + + public float M8 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m8; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m8 = value; + } + } + + public float M12 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m12; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m12 = value; + } + } + + public float M1 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m1; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m1 = value; + } + } + + public float M5 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m5; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m5 = value; + } + } + + public float M9 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m9; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m9 = value; + } + } + + public float M13 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m13; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m13 = value; + } + } + + public float M2 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m2; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m2 = value; + } + } + + public float M6 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m6; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m6 = value; + } + } + + public float M10 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m10; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m10 = value; + } + } + + public float M14 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m14; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m14 = value; + } + } + + public float M3 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m3; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m3 = value; + } + } + + public float M7 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m7; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m7 = value; + } + } + + public float M11 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m11; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m11 = value; + } + } + + public float M15 + { + get + { + return ((global::raylib.Matrix.__Internal*) __Instance)->m15; + } + + set + { + ((global::raylib.Matrix.__Internal*)__Instance)->m15 = value; + } + } + } + + public unsafe partial class Color : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte r; + + [FieldOffset(1)] + internal byte g; + + [FieldOffset(2)] + internal byte b; + + [FieldOffset(3)] + internal byte a; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Color@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ColorToInt")] + internal static extern int ToInt(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ColorNormalize")] + internal static extern global::raylib.Vector4.__Internal Normalize(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ColorToHSV")] + internal static extern global::raylib.Vector3.__Internal ToHSV(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Color __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Color(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Color __CreateInstance(global::raylib.Color.__Internal native, bool skipVTables = false) + { + return new global::raylib.Color(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Color.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Color.__Internal)); + *(global::raylib.Color.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Color(global::raylib.Color.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Color(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Color() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Color.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Color(global::raylib.Color _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Color.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Color.__Internal*) __Instance) = *((global::raylib.Color.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Color __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public int ToInt() + { + var __ret = __Internal.ToInt((__Instance + __PointerAdjustment)); + return __ret; + } + + public global::raylib.Vector4 Normalize() + { + var __ret = __Internal.Normalize((__Instance + __PointerAdjustment)); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public global::raylib.Vector3 ToHSV() + { + var __ret = __Internal.ToHSV((__Instance + __PointerAdjustment)); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public byte R + { + get + { + return ((global::raylib.Color.__Internal*) __Instance)->r; + } + + set + { + ((global::raylib.Color.__Internal*)__Instance)->r = value; + } + } + + public byte G + { + get + { + return ((global::raylib.Color.__Internal*) __Instance)->g; + } + + set + { + ((global::raylib.Color.__Internal*)__Instance)->g = value; + } + } + + public byte B + { + get + { + return ((global::raylib.Color.__Internal*) __Instance)->b; + } + + set + { + ((global::raylib.Color.__Internal*)__Instance)->b = value; + } + } + + public byte A + { + get + { + return ((global::raylib.Color.__Internal*) __Instance)->a; + } + + set + { + ((global::raylib.Color.__Internal*)__Instance)->a = value; + } + } + } + + public unsafe partial class Rectangle : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal float x; + + [FieldOffset(4)] + internal float y; + + [FieldOffset(8)] + internal float width; + + [FieldOffset(12)] + internal float height; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Rectangle@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Rectangle __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Rectangle(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Rectangle __CreateInstance(global::raylib.Rectangle.__Internal native, bool skipVTables = false) + { + return new global::raylib.Rectangle(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Rectangle.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Rectangle.__Internal)); + *(global::raylib.Rectangle.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Rectangle(global::raylib.Rectangle.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Rectangle(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Rectangle() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Rectangle.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Rectangle(global::raylib.Rectangle _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Rectangle.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Rectangle.__Internal*) __Instance) = *((global::raylib.Rectangle.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Rectangle __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float X + { + get + { + return ((global::raylib.Rectangle.__Internal*) __Instance)->x; + } + + set + { + ((global::raylib.Rectangle.__Internal*)__Instance)->x = value; + } + } + + public float Y + { + get + { + return ((global::raylib.Rectangle.__Internal*) __Instance)->y; + } + + set + { + ((global::raylib.Rectangle.__Internal*)__Instance)->y = value; + } + } + + public float Width + { + get + { + return ((global::raylib.Rectangle.__Internal*) __Instance)->width; + } + + set + { + ((global::raylib.Rectangle.__Internal*)__Instance)->width = value; + } + } + + public float Height + { + get + { + return ((global::raylib.Rectangle.__Internal*) __Instance)->height; + } + + set + { + ((global::raylib.Rectangle.__Internal*)__Instance)->height = value; + } + } + } + + public unsafe partial class Image : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr data; + + [FieldOffset(8)] + internal int width; + + [FieldOffset(12)] + internal int height; + + [FieldOffset(16)] + internal int mipmaps; + + [FieldOffset(20)] + internal int format; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Image@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageCopy")] + internal static extern global::raylib.Image.__Internal Copy(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Image __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Image(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Image __CreateInstance(global::raylib.Image.__Internal native, bool skipVTables = false) + { + return new global::raylib.Image(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Image.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Image.__Internal)); + *(global::raylib.Image.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Image(global::raylib.Image.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Image(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Image() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Image.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Image(global::raylib.Image _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Image.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Image.__Internal*) __Instance) = *((global::raylib.Image.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Image __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::System.IntPtr Data + { + get + { + return ((global::raylib.Image.__Internal*) __Instance)->data; + } + + set + { + ((global::raylib.Image.__Internal*)__Instance)->data = (global::System.IntPtr) value; + } + } + + public int Width + { + get + { + return ((global::raylib.Image.__Internal*) __Instance)->width; + } + + set + { + ((global::raylib.Image.__Internal*)__Instance)->width = value; + } + } + + public int Height + { + get + { + return ((global::raylib.Image.__Internal*) __Instance)->height; + } + + set + { + ((global::raylib.Image.__Internal*)__Instance)->height = value; + } + } + + public int Mipmaps + { + get + { + return ((global::raylib.Image.__Internal*) __Instance)->mipmaps; + } + + set + { + ((global::raylib.Image.__Internal*)__Instance)->mipmaps = value; + } + } + + public int Format + { + get + { + return ((global::raylib.Image.__Internal*) __Instance)->format; + } + + set + { + ((global::raylib.Image.__Internal*)__Instance)->format = value; + } + } + + public global::raylib.Image Copy + { + get + { + var __ret = __Internal.Copy((__Instance + __PointerAdjustment)); + return global::raylib.Image.__CreateInstance(__ret); + } + } + } + + public unsafe partial class Texture2D : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint id; + + [FieldOffset(4)] + internal int width; + + [FieldOffset(8)] + internal int height; + + [FieldOffset(12)] + internal int mipmaps; + + [FieldOffset(16)] + internal int format; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Texture2D@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Texture2D __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Texture2D(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Texture2D __CreateInstance(global::raylib.Texture2D.__Internal native, bool skipVTables = false) + { + return new global::raylib.Texture2D(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Texture2D.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Texture2D.__Internal)); + *(global::raylib.Texture2D.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Texture2D(global::raylib.Texture2D.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Texture2D(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Texture2D() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Texture2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Texture2D(global::raylib.Texture2D _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Texture2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Texture2D.__Internal*) __Instance) = *((global::raylib.Texture2D.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Texture2D __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Id + { + get + { + return ((global::raylib.Texture2D.__Internal*) __Instance)->id; + } + + set + { + ((global::raylib.Texture2D.__Internal*)__Instance)->id = value; + } + } + + public int Width + { + get + { + return ((global::raylib.Texture2D.__Internal*) __Instance)->width; + } + + set + { + ((global::raylib.Texture2D.__Internal*)__Instance)->width = value; + } + } + + public int Height + { + get + { + return ((global::raylib.Texture2D.__Internal*) __Instance)->height; + } + + set + { + ((global::raylib.Texture2D.__Internal*)__Instance)->height = value; + } + } + + public int Mipmaps + { + get + { + return ((global::raylib.Texture2D.__Internal*) __Instance)->mipmaps; + } + + set + { + ((global::raylib.Texture2D.__Internal*)__Instance)->mipmaps = value; + } + } + + public int Format + { + get + { + return ((global::raylib.Texture2D.__Internal*) __Instance)->format; + } + + set + { + ((global::raylib.Texture2D.__Internal*)__Instance)->format = value; + } + } + } + + public unsafe partial class RenderTexture2D : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint id; + + [FieldOffset(4)] + internal global::raylib.Texture2D.__Internal texture; + + [FieldOffset(24)] + internal global::raylib.Texture2D.__Internal depth; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0RenderTexture2D@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.RenderTexture2D __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.RenderTexture2D(native.ToPointer(), skipVTables); + } + + internal static global::raylib.RenderTexture2D __CreateInstance(global::raylib.RenderTexture2D.__Internal native, bool skipVTables = false) + { + return new global::raylib.RenderTexture2D(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.RenderTexture2D.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.RenderTexture2D.__Internal)); + *(global::raylib.RenderTexture2D.__Internal*) ret = native; + return ret.ToPointer(); + } + + private RenderTexture2D(global::raylib.RenderTexture2D.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RenderTexture2D(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RenderTexture2D() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.RenderTexture2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public RenderTexture2D(global::raylib.RenderTexture2D _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.RenderTexture2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.RenderTexture2D.__Internal*) __Instance) = *((global::raylib.RenderTexture2D.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.RenderTexture2D __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Id + { + get + { + return ((global::raylib.RenderTexture2D.__Internal*) __Instance)->id; + } + + set + { + ((global::raylib.RenderTexture2D.__Internal*)__Instance)->id = value; + } + } + + public global::raylib.Texture2D Texture + { + get + { + return global::raylib.Texture2D.__CreateInstance(new global::System.IntPtr(&((global::raylib.RenderTexture2D.__Internal*) __Instance)->texture)); + } + + set + { + ((global::raylib.RenderTexture2D.__Internal*)__Instance)->texture = ReferenceEquals(value, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) value.__Instance; + } + } + + public global::raylib.Texture2D Depth + { + get + { + return global::raylib.Texture2D.__CreateInstance(new global::System.IntPtr(&((global::raylib.RenderTexture2D.__Internal*) __Instance)->depth)); + } + + set + { + ((global::raylib.RenderTexture2D.__Internal*)__Instance)->depth = ReferenceEquals(value, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CharInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal int value; + + [FieldOffset(4)] + internal global::raylib.Rectangle.__Internal rec; + + [FieldOffset(20)] + internal int offsetX; + + [FieldOffset(24)] + internal int offsetY; + + [FieldOffset(28)] + internal int advanceX; + + [FieldOffset(32)] + internal global::System.IntPtr data; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0CharInfo@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.CharInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.CharInfo(native.ToPointer(), skipVTables); + } + + internal static global::raylib.CharInfo __CreateInstance(global::raylib.CharInfo.__Internal native, bool skipVTables = false) + { + return new global::raylib.CharInfo(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.CharInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.CharInfo.__Internal)); + *(global::raylib.CharInfo.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharInfo(global::raylib.CharInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CharInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CharInfo() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.CharInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public CharInfo(global::raylib.CharInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.CharInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.CharInfo.__Internal*) __Instance) = *((global::raylib.CharInfo.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.CharInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public int Value + { + get + { + return ((global::raylib.CharInfo.__Internal*) __Instance)->value; + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->value = value; + } + } + + public global::raylib.Rectangle Rec + { + get + { + return global::raylib.Rectangle.__CreateInstance(new global::System.IntPtr(&((global::raylib.CharInfo.__Internal*) __Instance)->rec)); + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->rec = ReferenceEquals(value, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) value.__Instance; + } + } + + public int OffsetX + { + get + { + return ((global::raylib.CharInfo.__Internal*) __Instance)->offsetX; + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->offsetX = value; + } + } + + public int OffsetY + { + get + { + return ((global::raylib.CharInfo.__Internal*) __Instance)->offsetY; + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->offsetY = value; + } + } + + public int AdvanceX + { + get + { + return ((global::raylib.CharInfo.__Internal*) __Instance)->advanceX; + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->advanceX = value; + } + } + + public byte* Data + { + get + { + return (byte*) ((global::raylib.CharInfo.__Internal*) __Instance)->data; + } + + set + { + ((global::raylib.CharInfo.__Internal*)__Instance)->data = (global::System.IntPtr) value; + } + } + } + + public unsafe partial class Font : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Texture2D.__Internal texture; + + [FieldOffset(20)] + internal int baseSize; + + [FieldOffset(24)] + internal int charsCount; + + [FieldOffset(32)] + internal global::System.IntPtr chars; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Font@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Font __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Font(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Font __CreateInstance(global::raylib.Font.__Internal native, bool skipVTables = false) + { + return new global::raylib.Font(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Font.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Font.__Internal)); + *(global::raylib.Font.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Font(global::raylib.Font.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Font(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Font() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Font.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Font(global::raylib.Font _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Font.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Font.__Internal*) __Instance) = *((global::raylib.Font.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Font __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Texture2D Texture + { + get + { + return global::raylib.Texture2D.__CreateInstance(new global::System.IntPtr(&((global::raylib.Font.__Internal*) __Instance)->texture)); + } + + set + { + ((global::raylib.Font.__Internal*)__Instance)->texture = ReferenceEquals(value, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) value.__Instance; + } + } + + public int BaseSize + { + get + { + return ((global::raylib.Font.__Internal*) __Instance)->baseSize; + } + + set + { + ((global::raylib.Font.__Internal*)__Instance)->baseSize = value; + } + } + + public int CharsCount + { + get + { + return ((global::raylib.Font.__Internal*) __Instance)->charsCount; + } + + set + { + ((global::raylib.Font.__Internal*)__Instance)->charsCount = value; + } + } + + public global::raylib.CharInfo Chars + { + get + { + global::raylib.CharInfo __result0; + if (((global::raylib.Font.__Internal*) __Instance)->chars == IntPtr.Zero) __result0 = null; + else if (global::raylib.CharInfo.NativeToManagedMap.ContainsKey(((global::raylib.Font.__Internal*) __Instance)->chars)) + __result0 = (global::raylib.CharInfo) global::raylib.CharInfo.NativeToManagedMap[((global::raylib.Font.__Internal*) __Instance)->chars]; + else __result0 = global::raylib.CharInfo.__CreateInstance(((global::raylib.Font.__Internal*) __Instance)->chars); + return __result0; + } + + set + { + ((global::raylib.Font.__Internal*)__Instance)->chars = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Camera3D : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 44)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Vector3.__Internal position; + + [FieldOffset(12)] + internal global::raylib.Vector3.__Internal target; + + [FieldOffset(24)] + internal global::raylib.Vector3.__Internal up; + + [FieldOffset(36)] + internal float fovy; + + [FieldOffset(40)] + internal int type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Camera3D@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Camera3D __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Camera3D(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Camera3D __CreateInstance(global::raylib.Camera3D.__Internal native, bool skipVTables = false) + { + return new global::raylib.Camera3D(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Camera3D.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Camera3D.__Internal)); + *(global::raylib.Camera3D.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Camera3D(global::raylib.Camera3D.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Camera3D(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Camera3D() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Camera3D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Camera3D(global::raylib.Camera3D _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Camera3D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Camera3D.__Internal*) __Instance) = *((global::raylib.Camera3D.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Camera3D __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Vector3 Position + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.Camera3D.__Internal*) __Instance)->position)); + } + + set + { + ((global::raylib.Camera3D.__Internal*)__Instance)->position = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector3 Target + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.Camera3D.__Internal*) __Instance)->target)); + } + + set + { + ((global::raylib.Camera3D.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector3 Up + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.Camera3D.__Internal*) __Instance)->up)); + } + + set + { + ((global::raylib.Camera3D.__Internal*)__Instance)->up = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public float Fovy + { + get + { + return ((global::raylib.Camera3D.__Internal*) __Instance)->fovy; + } + + set + { + ((global::raylib.Camera3D.__Internal*)__Instance)->fovy = value; + } + } + + public int Type + { + get + { + return ((global::raylib.Camera3D.__Internal*) __Instance)->type; + } + + set + { + ((global::raylib.Camera3D.__Internal*)__Instance)->type = value; + } + } + } + + public unsafe partial class Camera2D : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Vector2.__Internal offset; + + [FieldOffset(8)] + internal global::raylib.Vector2.__Internal target; + + [FieldOffset(16)] + internal float rotation; + + [FieldOffset(20)] + internal float zoom; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Camera2D@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Camera2D __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Camera2D(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Camera2D __CreateInstance(global::raylib.Camera2D.__Internal native, bool skipVTables = false) + { + return new global::raylib.Camera2D(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Camera2D.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Camera2D.__Internal)); + *(global::raylib.Camera2D.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Camera2D(global::raylib.Camera2D.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Camera2D(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Camera2D() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Camera2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Camera2D(global::raylib.Camera2D _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Camera2D.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Camera2D.__Internal*) __Instance) = *((global::raylib.Camera2D.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Camera2D __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Vector2 Offset + { + get + { + return global::raylib.Vector2.__CreateInstance(new global::System.IntPtr(&((global::raylib.Camera2D.__Internal*) __Instance)->offset)); + } + + set + { + ((global::raylib.Camera2D.__Internal*)__Instance)->offset = ReferenceEquals(value, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector2 Target + { + get + { + return global::raylib.Vector2.__CreateInstance(new global::System.IntPtr(&((global::raylib.Camera2D.__Internal*) __Instance)->target)); + } + + set + { + ((global::raylib.Camera2D.__Internal*)__Instance)->target = ReferenceEquals(value, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) value.__Instance; + } + } + + public float Rotation + { + get + { + return ((global::raylib.Camera2D.__Internal*) __Instance)->rotation; + } + + set + { + ((global::raylib.Camera2D.__Internal*)__Instance)->rotation = value; + } + } + + public float Zoom + { + get + { + return ((global::raylib.Camera2D.__Internal*) __Instance)->zoom; + } + + set + { + ((global::raylib.Camera2D.__Internal*)__Instance)->zoom = value; + } + } + } + + public unsafe partial class BoundingBox : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Vector3.__Internal min; + + [FieldOffset(12)] + internal global::raylib.Vector3.__Internal max; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0BoundingBox@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.BoundingBox __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.BoundingBox(native.ToPointer(), skipVTables); + } + + internal static global::raylib.BoundingBox __CreateInstance(global::raylib.BoundingBox.__Internal native, bool skipVTables = false) + { + return new global::raylib.BoundingBox(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.BoundingBox.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.BoundingBox.__Internal)); + *(global::raylib.BoundingBox.__Internal*) ret = native; + return ret.ToPointer(); + } + + private BoundingBox(global::raylib.BoundingBox.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BoundingBox(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BoundingBox() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.BoundingBox.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public BoundingBox(global::raylib.BoundingBox _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.BoundingBox.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.BoundingBox.__Internal*) __Instance) = *((global::raylib.BoundingBox.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.BoundingBox __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Vector3 min + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.BoundingBox.__Internal*) __Instance)->min)); + } + + set + { + ((global::raylib.BoundingBox.__Internal*)__Instance)->min = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector3 max + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.BoundingBox.__Internal*) __Instance)->max)); + } + + set + { + ((global::raylib.BoundingBox.__Internal*)__Instance)->max = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class Mesh : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public partial struct __Internal + { + [FieldOffset(0)] + internal int vertexCount; + + [FieldOffset(4)] + internal int triangleCount; + + [FieldOffset(8)] + internal global::System.IntPtr vertices; + + [FieldOffset(16)] + internal global::System.IntPtr texcoords; + + [FieldOffset(24)] + internal global::System.IntPtr texcoords2; + + [FieldOffset(32)] + internal global::System.IntPtr normals; + + [FieldOffset(40)] + internal global::System.IntPtr tangents; + + [FieldOffset(48)] + internal global::System.IntPtr colors; + + [FieldOffset(56)] + internal global::System.IntPtr indices; + + [FieldOffset(64)] + internal uint vaoId; + + [FieldOffset(68)] + internal fixed uint vboId[7]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Mesh@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="MeshBoundingBox")] + internal static extern global::raylib.BoundingBox.__Internal BoundingBox(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Mesh __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Mesh(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Mesh __CreateInstance(global::raylib.Mesh.__Internal native, bool skipVTables = false) + { + return new global::raylib.Mesh(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Mesh.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Mesh.__Internal)); + *(global::raylib.Mesh.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Mesh(global::raylib.Mesh.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Mesh(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Mesh() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Mesh.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Mesh(global::raylib.Mesh _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Mesh.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Mesh.__Internal*) __Instance) = *((global::raylib.Mesh.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Mesh __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public int VertexCount + { + get + { + return ((global::raylib.Mesh.__Internal*) __Instance)->vertexCount; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->vertexCount = value; + } + } + + public int TriangleCount + { + get + { + return ((global::raylib.Mesh.__Internal*) __Instance)->triangleCount; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->triangleCount = value; + } + } + + public float* Vertices + { + get + { + return (float*) ((global::raylib.Mesh.__Internal*) __Instance)->vertices; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->vertices = (global::System.IntPtr) value; + } + } + + public float* Texcoords + { + get + { + return (float*) ((global::raylib.Mesh.__Internal*) __Instance)->texcoords; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->texcoords = (global::System.IntPtr) value; + } + } + + public float* Texcoords2 + { + get + { + return (float*) ((global::raylib.Mesh.__Internal*) __Instance)->texcoords2; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->texcoords2 = (global::System.IntPtr) value; + } + } + + public float* Normals + { + get + { + return (float*) ((global::raylib.Mesh.__Internal*) __Instance)->normals; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->normals = (global::System.IntPtr) value; + } + } + + public float* Tangents + { + get + { + return (float*) ((global::raylib.Mesh.__Internal*) __Instance)->tangents; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->tangents = (global::System.IntPtr) value; + } + } + + public byte* Colors + { + get + { + return (byte*) ((global::raylib.Mesh.__Internal*) __Instance)->colors; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->colors = (global::System.IntPtr) value; + } + } + + public ushort* Indices + { + get + { + return (ushort*) ((global::raylib.Mesh.__Internal*) __Instance)->indices; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->indices = (global::System.IntPtr) value; + } + } + + public uint VaoId + { + get + { + return ((global::raylib.Mesh.__Internal*) __Instance)->vaoId; + } + + set + { + ((global::raylib.Mesh.__Internal*)__Instance)->vaoId = value; + } + } + + public uint[] VboId + { + get + { + uint[] __value = null; + if (((global::raylib.Mesh.__Internal*) __Instance)->vboId != null) + { + __value = new uint[7]; + for (int i = 0; i < 7; i++) + __value[i] = ((global::raylib.Mesh.__Internal*) __Instance)->vboId[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 7; i++) + ((global::raylib.Mesh.__Internal*)__Instance)->vboId[i] = value[i]; + } + } + } + + public global::raylib.BoundingBox BoundingBox + { + get + { + var __ret = __Internal.BoundingBox((__Instance + __PointerAdjustment)); + return global::raylib.BoundingBox.__CreateInstance(__ret); + } + } + } + + public unsafe partial class Shader : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 132)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint id; + + [FieldOffset(4)] + internal fixed int locs[32]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Shader@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Shader __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Shader(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Shader __CreateInstance(global::raylib.Shader.__Internal native, bool skipVTables = false) + { + return new global::raylib.Shader(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Shader.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Shader.__Internal)); + *(global::raylib.Shader.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Shader(global::raylib.Shader.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Shader(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Shader() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Shader.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Shader(global::raylib.Shader _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Shader.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Shader.__Internal*) __Instance) = *((global::raylib.Shader.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Shader __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Id + { + get + { + return ((global::raylib.Shader.__Internal*) __Instance)->id; + } + + set + { + ((global::raylib.Shader.__Internal*)__Instance)->id = value; + } + } + + public int[] Locs + { + get + { + int[] __value = null; + if (((global::raylib.Shader.__Internal*) __Instance)->locs != null) + { + __value = new int[32]; + for (int i = 0; i < 32; i++) + __value[i] = ((global::raylib.Shader.__Internal*) __Instance)->locs[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 32; i++) + ((global::raylib.Shader.__Internal*)__Instance)->locs[i] = value[i]; + } + } + } + } + + public unsafe partial class MaterialMap : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Texture2D.__Internal texture; + + [FieldOffset(20)] + internal global::raylib.Color.__Internal color; + + [FieldOffset(24)] + internal float value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0MaterialMap@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.MaterialMap __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.MaterialMap(native.ToPointer(), skipVTables); + } + + internal static global::raylib.MaterialMap __CreateInstance(global::raylib.MaterialMap.__Internal native, bool skipVTables = false) + { + return new global::raylib.MaterialMap(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.MaterialMap.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.MaterialMap.__Internal)); + *(global::raylib.MaterialMap.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterialMap(global::raylib.MaterialMap.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MaterialMap(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MaterialMap() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.MaterialMap.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public MaterialMap(global::raylib.MaterialMap _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.MaterialMap.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.MaterialMap.__Internal*) __Instance) = *((global::raylib.MaterialMap.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.MaterialMap __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Texture2D Texture + { + get + { + return global::raylib.Texture2D.__CreateInstance(new global::System.IntPtr(&((global::raylib.MaterialMap.__Internal*) __Instance)->texture)); + } + + set + { + ((global::raylib.MaterialMap.__Internal*)__Instance)->texture = ReferenceEquals(value, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) value.__Instance; + } + } + + public global::raylib.Color Color + { + get + { + return global::raylib.Color.__CreateInstance(new global::System.IntPtr(&((global::raylib.MaterialMap.__Internal*) __Instance)->color)); + } + + set + { + ((global::raylib.MaterialMap.__Internal*)__Instance)->color = ReferenceEquals(value, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) value.__Instance; + } + } + + public float Value + { + get + { + return ((global::raylib.MaterialMap.__Internal*) __Instance)->value; + } + + set + { + ((global::raylib.MaterialMap.__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class Material : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 480)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Shader.__Internal shader; + + [FieldOffset(132)] + internal fixed byte maps[336]; + + [FieldOffset(472)] + internal global::System.IntPtr @params; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Material@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Material __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Material(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Material __CreateInstance(global::raylib.Material.__Internal native, bool skipVTables = false) + { + return new global::raylib.Material(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Material.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Material.__Internal)); + *(global::raylib.Material.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Material(global::raylib.Material.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Material(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Material() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Material.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Material(global::raylib.Material _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Material.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Material.__Internal*) __Instance) = *((global::raylib.Material.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Material __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Shader Shader + { + get + { + return global::raylib.Shader.__CreateInstance(new global::System.IntPtr(&((global::raylib.Material.__Internal*) __Instance)->shader)); + } + + set + { + ((global::raylib.Material.__Internal*)__Instance)->shader = ReferenceEquals(value, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) value.__Instance; + } + } + + public global::raylib.MaterialMap[] Maps + { + get + { + global::raylib.MaterialMap[] __value = null; + if (((global::raylib.Material.__Internal*) __Instance)->maps != null) + { + __value = new global::raylib.MaterialMap[12]; + for (int i = 0; i < 12; i++) + __value[i] = global::raylib.MaterialMap.__CreateInstance(*((global::raylib.MaterialMap.__Internal*)&(((global::raylib.Material.__Internal*) __Instance)->maps[i * sizeof(global::raylib.MaterialMap.__Internal)]))); + } + return __value; + } + + set + { + if (value != null) + { + if (value.Length != 12) + throw new ArgumentOutOfRangeException("value", "The dimensions of the provided array don't match the required size."); + for (int i = 0; i < 12; i++) + *(global::raylib.MaterialMap.__Internal*) &((global::raylib.Material.__Internal*)__Instance)->maps[i * sizeof(global::raylib.MaterialMap.__Internal)] = *(global::raylib.MaterialMap.__Internal*)value[i].__Instance; + } + } + } + + public float* Params + { + get + { + return (float*) ((global::raylib.Material.__Internal*) __Instance)->@params; + } + + set + { + ((global::raylib.Material.__Internal*)__Instance)->@params = (global::System.IntPtr) value; + } + } + } + + public unsafe partial class Model : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 640)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Mesh.__Internal mesh; + + [FieldOffset(96)] + internal global::raylib.Matrix.__Internal transform; + + [FieldOffset(160)] + internal global::raylib.Material.__Internal material; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Model@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Model __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Model(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Model __CreateInstance(global::raylib.Model.__Internal native, bool skipVTables = false) + { + return new global::raylib.Model(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Model.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Model.__Internal)); + *(global::raylib.Model.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Model(global::raylib.Model.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Model(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Model() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Model.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Model(global::raylib.Model _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Model.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Model.__Internal*) __Instance) = *((global::raylib.Model.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Model __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Mesh Mesh + { + get + { + return global::raylib.Mesh.__CreateInstance(new global::System.IntPtr(&((global::raylib.Model.__Internal*) __Instance)->mesh)); + } + + set + { + ((global::raylib.Model.__Internal*)__Instance)->mesh = ReferenceEquals(value, null) ? new global::raylib.Mesh.__Internal() : *(global::raylib.Mesh.__Internal*) value.__Instance; + } + } + + public global::raylib.Matrix Transform + { + get + { + return global::raylib.Matrix.__CreateInstance(new global::System.IntPtr(&((global::raylib.Model.__Internal*) __Instance)->transform)); + } + + set + { + ((global::raylib.Model.__Internal*)__Instance)->transform = ReferenceEquals(value, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) value.__Instance; + } + } + + public global::raylib.Material Material + { + get + { + return global::raylib.Material.__CreateInstance(new global::System.IntPtr(&((global::raylib.Model.__Internal*) __Instance)->material)); + } + + set + { + ((global::raylib.Model.__Internal*)__Instance)->material = ReferenceEquals(value, null) ? new global::raylib.Material.__Internal() : *(global::raylib.Material.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class Ray : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::raylib.Vector3.__Internal position; + + [FieldOffset(12)] + internal global::raylib.Vector3.__Internal direction; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Ray@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Ray __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Ray(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Ray __CreateInstance(global::raylib.Ray.__Internal native, bool skipVTables = false) + { + return new global::raylib.Ray(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Ray.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Ray.__Internal)); + *(global::raylib.Ray.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Ray(global::raylib.Ray.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Ray(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Ray() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Ray.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Ray(global::raylib.Ray _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Ray.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Ray.__Internal*) __Instance) = *((global::raylib.Ray.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Ray __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::raylib.Vector3 Position + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.Ray.__Internal*) __Instance)->position)); + } + + set + { + ((global::raylib.Ray.__Internal*)__Instance)->position = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector3 Direction + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.Ray.__Internal*) __Instance)->direction)); + } + + set + { + ((global::raylib.Ray.__Internal*)__Instance)->direction = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class RayHitInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte hit; + + [FieldOffset(4)] + internal float distance; + + [FieldOffset(8)] + internal global::raylib.Vector3.__Internal position; + + [FieldOffset(20)] + internal global::raylib.Vector3.__Internal normal; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0RayHitInfo@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.RayHitInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.RayHitInfo(native.ToPointer(), skipVTables); + } + + internal static global::raylib.RayHitInfo __CreateInstance(global::raylib.RayHitInfo.__Internal native, bool skipVTables = false) + { + return new global::raylib.RayHitInfo(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.RayHitInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.RayHitInfo.__Internal)); + *(global::raylib.RayHitInfo.__Internal*) ret = native; + return ret.ToPointer(); + } + + private RayHitInfo(global::raylib.RayHitInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RayHitInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RayHitInfo() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.RayHitInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public RayHitInfo(global::raylib.RayHitInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.RayHitInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.RayHitInfo.__Internal*) __Instance) = *((global::raylib.RayHitInfo.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.RayHitInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool Hit + { + get + { + return ((global::raylib.RayHitInfo.__Internal*) __Instance)->hit != 0; + } + + set + { + ((global::raylib.RayHitInfo.__Internal*)__Instance)->hit = (byte) (value ? 1 : 0); + } + } + + public float Distance + { + get + { + return ((global::raylib.RayHitInfo.__Internal*) __Instance)->distance; + } + + set + { + ((global::raylib.RayHitInfo.__Internal*)__Instance)->distance = value; + } + } + + public global::raylib.Vector3 Position + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.RayHitInfo.__Internal*) __Instance)->position)); + } + + set + { + ((global::raylib.RayHitInfo.__Internal*)__Instance)->position = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + + public global::raylib.Vector3 Normal + { + get + { + return global::raylib.Vector3.__CreateInstance(new global::System.IntPtr(&((global::raylib.RayHitInfo.__Internal*) __Instance)->normal)); + } + + set + { + ((global::raylib.RayHitInfo.__Internal*)__Instance)->normal = ReferenceEquals(value, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class Wave : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint sampleCount; + + [FieldOffset(4)] + internal uint sampleRate; + + [FieldOffset(8)] + internal uint sampleSize; + + [FieldOffset(12)] + internal uint channels; + + [FieldOffset(16)] + internal global::System.IntPtr data; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Wave@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="WaveCopy")] + internal static extern global::raylib.Wave.__Internal Copy(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Wave __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Wave(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Wave __CreateInstance(global::raylib.Wave.__Internal native, bool skipVTables = false) + { + return new global::raylib.Wave(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Wave.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Wave.__Internal)); + *(global::raylib.Wave.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Wave(global::raylib.Wave.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Wave(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Wave() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Wave.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Wave(global::raylib.Wave _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Wave.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Wave.__Internal*) __Instance) = *((global::raylib.Wave.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Wave __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint SampleCount + { + get + { + return ((global::raylib.Wave.__Internal*) __Instance)->sampleCount; + } + + set + { + ((global::raylib.Wave.__Internal*)__Instance)->sampleCount = value; + } + } + + public uint SampleRate + { + get + { + return ((global::raylib.Wave.__Internal*) __Instance)->sampleRate; + } + + set + { + ((global::raylib.Wave.__Internal*)__Instance)->sampleRate = value; + } + } + + public uint SampleSize + { + get + { + return ((global::raylib.Wave.__Internal*) __Instance)->sampleSize; + } + + set + { + ((global::raylib.Wave.__Internal*)__Instance)->sampleSize = value; + } + } + + public uint Channels + { + get + { + return ((global::raylib.Wave.__Internal*) __Instance)->channels; + } + + set + { + ((global::raylib.Wave.__Internal*)__Instance)->channels = value; + } + } + + public global::System.IntPtr Data + { + get + { + return ((global::raylib.Wave.__Internal*) __Instance)->data; + } + + set + { + ((global::raylib.Wave.__Internal*)__Instance)->data = (global::System.IntPtr) value; + } + } + + public global::raylib.Wave Copy + { + get + { + var __ret = __Internal.Copy((__Instance + __PointerAdjustment)); + return global::raylib.Wave.__CreateInstance(__ret); + } + } + } + + public unsafe partial class Sound : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::System.IntPtr audioBuffer; + + [FieldOffset(8)] + internal uint source; + + [FieldOffset(12)] + internal uint buffer; + + [FieldOffset(16)] + internal int format; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Sound@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.Sound __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Sound(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Sound __CreateInstance(global::raylib.Sound.__Internal native, bool skipVTables = false) + { + return new global::raylib.Sound(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Sound.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Sound.__Internal)); + *(global::raylib.Sound.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Sound(global::raylib.Sound.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Sound(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Sound() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Sound.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Sound(global::raylib.Sound _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Sound.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Sound.__Internal*) __Instance) = *((global::raylib.Sound.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Sound __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::System.IntPtr AudioBuffer + { + get + { + return ((global::raylib.Sound.__Internal*) __Instance)->audioBuffer; + } + + set + { + ((global::raylib.Sound.__Internal*)__Instance)->audioBuffer = (global::System.IntPtr) value; + } + } + + public uint Source + { + get + { + return ((global::raylib.Sound.__Internal*) __Instance)->source; + } + + set + { + ((global::raylib.Sound.__Internal*)__Instance)->source = value; + } + } + + public uint Buffer + { + get + { + return ((global::raylib.Sound.__Internal*) __Instance)->buffer; + } + + set + { + ((global::raylib.Sound.__Internal*)__Instance)->buffer = value; + } + } + + public int Format + { + get + { + return ((global::raylib.Sound.__Internal*) __Instance)->format; + } + + set + { + ((global::raylib.Sound.__Internal*)__Instance)->format = value; + } + } + } + + public unsafe partial class MusicData + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct __Internal + { + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.MusicData __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.MusicData(native.ToPointer(), skipVTables); + } + + internal static global::raylib.MusicData __CreateInstance(global::raylib.MusicData.__Internal native, bool skipVTables = false) + { + return new global::raylib.MusicData(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.MusicData.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.MusicData.__Internal)); + *(global::raylib.MusicData.__Internal*) ret = native; + return ret.ToPointer(); + } + + private MusicData(global::raylib.MusicData.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MusicData(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + } + + public unsafe partial class AudioStream : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint sampleRate; + + [FieldOffset(4)] + internal uint sampleSize; + + [FieldOffset(8)] + internal uint channels; + + [FieldOffset(16)] + internal global::System.IntPtr audioBuffer; + + [FieldOffset(24)] + internal int format; + + [FieldOffset(28)] + internal uint source; + + [FieldOffset(32)] + internal fixed uint buffers[2]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0AudioStream@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.AudioStream __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.AudioStream(native.ToPointer(), skipVTables); + } + + internal static global::raylib.AudioStream __CreateInstance(global::raylib.AudioStream.__Internal native, bool skipVTables = false) + { + return new global::raylib.AudioStream(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.AudioStream.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.AudioStream.__Internal)); + *(global::raylib.AudioStream.__Internal*) ret = native; + return ret.ToPointer(); + } + + private AudioStream(global::raylib.AudioStream.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AudioStream(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AudioStream() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.AudioStream.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public AudioStream(global::raylib.AudioStream _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.AudioStream.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.AudioStream.__Internal*) __Instance) = *((global::raylib.AudioStream.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.AudioStream __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint SampleRate + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->sampleRate; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->sampleRate = value; + } + } + + public uint SampleSize + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->sampleSize; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->sampleSize = value; + } + } + + public uint Channels + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->channels; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->channels = value; + } + } + + public global::System.IntPtr AudioBuffer + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->audioBuffer; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->audioBuffer = (global::System.IntPtr) value; + } + } + + public int Format + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->format; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->format = value; + } + } + + public uint Source + { + get + { + return ((global::raylib.AudioStream.__Internal*) __Instance)->source; + } + + set + { + ((global::raylib.AudioStream.__Internal*)__Instance)->source = value; + } + } + + public uint[] Buffers + { + get + { + uint[] __value = null; + if (((global::raylib.AudioStream.__Internal*) __Instance)->buffers != null) + { + __value = new uint[2]; + for (int i = 0; i < 2; i++) + __value[i] = ((global::raylib.AudioStream.__Internal*) __Instance)->buffers[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 2; i++) + ((global::raylib.AudioStream.__Internal*)__Instance)->buffers[i] = value[i]; + } + } + } + } + + public unsafe partial class VrDeviceInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal int hResolution; + + [FieldOffset(4)] + internal int vResolution; + + [FieldOffset(8)] + internal float hScreenSize; + + [FieldOffset(12)] + internal float vScreenSize; + + [FieldOffset(16)] + internal float vScreenCenter; + + [FieldOffset(20)] + internal float eyeToScreenDistance; + + [FieldOffset(24)] + internal float lensSeparationDistance; + + [FieldOffset(28)] + internal float interpupillaryDistance; + + [FieldOffset(32)] + internal fixed float lensDistortionValues[4]; + + [FieldOffset(48)] + internal fixed float chromaAbCorrection[4]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VrDeviceInfo@@QEAA@AEBU0@@Z")] + internal static extern global::System.IntPtr cctor(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + internal static global::raylib.VrDeviceInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.VrDeviceInfo(native.ToPointer(), skipVTables); + } + + internal static global::raylib.VrDeviceInfo __CreateInstance(global::raylib.VrDeviceInfo.__Internal native, bool skipVTables = false) + { + return new global::raylib.VrDeviceInfo(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.VrDeviceInfo.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.VrDeviceInfo.__Internal)); + *(global::raylib.VrDeviceInfo.__Internal*) ret = native; + return ret.ToPointer(); + } + + private VrDeviceInfo(global::raylib.VrDeviceInfo.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VrDeviceInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VrDeviceInfo() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.VrDeviceInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public VrDeviceInfo(global::raylib.VrDeviceInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.VrDeviceInfo.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.VrDeviceInfo.__Internal*) __Instance) = *((global::raylib.VrDeviceInfo.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.VrDeviceInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public int HResolution + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->hResolution; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->hResolution = value; + } + } + + public int VResolution + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->vResolution; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->vResolution = value; + } + } + + public float HScreenSize + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->hScreenSize; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->hScreenSize = value; + } + } + + public float VScreenSize + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->vScreenSize; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->vScreenSize = value; + } + } + + public float VScreenCenter + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->vScreenCenter; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->vScreenCenter = value; + } + } + + public float EyeToScreenDistance + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->eyeToScreenDistance; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->eyeToScreenDistance = value; + } + } + + public float LensSeparationDistance + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->lensSeparationDistance; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->lensSeparationDistance = value; + } + } + + public float InterpupillaryDistance + { + get + { + return ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->interpupillaryDistance; + } + + set + { + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->interpupillaryDistance = value; + } + } + + public float[] LensDistortionValues + { + get + { + float[] __value = null; + if (((global::raylib.VrDeviceInfo.__Internal*) __Instance)->lensDistortionValues != null) + { + __value = new float[4]; + for (int i = 0; i < 4; i++) + __value[i] = ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->lensDistortionValues[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 4; i++) + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->lensDistortionValues[i] = value[i]; + } + } + } + + public float[] ChromaAbCorrection + { + get + { + float[] __value = null; + if (((global::raylib.VrDeviceInfo.__Internal*) __Instance)->chromaAbCorrection != null) + { + __value = new float[4]; + for (int i = 0; i < 4; i++) + __value[i] = ((global::raylib.VrDeviceInfo.__Internal*) __Instance)->chromaAbCorrection[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 4; i++) + ((global::raylib.VrDeviceInfo.__Internal*)__Instance)->chromaAbCorrection[i] = value[i]; + } + } + } + } + + public unsafe partial class raylib + { + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="InitWindow")] + internal static extern void InitWindow(int width, int height, [MarshalAs(UnmanagedType.LPStr)] string title); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CloseWindow")] + internal static extern void CloseWindow(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsWindowReady")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsWindowReady(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="WindowShouldClose")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool WindowShouldClose(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsWindowMinimized")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsWindowMinimized(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ToggleFullscreen")] + internal static extern void ToggleFullscreen(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowIcon")] + internal static extern void SetWindowIcon(global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowTitle")] + internal static extern void SetWindowTitle([MarshalAs(UnmanagedType.LPStr)] string title); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowPosition")] + internal static extern void SetWindowPosition(int x, int y); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowMonitor")] + internal static extern void SetWindowMonitor(int monitor); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowMinSize")] + internal static extern void SetWindowMinSize(int width, int height); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetWindowSize")] + internal static extern void SetWindowSize(int width, int height); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetScreenWidth")] + internal static extern int GetScreenWidth(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetScreenHeight")] + internal static extern int GetScreenHeight(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ShowCursor")] + internal static extern void ShowCursor(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="HideCursor")] + internal static extern void HideCursor(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsCursorHidden")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsCursorHidden(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EnableCursor")] + internal static extern void EnableCursor(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DisableCursor")] + internal static extern void DisableCursor(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ClearBackground")] + internal static extern void ClearBackground(global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginDrawing")] + internal static extern void BeginDrawing(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndDrawing")] + internal static extern void EndDrawing(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginMode2D")] + internal static extern void BeginMode2D(global::raylib.Camera2D.__Internal camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndMode2D")] + internal static extern void EndMode2D(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginMode3D")] + internal static extern void BeginMode3D(global::raylib.Camera3D.__Internal camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndMode3D")] + internal static extern void EndMode3D(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginTextureMode")] + internal static extern void BeginTextureMode(global::raylib.RenderTexture2D.__Internal target); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndTextureMode")] + internal static extern void EndTextureMode(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMouseRay")] + internal static extern void GetMouseRay(global::System.IntPtr @return, global::raylib.Vector2.__Internal mousePosition, global::raylib.Camera3D.__Internal camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetWorldToScreen")] + internal static extern global::raylib.Vector2.__Internal GetWorldToScreen(global::raylib.Vector3.__Internal position, global::raylib.Camera3D.__Internal camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetCameraMatrix")] + internal static extern void GetCameraMatrix(global::System.IntPtr @return, global::raylib.Camera3D.__Internal camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetTargetFPS")] + internal static extern void SetTargetFPS(int fps); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetFPS")] + internal static extern int GetFPS(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetFrameTime")] + internal static extern float GetFrameTime(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTime")] + internal static extern double GetTime(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetColor")] + internal static extern global::raylib.Color.__Internal GetColor(int hexValue); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="Fade")] + internal static extern global::raylib.Color.__Internal Fade(global::raylib.Color.__Internal color, float alpha); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ShowLogo")] + internal static extern void ShowLogo(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetConfigFlags")] + internal static extern void SetConfigFlags(byte flags); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetTraceLog")] + internal static extern void SetTraceLog(byte types); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="TraceLog")] + internal static extern void TraceLog(int logType, [MarshalAs(UnmanagedType.LPStr)] string text); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="TakeScreenshot")] + internal static extern void TakeScreenshot([MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetRandomValue")] + internal static extern int GetRandomValue(int min, int max); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsFileExtension")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsFileExtension([MarshalAs(UnmanagedType.LPStr)] string fileName, [MarshalAs(UnmanagedType.LPStr)] string ext); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetExtension")] + internal static extern global::System.IntPtr GetExtension([MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetFileName")] + internal static extern global::System.IntPtr GetFileName([MarshalAs(UnmanagedType.LPStr)] string filePath); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetDirectoryPath")] + internal static extern global::System.IntPtr GetDirectoryPath([MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetWorkingDirectory")] + internal static extern global::System.IntPtr GetWorkingDirectory(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ChangeDirectory")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool ChangeDirectory([MarshalAs(UnmanagedType.LPStr)] string dir); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsFileDropped")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsFileDropped(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetDroppedFiles")] + internal static extern sbyte** GetDroppedFiles(int* count); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ClearDroppedFiles")] + internal static extern void ClearDroppedFiles(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="StorageSaveValue")] + internal static extern void StorageSaveValue(int position, int value); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="StorageLoadValue")] + internal static extern int StorageLoadValue(int position); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsKeyPressed")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsKeyPressed(int key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsKeyDown")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsKeyDown(int key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsKeyReleased")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsKeyReleased(int key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsKeyUp")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsKeyUp(int key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetKeyPressed")] + internal static extern int GetKeyPressed(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetExitKey")] + internal static extern void SetExitKey(int key); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadAvailable")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadAvailable(int gamepad); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadName")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadName(int gamepad, [MarshalAs(UnmanagedType.LPStr)] string name); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGamepadName")] + internal static extern global::System.IntPtr GetGamepadName(int gamepad); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadButtonPressed")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadButtonPressed(int gamepad, int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadButtonDown")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadButtonDown(int gamepad, int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadButtonReleased")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadButtonReleased(int gamepad, int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGamepadButtonUp")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGamepadButtonUp(int gamepad, int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGamepadButtonPressed")] + internal static extern int GetGamepadButtonPressed(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGamepadAxisCount")] + internal static extern int GetGamepadAxisCount(int gamepad); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGamepadAxisMovement")] + internal static extern float GetGamepadAxisMovement(int gamepad, int axis); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsMouseButtonPressed")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsMouseButtonPressed(int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsMouseButtonDown")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsMouseButtonDown(int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsMouseButtonReleased")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsMouseButtonReleased(int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsMouseButtonUp")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsMouseButtonUp(int button); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMouseX")] + internal static extern int GetMouseX(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMouseY")] + internal static extern int GetMouseY(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMousePosition")] + internal static extern global::raylib.Vector2.__Internal GetMousePosition(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMousePosition")] + internal static extern void SetMousePosition(global::raylib.Vector2.__Internal position); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMouseScale")] + internal static extern void SetMouseScale(float scale); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMouseWheelMove")] + internal static extern int GetMouseWheelMove(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTouchX")] + internal static extern int GetTouchX(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTouchY")] + internal static extern int GetTouchY(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTouchPosition")] + internal static extern global::raylib.Vector2.__Internal GetTouchPosition(int index); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetGesturesEnabled")] + internal static extern void SetGesturesEnabled(uint gestureFlags); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsGestureDetected")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsGestureDetected(int gesture); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGestureDetected")] + internal static extern int GetGestureDetected(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTouchPointsCount")] + internal static extern int GetTouchPointsCount(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGestureHoldDuration")] + internal static extern float GetGestureHoldDuration(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGestureDragVector")] + internal static extern global::raylib.Vector2.__Internal GetGestureDragVector(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGestureDragAngle")] + internal static extern float GetGestureDragAngle(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGesturePinchVector")] + internal static extern global::raylib.Vector2.__Internal GetGesturePinchVector(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGesturePinchAngle")] + internal static extern float GetGesturePinchAngle(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetCameraMode")] + internal static extern void SetCameraMode(global::raylib.Camera3D.__Internal camera, int mode); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateCamera")] + internal static extern void UpdateCamera(global::System.IntPtr camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetCameraPanControl")] + internal static extern void SetCameraPanControl(int panKey); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetCameraAltControl")] + internal static extern void SetCameraAltControl(int altKey); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetCameraSmoothZoomControl")] + internal static extern void SetCameraSmoothZoomControl(int szKey); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetCameraMoveControls")] + internal static extern void SetCameraMoveControls(int frontKey, int backKey, int rightKey, int leftKey, int upKey, int downKey); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPixel")] + internal static extern void DrawPixel(int posX, int posY, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPixelV")] + internal static extern void DrawPixelV(global::raylib.Vector2.__Internal position, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawLine")] + internal static extern void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawLineV")] + internal static extern void DrawLineV(global::raylib.Vector2.__Internal startPos, global::raylib.Vector2.__Internal endPos, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawLineEx")] + internal static extern void DrawLineEx(global::raylib.Vector2.__Internal startPos, global::raylib.Vector2.__Internal endPos, float thick, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawLineBezier")] + internal static extern void DrawLineBezier(global::raylib.Vector2.__Internal startPos, global::raylib.Vector2.__Internal endPos, float thick, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCircle")] + internal static extern void DrawCircle(int centerX, int centerY, float radius, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCircleGradient")] + internal static extern void DrawCircleGradient(int centerX, int centerY, float radius, global::raylib.Color.__Internal color1, global::raylib.Color.__Internal color2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCircleV")] + internal static extern void DrawCircleV(global::raylib.Vector2.__Internal center, float radius, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCircleLines")] + internal static extern void DrawCircleLines(int centerX, int centerY, float radius, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangle")] + internal static extern void DrawRectangle(int posX, int posY, int width, int height, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleV")] + internal static extern void DrawRectangleV(global::raylib.Vector2.__Internal position, global::raylib.Vector2.__Internal size, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleRec")] + internal static extern void DrawRectangleRec(global::raylib.Rectangle.__Internal rec, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectanglePro")] + internal static extern void DrawRectanglePro(global::raylib.Rectangle.__Internal rec, global::raylib.Vector2.__Internal origin, float rotation, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleGradientV")] + internal static extern void DrawRectangleGradientV(int posX, int posY, int width, int height, global::raylib.Color.__Internal color1, global::raylib.Color.__Internal color2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleGradientH")] + internal static extern void DrawRectangleGradientH(int posX, int posY, int width, int height, global::raylib.Color.__Internal color1, global::raylib.Color.__Internal color2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleGradientEx")] + internal static extern void DrawRectangleGradientEx(global::raylib.Rectangle.__Internal rec, global::raylib.Color.__Internal col1, global::raylib.Color.__Internal col2, global::raylib.Color.__Internal col3, global::raylib.Color.__Internal col4); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleLines")] + internal static extern void DrawRectangleLines(int posX, int posY, int width, int height, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRectangleLinesEx")] + internal static extern void DrawRectangleLinesEx(global::raylib.Rectangle.__Internal rec, int lineThick, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTriangle")] + internal static extern void DrawTriangle(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2, global::raylib.Vector2.__Internal v3, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTriangleLines")] + internal static extern void DrawTriangleLines(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2, global::raylib.Vector2.__Internal v3, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPoly")] + internal static extern void DrawPoly(global::raylib.Vector2.__Internal center, int sides, float radius, float rotation, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPolyEx")] + internal static extern void DrawPolyEx(global::System.IntPtr points, int numPoints, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPolyExLines")] + internal static extern void DrawPolyExLines(global::System.IntPtr points, int numPoints, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionRecs")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionRecs(global::raylib.Rectangle.__Internal rec1, global::raylib.Rectangle.__Internal rec2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionCircles")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionCircles(global::raylib.Vector2.__Internal center1, float radius1, global::raylib.Vector2.__Internal center2, float radius2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionCircleRec")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionCircleRec(global::raylib.Vector2.__Internal center, float radius, global::raylib.Rectangle.__Internal rec); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetCollisionRec")] + internal static extern void GetCollisionRec(global::System.IntPtr @return, global::raylib.Rectangle.__Internal rec1, global::raylib.Rectangle.__Internal rec2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionPointRec")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionPointRec(global::raylib.Vector2.__Internal point, global::raylib.Rectangle.__Internal rec); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionPointCircle")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionPointCircle(global::raylib.Vector2.__Internal point, global::raylib.Vector2.__Internal center, float radius); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionPointTriangle")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionPointTriangle(global::raylib.Vector2.__Internal point, global::raylib.Vector2.__Internal p1, global::raylib.Vector2.__Internal p2, global::raylib.Vector2.__Internal p3); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadImage")] + internal static extern void LoadImage(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadImageEx")] + internal static extern void LoadImageEx(global::System.IntPtr @return, global::System.IntPtr pixels, int width, int height); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadImagePro")] + internal static extern void LoadImagePro(global::System.IntPtr @return, global::System.IntPtr data, int width, int height, int format); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadImageRaw")] + internal static extern void LoadImageRaw(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName, int width, int height, int format, int headerSize); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ExportImage")] + internal static extern void ExportImage([MarshalAs(UnmanagedType.LPStr)] string fileName, global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadTexture")] + internal static extern void LoadTexture(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadTextureFromImage")] + internal static extern void LoadTextureFromImage(global::System.IntPtr @return, global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadRenderTexture")] + internal static extern void LoadRenderTexture(global::System.IntPtr @return, int width, int height); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadImage")] + internal static extern void UnloadImage(global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadTexture")] + internal static extern void UnloadTexture(global::raylib.Texture2D.__Internal texture); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadRenderTexture")] + internal static extern void UnloadRenderTexture(global::raylib.RenderTexture2D.__Internal target); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetImageData")] + internal static extern global::System.IntPtr GetImageData(global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetImageDataNormalized")] + internal static extern global::System.IntPtr GetImageDataNormalized(global::raylib.Image.__Internal image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetPixelDataSize")] + internal static extern int GetPixelDataSize(int width, int height, int format); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTextureData")] + internal static extern void GetTextureData(global::System.IntPtr @return, global::raylib.Texture2D.__Internal texture); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateTexture")] + internal static extern void UpdateTexture(global::raylib.Texture2D.__Internal texture, global::System.IntPtr pixels); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageToPOT")] + internal static extern void ImageToPOT(global::System.IntPtr image, global::raylib.Color.__Internal fillColor); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageFormat")] + internal static extern void ImageFormat(global::System.IntPtr image, int newFormat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageAlphaMask")] + internal static extern void ImageAlphaMask(global::System.IntPtr image, global::raylib.Image.__Internal alphaMask); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageAlphaClear")] + internal static extern void ImageAlphaClear(global::System.IntPtr image, global::raylib.Color.__Internal color, float threshold); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageAlphaCrop")] + internal static extern void ImageAlphaCrop(global::System.IntPtr image, float threshold); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageAlphaPremultiply")] + internal static extern void ImageAlphaPremultiply(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageCrop")] + internal static extern void ImageCrop(global::System.IntPtr image, global::raylib.Rectangle.__Internal crop); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageResize")] + internal static extern void ImageResize(global::System.IntPtr image, int newWidth, int newHeight); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageResizeNN")] + internal static extern void ImageResizeNN(global::System.IntPtr image, int newWidth, int newHeight); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageResizeCanvas")] + internal static extern void ImageResizeCanvas(global::System.IntPtr image, int newWidth, int newHeight, int offsetX, int offsetY, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageMipmaps")] + internal static extern void ImageMipmaps(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageDither")] + internal static extern void ImageDither(global::System.IntPtr image, int rBpp, int gBpp, int bBpp, int aBpp); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageText")] + internal static extern void ImageText(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string text, int fontSize, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageTextEx")] + internal static extern void ImageTextEx(global::System.IntPtr @return, global::raylib.Font.__Internal font, [MarshalAs(UnmanagedType.LPStr)] string text, float fontSize, float spacing, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageDraw")] + internal static extern void ImageDraw(global::System.IntPtr dst, global::raylib.Image.__Internal src, global::raylib.Rectangle.__Internal srcRec, global::raylib.Rectangle.__Internal dstRec); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageDrawRectangle")] + internal static extern void ImageDrawRectangle(global::System.IntPtr dst, global::raylib.Vector2.__Internal position, global::raylib.Rectangle.__Internal rec, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageDrawText")] + internal static extern void ImageDrawText(global::System.IntPtr dst, global::raylib.Vector2.__Internal position, [MarshalAs(UnmanagedType.LPStr)] string text, int fontSize, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageDrawTextEx")] + internal static extern void ImageDrawTextEx(global::System.IntPtr dst, global::raylib.Vector2.__Internal position, global::raylib.Font.__Internal font, [MarshalAs(UnmanagedType.LPStr)] string text, float fontSize, float spacing, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageFlipVertical")] + internal static extern void ImageFlipVertical(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageFlipHorizontal")] + internal static extern void ImageFlipHorizontal(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageRotateCW")] + internal static extern void ImageRotateCW(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageRotateCCW")] + internal static extern void ImageRotateCCW(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorTint")] + internal static extern void ImageColorTint(global::System.IntPtr image, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorInvert")] + internal static extern void ImageColorInvert(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorGrayscale")] + internal static extern void ImageColorGrayscale(global::System.IntPtr image); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorContrast")] + internal static extern void ImageColorContrast(global::System.IntPtr image, float contrast); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorBrightness")] + internal static extern void ImageColorBrightness(global::System.IntPtr image, int brightness); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ImageColorReplace")] + internal static extern void ImageColorReplace(global::System.IntPtr image, global::raylib.Color.__Internal color, global::raylib.Color.__Internal replace); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageColor")] + internal static extern void GenImageColor(global::System.IntPtr @return, int width, int height, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageGradientV")] + internal static extern void GenImageGradientV(global::System.IntPtr @return, int width, int height, global::raylib.Color.__Internal top, global::raylib.Color.__Internal bottom); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageGradientH")] + internal static extern void GenImageGradientH(global::System.IntPtr @return, int width, int height, global::raylib.Color.__Internal left, global::raylib.Color.__Internal right); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageGradientRadial")] + internal static extern void GenImageGradientRadial(global::System.IntPtr @return, int width, int height, float density, global::raylib.Color.__Internal inner, global::raylib.Color.__Internal outer); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageChecked")] + internal static extern void GenImageChecked(global::System.IntPtr @return, int width, int height, int checksX, int checksY, global::raylib.Color.__Internal col1, global::raylib.Color.__Internal col2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageWhiteNoise")] + internal static extern void GenImageWhiteNoise(global::System.IntPtr @return, int width, int height, float factor); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImagePerlinNoise")] + internal static extern void GenImagePerlinNoise(global::System.IntPtr @return, int width, int height, int offsetX, int offsetY, float scale); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageCellular")] + internal static extern void GenImageCellular(global::System.IntPtr @return, int width, int height, int tileSize); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenTextureMipmaps")] + internal static extern void GenTextureMipmaps(global::System.IntPtr texture); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetTextureFilter")] + internal static extern void SetTextureFilter(global::raylib.Texture2D.__Internal texture, int filterMode); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetTextureWrap")] + internal static extern void SetTextureWrap(global::raylib.Texture2D.__Internal texture, int wrapMode); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTexture")] + internal static extern void DrawTexture(global::raylib.Texture2D.__Internal texture, int posX, int posY, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTextureV")] + internal static extern void DrawTextureV(global::raylib.Texture2D.__Internal texture, global::raylib.Vector2.__Internal position, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTextureEx")] + internal static extern void DrawTextureEx(global::raylib.Texture2D.__Internal texture, global::raylib.Vector2.__Internal position, float rotation, float scale, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTextureRec")] + internal static extern void DrawTextureRec(global::raylib.Texture2D.__Internal texture, global::raylib.Rectangle.__Internal sourceRec, global::raylib.Vector2.__Internal position, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTexturePro")] + internal static extern void DrawTexturePro(global::raylib.Texture2D.__Internal texture, global::raylib.Rectangle.__Internal sourceRec, global::raylib.Rectangle.__Internal destRec, global::raylib.Vector2.__Internal origin, float rotation, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetFontDefault")] + internal static extern void GetFontDefault(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadFont")] + internal static extern void LoadFont(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadFontEx")] + internal static extern void LoadFontEx(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName, int fontSize, int charsCount, int* fontChars); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadFontData")] + internal static extern global::System.IntPtr LoadFontData([MarshalAs(UnmanagedType.LPStr)] string fileName, int fontSize, int* fontChars, int charsCount, bool sdf); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenImageFontAtlas")] + internal static extern void GenImageFontAtlas(global::System.IntPtr @return, global::System.IntPtr chars, int fontSize, int charsCount, int padding, int packMethod); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadFont")] + internal static extern void UnloadFont(global::raylib.Font.__Internal font); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawFPS")] + internal static extern void DrawFPS(int posX, int posY); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawText")] + internal static extern void DrawText([MarshalAs(UnmanagedType.LPStr)] string text, int posX, int posY, int fontSize, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawTextEx")] + internal static extern void DrawTextEx(global::raylib.Font.__Internal font, [MarshalAs(UnmanagedType.LPStr)] string text, global::raylib.Vector2.__Internal position, float fontSize, float spacing, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="MeasureText")] + internal static extern int MeasureText([MarshalAs(UnmanagedType.LPStr)] string text, int fontSize); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="MeasureTextEx")] + internal static extern global::raylib.Vector2.__Internal MeasureTextEx(global::raylib.Font.__Internal font, [MarshalAs(UnmanagedType.LPStr)] string text, float fontSize, float spacing); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="FormatText")] + internal static extern global::System.IntPtr FormatText([MarshalAs(UnmanagedType.LPStr)] string text); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SubText")] + internal static extern global::System.IntPtr SubText([MarshalAs(UnmanagedType.LPStr)] string text, int position, int length); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetGlyphIndex")] + internal static extern int GetGlyphIndex(global::raylib.Font.__Internal font, int character); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawLine3D")] + internal static extern void DrawLine3D(global::raylib.Vector3.__Internal startPos, global::raylib.Vector3.__Internal endPos, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCircle3D")] + internal static extern void DrawCircle3D(global::raylib.Vector3.__Internal center, float radius, global::raylib.Vector3.__Internal rotationAxis, float rotationAngle, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCube")] + internal static extern void DrawCube(global::raylib.Vector3.__Internal position, float width, float height, float length, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCubeV")] + internal static extern void DrawCubeV(global::raylib.Vector3.__Internal position, global::raylib.Vector3.__Internal size, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCubeWires")] + internal static extern void DrawCubeWires(global::raylib.Vector3.__Internal position, float width, float height, float length, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCubeTexture")] + internal static extern void DrawCubeTexture(global::raylib.Texture2D.__Internal texture, global::raylib.Vector3.__Internal position, float width, float height, float length, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawSphere")] + internal static extern void DrawSphere(global::raylib.Vector3.__Internal centerPos, float radius, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawSphereEx")] + internal static extern void DrawSphereEx(global::raylib.Vector3.__Internal centerPos, float radius, int rings, int slices, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawSphereWires")] + internal static extern void DrawSphereWires(global::raylib.Vector3.__Internal centerPos, float radius, int rings, int slices, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCylinder")] + internal static extern void DrawCylinder(global::raylib.Vector3.__Internal position, float radiusTop, float radiusBottom, float height, int slices, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawCylinderWires")] + internal static extern void DrawCylinderWires(global::raylib.Vector3.__Internal position, float radiusTop, float radiusBottom, float height, int slices, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawPlane")] + internal static extern void DrawPlane(global::raylib.Vector3.__Internal centerPos, global::raylib.Vector2.__Internal size, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawRay")] + internal static extern void DrawRay(global::raylib.Ray.__Internal ray, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawGrid")] + internal static extern void DrawGrid(int slices, float spacing); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawGizmo")] + internal static extern void DrawGizmo(global::raylib.Vector3.__Internal position); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadModel")] + internal static extern void LoadModel(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadModelFromMesh")] + internal static extern void LoadModelFromMesh(global::System.IntPtr @return, global::raylib.Mesh.__Internal mesh); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadModel")] + internal static extern void UnloadModel(global::raylib.Model.__Internal model); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadMesh")] + internal static extern void LoadMesh(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadMesh")] + internal static extern void UnloadMesh(global::System.IntPtr mesh); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ExportMesh")] + internal static extern void ExportMesh([MarshalAs(UnmanagedType.LPStr)] string fileName, global::raylib.Mesh.__Internal mesh); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="MeshTangents")] + internal static extern void MeshTangents(global::System.IntPtr mesh); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="MeshBinormals")] + internal static extern void MeshBinormals(global::System.IntPtr mesh); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshPlane")] + internal static extern void GenMeshPlane(global::System.IntPtr @return, float width, float length, int resX, int resZ); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshCube")] + internal static extern void GenMeshCube(global::System.IntPtr @return, float width, float height, float length); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshSphere")] + internal static extern void GenMeshSphere(global::System.IntPtr @return, float radius, int rings, int slices); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshHemiSphere")] + internal static extern void GenMeshHemiSphere(global::System.IntPtr @return, float radius, int rings, int slices); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshCylinder")] + internal static extern void GenMeshCylinder(global::System.IntPtr @return, float radius, float height, int slices); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshTorus")] + internal static extern void GenMeshTorus(global::System.IntPtr @return, float radius, float size, int radSeg, int sides); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshKnot")] + internal static extern void GenMeshKnot(global::System.IntPtr @return, float radius, float size, int radSeg, int sides); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshHeightmap")] + internal static extern void GenMeshHeightmap(global::System.IntPtr @return, global::raylib.Image.__Internal heightmap, global::raylib.Vector3.__Internal size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenMeshCubicmap")] + internal static extern void GenMeshCubicmap(global::System.IntPtr @return, global::raylib.Image.__Internal cubicmap, global::raylib.Vector3.__Internal cubeSize); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadMaterial")] + internal static extern void LoadMaterial(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadMaterialDefault")] + internal static extern void LoadMaterialDefault(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadMaterial")] + internal static extern void UnloadMaterial(global::raylib.Material.__Internal material); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawModel")] + internal static extern void DrawModel(global::raylib.Model.__Internal model, global::raylib.Vector3.__Internal position, float scale, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawModelEx")] + internal static extern void DrawModelEx(global::raylib.Model.__Internal model, global::raylib.Vector3.__Internal position, global::raylib.Vector3.__Internal rotationAxis, float rotationAngle, global::raylib.Vector3.__Internal scale, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawModelWires")] + internal static extern void DrawModelWires(global::raylib.Model.__Internal model, global::raylib.Vector3.__Internal position, float scale, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawModelWiresEx")] + internal static extern void DrawModelWiresEx(global::raylib.Model.__Internal model, global::raylib.Vector3.__Internal position, global::raylib.Vector3.__Internal rotationAxis, float rotationAngle, global::raylib.Vector3.__Internal scale, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawBoundingBox")] + internal static extern void DrawBoundingBox(global::raylib.BoundingBox.__Internal box, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawBillboard")] + internal static extern void DrawBillboard(global::raylib.Camera3D.__Internal camera, global::raylib.Texture2D.__Internal texture, global::raylib.Vector3.__Internal center, float size, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="DrawBillboardRec")] + internal static extern void DrawBillboardRec(global::raylib.Camera3D.__Internal camera, global::raylib.Texture2D.__Internal texture, global::raylib.Rectangle.__Internal sourceRec, global::raylib.Vector3.__Internal center, float size, global::raylib.Color.__Internal tint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionSpheres")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionSpheres(global::raylib.Vector3.__Internal centerA, float radiusA, global::raylib.Vector3.__Internal centerB, float radiusB); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionBoxes")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionBoxes(global::raylib.BoundingBox.__Internal box1, global::raylib.BoundingBox.__Internal box2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionBoxSphere")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionBoxSphere(global::raylib.BoundingBox.__Internal box, global::raylib.Vector3.__Internal centerSphere, float radiusSphere); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionRaySphere")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionRaySphere(global::raylib.Ray.__Internal ray, global::raylib.Vector3.__Internal spherePosition, float sphereRadius); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionRaySphereEx")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionRaySphereEx(global::raylib.Ray.__Internal ray, global::raylib.Vector3.__Internal spherePosition, float sphereRadius, global::System.IntPtr collisionPoint); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CheckCollisionRayBox")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool CheckCollisionRayBox(global::raylib.Ray.__Internal ray, global::raylib.BoundingBox.__Internal box); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetCollisionRayModel")] + internal static extern void GetCollisionRayModel(global::System.IntPtr @return, global::raylib.Ray.__Internal ray, global::System.IntPtr model); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetCollisionRayTriangle")] + internal static extern void GetCollisionRayTriangle(global::System.IntPtr @return, global::raylib.Ray.__Internal ray, global::raylib.Vector3.__Internal p1, global::raylib.Vector3.__Internal p2, global::raylib.Vector3.__Internal p3); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetCollisionRayGround")] + internal static extern void GetCollisionRayGround(global::System.IntPtr @return, global::raylib.Ray.__Internal ray, float groundHeight); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadText")] + internal static extern sbyte* LoadText([MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadShader")] + internal static extern void LoadShader(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string vsFileName, [MarshalAs(UnmanagedType.LPStr)] string fsFileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadShaderCode")] + internal static extern void LoadShaderCode(global::System.IntPtr @return, sbyte* vsCode, sbyte* fsCode); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadShader")] + internal static extern void UnloadShader(global::raylib.Shader.__Internal shader); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetShaderDefault")] + internal static extern void GetShaderDefault(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetTextureDefault")] + internal static extern void GetTextureDefault(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetShaderLocation")] + internal static extern int GetShaderLocation(global::raylib.Shader.__Internal shader, [MarshalAs(UnmanagedType.LPStr)] string uniformName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetShaderValue")] + internal static extern void SetShaderValue(global::raylib.Shader.__Internal shader, int uniformLoc, float* value, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetShaderValuei")] + internal static extern void SetShaderValuei(global::raylib.Shader.__Internal shader, int uniformLoc, int* value, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetShaderValueMatrix")] + internal static extern void SetShaderValueMatrix(global::raylib.Shader.__Internal shader, int uniformLoc, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMatrixProjection")] + internal static extern void SetMatrixProjection(global::raylib.Matrix.__Internal proj); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMatrixModelview")] + internal static extern void SetMatrixModelview(global::raylib.Matrix.__Internal view); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMatrixModelview")] + internal static extern void GetMatrixModelview(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenTextureCubemap")] + internal static extern void GenTextureCubemap(global::System.IntPtr @return, global::raylib.Shader.__Internal shader, global::raylib.Texture2D.__Internal skyHDR, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenTextureIrradiance")] + internal static extern void GenTextureIrradiance(global::System.IntPtr @return, global::raylib.Shader.__Internal shader, global::raylib.Texture2D.__Internal cubemap, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenTexturePrefilter")] + internal static extern void GenTexturePrefilter(global::System.IntPtr @return, global::raylib.Shader.__Internal shader, global::raylib.Texture2D.__Internal cubemap, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GenTextureBRDF")] + internal static extern void GenTextureBRDF(global::System.IntPtr @return, global::raylib.Shader.__Internal shader, global::raylib.Texture2D.__Internal cubemap, int size); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginShaderMode")] + internal static extern void BeginShaderMode(global::raylib.Shader.__Internal shader); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndShaderMode")] + internal static extern void EndShaderMode(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginBlendMode")] + internal static extern void BeginBlendMode(int mode); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndBlendMode")] + internal static extern void EndBlendMode(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetVrDeviceInfo")] + internal static extern void GetVrDeviceInfo(global::System.IntPtr @return, int vrDeviceType); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="InitVrSimulator")] + internal static extern void InitVrSimulator(global::raylib.VrDeviceInfo.__Internal info); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CloseVrSimulator")] + internal static extern void CloseVrSimulator(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsVrSimulatorReady")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsVrSimulatorReady(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetVrDistortionShader")] + internal static extern void SetVrDistortionShader(global::raylib.Shader.__Internal shader); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateVrTracking")] + internal static extern void UpdateVrTracking(global::System.IntPtr camera); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ToggleVrMode")] + internal static extern void ToggleVrMode(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="BeginVrDrawing")] + internal static extern void BeginVrDrawing(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="EndVrDrawing")] + internal static extern void EndVrDrawing(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="InitAudioDevice")] + internal static extern void InitAudioDevice(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CloseAudioDevice")] + internal static extern void CloseAudioDevice(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsAudioDeviceReady")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsAudioDeviceReady(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMasterVolume")] + internal static extern void SetMasterVolume(float volume); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadWave")] + internal static extern void LoadWave(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadWaveEx")] + internal static extern void LoadWaveEx(global::System.IntPtr @return, global::System.IntPtr data, int sampleCount, int sampleRate, int sampleSize, int channels); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadSound")] + internal static extern void LoadSound(global::System.IntPtr @return, [MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadSoundFromWave")] + internal static extern void LoadSoundFromWave(global::System.IntPtr @return, global::raylib.Wave.__Internal wave); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateSound")] + internal static extern void UpdateSound(global::raylib.Sound.__Internal sound, global::System.IntPtr data, int samplesCount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadWave")] + internal static extern void UnloadWave(global::raylib.Wave.__Internal wave); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadSound")] + internal static extern void UnloadSound(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PlaySound")] + internal static extern void PlaySound(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PauseSound")] + internal static extern void PauseSound(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ResumeSound")] + internal static extern void ResumeSound(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="StopSound")] + internal static extern void StopSound(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsSoundPlaying")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsSoundPlaying(global::raylib.Sound.__Internal sound); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetSoundVolume")] + internal static extern void SetSoundVolume(global::raylib.Sound.__Internal sound, float volume); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetSoundPitch")] + internal static extern void SetSoundPitch(global::raylib.Sound.__Internal sound, float pitch); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="WaveFormat")] + internal static extern void WaveFormat(global::System.IntPtr wave, int sampleRate, int sampleSize, int channels); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="WaveCrop")] + internal static extern void WaveCrop(global::System.IntPtr wave, int initSample, int finalSample); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetWaveData")] + internal static extern float* GetWaveData(global::raylib.Wave.__Internal wave); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="LoadMusicStream")] + internal static extern global::System.IntPtr LoadMusicStream([MarshalAs(UnmanagedType.LPStr)] string fileName); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UnloadMusicStream")] + internal static extern void UnloadMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PlayMusicStream")] + internal static extern void PlayMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateMusicStream")] + internal static extern void UpdateMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="StopMusicStream")] + internal static extern void StopMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PauseMusicStream")] + internal static extern void PauseMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ResumeMusicStream")] + internal static extern void ResumeMusicStream(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsMusicPlaying")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsMusicPlaying(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMusicVolume")] + internal static extern void SetMusicVolume(global::System.IntPtr music, float volume); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMusicPitch")] + internal static extern void SetMusicPitch(global::System.IntPtr music, float pitch); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetMusicLoopCount")] + internal static extern void SetMusicLoopCount(global::System.IntPtr music, int count); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMusicTimeLength")] + internal static extern float GetMusicTimeLength(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="GetMusicTimePlayed")] + internal static extern float GetMusicTimePlayed(global::System.IntPtr music); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="InitAudioStream")] + internal static extern void InitAudioStream(global::System.IntPtr @return, uint sampleRate, uint sampleSize, uint channels); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="UpdateAudioStream")] + internal static extern void UpdateAudioStream(global::raylib.AudioStream.__Internal stream, global::System.IntPtr data, int samplesCount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="CloseAudioStream")] + internal static extern void CloseAudioStream(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsAudioBufferProcessed")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsAudioBufferProcessed(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PlayAudioStream")] + internal static extern void PlayAudioStream(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="PauseAudioStream")] + internal static extern void PauseAudioStream(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ResumeAudioStream")] + internal static extern void ResumeAudioStream(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="IsAudioStreamPlaying")] + [return: MarshalAs(UnmanagedType.I1)] + internal static extern bool IsAudioStreamPlaying(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="StopAudioStream")] + internal static extern void StopAudioStream(global::raylib.AudioStream.__Internal stream); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetAudioStreamVolume")] + internal static extern void SetAudioStreamVolume(global::raylib.AudioStream.__Internal stream, float volume); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="SetAudioStreamPitch")] + internal static extern void SetAudioStreamPitch(global::raylib.AudioStream.__Internal stream, float pitch); + } + + public static void InitWindow(int width, int height, string title) + { + __Internal.InitWindow(width, height, title); + } + + public static void CloseWindow() + { + __Internal.CloseWindow(); + } + + public static bool IsWindowReady() + { + var __ret = __Internal.IsWindowReady(); + return __ret; + } + + public static bool WindowShouldClose() + { + var __ret = __Internal.WindowShouldClose(); + return __ret; + } + + public static bool IsWindowMinimized() + { + var __ret = __Internal.IsWindowMinimized(); + return __ret; + } + + public static void ToggleFullscreen() + { + __Internal.ToggleFullscreen(); + } + + public static void SetWindowIcon(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + __Internal.SetWindowIcon(__arg0); + } + + public static void SetWindowTitle(string title) + { + __Internal.SetWindowTitle(title); + } + + public static void SetWindowPosition(int x, int y) + { + __Internal.SetWindowPosition(x, y); + } + + public static void SetWindowMonitor(int monitor) + { + __Internal.SetWindowMonitor(monitor); + } + + public static void SetWindowMinSize(int width, int height) + { + __Internal.SetWindowMinSize(width, height); + } + + public static void SetWindowSize(int width, int height) + { + __Internal.SetWindowSize(width, height); + } + + public static int GetScreenWidth() + { + var __ret = __Internal.GetScreenWidth(); + return __ret; + } + + public static int GetScreenHeight() + { + var __ret = __Internal.GetScreenHeight(); + return __ret; + } + + public static void ShowCursor() + { + __Internal.ShowCursor(); + } + + public static void HideCursor() + { + __Internal.HideCursor(); + } + + public static bool IsCursorHidden() + { + var __ret = __Internal.IsCursorHidden(); + return __ret; + } + + public static void EnableCursor() + { + __Internal.EnableCursor(); + } + + public static void DisableCursor() + { + __Internal.DisableCursor(); + } + + public static void ClearBackground(global::raylib.Color color) + { + var __arg0 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ClearBackground(__arg0); + } + + public static void BeginDrawing() + { + __Internal.BeginDrawing(); + } + + public static void EndDrawing() + { + __Internal.EndDrawing(); + } + + public static void BeginMode2D(global::raylib.Camera2D camera) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera2D.__Internal() : *(global::raylib.Camera2D.__Internal*) camera.__Instance; + __Internal.BeginMode2D(__arg0); + } + + public static void EndMode2D() + { + __Internal.EndMode2D(); + } + + public static void BeginMode3D(global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + __Internal.BeginMode3D(__arg0); + } + + public static void EndMode3D() + { + __Internal.EndMode3D(); + } + + public static void BeginTextureMode(global::raylib.RenderTexture2D target) + { + var __arg0 = ReferenceEquals(target, null) ? new global::raylib.RenderTexture2D.__Internal() : *(global::raylib.RenderTexture2D.__Internal*) target.__Instance; + __Internal.BeginTextureMode(__arg0); + } + + public static void EndTextureMode() + { + __Internal.EndTextureMode(); + } + + public static global::raylib.Ray GetMouseRay(global::raylib.Vector2 mousePosition, global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(mousePosition, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) mousePosition.__Instance; + var __arg1 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + var __ret = new global::raylib.Ray.__Internal(); + __Internal.GetMouseRay(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Ray.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 GetWorldToScreen(global::raylib.Vector3 position, global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg1 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + var __ret = __Internal.GetWorldToScreen(__arg0, __arg1); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Matrix GetCameraMatrix(global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.GetCameraMatrix(new IntPtr(&__ret), __arg0); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static void SetTargetFPS(int fps) + { + __Internal.SetTargetFPS(fps); + } + + public static int GetFPS() + { + var __ret = __Internal.GetFPS(); + return __ret; + } + + public static float GetFrameTime() + { + var __ret = __Internal.GetFrameTime(); + return __ret; + } + + public static double GetTime() + { + var __ret = __Internal.GetTime(); + return __ret; + } + + public static global::raylib.Color GetColor(int hexValue) + { + var __ret = __Internal.GetColor(hexValue); + return global::raylib.Color.__CreateInstance(__ret); + } + + public static global::raylib.Color Fade(global::raylib.Color color, float alpha) + { + var __arg0 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = __Internal.Fade(__arg0, alpha); + return global::raylib.Color.__CreateInstance(__ret); + } + + public static void ShowLogo() + { + __Internal.ShowLogo(); + } + + public static void SetConfigFlags(byte flags) + { + __Internal.SetConfigFlags(flags); + } + + public static void SetTraceLog(byte types) + { + __Internal.SetTraceLog(types); + } + + public static void TraceLog(int logType, string text) + { + __Internal.TraceLog(logType, text); + } + + public static void TakeScreenshot(string fileName) + { + __Internal.TakeScreenshot(fileName); + } + + public static int GetRandomValue(int min, int max) + { + var __ret = __Internal.GetRandomValue(min, max); + return __ret; + } + + public static bool IsFileExtension(string fileName, string ext) + { + var __ret = __Internal.IsFileExtension(fileName, ext); + return __ret; + } + + public static string GetExtension(string fileName) + { + var __ret = __Internal.GetExtension(fileName); + return Marshal.PtrToStringAnsi(__ret); + } + + public static string GetFileName(string filePath) + { + var __ret = __Internal.GetFileName(filePath); + return Marshal.PtrToStringAnsi(__ret); + } + + public static string GetDirectoryPath(string fileName) + { + var __ret = __Internal.GetDirectoryPath(fileName); + return Marshal.PtrToStringAnsi(__ret); + } + + public static string GetWorkingDirectory() + { + var __ret = __Internal.GetWorkingDirectory(); + return Marshal.PtrToStringAnsi(__ret); + } + + public static bool ChangeDirectory(string dir) + { + var __ret = __Internal.ChangeDirectory(dir); + return __ret; + } + + public static bool IsFileDropped() + { + var __ret = __Internal.IsFileDropped(); + return __ret; + } + + public static sbyte** GetDroppedFiles(ref int count) + { + fixed (int* __refParamPtr0 = &count) + { + var __arg0 = __refParamPtr0; + var __ret = __Internal.GetDroppedFiles(__arg0); + return __ret; + } + } + + public static void ClearDroppedFiles() + { + __Internal.ClearDroppedFiles(); + } + + public static void StorageSaveValue(int position, int value) + { + __Internal.StorageSaveValue(position, value); + } + + public static int StorageLoadValue(int position) + { + var __ret = __Internal.StorageLoadValue(position); + return __ret; + } + + public static bool IsKeyPressed(int key) + { + var __ret = __Internal.IsKeyPressed(key); + return __ret; + } + + public static bool IsKeyDown(int key) + { + var __ret = __Internal.IsKeyDown(key); + return __ret; + } + + public static bool IsKeyReleased(int key) + { + var __ret = __Internal.IsKeyReleased(key); + return __ret; + } + + public static bool IsKeyUp(int key) + { + var __ret = __Internal.IsKeyUp(key); + return __ret; + } + + public static int GetKeyPressed() + { + var __ret = __Internal.GetKeyPressed(); + return __ret; + } + + public static void SetExitKey(int key) + { + __Internal.SetExitKey(key); + } + + public static bool IsGamepadAvailable(int gamepad) + { + var __ret = __Internal.IsGamepadAvailable(gamepad); + return __ret; + } + + public static bool IsGamepadName(int gamepad, string name) + { + var __ret = __Internal.IsGamepadName(gamepad, name); + return __ret; + } + + public static string GetGamepadName(int gamepad) + { + var __ret = __Internal.GetGamepadName(gamepad); + return Marshal.PtrToStringAnsi(__ret); + } + + public static bool IsGamepadButtonPressed(int gamepad, int button) + { + var __ret = __Internal.IsGamepadButtonPressed(gamepad, button); + return __ret; + } + + public static bool IsGamepadButtonDown(int gamepad, int button) + { + var __ret = __Internal.IsGamepadButtonDown(gamepad, button); + return __ret; + } + + public static bool IsGamepadButtonReleased(int gamepad, int button) + { + var __ret = __Internal.IsGamepadButtonReleased(gamepad, button); + return __ret; + } + + public static bool IsGamepadButtonUp(int gamepad, int button) + { + var __ret = __Internal.IsGamepadButtonUp(gamepad, button); + return __ret; + } + + public static int GetGamepadButtonPressed() + { + var __ret = __Internal.GetGamepadButtonPressed(); + return __ret; + } + + public static int GetGamepadAxisCount(int gamepad) + { + var __ret = __Internal.GetGamepadAxisCount(gamepad); + return __ret; + } + + public static float GetGamepadAxisMovement(int gamepad, int axis) + { + var __ret = __Internal.GetGamepadAxisMovement(gamepad, axis); + return __ret; + } + + public static bool IsMouseButtonPressed(int button) + { + var __ret = __Internal.IsMouseButtonPressed(button); + return __ret; + } + + public static bool IsMouseButtonDown(int button) + { + var __ret = __Internal.IsMouseButtonDown(button); + return __ret; + } + + public static bool IsMouseButtonReleased(int button) + { + var __ret = __Internal.IsMouseButtonReleased(button); + return __ret; + } + + public static bool IsMouseButtonUp(int button) + { + var __ret = __Internal.IsMouseButtonUp(button); + return __ret; + } + + public static int GetMouseX() + { + var __ret = __Internal.GetMouseX(); + return __ret; + } + + public static int GetMouseY() + { + var __ret = __Internal.GetMouseY(); + return __ret; + } + + public static global::raylib.Vector2 GetMousePosition() + { + var __ret = __Internal.GetMousePosition(); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static void SetMousePosition(global::raylib.Vector2 position) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + __Internal.SetMousePosition(__arg0); + } + + public static void SetMouseScale(float scale) + { + __Internal.SetMouseScale(scale); + } + + public static int GetMouseWheelMove() + { + var __ret = __Internal.GetMouseWheelMove(); + return __ret; + } + + public static int GetTouchX() + { + var __ret = __Internal.GetTouchX(); + return __ret; + } + + public static int GetTouchY() + { + var __ret = __Internal.GetTouchY(); + return __ret; + } + + public static global::raylib.Vector2 GetTouchPosition(int index) + { + var __ret = __Internal.GetTouchPosition(index); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static void SetGesturesEnabled(uint gestureFlags) + { + __Internal.SetGesturesEnabled(gestureFlags); + } + + public static bool IsGestureDetected(int gesture) + { + var __ret = __Internal.IsGestureDetected(gesture); + return __ret; + } + + public static int GetGestureDetected() + { + var __ret = __Internal.GetGestureDetected(); + return __ret; + } + + public static int GetTouchPointsCount() + { + var __ret = __Internal.GetTouchPointsCount(); + return __ret; + } + + public static float GetGestureHoldDuration() + { + var __ret = __Internal.GetGestureHoldDuration(); + return __ret; + } + + public static global::raylib.Vector2 GetGestureDragVector() + { + var __ret = __Internal.GetGestureDragVector(); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static float GetGestureDragAngle() + { + var __ret = __Internal.GetGestureDragAngle(); + return __ret; + } + + public static global::raylib.Vector2 GetGesturePinchVector() + { + var __ret = __Internal.GetGesturePinchVector(); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static float GetGesturePinchAngle() + { + var __ret = __Internal.GetGesturePinchAngle(); + return __ret; + } + + public static void SetCameraMode(global::raylib.Camera3D camera, int mode) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + __Internal.SetCameraMode(__arg0, mode); + } + + public static void UpdateCamera(global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(camera, null) ? global::System.IntPtr.Zero : camera.__Instance; + __Internal.UpdateCamera(__arg0); + } + + public static void SetCameraPanControl(int panKey) + { + __Internal.SetCameraPanControl(panKey); + } + + public static void SetCameraAltControl(int altKey) + { + __Internal.SetCameraAltControl(altKey); + } + + public static void SetCameraSmoothZoomControl(int szKey) + { + __Internal.SetCameraSmoothZoomControl(szKey); + } + + public static void SetCameraMoveControls(int frontKey, int backKey, int rightKey, int leftKey, int upKey, int downKey) + { + __Internal.SetCameraMoveControls(frontKey, backKey, rightKey, leftKey, upKey, downKey); + } + + public static void DrawPixel(int posX, int posY, global::raylib.Color color) + { + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPixel(posX, posY, __arg2); + } + + public static void DrawPixelV(global::raylib.Vector2 position, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPixelV(__arg0, __arg1); + } + + public static void DrawLine(int startPosX, int startPosY, int endPosX, int endPosY, global::raylib.Color color) + { + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawLine(startPosX, startPosY, endPosX, endPosY, __arg4); + } + + public static void DrawLineV(global::raylib.Vector2 startPos, global::raylib.Vector2 endPos, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(startPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) startPos.__Instance; + var __arg1 = ReferenceEquals(endPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) endPos.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawLineV(__arg0, __arg1, __arg2); + } + + public static void DrawLineEx(global::raylib.Vector2 startPos, global::raylib.Vector2 endPos, float thick, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(startPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) startPos.__Instance; + var __arg1 = ReferenceEquals(endPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) endPos.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawLineEx(__arg0, __arg1, thick, __arg3); + } + + public static void DrawLineBezier(global::raylib.Vector2 startPos, global::raylib.Vector2 endPos, float thick, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(startPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) startPos.__Instance; + var __arg1 = ReferenceEquals(endPos, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) endPos.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawLineBezier(__arg0, __arg1, thick, __arg3); + } + + public static void DrawCircle(int centerX, int centerY, float radius, global::raylib.Color color) + { + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCircle(centerX, centerY, radius, __arg3); + } + + public static void DrawCircleGradient(int centerX, int centerY, float radius, global::raylib.Color color1, global::raylib.Color color2) + { + var __arg3 = ReferenceEquals(color1, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color1.__Instance; + var __arg4 = ReferenceEquals(color2, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color2.__Instance; + __Internal.DrawCircleGradient(centerX, centerY, radius, __arg3, __arg4); + } + + public static void DrawCircleV(global::raylib.Vector2 center, float radius, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(center, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCircleV(__arg0, radius, __arg2); + } + + public static void DrawCircleLines(int centerX, int centerY, float radius, global::raylib.Color color) + { + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCircleLines(centerX, centerY, radius, __arg3); + } + + public static void DrawRectangle(int posX, int posY, int width, int height, global::raylib.Color color) + { + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectangle(posX, posY, width, height, __arg4); + } + + public static void DrawRectangleV(global::raylib.Vector2 position, global::raylib.Vector2 size, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg1 = ReferenceEquals(size, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) size.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectangleV(__arg0, __arg1, __arg2); + } + + public static void DrawRectangleRec(global::raylib.Rectangle rec, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectangleRec(__arg0, __arg1); + } + + public static void DrawRectanglePro(global::raylib.Rectangle rec, global::raylib.Vector2 origin, float rotation, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __arg1 = ReferenceEquals(origin, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) origin.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectanglePro(__arg0, __arg1, rotation, __arg3); + } + + public static void DrawRectangleGradientV(int posX, int posY, int width, int height, global::raylib.Color color1, global::raylib.Color color2) + { + var __arg4 = ReferenceEquals(color1, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color1.__Instance; + var __arg5 = ReferenceEquals(color2, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color2.__Instance; + __Internal.DrawRectangleGradientV(posX, posY, width, height, __arg4, __arg5); + } + + public static void DrawRectangleGradientH(int posX, int posY, int width, int height, global::raylib.Color color1, global::raylib.Color color2) + { + var __arg4 = ReferenceEquals(color1, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color1.__Instance; + var __arg5 = ReferenceEquals(color2, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color2.__Instance; + __Internal.DrawRectangleGradientH(posX, posY, width, height, __arg4, __arg5); + } + + public static void DrawRectangleGradientEx(global::raylib.Rectangle rec, global::raylib.Color col1, global::raylib.Color col2, global::raylib.Color col3, global::raylib.Color col4) + { + var __arg0 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __arg1 = ReferenceEquals(col1, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col1.__Instance; + var __arg2 = ReferenceEquals(col2, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col2.__Instance; + var __arg3 = ReferenceEquals(col3, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col3.__Instance; + var __arg4 = ReferenceEquals(col4, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col4.__Instance; + __Internal.DrawRectangleGradientEx(__arg0, __arg1, __arg2, __arg3, __arg4); + } + + public static void DrawRectangleLines(int posX, int posY, int width, int height, global::raylib.Color color) + { + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectangleLines(posX, posY, width, height, __arg4); + } + + public static void DrawRectangleLinesEx(global::raylib.Rectangle rec, int lineThick, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRectangleLinesEx(__arg0, lineThick, __arg2); + } + + public static void DrawTriangle(global::raylib.Vector2 v1, global::raylib.Vector2 v2, global::raylib.Vector2 v3, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v2.__Instance; + var __arg2 = ReferenceEquals(v3, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v3.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawTriangle(__arg0, __arg1, __arg2, __arg3); + } + + public static void DrawTriangleLines(global::raylib.Vector2 v1, global::raylib.Vector2 v2, global::raylib.Vector2 v3, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v2.__Instance; + var __arg2 = ReferenceEquals(v3, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v3.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawTriangleLines(__arg0, __arg1, __arg2, __arg3); + } + + public static void DrawPoly(global::raylib.Vector2 center, int sides, float radius, float rotation, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(center, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPoly(__arg0, sides, radius, rotation, __arg4); + } + + public static void DrawPolyEx(global::raylib.Vector2 points, int numPoints, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(points, null) ? global::System.IntPtr.Zero : points.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPolyEx(__arg0, numPoints, __arg2); + } + + public static void DrawPolyExLines(global::raylib.Vector2 points, int numPoints, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(points, null) ? global::System.IntPtr.Zero : points.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPolyExLines(__arg0, numPoints, __arg2); + } + + public static bool CheckCollisionRecs(global::raylib.Rectangle rec1, global::raylib.Rectangle rec2) + { + var __arg0 = ReferenceEquals(rec1, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec1.__Instance; + var __arg1 = ReferenceEquals(rec2, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec2.__Instance; + var __ret = __Internal.CheckCollisionRecs(__arg0, __arg1); + return __ret; + } + + public static bool CheckCollisionCircles(global::raylib.Vector2 center1, float radius1, global::raylib.Vector2 center2, float radius2) + { + var __arg0 = ReferenceEquals(center1, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center1.__Instance; + var __arg2 = ReferenceEquals(center2, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center2.__Instance; + var __ret = __Internal.CheckCollisionCircles(__arg0, radius1, __arg2, radius2); + return __ret; + } + + public static bool CheckCollisionCircleRec(global::raylib.Vector2 center, float radius, global::raylib.Rectangle rec) + { + var __arg0 = ReferenceEquals(center, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center.__Instance; + var __arg2 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __ret = __Internal.CheckCollisionCircleRec(__arg0, radius, __arg2); + return __ret; + } + + public static global::raylib.Rectangle GetCollisionRec(global::raylib.Rectangle rec1, global::raylib.Rectangle rec2) + { + var __arg0 = ReferenceEquals(rec1, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec1.__Instance; + var __arg1 = ReferenceEquals(rec2, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec2.__Instance; + var __ret = new global::raylib.Rectangle.__Internal(); + __Internal.GetCollisionRec(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Rectangle.__CreateInstance(__ret); + } + + public static bool CheckCollisionPointRec(global::raylib.Vector2 point, global::raylib.Rectangle rec) + { + var __arg0 = ReferenceEquals(point, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) point.__Instance; + var __arg1 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __ret = __Internal.CheckCollisionPointRec(__arg0, __arg1); + return __ret; + } + + public static bool CheckCollisionPointCircle(global::raylib.Vector2 point, global::raylib.Vector2 center, float radius) + { + var __arg0 = ReferenceEquals(point, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) point.__Instance; + var __arg1 = ReferenceEquals(center, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) center.__Instance; + var __ret = __Internal.CheckCollisionPointCircle(__arg0, __arg1, radius); + return __ret; + } + + public static bool CheckCollisionPointTriangle(global::raylib.Vector2 point, global::raylib.Vector2 p1, global::raylib.Vector2 p2, global::raylib.Vector2 p3) + { + var __arg0 = ReferenceEquals(point, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) point.__Instance; + var __arg1 = ReferenceEquals(p1, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) p1.__Instance; + var __arg2 = ReferenceEquals(p2, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) p2.__Instance; + var __arg3 = ReferenceEquals(p3, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) p3.__Instance; + var __ret = __Internal.CheckCollisionPointTriangle(__arg0, __arg1, __arg2, __arg3); + return __ret; + } + + public static global::raylib.Image LoadImage(string fileName) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.LoadImage(new IntPtr(&__ret), fileName); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image LoadImageEx(global::raylib.Color pixels, int width, int height) + { + var __arg0 = ReferenceEquals(pixels, null) ? global::System.IntPtr.Zero : pixels.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.LoadImageEx(new IntPtr(&__ret), __arg0, width, height); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image LoadImagePro(global::System.IntPtr data, int width, int height, int format) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.LoadImagePro(new IntPtr(&__ret), data, width, height, format); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image LoadImageRaw(string fileName, int width, int height, int format, int headerSize) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.LoadImageRaw(new IntPtr(&__ret), fileName, width, height, format, headerSize); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static void ExportImage(string fileName, global::raylib.Image image) + { + var __arg1 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + __Internal.ExportImage(fileName, __arg1); + } + + public static global::raylib.Texture2D LoadTexture(string fileName) + { + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.LoadTexture(new IntPtr(&__ret), fileName); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D LoadTextureFromImage(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.LoadTextureFromImage(new IntPtr(&__ret), __arg0); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static global::raylib.RenderTexture2D LoadRenderTexture(int width, int height) + { + var __ret = new global::raylib.RenderTexture2D.__Internal(); + __Internal.LoadRenderTexture(new IntPtr(&__ret), width, height); + return global::raylib.RenderTexture2D.__CreateInstance(__ret); + } + + public static void UnloadImage(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + __Internal.UnloadImage(__arg0); + } + + public static void UnloadTexture(global::raylib.Texture2D texture) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + __Internal.UnloadTexture(__arg0); + } + + public static void UnloadRenderTexture(global::raylib.RenderTexture2D target) + { + var __arg0 = ReferenceEquals(target, null) ? new global::raylib.RenderTexture2D.__Internal() : *(global::raylib.RenderTexture2D.__Internal*) target.__Instance; + __Internal.UnloadRenderTexture(__arg0); + } + + public static global::raylib.Color GetImageData(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + var __ret = __Internal.GetImageData(__arg0); + global::raylib.Color __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::raylib.Color.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::raylib.Color) global::raylib.Color.NativeToManagedMap[__ret]; + else __result0 = global::raylib.Color.__CreateInstance(__ret); + return __result0; + } + + public static global::raylib.Vector4 GetImageDataNormalized(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) image.__Instance; + var __ret = __Internal.GetImageDataNormalized(__arg0); + global::raylib.Vector4 __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::raylib.Vector4.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::raylib.Vector4) global::raylib.Vector4.NativeToManagedMap[__ret]; + else __result0 = global::raylib.Vector4.__CreateInstance(__ret); + return __result0; + } + + public static int GetPixelDataSize(int width, int height, int format) + { + var __ret = __Internal.GetPixelDataSize(width, height, format); + return __ret; + } + + public static global::raylib.Image GetTextureData(global::raylib.Texture2D texture) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GetTextureData(new IntPtr(&__ret), __arg0); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static void UpdateTexture(global::raylib.Texture2D texture, global::System.IntPtr pixels) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + __Internal.UpdateTexture(__arg0, pixels); + } + + public static void ImageToPOT(global::raylib.Image image, global::raylib.Color fillColor) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(fillColor, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) fillColor.__Instance; + __Internal.ImageToPOT(__arg0, __arg1); + } + + public static void ImageFormat(global::raylib.Image image, int newFormat) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageFormat(__arg0, newFormat); + } + + public static void ImageAlphaMask(global::raylib.Image image, global::raylib.Image alphaMask) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(alphaMask, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) alphaMask.__Instance; + __Internal.ImageAlphaMask(__arg0, __arg1); + } + + public static void ImageAlphaClear(global::raylib.Image image, global::raylib.Color color, float threshold) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageAlphaClear(__arg0, __arg1, threshold); + } + + public static void ImageAlphaCrop(global::raylib.Image image, float threshold) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageAlphaCrop(__arg0, threshold); + } + + public static void ImageAlphaPremultiply(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageAlphaPremultiply(__arg0); + } + + public static void ImageCrop(global::raylib.Image image, global::raylib.Rectangle crop) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(crop, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) crop.__Instance; + __Internal.ImageCrop(__arg0, __arg1); + } + + public static void ImageResize(global::raylib.Image image, int newWidth, int newHeight) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageResize(__arg0, newWidth, newHeight); + } + + public static void ImageResizeNN(global::raylib.Image image, int newWidth, int newHeight) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageResizeNN(__arg0, newWidth, newHeight); + } + + public static void ImageResizeCanvas(global::raylib.Image image, int newWidth, int newHeight, int offsetX, int offsetY, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg5 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageResizeCanvas(__arg0, newWidth, newHeight, offsetX, offsetY, __arg5); + } + + public static void ImageMipmaps(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageMipmaps(__arg0); + } + + public static void ImageDither(global::raylib.Image image, int rBpp, int gBpp, int bBpp, int aBpp) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageDither(__arg0, rBpp, gBpp, bBpp, aBpp); + } + + public static global::raylib.Image ImageText(string text, int fontSize, global::raylib.Color color) + { + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.ImageText(new IntPtr(&__ret), text, fontSize, __arg2); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image ImageTextEx(global::raylib.Font font, string text, float fontSize, float spacing, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + var __arg4 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.ImageTextEx(new IntPtr(&__ret), __arg0, text, fontSize, spacing, __arg4); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static void ImageDraw(global::raylib.Image dst, global::raylib.Image src, global::raylib.Rectangle srcRec, global::raylib.Rectangle dstRec) + { + var __arg0 = ReferenceEquals(dst, null) ? global::System.IntPtr.Zero : dst.__Instance; + var __arg1 = ReferenceEquals(src, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) src.__Instance; + var __arg2 = ReferenceEquals(srcRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) srcRec.__Instance; + var __arg3 = ReferenceEquals(dstRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) dstRec.__Instance; + __Internal.ImageDraw(__arg0, __arg1, __arg2, __arg3); + } + + public static void ImageDrawRectangle(global::raylib.Image dst, global::raylib.Vector2 position, global::raylib.Rectangle rec, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(dst, null) ? global::System.IntPtr.Zero : dst.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg2 = ReferenceEquals(rec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) rec.__Instance; + var __arg3 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageDrawRectangle(__arg0, __arg1, __arg2, __arg3); + } + + public static void ImageDrawText(global::raylib.Image dst, global::raylib.Vector2 position, string text, int fontSize, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(dst, null) ? global::System.IntPtr.Zero : dst.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageDrawText(__arg0, __arg1, text, fontSize, __arg4); + } + + public static void ImageDrawTextEx(global::raylib.Image dst, global::raylib.Vector2 position, global::raylib.Font font, string text, float fontSize, float spacing, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(dst, null) ? global::System.IntPtr.Zero : dst.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg2 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + var __arg6 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageDrawTextEx(__arg0, __arg1, __arg2, text, fontSize, spacing, __arg6); + } + + public static void ImageFlipVertical(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageFlipVertical(__arg0); + } + + public static void ImageFlipHorizontal(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageFlipHorizontal(__arg0); + } + + public static void ImageRotateCW(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageRotateCW(__arg0); + } + + public static void ImageRotateCCW(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageRotateCCW(__arg0); + } + + public static void ImageColorTint(global::raylib.Image image, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.ImageColorTint(__arg0, __arg1); + } + + public static void ImageColorInvert(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageColorInvert(__arg0); + } + + public static void ImageColorGrayscale(global::raylib.Image image) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageColorGrayscale(__arg0); + } + + public static void ImageColorContrast(global::raylib.Image image, float contrast) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageColorContrast(__arg0, contrast); + } + + public static void ImageColorBrightness(global::raylib.Image image, int brightness) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + __Internal.ImageColorBrightness(__arg0, brightness); + } + + public static void ImageColorReplace(global::raylib.Image image, global::raylib.Color color, global::raylib.Color replace) + { + var __arg0 = ReferenceEquals(image, null) ? global::System.IntPtr.Zero : image.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __arg2 = ReferenceEquals(replace, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) replace.__Instance; + __Internal.ImageColorReplace(__arg0, __arg1, __arg2); + } + + public static global::raylib.Image GenImageColor(int width, int height, global::raylib.Color color) + { + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageColor(new IntPtr(&__ret), width, height, __arg2); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageGradientV(int width, int height, global::raylib.Color top, global::raylib.Color bottom) + { + var __arg2 = ReferenceEquals(top, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) top.__Instance; + var __arg3 = ReferenceEquals(bottom, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) bottom.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageGradientV(new IntPtr(&__ret), width, height, __arg2, __arg3); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageGradientH(int width, int height, global::raylib.Color left, global::raylib.Color right) + { + var __arg2 = ReferenceEquals(left, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) left.__Instance; + var __arg3 = ReferenceEquals(right, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) right.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageGradientH(new IntPtr(&__ret), width, height, __arg2, __arg3); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageGradientRadial(int width, int height, float density, global::raylib.Color inner, global::raylib.Color outer) + { + var __arg3 = ReferenceEquals(inner, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) inner.__Instance; + var __arg4 = ReferenceEquals(outer, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) outer.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageGradientRadial(new IntPtr(&__ret), width, height, density, __arg3, __arg4); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageChecked(int width, int height, int checksX, int checksY, global::raylib.Color col1, global::raylib.Color col2) + { + var __arg4 = ReferenceEquals(col1, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col1.__Instance; + var __arg5 = ReferenceEquals(col2, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) col2.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageChecked(new IntPtr(&__ret), width, height, checksX, checksY, __arg4, __arg5); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageWhiteNoise(int width, int height, float factor) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageWhiteNoise(new IntPtr(&__ret), width, height, factor); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImagePerlinNoise(int width, int height, int offsetX, int offsetY, float scale) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImagePerlinNoise(new IntPtr(&__ret), width, height, offsetX, offsetY, scale); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static global::raylib.Image GenImageCellular(int width, int height, int tileSize) + { + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageCellular(new IntPtr(&__ret), width, height, tileSize); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static void GenTextureMipmaps(global::raylib.Texture2D texture) + { + var __arg0 = ReferenceEquals(texture, null) ? global::System.IntPtr.Zero : texture.__Instance; + __Internal.GenTextureMipmaps(__arg0); + } + + public static void SetTextureFilter(global::raylib.Texture2D texture, int filterMode) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + __Internal.SetTextureFilter(__arg0, filterMode); + } + + public static void SetTextureWrap(global::raylib.Texture2D texture, int wrapMode) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + __Internal.SetTextureWrap(__arg0, wrapMode); + } + + public static void DrawTexture(global::raylib.Texture2D texture, int posX, int posY, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg3 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTexture(__arg0, posX, posY, __arg3); + } + + public static void DrawTextureV(global::raylib.Texture2D texture, global::raylib.Vector2 position, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg2 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTextureV(__arg0, __arg1, __arg2); + } + + public static void DrawTextureEx(global::raylib.Texture2D texture, global::raylib.Vector2 position, float rotation, float scale, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg4 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTextureEx(__arg0, __arg1, rotation, scale, __arg4); + } + + public static void DrawTextureRec(global::raylib.Texture2D texture, global::raylib.Rectangle sourceRec, global::raylib.Vector2 position, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg1 = ReferenceEquals(sourceRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) sourceRec.__Instance; + var __arg2 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg3 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTextureRec(__arg0, __arg1, __arg2, __arg3); + } + + public static void DrawTexturePro(global::raylib.Texture2D texture, global::raylib.Rectangle sourceRec, global::raylib.Rectangle destRec, global::raylib.Vector2 origin, float rotation, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg1 = ReferenceEquals(sourceRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) sourceRec.__Instance; + var __arg2 = ReferenceEquals(destRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) destRec.__Instance; + var __arg3 = ReferenceEquals(origin, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) origin.__Instance; + var __arg5 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTexturePro(__arg0, __arg1, __arg2, __arg3, rotation, __arg5); + } + + public static global::raylib.Font GetFontDefault() + { + var __ret = new global::raylib.Font.__Internal(); + __Internal.GetFontDefault(new IntPtr(&__ret)); + return global::raylib.Font.__CreateInstance(__ret); + } + + public static global::raylib.Font LoadFont(string fileName) + { + var __ret = new global::raylib.Font.__Internal(); + __Internal.LoadFont(new IntPtr(&__ret), fileName); + return global::raylib.Font.__CreateInstance(__ret); + } + + public static global::raylib.Font LoadFontEx(string fileName, int fontSize, int charsCount, ref int fontChars) + { + fixed (int* __refParamPtr3 = &fontChars) + { + var __arg3 = __refParamPtr3; + var __ret = new global::raylib.Font.__Internal(); + __Internal.LoadFontEx(new IntPtr(&__ret), fileName, fontSize, charsCount, __arg3); + return global::raylib.Font.__CreateInstance(__ret); + } + } + + public static global::raylib.CharInfo LoadFontData(string fileName, int fontSize, ref int fontChars, int charsCount, bool sdf) + { + fixed (int* __refParamPtr2 = &fontChars) + { + var __arg2 = __refParamPtr2; + var __ret = __Internal.LoadFontData(fileName, fontSize, __arg2, charsCount, sdf); + global::raylib.CharInfo __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::raylib.CharInfo.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::raylib.CharInfo) global::raylib.CharInfo.NativeToManagedMap[__ret]; + else __result0 = global::raylib.CharInfo.__CreateInstance(__ret); + return __result0; + } + } + + public static global::raylib.Image GenImageFontAtlas(global::raylib.CharInfo chars, int fontSize, int charsCount, int padding, int packMethod) + { + var __arg0 = ReferenceEquals(chars, null) ? global::System.IntPtr.Zero : chars.__Instance; + var __ret = new global::raylib.Image.__Internal(); + __Internal.GenImageFontAtlas(new IntPtr(&__ret), __arg0, fontSize, charsCount, padding, packMethod); + return global::raylib.Image.__CreateInstance(__ret); + } + + public static void UnloadFont(global::raylib.Font font) + { + var __arg0 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + __Internal.UnloadFont(__arg0); + } + + public static void DrawFPS(int posX, int posY) + { + __Internal.DrawFPS(posX, posY); + } + + public static void DrawText(string text, int posX, int posY, int fontSize, global::raylib.Color color) + { + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawText(text, posX, posY, fontSize, __arg4); + } + + public static void DrawTextEx(global::raylib.Font font, string text, global::raylib.Vector2 position, float fontSize, float spacing, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + var __arg2 = ReferenceEquals(position, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) position.__Instance; + var __arg5 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawTextEx(__arg0, text, __arg2, fontSize, spacing, __arg5); + } + + public static int MeasureText(string text, int fontSize) + { + var __ret = __Internal.MeasureText(text, fontSize); + return __ret; + } + + public static global::raylib.Vector2 MeasureTextEx(global::raylib.Font font, string text, float fontSize, float spacing) + { + var __arg0 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + var __ret = __Internal.MeasureTextEx(__arg0, text, fontSize, spacing); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static string FormatText(string text) + { + var __ret = __Internal.FormatText(text); + return Marshal.PtrToStringAnsi(__ret); + } + + public static string SubText(string text, int position, int length) + { + var __ret = __Internal.SubText(text, position, length); + return Marshal.PtrToStringAnsi(__ret); + } + + public static int GetGlyphIndex(global::raylib.Font font, int character) + { + var __arg0 = ReferenceEquals(font, null) ? new global::raylib.Font.__Internal() : *(global::raylib.Font.__Internal*) font.__Instance; + var __ret = __Internal.GetGlyphIndex(__arg0, character); + return __ret; + } + + public static void DrawLine3D(global::raylib.Vector3 startPos, global::raylib.Vector3 endPos, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(startPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) startPos.__Instance; + var __arg1 = ReferenceEquals(endPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) endPos.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawLine3D(__arg0, __arg1, __arg2); + } + + public static void DrawCircle3D(global::raylib.Vector3 center, float radius, global::raylib.Vector3 rotationAxis, float rotationAngle, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(center, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) center.__Instance; + var __arg2 = ReferenceEquals(rotationAxis, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) rotationAxis.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCircle3D(__arg0, radius, __arg2, rotationAngle, __arg4); + } + + public static void DrawCube(global::raylib.Vector3 position, float width, float height, float length, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCube(__arg0, width, height, length, __arg4); + } + + public static void DrawCubeV(global::raylib.Vector3 position, global::raylib.Vector3 size, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg1 = ReferenceEquals(size, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) size.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCubeV(__arg0, __arg1, __arg2); + } + + public static void DrawCubeWires(global::raylib.Vector3 position, float width, float height, float length, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCubeWires(__arg0, width, height, length, __arg4); + } + + public static void DrawCubeTexture(global::raylib.Texture2D texture, global::raylib.Vector3 position, float width, float height, float length, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg5 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCubeTexture(__arg0, __arg1, width, height, length, __arg5); + } + + public static void DrawSphere(global::raylib.Vector3 centerPos, float radius, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(centerPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerPos.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawSphere(__arg0, radius, __arg2); + } + + public static void DrawSphereEx(global::raylib.Vector3 centerPos, float radius, int rings, int slices, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(centerPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerPos.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawSphereEx(__arg0, radius, rings, slices, __arg4); + } + + public static void DrawSphereWires(global::raylib.Vector3 centerPos, float radius, int rings, int slices, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(centerPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerPos.__Instance; + var __arg4 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawSphereWires(__arg0, radius, rings, slices, __arg4); + } + + public static void DrawCylinder(global::raylib.Vector3 position, float radiusTop, float radiusBottom, float height, int slices, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg5 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCylinder(__arg0, radiusTop, radiusBottom, height, slices, __arg5); + } + + public static void DrawCylinderWires(global::raylib.Vector3 position, float radiusTop, float radiusBottom, float height, int slices, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg5 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawCylinderWires(__arg0, radiusTop, radiusBottom, height, slices, __arg5); + } + + public static void DrawPlane(global::raylib.Vector3 centerPos, global::raylib.Vector2 size, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(centerPos, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerPos.__Instance; + var __arg1 = ReferenceEquals(size, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) size.__Instance; + var __arg2 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawPlane(__arg0, __arg1, __arg2); + } + + public static void DrawRay(global::raylib.Ray ray, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawRay(__arg0, __arg1); + } + + public static void DrawGrid(int slices, float spacing) + { + __Internal.DrawGrid(slices, spacing); + } + + public static void DrawGizmo(global::raylib.Vector3 position) + { + var __arg0 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + __Internal.DrawGizmo(__arg0); + } + + public static global::raylib.Model LoadModel(string fileName) + { + var __ret = new global::raylib.Model.__Internal(); + __Internal.LoadModel(new IntPtr(&__ret), fileName); + return global::raylib.Model.__CreateInstance(__ret); + } + + public static global::raylib.Model LoadModelFromMesh(global::raylib.Mesh mesh) + { + var __arg0 = ReferenceEquals(mesh, null) ? new global::raylib.Mesh.__Internal() : *(global::raylib.Mesh.__Internal*) mesh.__Instance; + var __ret = new global::raylib.Model.__Internal(); + __Internal.LoadModelFromMesh(new IntPtr(&__ret), __arg0); + return global::raylib.Model.__CreateInstance(__ret); + } + + public static void UnloadModel(global::raylib.Model model) + { + var __arg0 = ReferenceEquals(model, null) ? new global::raylib.Model.__Internal() : *(global::raylib.Model.__Internal*) model.__Instance; + __Internal.UnloadModel(__arg0); + } + + public static global::raylib.Mesh LoadMesh(string fileName) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.LoadMesh(new IntPtr(&__ret), fileName); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static void UnloadMesh(global::raylib.Mesh mesh) + { + var __arg0 = ReferenceEquals(mesh, null) ? global::System.IntPtr.Zero : mesh.__Instance; + __Internal.UnloadMesh(__arg0); + } + + public static void ExportMesh(string fileName, global::raylib.Mesh mesh) + { + var __arg1 = ReferenceEquals(mesh, null) ? new global::raylib.Mesh.__Internal() : *(global::raylib.Mesh.__Internal*) mesh.__Instance; + __Internal.ExportMesh(fileName, __arg1); + } + + public static void MeshTangents(global::raylib.Mesh mesh) + { + var __arg0 = ReferenceEquals(mesh, null) ? global::System.IntPtr.Zero : mesh.__Instance; + __Internal.MeshTangents(__arg0); + } + + public static void MeshBinormals(global::raylib.Mesh mesh) + { + var __arg0 = ReferenceEquals(mesh, null) ? global::System.IntPtr.Zero : mesh.__Instance; + __Internal.MeshBinormals(__arg0); + } + + public static global::raylib.Mesh GenMeshPlane(float width, float length, int resX, int resZ) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshPlane(new IntPtr(&__ret), width, length, resX, resZ); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshCube(float width, float height, float length) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshCube(new IntPtr(&__ret), width, height, length); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshSphere(float radius, int rings, int slices) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshSphere(new IntPtr(&__ret), radius, rings, slices); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshHemiSphere(float radius, int rings, int slices) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshHemiSphere(new IntPtr(&__ret), radius, rings, slices); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshCylinder(float radius, float height, int slices) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshCylinder(new IntPtr(&__ret), radius, height, slices); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshTorus(float radius, float size, int radSeg, int sides) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshTorus(new IntPtr(&__ret), radius, size, radSeg, sides); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshKnot(float radius, float size, int radSeg, int sides) + { + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshKnot(new IntPtr(&__ret), radius, size, radSeg, sides); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshHeightmap(global::raylib.Image heightmap, global::raylib.Vector3 size) + { + var __arg0 = ReferenceEquals(heightmap, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) heightmap.__Instance; + var __arg1 = ReferenceEquals(size, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) size.__Instance; + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshHeightmap(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Mesh GenMeshCubicmap(global::raylib.Image cubicmap, global::raylib.Vector3 cubeSize) + { + var __arg0 = ReferenceEquals(cubicmap, null) ? new global::raylib.Image.__Internal() : *(global::raylib.Image.__Internal*) cubicmap.__Instance; + var __arg1 = ReferenceEquals(cubeSize, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) cubeSize.__Instance; + var __ret = new global::raylib.Mesh.__Internal(); + __Internal.GenMeshCubicmap(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Mesh.__CreateInstance(__ret); + } + + public static global::raylib.Material LoadMaterial(string fileName) + { + var __ret = new global::raylib.Material.__Internal(); + __Internal.LoadMaterial(new IntPtr(&__ret), fileName); + return global::raylib.Material.__CreateInstance(__ret); + } + + public static global::raylib.Material LoadMaterialDefault() + { + var __ret = new global::raylib.Material.__Internal(); + __Internal.LoadMaterialDefault(new IntPtr(&__ret)); + return global::raylib.Material.__CreateInstance(__ret); + } + + public static void UnloadMaterial(global::raylib.Material material) + { + var __arg0 = ReferenceEquals(material, null) ? new global::raylib.Material.__Internal() : *(global::raylib.Material.__Internal*) material.__Instance; + __Internal.UnloadMaterial(__arg0); + } + + public static void DrawModel(global::raylib.Model model, global::raylib.Vector3 position, float scale, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(model, null) ? new global::raylib.Model.__Internal() : *(global::raylib.Model.__Internal*) model.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg3 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawModel(__arg0, __arg1, scale, __arg3); + } + + public static void DrawModelEx(global::raylib.Model model, global::raylib.Vector3 position, global::raylib.Vector3 rotationAxis, float rotationAngle, global::raylib.Vector3 scale, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(model, null) ? new global::raylib.Model.__Internal() : *(global::raylib.Model.__Internal*) model.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg2 = ReferenceEquals(rotationAxis, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) rotationAxis.__Instance; + var __arg4 = ReferenceEquals(scale, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) scale.__Instance; + var __arg5 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawModelEx(__arg0, __arg1, __arg2, rotationAngle, __arg4, __arg5); + } + + public static void DrawModelWires(global::raylib.Model model, global::raylib.Vector3 position, float scale, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(model, null) ? new global::raylib.Model.__Internal() : *(global::raylib.Model.__Internal*) model.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg3 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawModelWires(__arg0, __arg1, scale, __arg3); + } + + public static void DrawModelWiresEx(global::raylib.Model model, global::raylib.Vector3 position, global::raylib.Vector3 rotationAxis, float rotationAngle, global::raylib.Vector3 scale, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(model, null) ? new global::raylib.Model.__Internal() : *(global::raylib.Model.__Internal*) model.__Instance; + var __arg1 = ReferenceEquals(position, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) position.__Instance; + var __arg2 = ReferenceEquals(rotationAxis, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) rotationAxis.__Instance; + var __arg4 = ReferenceEquals(scale, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) scale.__Instance; + var __arg5 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawModelWiresEx(__arg0, __arg1, __arg2, rotationAngle, __arg4, __arg5); + } + + public static void DrawBoundingBox(global::raylib.BoundingBox box, global::raylib.Color color) + { + var __arg0 = ReferenceEquals(box, null) ? new global::raylib.BoundingBox.__Internal() : *(global::raylib.BoundingBox.__Internal*) box.__Instance; + var __arg1 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + __Internal.DrawBoundingBox(__arg0, __arg1); + } + + public static void DrawBillboard(global::raylib.Camera3D camera, global::raylib.Texture2D texture, global::raylib.Vector3 center, float size, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + var __arg1 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg2 = ReferenceEquals(center, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) center.__Instance; + var __arg4 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawBillboard(__arg0, __arg1, __arg2, size, __arg4); + } + + public static void DrawBillboardRec(global::raylib.Camera3D camera, global::raylib.Texture2D texture, global::raylib.Rectangle sourceRec, global::raylib.Vector3 center, float size, global::raylib.Color tint) + { + var __arg0 = ReferenceEquals(camera, null) ? new global::raylib.Camera3D.__Internal() : *(global::raylib.Camera3D.__Internal*) camera.__Instance; + var __arg1 = ReferenceEquals(texture, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) texture.__Instance; + var __arg2 = ReferenceEquals(sourceRec, null) ? new global::raylib.Rectangle.__Internal() : *(global::raylib.Rectangle.__Internal*) sourceRec.__Instance; + var __arg3 = ReferenceEquals(center, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) center.__Instance; + var __arg5 = ReferenceEquals(tint, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) tint.__Instance; + __Internal.DrawBillboardRec(__arg0, __arg1, __arg2, __arg3, size, __arg5); + } + + public static bool CheckCollisionSpheres(global::raylib.Vector3 centerA, float radiusA, global::raylib.Vector3 centerB, float radiusB) + { + var __arg0 = ReferenceEquals(centerA, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerA.__Instance; + var __arg2 = ReferenceEquals(centerB, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerB.__Instance; + var __ret = __Internal.CheckCollisionSpheres(__arg0, radiusA, __arg2, radiusB); + return __ret; + } + + public static bool CheckCollisionBoxes(global::raylib.BoundingBox box1, global::raylib.BoundingBox box2) + { + var __arg0 = ReferenceEquals(box1, null) ? new global::raylib.BoundingBox.__Internal() : *(global::raylib.BoundingBox.__Internal*) box1.__Instance; + var __arg1 = ReferenceEquals(box2, null) ? new global::raylib.BoundingBox.__Internal() : *(global::raylib.BoundingBox.__Internal*) box2.__Instance; + var __ret = __Internal.CheckCollisionBoxes(__arg0, __arg1); + return __ret; + } + + public static bool CheckCollisionBoxSphere(global::raylib.BoundingBox box, global::raylib.Vector3 centerSphere, float radiusSphere) + { + var __arg0 = ReferenceEquals(box, null) ? new global::raylib.BoundingBox.__Internal() : *(global::raylib.BoundingBox.__Internal*) box.__Instance; + var __arg1 = ReferenceEquals(centerSphere, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) centerSphere.__Instance; + var __ret = __Internal.CheckCollisionBoxSphere(__arg0, __arg1, radiusSphere); + return __ret; + } + + public static bool CheckCollisionRaySphere(global::raylib.Ray ray, global::raylib.Vector3 spherePosition, float sphereRadius) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(spherePosition, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) spherePosition.__Instance; + var __ret = __Internal.CheckCollisionRaySphere(__arg0, __arg1, sphereRadius); + return __ret; + } + + public static bool CheckCollisionRaySphereEx(global::raylib.Ray ray, global::raylib.Vector3 spherePosition, float sphereRadius, global::raylib.Vector3 collisionPoint) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(spherePosition, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) spherePosition.__Instance; + var __arg3 = ReferenceEquals(collisionPoint, null) ? global::System.IntPtr.Zero : collisionPoint.__Instance; + var __ret = __Internal.CheckCollisionRaySphereEx(__arg0, __arg1, sphereRadius, __arg3); + return __ret; + } + + public static bool CheckCollisionRayBox(global::raylib.Ray ray, global::raylib.BoundingBox box) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(box, null) ? new global::raylib.BoundingBox.__Internal() : *(global::raylib.BoundingBox.__Internal*) box.__Instance; + var __ret = __Internal.CheckCollisionRayBox(__arg0, __arg1); + return __ret; + } + + public static global::raylib.RayHitInfo GetCollisionRayModel(global::raylib.Ray ray, global::raylib.Model model) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(model, null) ? global::System.IntPtr.Zero : model.__Instance; + var __ret = new global::raylib.RayHitInfo.__Internal(); + __Internal.GetCollisionRayModel(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.RayHitInfo.__CreateInstance(__ret); + } + + public static global::raylib.RayHitInfo GetCollisionRayTriangle(global::raylib.Ray ray, global::raylib.Vector3 p1, global::raylib.Vector3 p2, global::raylib.Vector3 p3) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __arg1 = ReferenceEquals(p1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) p1.__Instance; + var __arg2 = ReferenceEquals(p2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) p2.__Instance; + var __arg3 = ReferenceEquals(p3, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) p3.__Instance; + var __ret = new global::raylib.RayHitInfo.__Internal(); + __Internal.GetCollisionRayTriangle(new IntPtr(&__ret), __arg0, __arg1, __arg2, __arg3); + return global::raylib.RayHitInfo.__CreateInstance(__ret); + } + + public static global::raylib.RayHitInfo GetCollisionRayGround(global::raylib.Ray ray, float groundHeight) + { + var __arg0 = ReferenceEquals(ray, null) ? new global::raylib.Ray.__Internal() : *(global::raylib.Ray.__Internal*) ray.__Instance; + var __ret = new global::raylib.RayHitInfo.__Internal(); + __Internal.GetCollisionRayGround(new IntPtr(&__ret), __arg0, groundHeight); + return global::raylib.RayHitInfo.__CreateInstance(__ret); + } + + public static sbyte* LoadText(string fileName) + { + var __ret = __Internal.LoadText(fileName); + return __ret; + } + + public static global::raylib.Shader LoadShader(string vsFileName, string fsFileName) + { + var __ret = new global::raylib.Shader.__Internal(); + __Internal.LoadShader(new IntPtr(&__ret), vsFileName, fsFileName); + return global::raylib.Shader.__CreateInstance(__ret); + } + + public static global::raylib.Shader LoadShaderCode(sbyte* vsCode, sbyte* fsCode) + { + var __ret = new global::raylib.Shader.__Internal(); + __Internal.LoadShaderCode(new IntPtr(&__ret), vsCode, fsCode); + return global::raylib.Shader.__CreateInstance(__ret); + } + + public static void UnloadShader(global::raylib.Shader shader) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + __Internal.UnloadShader(__arg0); + } + + public static global::raylib.Shader GetShaderDefault() + { + var __ret = new global::raylib.Shader.__Internal(); + __Internal.GetShaderDefault(new IntPtr(&__ret)); + return global::raylib.Shader.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D GetTextureDefault() + { + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.GetTextureDefault(new IntPtr(&__ret)); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static int GetShaderLocation(global::raylib.Shader shader, string uniformName) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __ret = __Internal.GetShaderLocation(__arg0, uniformName); + return __ret; + } + + public static void SetShaderValue(global::raylib.Shader shader, int uniformLoc, ref float value, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + fixed (float* __refParamPtr2 = &value) + { + var __arg2 = __refParamPtr2; + __Internal.SetShaderValue(__arg0, uniformLoc, __arg2, size); + } + } + + public static void SetShaderValuei(global::raylib.Shader shader, int uniformLoc, ref int value, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + fixed (int* __refParamPtr2 = &value) + { + var __arg2 = __refParamPtr2; + __Internal.SetShaderValuei(__arg0, uniformLoc, __arg2, size); + } + } + + public static void SetShaderValueMatrix(global::raylib.Shader shader, int uniformLoc, global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __arg2 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + __Internal.SetShaderValueMatrix(__arg0, uniformLoc, __arg2); + } + + public static void SetMatrixProjection(global::raylib.Matrix proj) + { + var __arg0 = ReferenceEquals(proj, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) proj.__Instance; + __Internal.SetMatrixProjection(__arg0); + } + + public static void SetMatrixModelview(global::raylib.Matrix view) + { + var __arg0 = ReferenceEquals(view, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) view.__Instance; + __Internal.SetMatrixModelview(__arg0); + } + + public static global::raylib.Matrix GetMatrixModelview() + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.GetMatrixModelview(new IntPtr(&__ret)); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D GenTextureCubemap(global::raylib.Shader shader, global::raylib.Texture2D skyHDR, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __arg1 = ReferenceEquals(skyHDR, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) skyHDR.__Instance; + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.GenTextureCubemap(new IntPtr(&__ret), __arg0, __arg1, size); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D GenTextureIrradiance(global::raylib.Shader shader, global::raylib.Texture2D cubemap, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __arg1 = ReferenceEquals(cubemap, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) cubemap.__Instance; + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.GenTextureIrradiance(new IntPtr(&__ret), __arg0, __arg1, size); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D GenTexturePrefilter(global::raylib.Shader shader, global::raylib.Texture2D cubemap, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __arg1 = ReferenceEquals(cubemap, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) cubemap.__Instance; + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.GenTexturePrefilter(new IntPtr(&__ret), __arg0, __arg1, size); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static global::raylib.Texture2D GenTextureBRDF(global::raylib.Shader shader, global::raylib.Texture2D cubemap, int size) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + var __arg1 = ReferenceEquals(cubemap, null) ? new global::raylib.Texture2D.__Internal() : *(global::raylib.Texture2D.__Internal*) cubemap.__Instance; + var __ret = new global::raylib.Texture2D.__Internal(); + __Internal.GenTextureBRDF(new IntPtr(&__ret), __arg0, __arg1, size); + return global::raylib.Texture2D.__CreateInstance(__ret); + } + + public static void BeginShaderMode(global::raylib.Shader shader) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + __Internal.BeginShaderMode(__arg0); + } + + public static void EndShaderMode() + { + __Internal.EndShaderMode(); + } + + public static void BeginBlendMode(int mode) + { + __Internal.BeginBlendMode(mode); + } + + public static void EndBlendMode() + { + __Internal.EndBlendMode(); + } + + public static global::raylib.VrDeviceInfo GetVrDeviceInfo(int vrDeviceType) + { + var __ret = new global::raylib.VrDeviceInfo.__Internal(); + __Internal.GetVrDeviceInfo(new IntPtr(&__ret), vrDeviceType); + return global::raylib.VrDeviceInfo.__CreateInstance(__ret); + } + + public static void InitVrSimulator(global::raylib.VrDeviceInfo info) + { + var __arg0 = ReferenceEquals(info, null) ? new global::raylib.VrDeviceInfo.__Internal() : *(global::raylib.VrDeviceInfo.__Internal*) info.__Instance; + __Internal.InitVrSimulator(__arg0); + } + + public static void CloseVrSimulator() + { + __Internal.CloseVrSimulator(); + } + + public static bool IsVrSimulatorReady() + { + var __ret = __Internal.IsVrSimulatorReady(); + return __ret; + } + + public static void SetVrDistortionShader(global::raylib.Shader shader) + { + var __arg0 = ReferenceEquals(shader, null) ? new global::raylib.Shader.__Internal() : *(global::raylib.Shader.__Internal*) shader.__Instance; + __Internal.SetVrDistortionShader(__arg0); + } + + public static void UpdateVrTracking(global::raylib.Camera3D camera) + { + var __arg0 = ReferenceEquals(camera, null) ? global::System.IntPtr.Zero : camera.__Instance; + __Internal.UpdateVrTracking(__arg0); + } + + public static void ToggleVrMode() + { + __Internal.ToggleVrMode(); + } + + public static void BeginVrDrawing() + { + __Internal.BeginVrDrawing(); + } + + public static void EndVrDrawing() + { + __Internal.EndVrDrawing(); + } + + public static void InitAudioDevice() + { + __Internal.InitAudioDevice(); + } + + public static void CloseAudioDevice() + { + __Internal.CloseAudioDevice(); + } + + public static bool IsAudioDeviceReady() + { + var __ret = __Internal.IsAudioDeviceReady(); + return __ret; + } + + public static void SetMasterVolume(float volume) + { + __Internal.SetMasterVolume(volume); + } + + public static global::raylib.Wave LoadWave(string fileName) + { + var __ret = new global::raylib.Wave.__Internal(); + __Internal.LoadWave(new IntPtr(&__ret), fileName); + return global::raylib.Wave.__CreateInstance(__ret); + } + + public static global::raylib.Wave LoadWaveEx(global::System.IntPtr data, int sampleCount, int sampleRate, int sampleSize, int channels) + { + var __ret = new global::raylib.Wave.__Internal(); + __Internal.LoadWaveEx(new IntPtr(&__ret), data, sampleCount, sampleRate, sampleSize, channels); + return global::raylib.Wave.__CreateInstance(__ret); + } + + public static global::raylib.Sound LoadSound(string fileName) + { + var __ret = new global::raylib.Sound.__Internal(); + __Internal.LoadSound(new IntPtr(&__ret), fileName); + return global::raylib.Sound.__CreateInstance(__ret); + } + + public static global::raylib.Sound LoadSoundFromWave(global::raylib.Wave wave) + { + var __arg0 = ReferenceEquals(wave, null) ? new global::raylib.Wave.__Internal() : *(global::raylib.Wave.__Internal*) wave.__Instance; + var __ret = new global::raylib.Sound.__Internal(); + __Internal.LoadSoundFromWave(new IntPtr(&__ret), __arg0); + return global::raylib.Sound.__CreateInstance(__ret); + } + + public static void UpdateSound(global::raylib.Sound sound, global::System.IntPtr data, int samplesCount) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.UpdateSound(__arg0, data, samplesCount); + } + + public static void UnloadWave(global::raylib.Wave wave) + { + var __arg0 = ReferenceEquals(wave, null) ? new global::raylib.Wave.__Internal() : *(global::raylib.Wave.__Internal*) wave.__Instance; + __Internal.UnloadWave(__arg0); + } + + public static void UnloadSound(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.UnloadSound(__arg0); + } + + public static void PlaySound(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.PlaySound(__arg0); + } + + public static void PauseSound(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.PauseSound(__arg0); + } + + public static void ResumeSound(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.ResumeSound(__arg0); + } + + public static void StopSound(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.StopSound(__arg0); + } + + public static bool IsSoundPlaying(global::raylib.Sound sound) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + var __ret = __Internal.IsSoundPlaying(__arg0); + return __ret; + } + + public static void SetSoundVolume(global::raylib.Sound sound, float volume) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.SetSoundVolume(__arg0, volume); + } + + public static void SetSoundPitch(global::raylib.Sound sound, float pitch) + { + var __arg0 = ReferenceEquals(sound, null) ? new global::raylib.Sound.__Internal() : *(global::raylib.Sound.__Internal*) sound.__Instance; + __Internal.SetSoundPitch(__arg0, pitch); + } + + public static void WaveFormat(global::raylib.Wave wave, int sampleRate, int sampleSize, int channels) + { + var __arg0 = ReferenceEquals(wave, null) ? global::System.IntPtr.Zero : wave.__Instance; + __Internal.WaveFormat(__arg0, sampleRate, sampleSize, channels); + } + + public static void WaveCrop(global::raylib.Wave wave, int initSample, int finalSample) + { + var __arg0 = ReferenceEquals(wave, null) ? global::System.IntPtr.Zero : wave.__Instance; + __Internal.WaveCrop(__arg0, initSample, finalSample); + } + + public static float* GetWaveData(global::raylib.Wave wave) + { + var __arg0 = ReferenceEquals(wave, null) ? new global::raylib.Wave.__Internal() : *(global::raylib.Wave.__Internal*) wave.__Instance; + var __ret = __Internal.GetWaveData(__arg0); + return __ret; + } + + public static global::raylib.MusicData LoadMusicStream(string fileName) + { + var __ret = __Internal.LoadMusicStream(fileName); + global::raylib.MusicData __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::raylib.MusicData.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::raylib.MusicData) global::raylib.MusicData.NativeToManagedMap[__ret]; + else __result0 = global::raylib.MusicData.__CreateInstance(__ret); + return __result0; + } + + public static void UnloadMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.UnloadMusicStream(__arg0); + } + + public static void PlayMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.PlayMusicStream(__arg0); + } + + public static void UpdateMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.UpdateMusicStream(__arg0); + } + + public static void StopMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.StopMusicStream(__arg0); + } + + public static void PauseMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.PauseMusicStream(__arg0); + } + + public static void ResumeMusicStream(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.ResumeMusicStream(__arg0); + } + + public static bool IsMusicPlaying(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + var __ret = __Internal.IsMusicPlaying(__arg0); + return __ret; + } + + public static void SetMusicVolume(global::raylib.MusicData music, float volume) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.SetMusicVolume(__arg0, volume); + } + + public static void SetMusicPitch(global::raylib.MusicData music, float pitch) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.SetMusicPitch(__arg0, pitch); + } + + public static void SetMusicLoopCount(global::raylib.MusicData music, int count) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + __Internal.SetMusicLoopCount(__arg0, count); + } + + public static float GetMusicTimeLength(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + var __ret = __Internal.GetMusicTimeLength(__arg0); + return __ret; + } + + public static float GetMusicTimePlayed(global::raylib.MusicData music) + { + var __arg0 = ReferenceEquals(music, null) ? global::System.IntPtr.Zero : music.__Instance; + var __ret = __Internal.GetMusicTimePlayed(__arg0); + return __ret; + } + + public static global::raylib.AudioStream InitAudioStream(uint sampleRate, uint sampleSize, uint channels) + { + var __ret = new global::raylib.AudioStream.__Internal(); + __Internal.InitAudioStream(new IntPtr(&__ret), sampleRate, sampleSize, channels); + return global::raylib.AudioStream.__CreateInstance(__ret); + } + + public static void UpdateAudioStream(global::raylib.AudioStream stream, global::System.IntPtr data, int samplesCount) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.UpdateAudioStream(__arg0, data, samplesCount); + } + + public static void CloseAudioStream(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.CloseAudioStream(__arg0); + } + + public static bool IsAudioBufferProcessed(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + var __ret = __Internal.IsAudioBufferProcessed(__arg0); + return __ret; + } + + public static void PlayAudioStream(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.PlayAudioStream(__arg0); + } + + public static void PauseAudioStream(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.PauseAudioStream(__arg0); + } + + public static void ResumeAudioStream(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.ResumeAudioStream(__arg0); + } + + public static bool IsAudioStreamPlaying(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + var __ret = __Internal.IsAudioStreamPlaying(__arg0); + return __ret; + } + + public static void StopAudioStream(global::raylib.AudioStream stream) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.StopAudioStream(__arg0); + } + + public static void SetAudioStreamVolume(global::raylib.AudioStream stream, float volume) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.SetAudioStreamVolume(__arg0, volume); + } + + public static void SetAudioStreamPitch(global::raylib.AudioStream stream, float pitch) + { + var __arg0 = ReferenceEquals(stream, null) ? new global::raylib.AudioStream.__Internal() : *(global::raylib.AudioStream.__Internal*) stream.__Instance; + __Internal.SetAudioStreamPitch(__arg0, pitch); + } + } +}