diff --git a/Raylib-cs/Generator.cs b/Raylib-cs/Generator.cs new file mode 100644 index 0000000..64e57b7 --- /dev/null +++ b/Raylib-cs/Generator.cs @@ -0,0 +1,46 @@ +using CppSharp; +using CppSharp.AST; +using CppSharp.Generators; + +namespace Raylibcs +{ + /// + /// Generates the bindings for raylib + /// ConsoleDriver.Run(new SampleLibrary()); + /// + public class SampleLibrary : ILibrary + { + public void Preprocess(Driver driver, ASTContext ctx) + { + + // ctx.SetNameOfEnumWithMatchingItem("KEY_", "Keys"); + + // throw new NotImplementedException(); + } + + public void Postprocess(Driver driver, ASTContext ctx) + { + //throw new NotImplementedException(); + } + + void ILibrary.Setup(Driver driver) + { + var options = driver.Options; + options.GeneratorKind = GeneratorKind.CSharp; + options.Verbose = true; + + var module = options.AddModule("raylib"); + 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.Libraries.Add("raylib.lib"); + module.Defines.Add("KEY_SPACE"); + } + + void ILibrary.SetupPasses(Driver driver) + { + // throw new NotImplementedException(); + } + } +} \ No newline at end of file diff --git a/Raylib-cs/Program.cs b/Raylib-cs/Program.cs index c9a0456..d3c1241 100644 --- a/Raylib-cs/Program.cs +++ b/Raylib-cs/Program.cs @@ -1,5 +1,8 @@ -using System; -using static Raylibcs.Raylibcs; +using CppSharp; +using raylib; +using static raylib.raymath; +using static raylib.raylib; +using System; namespace Raylibcs { @@ -7,36 +10,44 @@ namespace Raylibcs { static void Main(string[] args) { - InitWindow(800, 450, "Raylibcs 0.1"); + // ConsoleDriver.Run(new SampleLibrary()); + Test(); + // Console.Read(); + } + + public static void Test() + { + InitWindow(800, 450, "Raylib-cs [2.0]"); + InitAudioDevice(); SetTargetFPS(60); SetExitKey(256); + + var sound = LoadSound("Data/alive.wav"); + // PlaySound(sound); - var sound = LoadSound("alive.wav"); - PlaySound(ref sound); + var t = LoadTexture("Data/test.png"); - var t = LoadTexture("crimbocore.png"); - //var f = LoadSpriteFont("Vera.ttf"); + int a = 0; + var f = LoadFontEx("Data/Vera.ttf", 96, 0, ref a); - var w = new Color(255, 255, 255, 255); - var c = new Color(124, 124, 124, 255); - var g = new Color(230, 230, 230, 255); + var c = new Color(); + c.R = 255; + c.G = 255; + c.B = 255; + c.A = 255; while (!WindowShouldClose()) { - if (IsKeyPressed(257)) - { - TakeScreenshot("test.png"); - } - BeginDrawing(); ClearBackground(c); - - DrawTexture(t, 0, 0, w); - DrawFPS(0, 0); - //DrawTextEx(f, "Congrats! You created your first window!", new Vector2(190, 200), 20, 0, w); - + DrawTexture(t, 0, 0, c); + // DrawTextEx(f, "testing", new Vector2 { X = 100, Y = 100 }, 20, 10, c); + // DrawFPS(0, 0); EndDrawing(); } + + UnloadTexture(t); + CloseAudioDevice(); CloseWindow(); } } diff --git a/Raylib-cs/Raylib-cs.csproj b/Raylib-cs/Raylib-cs.csproj index f09da2d..ca2d551 100644 --- a/Raylib-cs/Raylib-cs.csproj +++ b/Raylib-cs/Raylib-cs.csproj @@ -11,6 +11,8 @@ v4.6.1 512 true + + AnyCPU @@ -31,7 +33,49 @@ prompt 4 + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + prompt + MinimumRecommendedRules.ruleset + true + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + packages\CppSharp.0.8.20\lib\CppSharp.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.AST.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.Generator.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.Parser.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.Parser.CLI.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.Parser.CSharp.dll + + + packages\CppSharp.0.8.20\lib\CppSharp.Runtime.dll + @@ -42,22 +86,24 @@ - - + - + + + + - - - - - - - - + + + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + \ No newline at end of file diff --git a/Raylib-cs/Raylib-cs.sln b/Raylib-cs/Raylib-cs.sln index 751ec23..5ae2eed 100644 --- a/Raylib-cs/Raylib-cs.sln +++ b/Raylib-cs/Raylib-cs.sln @@ -8,13 +8,19 @@ EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {3B25D9D6-17A6-4A32-B9D1-C637002BD554}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {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}.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 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Raylib-cs/Std.cs b/Raylib-cs/Std.cs new file mode 100644 index 0000000..0b272fc --- /dev/null +++ b/Raylib-cs/Std.cs @@ -0,0 +1,12 @@ +// ---------------------------------------------------------------------------- +// +// 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; +using System.Runtime.CompilerServices; +[assembly:InternalsVisibleTo("raylibtest")] + diff --git a/Raylib-cs/packages.config b/Raylib-cs/packages.config new file mode 100644 index 0000000..8472b34 --- /dev/null +++ b/Raylib-cs/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Raylib-cs/raylib-cs.cs b/Raylib-cs/raylib-manual.cs similarity index 86% rename from Raylib-cs/raylib-cs.cs rename to Raylib-cs/raylib-manual.cs index 6d49b48..6f37b69 100644 --- a/Raylib-cs/raylib-cs.cs +++ b/Raylib-cs/raylib-manual.cs @@ -10,6 +10,8 @@ using System; using System.Runtime.InteropServices; #endregion +// manually added bindings test + namespace Raylibcs { using Camera = Raylibcs.Camera2D; @@ -25,7 +27,7 @@ namespace Raylibcs private const int MAX_SHADER_LOCATIONS = 32; private const int MAX_MATERIAL_MAPS = 12; - + #endregion #region Raylib.h @@ -46,9 +48,9 @@ namespace Raylibcs // Vector3 type public struct Vector3 { - float x; - float y; - float z; + public float x; + public float y; + public float z; public Vector3(float x, float y, float z) { @@ -61,10 +63,10 @@ namespace Raylibcs // Vector4 type public struct Vector4 { - float x; - float y; - float z; - float w; + public float x; + public float y; + public float z; + public float w; public Vector4(float x, float y, float z, float w) { @@ -147,9 +149,9 @@ namespace Raylibcs // RenderTexture2D type, for texture rendering public struct RenderTexture2D { - uint id; // OpenGL Framebuffer Object (FBO) id - Texture2D texture; // Color buffer attachment texture - Texture2D depth; // Depth buffer attachment texture + public uint id; // OpenGL Framebuffer Object (FBO) id + public Texture2D texture; // Color buffer attachment texture + public Texture2D depth; // Depth buffer attachment texture } // RenderTexture type, same as RenderTexture2D @@ -167,6 +169,7 @@ namespace Raylibcs } // Font type, includes texture and charSet array data + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public struct Font { public Texture2D texture; // Font texture @@ -175,7 +178,7 @@ namespace Raylibcs public CharInfo[] chars; // Characters info data } - // #define SpriteFont Font // SpriteFont type fallback, defaults to Font + // public static Color SpriteFont Font // SpriteFont type fallback, defaults to Font // Camera type, defines a camera position/orientation in 3d space public struct Camera3D @@ -187,7 +190,7 @@ namespace Raylibcs public int type; // Camera type, defines projection type: CAMERA_PERSPECTIVE or CAMERA_ORTHOGRAPHIC } - // #define Camera Camera3D // Camera type fallback, defaults to Camera3D + // public static Color Camera Camera3D // Camera type fallback, defaults to Camera3D // Camera2D type, defines a 2d camera public struct Camera2D @@ -212,16 +215,16 @@ namespace Raylibcs public int vertexCount; // Number of vertices stored in arrays public int triangleCount; // Number of triangles stored (indexed or not) - public float[] vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) - public float[] texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) - public float[] texcoords2; // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) - public float[] normals; // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) - public float[] tangents; // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) - public byte[] colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) - public ushort[] indices;// Vertex indices (in case vertex data comes indexed) + public float[] vertices; // Vertex position (XYZ - 3 components per vertex) (shader-location = 0) + public float[] texcoords; // Vertex texture coordinates (UV - 2 components per vertex) (shader-location = 1) + public float[] texcoords2; // Vertex second texture coordinates (useful for lightmaps) (shader-location = 5) + public float[] normals; // Vertex normals (XYZ - 3 components per vertex) (shader-location = 2) + public float[] tangents; // Vertex tangents (XYZW - 4 components per vertex) (shader-location = 4) + public byte[] colors; // Vertex colors (RGBA - 4 components per vertex) (shader-location = 3) + public ushort[] indices; // Vertex indices (in case vertex data comes indexed) - public uint vaoId; // OpenGL Vertex Array Object id - //public uint vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) + public uint vaoId; // OpenGL Vertex Array Object id + //public uint vboId[7]; // OpenGL Vertex Buffer Objects id (7 types of vertex data) } // Shader type (generic) @@ -234,15 +237,15 @@ namespace Raylibcs // Material texture map public struct MaterialMap { - Texture2D texture; // Material map texture - Color color; // Material map color - float value; // Material map value + public Texture2D texture; // Material map texture + public Color color; // Material map color + public float value; // Material map value } // Material type (generic) public struct Material { - Shader shader; // Material shader + public Shader shader; // Material shader //MaterialMap maps[MAX_MATERIAL_MAPS]; // Material maps //float[] params; // Material generic parameters (if required) } @@ -271,30 +274,31 @@ namespace Raylibcs // Raycast hit information public struct RayHitInfo { - bool hit; // Did the ray hit something? - float distance; // Distance to nearest hit - Vector3 position; // Position of nearest hit - Vector3 normal; // Surface normal of hit + public bool hit; // Did the ray hit something? + public float distance; // Distance to nearest hit + public Vector3 position; // Position of nearest hit + public Vector3 normal; // Surface normal of hit } // Wave type, defines audio wave data public struct Wave { - uint sampleCount; // Number of samples - uint sampleRate; // Frequency (samples per second) - uint sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) - uint channels; // Number of channels (1-mono, 2-stereo) - IntPtr data; // Buffer data pointer + public uint sampleCount; // Number of samples + public uint sampleRate; // Frequency (samples per second) + public uint sampleSize; // Bit depth (bits per sample): 8, 16, 32 (24 not supported) + public uint channels; // Number of channels (1-mono, 2-stereo) + public IntPtr data; // Buffer data pointer } // Sound source type + [StructLayout(LayoutKind.Sequential)] public struct Sound { - IntPtr audioBuffer; // Pointer to internal data used by the audio system + public IntPtr audioBuffer; // Pointer to internal data used by the audio system - uint source; // Audio source id - uint buffer; // Audio buffer id - int format; // Audio format specifier + public uint source; // Audio source id + public uint buffer; // Audio buffer id + public int format; // Audio format specifier } // Music type (file streaming from memory) @@ -931,7 +935,7 @@ namespace Raylibcs public static extern SpriteFont LoadSpriteFont(string fileName); // Load a SpriteFont image into GPU memory [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern SpriteFont LoadSpriteFontEx(string fileName, int fontSize, int numChars, IntPtr fontChars); // Load a SpriteFont from TTF font with parameters + public static extern SpriteFont LoadSpriteFontEx(string fileName, int fontSize, int numChars, int fontChars); // Load a SpriteFont from TTF font with parameters [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] public static extern void UnloadSpriteFont(SpriteFont spriteFont); // Unload SpriteFont from GPU memory @@ -1128,7 +1132,7 @@ namespace Raylibcs public static extern RayHitInfo GetCollisionRayGround(Ray ray, float groundHeight); // Get collision info between ray and ground plane (Y-normal plane) - //module: shaders (rlgl) + // module: shaders (rlgl) // Shader loading/unloading functions [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] @@ -1248,7 +1252,7 @@ namespace Raylibcs // Wave/Sound management functions [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void PlaySound(ref Sound sound); // Play a sound + public static extern void PlaySound(Sound sound); // Play a sound [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] public static extern void PauseSound(Sound sound); // Pause a sound @@ -1346,38 +1350,231 @@ namespace Raylibcs [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] public static extern void StopAudioStream(AudioStream stream); // Stop audio stream - - //colors - // Custom raylib color palette for amazing visuals - /*#define LIGHTGRAY (Color){ 200, 200, 200, 255 } // Light Gray - #define GRAY (Color){ 130, 130, 130, 255 } // Gray - #define DARKGRAY (Color){ 80, 80, 80, 255 } // Dark Gray - #define YELLOW (Color){ 253, 249, 0, 255 } // Yellow - #define GOLD (Color){ 255, 203, 0, 255 } // Gold - #define ORANGE (Color){ 255, 161, 0, 255 } // Orange - #define PINK (Color){ 255, 109, 194, 255 } // Pink - #define RED (Color){ 230, 41, 55, 255 } // Red - #define MAROON (Color){ 190, 33, 55, 255 } // Maroon - #define GREEN (Color){ 0, 228, 48, 255 } // Green - #define LIME (Color){ 0, 158, 47, 255 } // Lime - #define DARKGREEN (Color){ 0, 117, 44, 255 } // Dark Green - #define SKYBLUE (Color){ 102, 191, 255, 255 } // Sky Blue - #define BLUE (Color){ 0, 121, 241, 255 } // Blue - #define DARKBLUE (Color){ 0, 82, 172, 255 } // Dark Blue - #define PURPLE (Color){ 200, 122, 255, 255 } // Purple - #define VIOLET (Color){ 135, 60, 190, 255 } // Violet - #define DARKPURPLE (Color){ 112, 31, 126, 255 } // Dark Purple - #define BEIGE (Color){ 211, 176, 131, 255 } // Beige - #define BROWN (Color){ 127, 106, 79, 255 } // Brown - #define DARKBROWN (Color){ 76, 63, 47, 255 } // Dark Brown + #endregion - #define WHITE (Color){ 255, 255, 255, 255 } // White - #define BLACK (Color){ 0, 0, 0, 255 } // Black - #define BLANK (Color){ 0, 0, 0, 0 } // Transparent - #define MAGENTA (Color){ 255, 0, 255, 255 } // Magenta - #define RAYWHITE (Color){ 245, 245, 245, 255 } // Ray White + #region Raylib# Constants + + // raylib Config Flags + /*#define FLAG_SHOW_LOGO 1 // Set to show raylib logo at startup + #define FLAG_FULLSCREEN_MODE 2 // Set to run program in fullscreen + #define FLAG_WINDOW_RESIZABLE 4 // Set to allow resizable window + #define FLAG_WINDOW_UNDECORATED 8 // Set to disable window decoration (frame and buttons) + #define FLAG_WINDOW_TRANSPARENT 16 // Set to allow transparent window + #define FLAG_MSAA_4X_HINT 32 // Set to try enabling MSAA 4X + #define FLAG_VSYNC_HINT 64 // Set to try enabling V-Sync on GPU */ + + // Keyboard Function Keys + /*#define KEY_SPACE 32 + #define KEY_ESCAPE 256 + #define KEY_ENTER 257 + #define KEY_TAB 258 + #define KEY_BACKSPACE 259 + #define KEY_INSERT 260 + #define KEY_DELETE 261 + #define KEY_RIGHT 262 + #define KEY_LEFT 263 + #define KEY_DOWN 264 + #define KEY_UP 265 + #define KEY_PAGE_UP 266 + #define KEY_PAGE_DOWN 267 + #define KEY_HOME 268 + #define KEY_END 269 + #define KEY_CAPS_LOCK 280 + #define KEY_SCROLL_LOCK 281 + #define KEY_NUM_LOCK 282 + #define KEY_PRINT_SCREEN 283 + #define KEY_PAUSE 284 + #define KEY_F1 290 + #define KEY_F2 291 + #define KEY_F3 292 + #define KEY_F4 293 + #define KEY_F5 294 + #define KEY_F6 295 + #define KEY_F7 296 + #define KEY_F8 297 + #define KEY_F9 298 + #define KEY_F10 299 + #define KEY_F11 300 + #define KEY_F12 301 + #define KEY_LEFT_SHIFT 340 + #define KEY_LEFT_CONTROL 341 + #define KEY_LEFT_ALT 342 + #define KEY_RIGHT_SHIFT 344 + #define KEY_RIGHT_CONTROL 345 + #define KEY_RIGHT_ALT 346 + #define KEY_GRAVE 96 + #define KEY_SLASH 47 + #define KEY_BACKSLASH 92 + + // Keyboard Alpha Numeric Keys + #define KEY_ZERO 48 + #define KEY_ONE 49 + #define KEY_TWO 50 + #define KEY_THREE 51 + #define KEY_FOUR 52 + #define KEY_FIVE 53 + #define KEY_SIX 54 + #define KEY_SEVEN 55 + #define KEY_EIGHT 56 + #define KEY_NINE 57 + #define KEY_A 65 + #define KEY_B 66 + #define KEY_C 67 + #define KEY_D 68 + #define KEY_E 69 + #define KEY_F 70 + #define KEY_G 71 + #define KEY_H 72 + #define KEY_I 73 + #define KEY_J 74 + #define KEY_K 75 + #define KEY_L 76 + #define KEY_M 77 + #define KEY_N 78 + #define KEY_O 79 + #define KEY_P 80 + #define KEY_Q 81 + #define KEY_R 82 + #define KEY_S 83 + #define KEY_T 84 + #define KEY_U 85 + #define KEY_V 86 + #define KEY_W 87 + #define KEY_X 88 + #define KEY_Y 89 + #define KEY_Z 90 + + // Android Physical Buttons + #define KEY_BACK 4 + #define KEY_MENU 82 + #define KEY_VOLUME_UP 24 + #define KEY_VOLUME_DOWN 25*/ + + // Mouse Buttons + /*#define MOUSE_LEFT_BUTTON 0 + #define MOUSE_RIGHT_BUTTON 1 + #define MOUSE_MIDDLE_BUTTON 2 + + // Touch points registered + #define MAX_TOUCH_POINTS 2 + + // Gamepad Number + #define GAMEPAD_PLAYER1 0 + #define GAMEPAD_PLAYER2 1 + #define GAMEPAD_PLAYER3 2 + #define GAMEPAD_PLAYER4 3 + + // Gamepad Buttons/Axis + + // PS3 USB Controller Buttons + #define GAMEPAD_PS3_BUTTON_TRIANGLE 0 + #define GAMEPAD_PS3_BUTTON_CIRCLE 1 + #define GAMEPAD_PS3_BUTTON_CROSS 2 + #define GAMEPAD_PS3_BUTTON_SQUARE 3 + #define GAMEPAD_PS3_BUTTON_L1 6 + #define GAMEPAD_PS3_BUTTON_R1 7 + #define GAMEPAD_PS3_BUTTON_L2 4 + #define GAMEPAD_PS3_BUTTON_R2 5 + #define GAMEPAD_PS3_BUTTON_START 8 + #define GAMEPAD_PS3_BUTTON_SELECT 9 + #define GAMEPAD_PS3_BUTTON_UP 24 + #define GAMEPAD_PS3_BUTTON_RIGHT 25 + #define GAMEPAD_PS3_BUTTON_DOWN 26 + #define GAMEPAD_PS3_BUTTON_LEFT 27 + #define GAMEPAD_PS3_BUTTON_PS 12 + + // PS3 USB Controller Axis + #define GAMEPAD_PS3_AXIS_LEFT_X 0 + #define GAMEPAD_PS3_AXIS_LEFT_Y 1 + #define GAMEPAD_PS3_AXIS_RIGHT_X 2 + #define GAMEPAD_PS3_AXIS_RIGHT_Y 5 + #define GAMEPAD_PS3_AXIS_L2 3 // [1..-1] (pressure-level) + #define GAMEPAD_PS3_AXIS_R2 4 // [1..-1] (pressure-level) + + // Xbox360 USB Controller Buttons + #define GAMEPAD_XBOX_BUTTON_A 0 + #define GAMEPAD_XBOX_BUTTON_B 1 + #define GAMEPAD_XBOX_BUTTON_X 2 + #define GAMEPAD_XBOX_BUTTON_Y 3 + #define GAMEPAD_XBOX_BUTTON_LB 4 + #define GAMEPAD_XBOX_BUTTON_RB 5 + #define GAMEPAD_XBOX_BUTTON_SELECT 6 + #define GAMEPAD_XBOX_BUTTON_START 7 + #define GAMEPAD_XBOX_BUTTON_UP 10 + #define GAMEPAD_XBOX_BUTTON_RIGHT 11 + #define GAMEPAD_XBOX_BUTTON_DOWN 12 + #define GAMEPAD_XBOX_BUTTON_LEFT 13 + #define GAMEPAD_XBOX_BUTTON_HOME 8 + + // Android Gamepad Controller (SNES CLASSIC) + #define GAMEPAD_ANDROID_DPAD_UP 19 + #define GAMEPAD_ANDROID_DPAD_DOWN 20 + #define GAMEPAD_ANDROID_DPAD_LEFT 21 + #define GAMEPAD_ANDROID_DPAD_RIGHT 22 + #define GAMEPAD_ANDROID_DPAD_CENTER 23 + + #define GAMEPAD_ANDROID_BUTTON_A 96 + #define GAMEPAD_ANDROID_BUTTON_B 97 + #define GAMEPAD_ANDROID_BUTTON_C 98 + #define GAMEPAD_ANDROID_BUTTON_X 99 + #define GAMEPAD_ANDROID_BUTTON_Y 100 + #define GAMEPAD_ANDROID_BUTTON_Z 101 + #define GAMEPAD_ANDROID_BUTTON_L1 102 + #define GAMEPAD_ANDROID_BUTTON_R1 103 + #define GAMEPAD_ANDROID_BUTTON_L2 104 + #define GAMEPAD_ANDROID_BUTTON_R2 105 + + // Xbox360 USB Controller Axis + // NOTE: For Raspberry Pi, axis must be reconfigured + #if defined(PLATFORM_RPI) + #define GAMEPAD_XBOX_AXIS_LEFT_X 0 // [-1..1] (left->right) + #define GAMEPAD_XBOX_AXIS_LEFT_Y 1 // [-1..1] (up->down) + #define GAMEPAD_XBOX_AXIS_RIGHT_X 3 // [-1..1] (left->right) + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 4 // [-1..1] (up->down) + #define GAMEPAD_XBOX_AXIS_LT 2 // [-1..1] (pressure-level) + #define GAMEPAD_XBOX_AXIS_RT 5 // [-1..1] (pressure-level) + #else + #define GAMEPAD_XBOX_AXIS_LEFT_X 0 // [-1..1] (left->right) + #define GAMEPAD_XBOX_AXIS_LEFT_Y 1 // [1..-1] (up->down) + #define GAMEPAD_XBOX_AXIS_RIGHT_X 2 // [-1..1] (left->right) + #define GAMEPAD_XBOX_AXIS_RIGHT_Y 3 // [1..-1] (up->down) + #define GAMEPAD_XBOX_AXIS_LT 4 // [-1..1] (pressure-level) + #define GAMEPAD_XBOX_AXIS_RT 5 // [-1..1] (pressure-level) + #endif*/ + + // colors + + // Custom raylib color palette for amazing visuals + public static Color LIGHTGRAY = new Color(200, 200, 200, 255); // Light Gray + public static Color GRAY = new Color(130, 130, 130, 255); // Gray + public static Color DARKGRAY = new Color(80, 80, 80, 255); // Dark Gray + public static Color YELLOW = new Color( 253, 249, 0, 255 ); // Yellow + public static Color GOLD = new Color( 255, 203, 0, 255 ); // Gold + public static Color ORANGE = new Color( 255, 161, 0, 255 ); // Orange + public static Color PINK = new Color( 255, 109, 194, 255 ); // Pink + public static Color RED = new Color( 230, 41, 55, 255 ); // Red + public static Color MAROON = new Color( 190, 33, 55, 255 ); // Maroon + public static Color GREEN = new Color( 0, 228, 48, 255 ); // Green + public static Color LIME = new Color( 0, 158, 47, 255 ); // Lime + public static Color DARKGREEN = new Color( 0, 117, 44, 255 ); // Dark Green + public static Color SKYBLUE = new Color( 102, 191, 255, 255 ); // Sky Blue + public static Color BLUE = new Color( 0, 121, 241, 255 ); // Blue + public static Color DARKBLUE = new Color( 0, 82, 172, 255 ); // Dark Blue + public static Color PURPLE = new Color( 200, 122, 255, 255 ); // Purple + public static Color VIOLET = new Color( 135, 60, 190, 255 ); // Violet + public static Color DARKPURPLE = new Color( 112, 31, 126, 255 ); // Dark Purple + public static Color BEIGE = new Color( 211, 176, 131, 255 ); // Beige + public static Color BROWN = new Color( 127, 106, 79, 255 ); // Brown + public static Color DARKBROWN = new Color( 76, 63, 47, 255 ); // Dark Brown + + public static Color WHITE = new Color( 255, 255, 255, 255 ); // White + public static Color BLACK = new Color( 0, 0, 0, 255 ); // Black + public static Color BLANK = new Color(0, 0, 0, 0); // Transparent + public static Color MAGENTA = new Color( 255, 0, 255, 255 ); // Magenta + public static Color RAYWHITE = new Color( 245, 245, 245, 255 ); // Ray White + #endregion } } \ No newline at end of file diff --git a/Raylib-cs/raylib.cs b/Raylib-cs/raylib.cs new file mode 100644 index 0000000..deba33f --- /dev/null +++ b/Raylib-cs/raylib.cs @@ -0,0 +1,9401 @@ +// ---------------------------------------------------------------------------- +// +// 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 + } + + 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); + } + + 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 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); + } + + 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 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); + } + + 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 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); + } + + 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 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="ColorToInt")] + internal static extern int ColorToInt(global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ColorNormalize")] + internal static extern void ColorNormalize(global::System.IntPtr @return, global::raylib.Color.__Internal color); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="ColorToHSV")] + internal static extern void ColorToHSV(global::System.IntPtr @return, global::raylib.Color.__Internal color); + + [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="ImageCopy")] + internal static extern void ImageCopy(global::System.IntPtr @return, global::raylib.Image.__Internal image); + + [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="MeshBoundingBox")] + internal static extern void MeshBoundingBox(global::System.IntPtr @return, 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="WaveCopy")] + internal static extern void WaveCopy(global::System.IntPtr @return, global::raylib.Wave.__Internal wave); + + [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 int ColorToInt(global::raylib.Color color) + { + var __arg0 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = __Internal.ColorToInt(__arg0); + return __ret; + } + + public static global::raylib.Vector4 ColorNormalize(global::raylib.Color color) + { + var __arg0 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.ColorNormalize(new IntPtr(&__ret), __arg0); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 ColorToHSV(global::raylib.Color color) + { + var __arg0 = ReferenceEquals(color, null) ? new global::raylib.Color.__Internal() : *(global::raylib.Color.__Internal*) color.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.ColorToHSV(new IntPtr(&__ret), __arg0); + return global::raylib.Vector3.__CreateInstance(__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 global::raylib.Image ImageCopy(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.Image.__Internal(); + __Internal.ImageCopy(new IntPtr(&__ret), __arg0); + return global::raylib.Image.__CreateInstance(__ret); + } + + 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 global::raylib.BoundingBox MeshBoundingBox(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.BoundingBox.__Internal(); + __Internal.MeshBoundingBox(new IntPtr(&__ret), __arg0); + return global::raylib.BoundingBox.__CreateInstance(__ret); + } + + 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 global::raylib.Wave WaveCopy(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.Wave.__Internal(); + __Internal.WaveCopy(new IntPtr(&__ret), __arg0); + return global::raylib.Wave.__CreateInstance(__ret); + } + + 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); + } + } + + public unsafe partial class Float3 : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal fixed float v[3]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0float3@@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.Float3 __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Float3(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Float3 __CreateInstance(global::raylib.Float3.__Internal native, bool skipVTables = false) + { + return new global::raylib.Float3(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Float3.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Float3.__Internal)); + *(global::raylib.Float3.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Float3(global::raylib.Float3.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Float3(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Float3() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Float3.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Float3(global::raylib.Float3 _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Float3.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Float3.__Internal*) __Instance) = *((global::raylib.Float3.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Float3 __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float[] V + { + get + { + float[] __value = null; + if (((global::raylib.Float3.__Internal*) __Instance)->v != null) + { + __value = new float[3]; + for (int i = 0; i < 3; i++) + __value[i] = ((global::raylib.Float3.__Internal*) __Instance)->v[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 3; i++) + ((global::raylib.Float3.__Internal*)__Instance)->v[i] = value[i]; + } + } + } + } + + public unsafe partial class Float16 : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal fixed float v[16]; + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0float16@@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.Float16 __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new global::raylib.Float16(native.ToPointer(), skipVTables); + } + + internal static global::raylib.Float16 __CreateInstance(global::raylib.Float16.__Internal native, bool skipVTables = false) + { + return new global::raylib.Float16(native, skipVTables); + } + + private static void* __CopyValue(global::raylib.Float16.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::raylib.Float16.__Internal)); + *(global::raylib.Float16.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Float16(global::raylib.Float16.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Float16(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Float16() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Float16.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public Float16(global::raylib.Float16 _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::raylib.Float16.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((global::raylib.Float16.__Internal*) __Instance) = *((global::raylib.Float16.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + if (__Instance == IntPtr.Zero) + return; + global::raylib.Float16 __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public float[] V + { + get + { + float[] __value = null; + if (((global::raylib.Float16.__Internal*) __Instance)->v != null) + { + __value = new float[16]; + for (int i = 0; i < 16; i++) + __value[i] = ((global::raylib.Float16.__Internal*) __Instance)->v[i]; + } + return __value; + } + + set + { + if (value != null) + { + for (int i = 0; i < 16; i++) + ((global::raylib.Float16.__Internal*)__Instance)->v[i] = value[i]; + } + } + } + } + + public unsafe partial class raymath + { + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Clamp@@YAMMMM@Z")] + internal static extern float Clamp(float value, float min, float max); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Zero@@YA?AUVector2@@XZ")] + internal static extern global::raylib.Vector2.__Internal Vector2Zero(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2One@@YA?AUVector2@@XZ")] + internal static extern global::raylib.Vector2.__Internal Vector2One(); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Add@@YA?AUVector2@@U1@0@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Add(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Subtract@@YA?AUVector2@@U1@0@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Subtract(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Length@@YAMUVector2@@@Z")] + internal static extern float Vector2Length(global::raylib.Vector2.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2DotProduct@@YAMUVector2@@0@Z")] + internal static extern float Vector2DotProduct(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Distance@@YAMUVector2@@0@Z")] + internal static extern float Vector2Distance(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Angle@@YAMUVector2@@0@Z")] + internal static extern float Vector2Angle(global::raylib.Vector2.__Internal v1, global::raylib.Vector2.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Scale@@YA?AUVector2@@U1@M@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Scale(global::raylib.Vector2.__Internal v, float scale); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Negate@@YA?AUVector2@@U1@@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Negate(global::raylib.Vector2.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Divide@@YA?AUVector2@@U1@M@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Divide(global::raylib.Vector2.__Internal v, float div); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector2Normalize@@YA?AUVector2@@U1@@Z")] + internal static extern global::raylib.Vector2.__Internal Vector2Normalize(global::raylib.Vector2.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Zero@@YA?AUVector3@@XZ")] + internal static extern void Vector3Zero(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3One@@YA?AUVector3@@XZ")] + internal static extern void Vector3One(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Add@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3Add(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Subtract@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3Subtract(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Multiply@@YA?AUVector3@@U1@M@Z")] + internal static extern void Vector3Multiply(global::System.IntPtr @return, global::raylib.Vector3.__Internal v, float scalar); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3MultiplyV@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3MultiplyV(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3CrossProduct@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3CrossProduct(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Perpendicular@@YA?AUVector3@@U1@@Z")] + internal static extern void Vector3Perpendicular(global::System.IntPtr @return, global::raylib.Vector3.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Length@@YAMUVector3@@@Z")] + internal static extern float Vector3Length(global::raylib.Vector3.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3DotProduct@@YAMUVector3@@0@Z")] + internal static extern float Vector3DotProduct(global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Distance@@YAMUVector3@@0@Z")] + internal static extern float Vector3Distance(global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Scale@@YA?AUVector3@@U1@M@Z")] + internal static extern void Vector3Scale(global::System.IntPtr @return, global::raylib.Vector3.__Internal v, float scale); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Negate@@YA?AUVector3@@U1@@Z")] + internal static extern void Vector3Negate(global::System.IntPtr @return, global::raylib.Vector3.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Normalize@@YA?AUVector3@@U1@@Z")] + internal static extern void Vector3Normalize(global::System.IntPtr @return, global::raylib.Vector3.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3OrthoNormalize@@YAXPEAUVector3@@0@Z")] + internal static extern void Vector3OrthoNormalize(global::System.IntPtr v1, global::System.IntPtr v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Transform@@YA?AUVector3@@U1@UMatrix@@@Z")] + internal static extern void Vector3Transform(global::System.IntPtr @return, global::raylib.Vector3.__Internal v, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3RotateByQuaternion@@YA?AUVector3@@U1@UVector4@@@Z")] + internal static extern void Vector3RotateByQuaternion(global::System.IntPtr @return, global::raylib.Vector3.__Internal v, global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Lerp@@YA?AUVector3@@U1@0M@Z")] + internal static extern void Vector3Lerp(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2, float amount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Reflect@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3Reflect(global::System.IntPtr @return, global::raylib.Vector3.__Internal v, global::raylib.Vector3.__Internal normal); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Min@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3Min(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Max@@YA?AUVector3@@U1@0@Z")] + internal static extern void Vector3Max(global::System.IntPtr @return, global::raylib.Vector3.__Internal v1, global::raylib.Vector3.__Internal v2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3Barycenter@@YA?AUVector3@@U1@000@Z")] + internal static extern void Vector3Barycenter(global::System.IntPtr @return, global::raylib.Vector3.__Internal p, global::raylib.Vector3.__Internal a, global::raylib.Vector3.__Internal b, global::raylib.Vector3.__Internal c); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?Vector3ToFloatV@@YA?AUfloat3@@UVector3@@@Z")] + internal static extern void Vector3ToFloatV(global::System.IntPtr @return, global::raylib.Vector3.__Internal v); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixDeterminant@@YAMUMatrix@@@Z")] + internal static extern float MatrixDeterminant(global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixTrace@@YAMUMatrix@@@Z")] + internal static extern float MatrixTrace(global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixTranspose@@YA?AUMatrix@@U1@@Z")] + internal static extern void MatrixTranspose(global::System.IntPtr @return, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixInvert@@YA?AUMatrix@@U1@@Z")] + internal static extern void MatrixInvert(global::System.IntPtr @return, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixNormalize@@YA?AUMatrix@@U1@@Z")] + internal static extern void MatrixNormalize(global::System.IntPtr @return, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixIdentity@@YA?AUMatrix@@XZ")] + internal static extern void MatrixIdentity(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixAdd@@YA?AUMatrix@@U1@0@Z")] + internal static extern void MatrixAdd(global::System.IntPtr @return, global::raylib.Matrix.__Internal left, global::raylib.Matrix.__Internal right); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixSubstract@@YA?AUMatrix@@U1@0@Z")] + internal static extern void MatrixSubstract(global::System.IntPtr @return, global::raylib.Matrix.__Internal left, global::raylib.Matrix.__Internal right); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixTranslate@@YA?AUMatrix@@MMM@Z")] + internal static extern void MatrixTranslate(global::System.IntPtr @return, float x, float y, float z); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixRotate@@YA?AUMatrix@@UVector3@@M@Z")] + internal static extern void MatrixRotate(global::System.IntPtr @return, global::raylib.Vector3.__Internal axis, float angle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixRotateX@@YA?AUMatrix@@M@Z")] + internal static extern void MatrixRotateX(global::System.IntPtr @return, float angle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixRotateY@@YA?AUMatrix@@M@Z")] + internal static extern void MatrixRotateY(global::System.IntPtr @return, float angle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixRotateZ@@YA?AUMatrix@@M@Z")] + internal static extern void MatrixRotateZ(global::System.IntPtr @return, float angle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixScale@@YA?AUMatrix@@MMM@Z")] + internal static extern void MatrixScale(global::System.IntPtr @return, float x, float y, float z); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixMultiply@@YA?AUMatrix@@U1@0@Z")] + internal static extern void MatrixMultiply(global::System.IntPtr @return, global::raylib.Matrix.__Internal left, global::raylib.Matrix.__Internal right); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixFrustum@@YA?AUMatrix@@NNNNNN@Z")] + internal static extern void MatrixFrustum(global::System.IntPtr @return, double left, double right, double bottom, double top, double near, double far); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixPerspective@@YA?AUMatrix@@NNNN@Z")] + internal static extern void MatrixPerspective(global::System.IntPtr @return, double fovy, double aspect, double near, double far); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixOrtho@@YA?AUMatrix@@NNNNNN@Z")] + internal static extern void MatrixOrtho(global::System.IntPtr @return, double left, double right, double bottom, double top, double near, double far); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixLookAt@@YA?AUMatrix@@UVector3@@00@Z")] + internal static extern void MatrixLookAt(global::System.IntPtr @return, global::raylib.Vector3.__Internal eye, global::raylib.Vector3.__Internal target, global::raylib.Vector3.__Internal up); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?MatrixToFloatV@@YA?AUfloat16@@UMatrix@@@Z")] + internal static extern void MatrixToFloatV(global::System.IntPtr @return, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionIdentity@@YA?AUVector4@@XZ")] + internal static extern void QuaternionIdentity(global::System.IntPtr @return); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionLength@@YAMUVector4@@@Z")] + internal static extern float QuaternionLength(global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionNormalize@@YA?AUVector4@@U1@@Z")] + internal static extern void QuaternionNormalize(global::System.IntPtr @return, global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionInvert@@YA?AUVector4@@U1@@Z")] + internal static extern void QuaternionInvert(global::System.IntPtr @return, global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionMultiply@@YA?AUVector4@@U1@0@Z")] + internal static extern void QuaternionMultiply(global::System.IntPtr @return, global::raylib.Vector4.__Internal q1, global::raylib.Vector4.__Internal q2); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionLerp@@YA?AUVector4@@U1@0M@Z")] + internal static extern void QuaternionLerp(global::System.IntPtr @return, global::raylib.Vector4.__Internal q1, global::raylib.Vector4.__Internal q2, float amount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionNlerp@@YA?AUVector4@@U1@0M@Z")] + internal static extern void QuaternionNlerp(global::System.IntPtr @return, global::raylib.Vector4.__Internal q1, global::raylib.Vector4.__Internal q2, float amount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionSlerp@@YA?AUVector4@@U1@0M@Z")] + internal static extern void QuaternionSlerp(global::System.IntPtr @return, global::raylib.Vector4.__Internal q1, global::raylib.Vector4.__Internal q2, float amount); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionFromVector3ToVector3@@YA?AUVector4@@UVector3@@0@Z")] + internal static extern void QuaternionFromVector3ToVector3(global::System.IntPtr @return, global::raylib.Vector3.__Internal from, global::raylib.Vector3.__Internal to); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionFromMatrix@@YA?AUVector4@@UMatrix@@@Z")] + internal static extern void QuaternionFromMatrix(global::System.IntPtr @return, global::raylib.Matrix.__Internal mat); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionToMatrix@@YA?AUMatrix@@UVector4@@@Z")] + internal static extern void QuaternionToMatrix(global::System.IntPtr @return, global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionFromAxisAngle@@YA?AUVector4@@UVector3@@M@Z")] + internal static extern void QuaternionFromAxisAngle(global::System.IntPtr @return, global::raylib.Vector3.__Internal axis, float angle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionToAxisAngle@@YAXUVector4@@PEAUVector3@@PEAM@Z")] + internal static extern void QuaternionToAxisAngle(global::raylib.Vector4.__Internal q, global::System.IntPtr outAxis, float* outAngle); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionFromEuler@@YA?AUVector4@@MMM@Z")] + internal static extern void QuaternionFromEuler(global::System.IntPtr @return, float roll, float pitch, float yaw); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionToEuler@@YA?AUVector3@@UVector4@@@Z")] + internal static extern void QuaternionToEuler(global::System.IntPtr @return, global::raylib.Vector4.__Internal q); + + [SuppressUnmanagedCodeSecurity] + [DllImport("raylib", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?QuaternionTransform@@YA?AUVector4@@U1@UMatrix@@@Z")] + internal static extern void QuaternionTransform(global::System.IntPtr @return, global::raylib.Vector4.__Internal q, global::raylib.Matrix.__Internal mat); + } + + public static float Clamp(float value, float min, float max) + { + var __ret = __Internal.Clamp(value, min, max); + return __ret; + } + + public static global::raylib.Vector2 Vector2Zero() + { + var __ret = __Internal.Vector2Zero(); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2One() + { + var __ret = __Internal.Vector2One(); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2Add(global::raylib.Vector2 v1, global::raylib.Vector2 v2) + { + 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 __ret = __Internal.Vector2Add(__arg0, __arg1); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2Subtract(global::raylib.Vector2 v1, global::raylib.Vector2 v2) + { + 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 __ret = __Internal.Vector2Subtract(__arg0, __arg1); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static float Vector2Length(global::raylib.Vector2 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v.__Instance; + var __ret = __Internal.Vector2Length(__arg0); + return __ret; + } + + public static float Vector2DotProduct(global::raylib.Vector2 v1, global::raylib.Vector2 v2) + { + 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 __ret = __Internal.Vector2DotProduct(__arg0, __arg1); + return __ret; + } + + public static float Vector2Distance(global::raylib.Vector2 v1, global::raylib.Vector2 v2) + { + 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 __ret = __Internal.Vector2Distance(__arg0, __arg1); + return __ret; + } + + public static float Vector2Angle(global::raylib.Vector2 v1, global::raylib.Vector2 v2) + { + 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 __ret = __Internal.Vector2Angle(__arg0, __arg1); + return __ret; + } + + public static global::raylib.Vector2 Vector2Scale(global::raylib.Vector2 v, float scale) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v.__Instance; + var __ret = __Internal.Vector2Scale(__arg0, scale); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2Negate(global::raylib.Vector2 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v.__Instance; + var __ret = __Internal.Vector2Negate(__arg0); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2Divide(global::raylib.Vector2 v, float div) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v.__Instance; + var __ret = __Internal.Vector2Divide(__arg0, div); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector2 Vector2Normalize(global::raylib.Vector2 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector2.__Internal() : *(global::raylib.Vector2.__Internal*) v.__Instance; + var __ret = __Internal.Vector2Normalize(__arg0); + return global::raylib.Vector2.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Zero() + { + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Zero(new IntPtr(&__ret)); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3One() + { + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3One(new IntPtr(&__ret)); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Add(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Add(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Subtract(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Subtract(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Multiply(global::raylib.Vector3 v, float scalar) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Multiply(new IntPtr(&__ret), __arg0, scalar); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3MultiplyV(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3MultiplyV(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3CrossProduct(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3CrossProduct(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Perpendicular(global::raylib.Vector3 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Perpendicular(new IntPtr(&__ret), __arg0); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static float Vector3Length(global::raylib.Vector3 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = __Internal.Vector3Length(__arg0); + return __ret; + } + + public static float Vector3DotProduct(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = __Internal.Vector3DotProduct(__arg0, __arg1); + return __ret; + } + + public static float Vector3Distance(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = __Internal.Vector3Distance(__arg0, __arg1); + return __ret; + } + + public static global::raylib.Vector3 Vector3Scale(global::raylib.Vector3 v, float scale) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Scale(new IntPtr(&__ret), __arg0, scale); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Negate(global::raylib.Vector3 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Negate(new IntPtr(&__ret), __arg0); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Normalize(global::raylib.Vector3 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Normalize(new IntPtr(&__ret), __arg0); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static void Vector3OrthoNormalize(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? global::System.IntPtr.Zero : v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? global::System.IntPtr.Zero : v2.__Instance; + __Internal.Vector3OrthoNormalize(__arg0, __arg1); + } + + public static global::raylib.Vector3 Vector3Transform(global::raylib.Vector3 v, global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __arg1 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Transform(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3RotateByQuaternion(global::raylib.Vector3 v, global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __arg1 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3RotateByQuaternion(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Lerp(global::raylib.Vector3 v1, global::raylib.Vector3 v2, float amount) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Lerp(new IntPtr(&__ret), __arg0, __arg1, amount); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Reflect(global::raylib.Vector3 v, global::raylib.Vector3 normal) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __arg1 = ReferenceEquals(normal, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) normal.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Reflect(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Min(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Min(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Max(global::raylib.Vector3 v1, global::raylib.Vector3 v2) + { + var __arg0 = ReferenceEquals(v1, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v1.__Instance; + var __arg1 = ReferenceEquals(v2, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v2.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Max(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 Vector3Barycenter(global::raylib.Vector3 p, global::raylib.Vector3 a, global::raylib.Vector3 b, global::raylib.Vector3 c) + { + var __arg0 = ReferenceEquals(p, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) p.__Instance; + var __arg1 = ReferenceEquals(a, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) a.__Instance; + var __arg2 = ReferenceEquals(b, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) b.__Instance; + var __arg3 = ReferenceEquals(c, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) c.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.Vector3Barycenter(new IntPtr(&__ret), __arg0, __arg1, __arg2, __arg3); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Float3 Vector3ToFloatV(global::raylib.Vector3 v) + { + var __arg0 = ReferenceEquals(v, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) v.__Instance; + var __ret = new global::raylib.Float3.__Internal(); + __Internal.Vector3ToFloatV(new IntPtr(&__ret), __arg0); + return global::raylib.Float3.__CreateInstance(__ret); + } + + public static float MatrixDeterminant(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = __Internal.MatrixDeterminant(__arg0); + return __ret; + } + + public static float MatrixTrace(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = __Internal.MatrixTrace(__arg0); + return __ret; + } + + public static global::raylib.Matrix MatrixTranspose(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixTranspose(new IntPtr(&__ret), __arg0); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixInvert(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixInvert(new IntPtr(&__ret), __arg0); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixNormalize(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixNormalize(new IntPtr(&__ret), __arg0); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixIdentity() + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixIdentity(new IntPtr(&__ret)); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixAdd(global::raylib.Matrix left, global::raylib.Matrix right) + { + var __arg0 = ReferenceEquals(left, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) left.__Instance; + var __arg1 = ReferenceEquals(right, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) right.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixAdd(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixSubstract(global::raylib.Matrix left, global::raylib.Matrix right) + { + var __arg0 = ReferenceEquals(left, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) left.__Instance; + var __arg1 = ReferenceEquals(right, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) right.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixSubstract(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixTranslate(float x, float y, float z) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixTranslate(new IntPtr(&__ret), x, y, z); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixRotate(global::raylib.Vector3 axis, float angle) + { + var __arg0 = ReferenceEquals(axis, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) axis.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixRotate(new IntPtr(&__ret), __arg0, angle); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixRotateX(float angle) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixRotateX(new IntPtr(&__ret), angle); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixRotateY(float angle) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixRotateY(new IntPtr(&__ret), angle); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixRotateZ(float angle) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixRotateZ(new IntPtr(&__ret), angle); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixScale(float x, float y, float z) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixScale(new IntPtr(&__ret), x, y, z); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixMultiply(global::raylib.Matrix left, global::raylib.Matrix right) + { + var __arg0 = ReferenceEquals(left, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) left.__Instance; + var __arg1 = ReferenceEquals(right, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) right.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixMultiply(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixFrustum(double left, double right, double bottom, double top, double near, double far) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixFrustum(new IntPtr(&__ret), left, right, bottom, top, near, far); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixPerspective(double fovy, double aspect, double near, double far) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixPerspective(new IntPtr(&__ret), fovy, aspect, near, far); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixOrtho(double left, double right, double bottom, double top, double near, double far) + { + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixOrtho(new IntPtr(&__ret), left, right, bottom, top, near, far); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Matrix MatrixLookAt(global::raylib.Vector3 eye, global::raylib.Vector3 target, global::raylib.Vector3 up) + { + var __arg0 = ReferenceEquals(eye, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) eye.__Instance; + var __arg1 = ReferenceEquals(target, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) target.__Instance; + var __arg2 = ReferenceEquals(up, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) up.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.MatrixLookAt(new IntPtr(&__ret), __arg0, __arg1, __arg2); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Float16 MatrixToFloatV(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Float16.__Internal(); + __Internal.MatrixToFloatV(new IntPtr(&__ret), __arg0); + return global::raylib.Float16.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionIdentity() + { + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionIdentity(new IntPtr(&__ret)); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static float QuaternionLength(global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = __Internal.QuaternionLength(__arg0); + return __ret; + } + + public static global::raylib.Vector4 QuaternionNormalize(global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionNormalize(new IntPtr(&__ret), __arg0); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionInvert(global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionInvert(new IntPtr(&__ret), __arg0); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionMultiply(global::raylib.Vector4 q1, global::raylib.Vector4 q2) + { + var __arg0 = ReferenceEquals(q1, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q1.__Instance; + var __arg1 = ReferenceEquals(q2, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q2.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionMultiply(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionLerp(global::raylib.Vector4 q1, global::raylib.Vector4 q2, float amount) + { + var __arg0 = ReferenceEquals(q1, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q1.__Instance; + var __arg1 = ReferenceEquals(q2, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q2.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionLerp(new IntPtr(&__ret), __arg0, __arg1, amount); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionNlerp(global::raylib.Vector4 q1, global::raylib.Vector4 q2, float amount) + { + var __arg0 = ReferenceEquals(q1, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q1.__Instance; + var __arg1 = ReferenceEquals(q2, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q2.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionNlerp(new IntPtr(&__ret), __arg0, __arg1, amount); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionSlerp(global::raylib.Vector4 q1, global::raylib.Vector4 q2, float amount) + { + var __arg0 = ReferenceEquals(q1, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q1.__Instance; + var __arg1 = ReferenceEquals(q2, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q2.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionSlerp(new IntPtr(&__ret), __arg0, __arg1, amount); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionFromVector3ToVector3(global::raylib.Vector3 from, global::raylib.Vector3 to) + { + var __arg0 = ReferenceEquals(from, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) from.__Instance; + var __arg1 = ReferenceEquals(to, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) to.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionFromVector3ToVector3(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionFromMatrix(global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionFromMatrix(new IntPtr(&__ret), __arg0); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Matrix QuaternionToMatrix(global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = new global::raylib.Matrix.__Internal(); + __Internal.QuaternionToMatrix(new IntPtr(&__ret), __arg0); + return global::raylib.Matrix.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionFromAxisAngle(global::raylib.Vector3 axis, float angle) + { + var __arg0 = ReferenceEquals(axis, null) ? new global::raylib.Vector3.__Internal() : *(global::raylib.Vector3.__Internal*) axis.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionFromAxisAngle(new IntPtr(&__ret), __arg0, angle); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static void QuaternionToAxisAngle(global::raylib.Vector4 q, global::raylib.Vector3 outAxis, ref float outAngle) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __arg1 = ReferenceEquals(outAxis, null) ? global::System.IntPtr.Zero : outAxis.__Instance; + fixed (float* __refParamPtr2 = &outAngle) + { + var __arg2 = __refParamPtr2; + __Internal.QuaternionToAxisAngle(__arg0, __arg1, __arg2); + } + } + + public static global::raylib.Vector4 QuaternionFromEuler(float roll, float pitch, float yaw) + { + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionFromEuler(new IntPtr(&__ret), roll, pitch, yaw); + return global::raylib.Vector4.__CreateInstance(__ret); + } + + public static global::raylib.Vector3 QuaternionToEuler(global::raylib.Vector4 q) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __ret = new global::raylib.Vector3.__Internal(); + __Internal.QuaternionToEuler(new IntPtr(&__ret), __arg0); + return global::raylib.Vector3.__CreateInstance(__ret); + } + + public static global::raylib.Vector4 QuaternionTransform(global::raylib.Vector4 q, global::raylib.Matrix mat) + { + var __arg0 = ReferenceEquals(q, null) ? new global::raylib.Vector4.__Internal() : *(global::raylib.Vector4.__Internal*) q.__Instance; + var __arg1 = ReferenceEquals(mat, null) ? new global::raylib.Matrix.__Internal() : *(global::raylib.Matrix.__Internal*) mat.__Instance; + var __ret = new global::raylib.Vector4.__Internal(); + __Internal.QuaternionTransform(new IntPtr(&__ret), __arg0, __arg1); + return global::raylib.Vector4.__CreateInstance(__ret); + } + } +}