From c81c3c67a87f1aae4d86922d13db6edc32542cd8 Mon Sep 17 00:00:00 2001 From: ChrisDill Date: Tue, 9 Nov 2021 21:49:10 +0000 Subject: [PATCH] Remove Physac-cs and Raygui-cs - Not actively maintained and a pain for users to setup... --- Physac-cs/Physac-cs.csproj | 18 -- Physac-cs/Physac.cs | 230 ------------------- Raygui-cs/Raygui-cs.csproj | 18 -- Raygui-cs/Raygui.cs | 454 ------------------------------------- 4 files changed, 720 deletions(-) delete mode 100644 Physac-cs/Physac-cs.csproj delete mode 100644 Physac-cs/Physac.cs delete mode 100644 Raygui-cs/Raygui-cs.csproj delete mode 100644 Raygui-cs/Raygui.cs diff --git a/Physac-cs/Physac-cs.csproj b/Physac-cs/Physac-cs.csproj deleted file mode 100644 index e16b4e7..0000000 --- a/Physac-cs/Physac-cs.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - netstandard2.1 - false - Physac-cs - Physac_cs - true - false - - - - - - - - - - diff --git a/Physac-cs/Physac.cs b/Physac-cs/Physac.cs deleted file mode 100644 index fbf64f6..0000000 --- a/Physac-cs/Physac.cs +++ /dev/null @@ -1,230 +0,0 @@ -using System; -using System.Numerics; -using System.Runtime.InteropServices; -using System.Security; -using Raylib_cs; - -namespace Physac_cs -{ - public enum PhysicsShapeType - { - PHYSICS_CIRCLE, - PHYSICS_POLYGON - } - - // Matrix2x2 type (used for polygon shape rotation matrix) - [StructLayout(LayoutKind.Sequential)] - public struct Matrix2x2 - { - public float m00; - public float m01; - public float m10; - public float m11; - } - - // @TODO Custom array marshall issue https://github.com/ChrisDill/Raylib-cs/issues/9 - // Hack same as raylib.cs _MaterialMap_e_FixedBuffer - // No easy way to marshall arrays of custom types. no idea why? - public unsafe struct _Polygon_e_FixedBuffer - { - public Vector2 v0; - public Vector2 v1; - public Vector2 v2; - public Vector2 v3; - public Vector2 v4; - public Vector2 v5; - public Vector2 v6; - public Vector2 v7; - public Vector2 v8; - public Vector2 v9; - public Vector2 v10; - public Vector2 v11; - public Vector2 v12; - public Vector2 v13; - public Vector2 v14; - public Vector2 v15; - public Vector2 v16; - public Vector2 v17; - public Vector2 v18; - public Vector2 v19; - public Vector2 v20; - public Vector2 v21; - public Vector2 v22; - public Vector2 v23; - public Vector2 v24; - - public Vector2 this[int index] - { - get - { - fixed (Vector2* e = &v0) - return e[index]; - } - } - } - - [StructLayout(LayoutKind.Sequential)] - public struct PhysicsVertexData - { - public uint vertexCount; // Vertex count (positions and normals) - public _Polygon_e_FixedBuffer positions; // Vertex positions vectors - public _Polygon_e_FixedBuffer normals; // Vertex normals vectors - } - - [StructLayout(LayoutKind.Sequential)] - public struct PhysicsShape - { - public PhysicsShapeType type; // Shape type (circle or polygon) - public IntPtr body; // Shape physics body reference - public PhysicsVertexData vertexData; // Shape vertices data (used for polygon shapes) - public float radius; // Shape radius (used for circle shapes) - public Matrix2x2 transform; // Vertices transform matrix 2x2 - } - - [StructLayout(LayoutKind.Sequential)] - public struct PhysicsBodyData - { - public uint id; // Unique identifier - public byte enabled; // Enabled dynamics state (collisions are calculated anyway) - public Vector2 position; // Physics body shape pivot - public Vector2 velocity; // Current linear velocity applied to position - public Vector2 force; // Current linear force (reset to 0 every step) - public float angularVelocity; // Current angular velocity applied to orient - public float torque; // Current angular force (reset to 0 every step) - public float orient; // Rotation in radians - public float inertia; // Moment of inertia - public float inverseInertia; // Inverse value of inertia - public float mass; // Physics body mass - public float inverseMass; // Inverse value of mass - public float staticFriction; // Friction when the body has not movement (0 to 1) - public float dynamicFriction; // Friction when the body has movement (0 to 1) - public float restitution; // Restitution coefficient of the body (0 to 1) - public byte useGravity; // Apply gravity force to dynamics - public byte isGrounded; // Physics grounded on other body state - public byte freezeOrient; // Physics rotation constraint - public PhysicsShape shape; // Physics body shape information (type, radius, vertices, transform) - } - - [StructLayout(LayoutKind.Sequential)] - public struct PhysicsManifoldData - { - public uint id; // Reference unique identifier - public IntPtr bodyA; // Manifold first physics body reference - public IntPtr bodyB; // Manifold second physics body reference - public float penetration; // Depth of penetration from collision - public Vector2 normal; // Normal direction vector from 'a' to 'b' - public Vector2 contactsA; // Points of contact during collision - public Vector2 contactsB; // Points of contact during collision - public uint contactsCount; // Current collision number of contacts - public float restitution; // Mixed restitution during collision - public float dynamicFriction; // Mixed dynamic friction during collision - public float staticFriction; // Mixed static friction during collision - } - - [SuppressUnmanagedCodeSecurity] - public static class Physac - { - // Used by DllImport to load the native library. - public const string nativeLibName = "physac"; - - public const int PHYSAC_MAX_BODIES = 64; - public const int PHYSAC_MAX_MANIFOLDS = 4096; - public const int PHYSAC_MAX_VERTICES = 24; - public const int PHYSAC_CIRCLE_VERTICES = 24; - - public const int PHYSAC_COLLISION_ITERATIONS = 100; - public const float PHYSAC_PENETRATION_ALLOWANCE = 0.05f; - public const float PHYSAC_PENETRATION_CORRECTION = 0.4f; - - // Physics system management - - // Initializes physics values, pointers and creates physics loop thread - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void InitPhysics(); - - // Update physics system - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void UpdatePhysics(); - - // Reset physics system (global variables) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void ResetPhysics(); - - // Close physics system and unload used memory - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void ClosePhysics(); - - // Sets physics fixed time step in milliseconds. 1.666666 by default - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void SetPhysicsTimeStep(double delta); - - // Sets physics global gravity force - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void SetPhysicsGravity(float x, float y); - - - // Physic body creation/destroy - - // Creates a new circle physics body with generic parameters - // IntPtr refers to a PhysicsBodyData * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr CreatePhysicsBodyCircle(Vector2 pos, float radius, float density); - - // Creates a new rectangle physics body with generic parameters - // IntPtr refers to a PhysicsBodyData * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr CreatePhysicsBodyRectangle(Vector2 pos, float width, float height, float density); - - // Creates a new polygon physics body with generic parameters - // IntPtr refers to a PhysicsBodyData * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr CreatePhysicsBodyPolygon(Vector2 pos, float radius, int sides, float density); - - // Destroy a physics body - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void DestroyPhysicsBody(PhysicsBodyData body); - - - // Physic body forces - - // Adds a force to a physics body - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void PhysicsAddForce(PhysicsBodyData body, Vector2 force); - - // Adds an angular force to a physics body - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void PhysicsAddTorque(PhysicsBodyData body, float amount); - - // Shatters a polygon shape physics body to little physics bodies with explosion force - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void PhysicsShatter(PhysicsBodyData body, Vector2 position, float force); - - // Sets physics body shape transform based on radians parameter - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void SetPhysicsBodyRotation(PhysicsBodyData body, float radians); - - - // Query physics info - - // Returns a physics body of the bodies pool at a specific index - // IntPtr refers to a PhysicsBodyData * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr GetPhysicsBody(int index); - - // Returns the current amount of created physics bodies - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GetPhysicsBodiesCount(); - - // Returns the physics body shape type (PHYSICS_CIRCLE or PHYSICS_POLYGON) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GetPhysicsShapeType(int index); - - // Returns the amount of vertices of a physics body shape - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GetPhysicsShapeVerticesCount(int index); - - // Returns transformed position of a body shape (body position + vertex transformed position) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Vector2 GetPhysicsShapeVertex(PhysicsBodyData body, int vertex); - } -} diff --git a/Raygui-cs/Raygui-cs.csproj b/Raygui-cs/Raygui-cs.csproj deleted file mode 100644 index aeea437..0000000 --- a/Raygui-cs/Raygui-cs.csproj +++ /dev/null @@ -1,18 +0,0 @@ - - - netstandard2.1 - false - Raygui-cs - Raygui_cs - true - false - - - - - - - - - - diff --git a/Raygui-cs/Raygui.cs b/Raygui-cs/Raygui.cs deleted file mode 100644 index 18a2009..0000000 --- a/Raygui-cs/Raygui.cs +++ /dev/null @@ -1,454 +0,0 @@ -using System; -using System.Numerics; -using System.Runtime.InteropServices; -using System.Security; -using System.Text; -using Raylib_cs; - -namespace Raygui_cs -{ - // Style property - [StructLayout(LayoutKind.Sequential)] - struct GuiStyleProp - { - ushort controlId; - ushort propertyId; - int propertyValue; - } - - // Gui global state enum - public enum GuiControlState - { - GUI_STATE_NORMAL = 0, - GUI_STATE_FOCUSED, - GUI_STATE_PRESSED, - GUI_STATE_DISABLED, - } - - // Gui global text alignment - public enum GuiTextAlignment - { - GUI_TEXT_ALIGN_LEFT = 0, - GUI_TEXT_ALIGN_CENTER, - GUI_TEXT_ALIGN_RIGHT, - } - - // Gui standard controls - public enum GuiControl - { - DEFAULT = 0, - LABEL, // LABELBUTTON - BUTTON, // IMAGEBUTTON - TOGGLE, // TOGGLEGROUP - SLIDER, // SLIDERBAR - PROGRESSBAR, - CHECKBOX, - COMBOBOX, - DROPDOWNBOX, - TEXTBOX, // TEXTBOXMULTI - VALUEBOX, - SPINNER, - LISTVIEW, - COLORPICKER, - SCROLLBAR, - STATUSBAR - } - - // Gui default properties for every control - public enum GuiControlProperty - { - BORDER_COLOR_NORMAL = 0, - BASE_COLOR_NORMAL, - TEXT_COLOR_NORMAL, - BORDER_COLOR_FOCUSED, - BASE_COLOR_FOCUSED, - TEXT_COLOR_FOCUSED, - BORDER_COLOR_PRESSED, - BASE_COLOR_PRESSED, - TEXT_COLOR_PRESSED, - BORDER_COLOR_DISABLED, - BASE_COLOR_DISABLED, - TEXT_COLOR_DISABLED, - BORDER_WIDTH, - TEXT_PADDING, - TEXT_ALIGNMENT, - RESERVED - } - - // Gui extended properties depending on control type - // NOTE: We reserve a fixed size of additional properties per control - - // Default properties - public enum GuiDefaultProperty - { - TEXT_SIZE = 16, - TEXT_SPACING, - LINE_COLOR, - BACKGROUND_COLOR, - } - - // Toggle / ToggleGroup - public enum GuiToggleProperty - { - GROUP_PADDING = 16, - } - - // Slider / SliderBar - public enum GuiSliderProperty - { - SLIDER_WIDTH = 16, - TEXT_PADDING - } - - // ProgressBar - public enum GuiProgressBarProperty - { - PROGRESS_PADDING = 16, - } - - // CheckBox - public enum GuiCheckBoxProperty - { - CHECK_PADDING = 16 - } - - // ComboBox - public enum GuiComboBoxProperty - { - SELECTOR_WIDTH = 16, - SELECTOR_PADDING - } - - // DropdownBox - public enum GuiDropdownBoxProperty - { - ARROW_PADDING = 16, - DROPDOWN_ITEMS_PADDING - } - - // TextBox / TextBoxMulti / ValueBox / Spinner - public enum GuiTextBoxProperty - { - TEXT_INNER_PADDING = 16, - TEXT_LINES_PADDING, - COLOR_SELECTED_FG, - COLOR_SELECTED_BG - } - - // Spinner - public enum GuiSpinnerProperty - { - SPIN_BUTTON_WIDTH = 16, - SPIN_BUTTON_PADDING, - } - - // ScrollBar - public enum GuiScrollBarProperty - { - ARROWS_SIZE = 16, - ARROWS_VISIBLE, - SCROLL_SLIDER_PADDING, - SCROLL_SLIDER_SIZE, - SCROLL_PADDING, - SCROLL_SPEED, - } - - // ScrollBar side - public enum GuiScrollBarSide - { - SCROLLBAR_LEFT_SIDE = 0, - SCROLLBAR_RIGHT_SIDE - } - - // ListView - public enum GuiListViewProperty - { - LIST_ITEMS_HEIGHT = 16, - LIST_ITEMS_PADDING, - SCROLLBAR_WIDTH, - SCROLLBAR_SIDE, - } - - // ColorPicker - public enum GuiColorPickerProperty - { - COLOR_SELECTOR_SIZE = 16, - HUEBAR_WIDTH, // Right hue bar width - HUEBAR_PADDING, // Right hue bar separation from panel - HUEBAR_SELECTOR_HEIGHT, // Right hue bar selector height - HUEBAR_SELECTOR_OVERFLOW // Right hue bar selector overflow - } - - [SuppressUnmanagedCodeSecurity] - public static class Raygui - { - // Used by DllImport to load the native library. - public const string nativeLibName = "raygui"; - - public const string RAYGUI_VERSION = "2.9-dev"; - - public const int NUM_CONTROLS = 16; // Number of standard controls - public const int NUM_PROPS_DEFAULT = 16; // Number of standard properties - public const int NUM_PROPS_EXTENDED = 8; // Number of extended properties - - public const int TEXTEDIT_CURSOR_BLINK_FRAMES = 20; // Text edit controls cursor blink timming - - // State modification functions - - // Enable gui controls (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiEnable(); - - // Disable gui controls (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiDisable(); - - // Lock gui controls (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiLock(); - - // Unlock gui controls (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiUnlock(); - - // Set gui controls alpha (global state), alpha goes from 0.0f to 1.0f - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiFade(float alpha); - - // Set gui state (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiSetState(int state); - - // Get gui state (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiGetState(); - - - // Font set/get functions - - // Get gui custom font (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiSetFont(Font font); - - // Set gui custom font (global state) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Font GuiGetFont(); - - - // Style set/get functions - - // Set one style property - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiSetStyle(GuiControl control, GuiControlProperty property, int value); - - // Get one style property - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiGetStyle(GuiControl control, GuiControlProperty property); - - - // Container/separator controls, useful for controls organization - - // Window Box control, shows a window that can be closed - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiWindowBox(Rectangle bounds, string text); - - // Group Box control with title name - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiGroupBox(Rectangle bounds, string text); - - // Line separator control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiLine(Rectangle bounds, string text); - - // Panel control, useful to group controls - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiPanel(Rectangle bounds); - - // Scroll Panel control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Rectangle GuiScrollPanel(Rectangle bounds, Rectangle content, ref Vector2 scroll); - - - // Basic controls set - - // Label control, shows text - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiLabel(Rectangle bounds, string text); - - // Button control, returns true when clicked - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiButton(Rectangle bounds, string text); - - // Label button control, show true when clicked - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiLabelButton(Rectangle bounds, string text); - - // Image button control, returns true when clicked - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiImageButton(Rectangle bounds, string text, Texture2D texture); - - // Image button extended control, returns true when clicked - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiImageButtonEx(Rectangle bounds, string text, Texture2D texture, Rectangle texSource); - - // Toggle Button control, returns true when active - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiToggle(Rectangle bounds, string text, bool active); - - // Toggle Group control, returns active toggle index - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiToggleGroup(Rectangle bounds, string text, int active); - - // Check Box control, returns true when active - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiCheckBox(Rectangle bounds, string text, bool isChecked); - - // Combo Box control, returns selected item index - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiComboBox(Rectangle bounds, string text, int active); - - // Dropdown Box control, returns selected item - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiDropdownBox(Rectangle bounds, string text, ref int active, bool editMode); - - // Spinner control, returns selected value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiSpinner(Rectangle bounds, string text, ref int value, int minValue, int maxValue, bool editMode); - - // Value Box control, updates input text with numbers - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiValueBox(Rectangle bounds, string text, ref int value, int minValue, int maxValue, bool editMode); - - // Text Box control, updates input text - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiTextBox(Rectangle bounds, StringBuilder text, int textSize, bool freeEdit); - - // Text Box control with multiple lines - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiTextBoxMulti(Rectangle bounds, StringBuilder text, int textSize, bool editMode); - - // Slider control, returns selected value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern float GuiSlider(Rectangle bounds, string textLeft, string textRight, float value, float minValue, float maxValue); - - // Slider Bar control, returns selected value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern float GuiSliderBar(Rectangle bounds, float value, float minValue, float maxValue); - - // Progress Bar control, shows current progress value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern float GuiProgressBar(Rectangle bounds, float value, float minValue, float maxValue); - - // Status Bar control, shows info text - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiStatusBar(Rectangle bounds, string text); - - // Dummy control for placeholders - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiDummyRec(Rectangle bounds, string text); - - // Scroll Bar control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiScrollBar(Rectangle bounds, int value, int minValue, int maxValue); - - // Grid - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Vector2 GuiGrid(Rectangle bounds, float spacing, int subdivs); - - - // Advance controls set - - // List View control, returns selected list element index - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiListView(Rectangle bounds, string text, ref int scrollIndex, ref int active); - - // List View with extended parameters - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiListViewEx(Rectangle bounds, string text, int count, ref int focus, ref int scrollIndex, ref int active); - - // Message Box control, displays a message - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiMessageBox(Rectangle bounds, string title, string message); - - // Text Input Box control, ask for text - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern int GuiTextInputBox(Rectangle bounds, string windowTitle, string message, string buttons, string text); - - // Color Picker control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Color GuiColorPicker(Rectangle bounds, Color color); - - // Color Panel control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern Color GuiColorPanel(Rectangle bounds, Color color); - - // Color Bar Alpha control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern float GuiColorBarAlpha(Rectangle bounds, float alpha); - - // Color Bar Hue control - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern float GuiColorBarHue(Rectangle bounds, float value); - - - // Styles loading functions - - // Load style file (.rgs) - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiLoadStyle(string fileName); - - // Load style default over global style - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiLoadStyleDefault(); - - // Get text with icon id prepended (if supported) - [DllImport(nativeLibName, EntryPoint = "GetMonitorName", CallingConvention = CallingConvention.Cdecl)] - private static extern IntPtr INTERNAL_GuiIconText(int iconId, string text); - public static string GuiIconText(int iconId, string text) - { - return Marshal.PtrToStringUTF8(INTERNAL_GuiIconText(iconId, text)); - } - - - // Gui icons functionality - - // Get full icons data pointer - // IntPtr refers to a unsigned int * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr GuiGetIcons(); - - // Get icon bit data - // IntPtr refers to a unsigned int * - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern IntPtr GuiGetIconData(int iconId, string text); - - // Set icon bit data - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiSetIconData(int iconId, uint[] data); - - // Set icon pixel value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiSetIconPixel(int iconId, int x, int y); - - // Clear icon pixel value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - public static extern void GuiClearIconPixel(int iconId, int x, int y); - - // Check icon pixel value - [DllImport(nativeLibName, CallingConvention = CallingConvention.Cdecl)] - [return: MarshalAs(UnmanagedType.I1)] - public static extern bool GuiCheckIconPixel(int iconId, int x, int y); - } -}