// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ using System; using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using HexaGen.Runtime; using System.Numerics; namespace Dalamud.Bindings.ImGui { /// /// To be documented. /// [StructLayout(LayoutKind.Sequential)] public partial struct ImGuiStyle { /// /// To be documented. /// public float Alpha; /// /// To be documented. /// public float DisabledAlpha; /// /// To be documented. /// public Vector2 WindowPadding; /// /// To be documented. /// public float WindowRounding; /// /// To be documented. /// public float WindowBorderSize; /// /// To be documented. /// public Vector2 WindowMinSize; /// /// To be documented. /// public Vector2 WindowTitleAlign; /// /// To be documented. /// public ImGuiDir WindowMenuButtonPosition; /// /// To be documented. /// public float ChildRounding; /// /// To be documented. /// public float ChildBorderSize; /// /// To be documented. /// public float PopupRounding; /// /// To be documented. /// public float PopupBorderSize; /// /// To be documented. /// public Vector2 FramePadding; /// /// To be documented. /// public float FrameRounding; /// /// To be documented. /// public float FrameBorderSize; /// /// To be documented. /// public Vector2 ItemSpacing; /// /// To be documented. /// public Vector2 ItemInnerSpacing; /// /// To be documented. /// public Vector2 CellPadding; /// /// To be documented. /// public Vector2 TouchExtraPadding; /// /// To be documented. /// public float IndentSpacing; /// /// To be documented. /// public float ColumnsMinSpacing; /// /// To be documented. /// public float ScrollbarSize; /// /// To be documented. /// public float ScrollbarRounding; /// /// To be documented. /// public float GrabMinSize; /// /// To be documented. /// public float GrabRounding; /// /// To be documented. /// public float LogSliderDeadzone; /// /// To be documented. /// public float TabRounding; /// /// To be documented. /// public float TabBorderSize; /// /// To be documented. /// public float TabMinWidthForCloseButton; /// /// To be documented. /// public ImGuiDir ColorButtonPosition; /// /// To be documented. /// public Vector2 ButtonTextAlign; /// /// To be documented. /// public Vector2 SelectableTextAlign; /// /// To be documented. /// public Vector2 DisplayWindowPadding; /// /// To be documented. /// public Vector2 DisplaySafeAreaPadding; /// /// To be documented. /// public float MouseCursorScale; /// /// To be documented. /// public byte AntiAliasedLines; /// /// To be documented. /// public byte AntiAliasedLinesUseTex; /// /// To be documented. /// public byte AntiAliasedFill; /// /// To be documented. /// public float CurveTessellationTol; /// /// To be documented. /// public float CircleTessellationMaxError; /// /// To be documented. /// public Vector4 Colors_0; public Vector4 Colors_1; public Vector4 Colors_2; public Vector4 Colors_3; public Vector4 Colors_4; public Vector4 Colors_5; public Vector4 Colors_6; public Vector4 Colors_7; public Vector4 Colors_8; public Vector4 Colors_9; public Vector4 Colors_10; public Vector4 Colors_11; public Vector4 Colors_12; public Vector4 Colors_13; public Vector4 Colors_14; public Vector4 Colors_15; public Vector4 Colors_16; public Vector4 Colors_17; public Vector4 Colors_18; public Vector4 Colors_19; public Vector4 Colors_20; public Vector4 Colors_21; public Vector4 Colors_22; public Vector4 Colors_23; public Vector4 Colors_24; public Vector4 Colors_25; public Vector4 Colors_26; public Vector4 Colors_27; public Vector4 Colors_28; public Vector4 Colors_29; public Vector4 Colors_30; public Vector4 Colors_31; public Vector4 Colors_32; public Vector4 Colors_33; public Vector4 Colors_34; public Vector4 Colors_35; public Vector4 Colors_36; public Vector4 Colors_37; public Vector4 Colors_38; public Vector4 Colors_39; public Vector4 Colors_40; public Vector4 Colors_41; public Vector4 Colors_42; public Vector4 Colors_43; public Vector4 Colors_44; public Vector4 Colors_45; public Vector4 Colors_46; public Vector4 Colors_47; public Vector4 Colors_48; public Vector4 Colors_49; public Vector4 Colors_50; public Vector4 Colors_51; public Vector4 Colors_52; public Vector4 Colors_53; public Vector4 Colors_54; /// /// To be documented. /// public unsafe ImGuiStyle(float alpha = default, float disabledAlpha = default, Vector2 windowPadding = default, float windowRounding = default, float windowBorderSize = default, Vector2 windowMinSize = default, Vector2 windowTitleAlign = default, ImGuiDir windowMenuButtonPosition = default, float childRounding = default, float childBorderSize = default, float popupRounding = default, float popupBorderSize = default, Vector2 framePadding = default, float frameRounding = default, float frameBorderSize = default, Vector2 itemSpacing = default, Vector2 itemInnerSpacing = default, Vector2 cellPadding = default, Vector2 touchExtraPadding = default, float indentSpacing = default, float columnsMinSpacing = default, float scrollbarSize = default, float scrollbarRounding = default, float grabMinSize = default, float grabRounding = default, float logSliderDeadzone = default, float tabRounding = default, float tabBorderSize = default, float tabMinWidthForCloseButton = default, ImGuiDir colorButtonPosition = default, Vector2 buttonTextAlign = default, Vector2 selectableTextAlign = default, Vector2 displayWindowPadding = default, Vector2 displaySafeAreaPadding = default, float mouseCursorScale = default, bool antiAliasedLines = default, bool antiAliasedLinesUseTex = default, bool antiAliasedFill = default, float curveTessellationTol = default, float circleTessellationMaxError = default, Vector4* colors = default) { Alpha = alpha; DisabledAlpha = disabledAlpha; WindowPadding = windowPadding; WindowRounding = windowRounding; WindowBorderSize = windowBorderSize; WindowMinSize = windowMinSize; WindowTitleAlign = windowTitleAlign; WindowMenuButtonPosition = windowMenuButtonPosition; ChildRounding = childRounding; ChildBorderSize = childBorderSize; PopupRounding = popupRounding; PopupBorderSize = popupBorderSize; FramePadding = framePadding; FrameRounding = frameRounding; FrameBorderSize = frameBorderSize; ItemSpacing = itemSpacing; ItemInnerSpacing = itemInnerSpacing; CellPadding = cellPadding; TouchExtraPadding = touchExtraPadding; IndentSpacing = indentSpacing; ColumnsMinSpacing = columnsMinSpacing; ScrollbarSize = scrollbarSize; ScrollbarRounding = scrollbarRounding; GrabMinSize = grabMinSize; GrabRounding = grabRounding; LogSliderDeadzone = logSliderDeadzone; TabRounding = tabRounding; TabBorderSize = tabBorderSize; TabMinWidthForCloseButton = tabMinWidthForCloseButton; ColorButtonPosition = colorButtonPosition; ButtonTextAlign = buttonTextAlign; SelectableTextAlign = selectableTextAlign; DisplayWindowPadding = displayWindowPadding; DisplaySafeAreaPadding = displaySafeAreaPadding; MouseCursorScale = mouseCursorScale; AntiAliasedLines = antiAliasedLines ? (byte)1 : (byte)0; AntiAliasedLinesUseTex = antiAliasedLinesUseTex ? (byte)1 : (byte)0; AntiAliasedFill = antiAliasedFill ? (byte)1 : (byte)0; CurveTessellationTol = curveTessellationTol; CircleTessellationMaxError = circleTessellationMaxError; if (colors != default(Vector4*)) { Colors_0 = colors[0]; Colors_1 = colors[1]; Colors_2 = colors[2]; Colors_3 = colors[3]; Colors_4 = colors[4]; Colors_5 = colors[5]; Colors_6 = colors[6]; Colors_7 = colors[7]; Colors_8 = colors[8]; Colors_9 = colors[9]; Colors_10 = colors[10]; Colors_11 = colors[11]; Colors_12 = colors[12]; Colors_13 = colors[13]; Colors_14 = colors[14]; Colors_15 = colors[15]; Colors_16 = colors[16]; Colors_17 = colors[17]; Colors_18 = colors[18]; Colors_19 = colors[19]; Colors_20 = colors[20]; Colors_21 = colors[21]; Colors_22 = colors[22]; Colors_23 = colors[23]; Colors_24 = colors[24]; Colors_25 = colors[25]; Colors_26 = colors[26]; Colors_27 = colors[27]; Colors_28 = colors[28]; Colors_29 = colors[29]; Colors_30 = colors[30]; Colors_31 = colors[31]; Colors_32 = colors[32]; Colors_33 = colors[33]; Colors_34 = colors[34]; Colors_35 = colors[35]; Colors_36 = colors[36]; Colors_37 = colors[37]; Colors_38 = colors[38]; Colors_39 = colors[39]; Colors_40 = colors[40]; Colors_41 = colors[41]; Colors_42 = colors[42]; Colors_43 = colors[43]; Colors_44 = colors[44]; Colors_45 = colors[45]; Colors_46 = colors[46]; Colors_47 = colors[47]; Colors_48 = colors[48]; Colors_49 = colors[49]; Colors_50 = colors[50]; Colors_51 = colors[51]; Colors_52 = colors[52]; Colors_53 = colors[53]; Colors_54 = colors[54]; } } /// /// To be documented. /// public unsafe ImGuiStyle(float alpha = default, float disabledAlpha = default, Vector2 windowPadding = default, float windowRounding = default, float windowBorderSize = default, Vector2 windowMinSize = default, Vector2 windowTitleAlign = default, ImGuiDir windowMenuButtonPosition = default, float childRounding = default, float childBorderSize = default, float popupRounding = default, float popupBorderSize = default, Vector2 framePadding = default, float frameRounding = default, float frameBorderSize = default, Vector2 itemSpacing = default, Vector2 itemInnerSpacing = default, Vector2 cellPadding = default, Vector2 touchExtraPadding = default, float indentSpacing = default, float columnsMinSpacing = default, float scrollbarSize = default, float scrollbarRounding = default, float grabMinSize = default, float grabRounding = default, float logSliderDeadzone = default, float tabRounding = default, float tabBorderSize = default, float tabMinWidthForCloseButton = default, ImGuiDir colorButtonPosition = default, Vector2 buttonTextAlign = default, Vector2 selectableTextAlign = default, Vector2 displayWindowPadding = default, Vector2 displaySafeAreaPadding = default, float mouseCursorScale = default, bool antiAliasedLines = default, bool antiAliasedLinesUseTex = default, bool antiAliasedFill = default, float curveTessellationTol = default, float circleTessellationMaxError = default, Span colors = default) { Alpha = alpha; DisabledAlpha = disabledAlpha; WindowPadding = windowPadding; WindowRounding = windowRounding; WindowBorderSize = windowBorderSize; WindowMinSize = windowMinSize; WindowTitleAlign = windowTitleAlign; WindowMenuButtonPosition = windowMenuButtonPosition; ChildRounding = childRounding; ChildBorderSize = childBorderSize; PopupRounding = popupRounding; PopupBorderSize = popupBorderSize; FramePadding = framePadding; FrameRounding = frameRounding; FrameBorderSize = frameBorderSize; ItemSpacing = itemSpacing; ItemInnerSpacing = itemInnerSpacing; CellPadding = cellPadding; TouchExtraPadding = touchExtraPadding; IndentSpacing = indentSpacing; ColumnsMinSpacing = columnsMinSpacing; ScrollbarSize = scrollbarSize; ScrollbarRounding = scrollbarRounding; GrabMinSize = grabMinSize; GrabRounding = grabRounding; LogSliderDeadzone = logSliderDeadzone; TabRounding = tabRounding; TabBorderSize = tabBorderSize; TabMinWidthForCloseButton = tabMinWidthForCloseButton; ColorButtonPosition = colorButtonPosition; ButtonTextAlign = buttonTextAlign; SelectableTextAlign = selectableTextAlign; DisplayWindowPadding = displayWindowPadding; DisplaySafeAreaPadding = displaySafeAreaPadding; MouseCursorScale = mouseCursorScale; AntiAliasedLines = antiAliasedLines ? (byte)1 : (byte)0; AntiAliasedLinesUseTex = antiAliasedLinesUseTex ? (byte)1 : (byte)0; AntiAliasedFill = antiAliasedFill ? (byte)1 : (byte)0; CurveTessellationTol = curveTessellationTol; CircleTessellationMaxError = circleTessellationMaxError; if (colors != default(Span)) { Colors_0 = colors[0]; Colors_1 = colors[1]; Colors_2 = colors[2]; Colors_3 = colors[3]; Colors_4 = colors[4]; Colors_5 = colors[5]; Colors_6 = colors[6]; Colors_7 = colors[7]; Colors_8 = colors[8]; Colors_9 = colors[9]; Colors_10 = colors[10]; Colors_11 = colors[11]; Colors_12 = colors[12]; Colors_13 = colors[13]; Colors_14 = colors[14]; Colors_15 = colors[15]; Colors_16 = colors[16]; Colors_17 = colors[17]; Colors_18 = colors[18]; Colors_19 = colors[19]; Colors_20 = colors[20]; Colors_21 = colors[21]; Colors_22 = colors[22]; Colors_23 = colors[23]; Colors_24 = colors[24]; Colors_25 = colors[25]; Colors_26 = colors[26]; Colors_27 = colors[27]; Colors_28 = colors[28]; Colors_29 = colors[29]; Colors_30 = colors[30]; Colors_31 = colors[31]; Colors_32 = colors[32]; Colors_33 = colors[33]; Colors_34 = colors[34]; Colors_35 = colors[35]; Colors_36 = colors[36]; Colors_37 = colors[37]; Colors_38 = colors[38]; Colors_39 = colors[39]; Colors_40 = colors[40]; Colors_41 = colors[41]; Colors_42 = colors[42]; Colors_43 = colors[43]; Colors_44 = colors[44]; Colors_45 = colors[45]; Colors_46 = colors[46]; Colors_47 = colors[47]; Colors_48 = colors[48]; Colors_49 = colors[49]; Colors_50 = colors[50]; Colors_51 = colors[51]; Colors_52 = colors[52]; Colors_53 = colors[53]; Colors_54 = colors[54]; } } /// /// To be documented. /// public unsafe Span Colors { get { fixed (Vector4* p = &this.Colors_0) { return new Span(p, 55); } } } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiStyle* @this = &this) { ImGui.DestroyNative(@this); } } /// /// To be documented. /// public unsafe void ScaleAllSizes(float scaleFactor) { fixed (ImGuiStyle* @this = &this) { ImGui.ScaleAllSizesNative(@this, scaleFactor); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiStylePtr : IEquatable { public ImGuiStylePtr(ImGuiStyle* handle) { Handle = handle; } public ImGuiStyle* Handle; public bool IsNull => Handle == null; public static ImGuiStylePtr Null => new ImGuiStylePtr(null); public ImGuiStyle this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiStylePtr(ImGuiStyle* handle) => new ImGuiStylePtr(handle); public static implicit operator ImGuiStyle*(ImGuiStylePtr handle) => handle.Handle; public static bool operator ==(ImGuiStylePtr left, ImGuiStylePtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiStylePtr left, ImGuiStylePtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiStylePtr left, ImGuiStyle* right) => left.Handle == right; public static bool operator !=(ImGuiStylePtr left, ImGuiStyle* right) => left.Handle != right; public bool Equals(ImGuiStylePtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiStylePtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiStylePtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref float Alpha => ref Unsafe.AsRef(&Handle->Alpha); /// /// To be documented. /// public ref float DisabledAlpha => ref Unsafe.AsRef(&Handle->DisabledAlpha); /// /// To be documented. /// public ref Vector2 WindowPadding => ref Unsafe.AsRef(&Handle->WindowPadding); /// /// To be documented. /// public ref float WindowRounding => ref Unsafe.AsRef(&Handle->WindowRounding); /// /// To be documented. /// public ref float WindowBorderSize => ref Unsafe.AsRef(&Handle->WindowBorderSize); /// /// To be documented. /// public ref Vector2 WindowMinSize => ref Unsafe.AsRef(&Handle->WindowMinSize); /// /// To be documented. /// public ref Vector2 WindowTitleAlign => ref Unsafe.AsRef(&Handle->WindowTitleAlign); /// /// To be documented. /// public ref ImGuiDir WindowMenuButtonPosition => ref Unsafe.AsRef(&Handle->WindowMenuButtonPosition); /// /// To be documented. /// public ref float ChildRounding => ref Unsafe.AsRef(&Handle->ChildRounding); /// /// To be documented. /// public ref float ChildBorderSize => ref Unsafe.AsRef(&Handle->ChildBorderSize); /// /// To be documented. /// public ref float PopupRounding => ref Unsafe.AsRef(&Handle->PopupRounding); /// /// To be documented. /// public ref float PopupBorderSize => ref Unsafe.AsRef(&Handle->PopupBorderSize); /// /// To be documented. /// public ref Vector2 FramePadding => ref Unsafe.AsRef(&Handle->FramePadding); /// /// To be documented. /// public ref float FrameRounding => ref Unsafe.AsRef(&Handle->FrameRounding); /// /// To be documented. /// public ref float FrameBorderSize => ref Unsafe.AsRef(&Handle->FrameBorderSize); /// /// To be documented. /// public ref Vector2 ItemSpacing => ref Unsafe.AsRef(&Handle->ItemSpacing); /// /// To be documented. /// public ref Vector2 ItemInnerSpacing => ref Unsafe.AsRef(&Handle->ItemInnerSpacing); /// /// To be documented. /// public ref Vector2 CellPadding => ref Unsafe.AsRef(&Handle->CellPadding); /// /// To be documented. /// public ref Vector2 TouchExtraPadding => ref Unsafe.AsRef(&Handle->TouchExtraPadding); /// /// To be documented. /// public ref float IndentSpacing => ref Unsafe.AsRef(&Handle->IndentSpacing); /// /// To be documented. /// public ref float ColumnsMinSpacing => ref Unsafe.AsRef(&Handle->ColumnsMinSpacing); /// /// To be documented. /// public ref float ScrollbarSize => ref Unsafe.AsRef(&Handle->ScrollbarSize); /// /// To be documented. /// public ref float ScrollbarRounding => ref Unsafe.AsRef(&Handle->ScrollbarRounding); /// /// To be documented. /// public ref float GrabMinSize => ref Unsafe.AsRef(&Handle->GrabMinSize); /// /// To be documented. /// public ref float GrabRounding => ref Unsafe.AsRef(&Handle->GrabRounding); /// /// To be documented. /// public ref float LogSliderDeadzone => ref Unsafe.AsRef(&Handle->LogSliderDeadzone); /// /// To be documented. /// public ref float TabRounding => ref Unsafe.AsRef(&Handle->TabRounding); /// /// To be documented. /// public ref float TabBorderSize => ref Unsafe.AsRef(&Handle->TabBorderSize); /// /// To be documented. /// public ref float TabMinWidthForCloseButton => ref Unsafe.AsRef(&Handle->TabMinWidthForCloseButton); /// /// To be documented. /// public ref ImGuiDir ColorButtonPosition => ref Unsafe.AsRef(&Handle->ColorButtonPosition); /// /// To be documented. /// public ref Vector2 ButtonTextAlign => ref Unsafe.AsRef(&Handle->ButtonTextAlign); /// /// To be documented. /// public ref Vector2 SelectableTextAlign => ref Unsafe.AsRef(&Handle->SelectableTextAlign); /// /// To be documented. /// public ref Vector2 DisplayWindowPadding => ref Unsafe.AsRef(&Handle->DisplayWindowPadding); /// /// To be documented. /// public ref Vector2 DisplaySafeAreaPadding => ref Unsafe.AsRef(&Handle->DisplaySafeAreaPadding); /// /// To be documented. /// public ref float MouseCursorScale => ref Unsafe.AsRef(&Handle->MouseCursorScale); /// /// To be documented. /// public ref bool AntiAliasedLines => ref Unsafe.AsRef(&Handle->AntiAliasedLines); /// /// To be documented. /// public ref bool AntiAliasedLinesUseTex => ref Unsafe.AsRef(&Handle->AntiAliasedLinesUseTex); /// /// To be documented. /// public ref bool AntiAliasedFill => ref Unsafe.AsRef(&Handle->AntiAliasedFill); /// /// To be documented. /// public ref float CurveTessellationTol => ref Unsafe.AsRef(&Handle->CurveTessellationTol); /// /// To be documented. /// public ref float CircleTessellationMaxError => ref Unsafe.AsRef(&Handle->CircleTessellationMaxError); /// /// To be documented. /// public unsafe Span Colors { get { return new Span(&Handle->Colors_0, 55); } } /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } /// /// To be documented. /// public unsafe void ScaleAllSizes(float scaleFactor) { ImGui.ScaleAllSizesNative(Handle, scaleFactor); } } }