using System; using System.Numerics; using System.Runtime.CompilerServices; using System.Text; namespace ImGuiNET { public unsafe partial struct ImGuiStyle { public float Alpha; public Vector2 WindowPadding; public float WindowRounding; public float WindowBorderSize; public Vector2 WindowMinSize; public Vector2 WindowTitleAlign; public ImGuiDir WindowMenuButtonPosition; public float ChildRounding; public float ChildBorderSize; public float PopupRounding; public float PopupBorderSize; public Vector2 FramePadding; public float FrameRounding; public float FrameBorderSize; public Vector2 ItemSpacing; public Vector2 ItemInnerSpacing; public Vector2 TouchExtraPadding; public float IndentSpacing; public float ColumnsMinSpacing; public float ScrollbarSize; public float ScrollbarRounding; public float GrabMinSize; public float GrabRounding; public float TabRounding; public float TabBorderSize; public ImGuiDir ColorButtonPosition; public Vector2 ButtonTextAlign; public Vector2 SelectableTextAlign; public Vector2 DisplayWindowPadding; public Vector2 DisplaySafeAreaPadding; public float MouseCursorScale; public byte AntiAliasedLines; public byte AntiAliasedFill; public float CurveTessellationTol; 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 unsafe partial struct ImGuiStylePtr { public ImGuiStyle* NativePtr { get; } public ImGuiStylePtr(ImGuiStyle* nativePtr) => NativePtr = nativePtr; public ImGuiStylePtr(IntPtr nativePtr) => NativePtr = (ImGuiStyle*)nativePtr; public static implicit operator ImGuiStylePtr(ImGuiStyle* nativePtr) => new ImGuiStylePtr(nativePtr); public static implicit operator ImGuiStyle* (ImGuiStylePtr wrappedPtr) => wrappedPtr.NativePtr; public static implicit operator ImGuiStylePtr(IntPtr nativePtr) => new ImGuiStylePtr(nativePtr); public ref float Alpha => ref Unsafe.AsRef(&NativePtr->Alpha); public ref Vector2 WindowPadding => ref Unsafe.AsRef(&NativePtr->WindowPadding); public ref float WindowRounding => ref Unsafe.AsRef(&NativePtr->WindowRounding); public ref float WindowBorderSize => ref Unsafe.AsRef(&NativePtr->WindowBorderSize); public ref Vector2 WindowMinSize => ref Unsafe.AsRef(&NativePtr->WindowMinSize); public ref Vector2 WindowTitleAlign => ref Unsafe.AsRef(&NativePtr->WindowTitleAlign); public ref ImGuiDir WindowMenuButtonPosition => ref Unsafe.AsRef(&NativePtr->WindowMenuButtonPosition); public ref float ChildRounding => ref Unsafe.AsRef(&NativePtr->ChildRounding); public ref float ChildBorderSize => ref Unsafe.AsRef(&NativePtr->ChildBorderSize); public ref float PopupRounding => ref Unsafe.AsRef(&NativePtr->PopupRounding); public ref float PopupBorderSize => ref Unsafe.AsRef(&NativePtr->PopupBorderSize); public ref Vector2 FramePadding => ref Unsafe.AsRef(&NativePtr->FramePadding); public ref float FrameRounding => ref Unsafe.AsRef(&NativePtr->FrameRounding); public ref float FrameBorderSize => ref Unsafe.AsRef(&NativePtr->FrameBorderSize); public ref Vector2 ItemSpacing => ref Unsafe.AsRef(&NativePtr->ItemSpacing); public ref Vector2 ItemInnerSpacing => ref Unsafe.AsRef(&NativePtr->ItemInnerSpacing); public ref Vector2 TouchExtraPadding => ref Unsafe.AsRef(&NativePtr->TouchExtraPadding); public ref float IndentSpacing => ref Unsafe.AsRef(&NativePtr->IndentSpacing); public ref float ColumnsMinSpacing => ref Unsafe.AsRef(&NativePtr->ColumnsMinSpacing); public ref float ScrollbarSize => ref Unsafe.AsRef(&NativePtr->ScrollbarSize); public ref float ScrollbarRounding => ref Unsafe.AsRef(&NativePtr->ScrollbarRounding); public ref float GrabMinSize => ref Unsafe.AsRef(&NativePtr->GrabMinSize); public ref float GrabRounding => ref Unsafe.AsRef(&NativePtr->GrabRounding); public ref float TabRounding => ref Unsafe.AsRef(&NativePtr->TabRounding); public ref float TabBorderSize => ref Unsafe.AsRef(&NativePtr->TabBorderSize); public ref ImGuiDir ColorButtonPosition => ref Unsafe.AsRef(&NativePtr->ColorButtonPosition); public ref Vector2 ButtonTextAlign => ref Unsafe.AsRef(&NativePtr->ButtonTextAlign); public ref Vector2 SelectableTextAlign => ref Unsafe.AsRef(&NativePtr->SelectableTextAlign); public ref Vector2 DisplayWindowPadding => ref Unsafe.AsRef(&NativePtr->DisplayWindowPadding); public ref Vector2 DisplaySafeAreaPadding => ref Unsafe.AsRef(&NativePtr->DisplaySafeAreaPadding); public ref float MouseCursorScale => ref Unsafe.AsRef(&NativePtr->MouseCursorScale); public ref bool AntiAliasedLines => ref Unsafe.AsRef(&NativePtr->AntiAliasedLines); public ref bool AntiAliasedFill => ref Unsafe.AsRef(&NativePtr->AntiAliasedFill); public ref float CurveTessellationTol => ref Unsafe.AsRef(&NativePtr->CurveTessellationTol); public RangeAccessor Colors => new RangeAccessor(&NativePtr->Colors_0, 48); public void Destroy() { ImGuiNative.ImGuiStyle_destroy(NativePtr); } public void ScaleAllSizes(float scale_factor) { ImGuiNative.ImGuiStyle_ScaleAllSizes(NativePtr, scale_factor); } } }