diff --git a/imgui/Dalamud.Bindings.ImGuizmo/Custom/Style.cs b/imgui/Dalamud.Bindings.ImGuizmo/Custom/Style.cs new file mode 100644 index 000000000..50183013d --- /dev/null +++ b/imgui/Dalamud.Bindings.ImGuizmo/Custom/Style.cs @@ -0,0 +1,274 @@ +// ------------------------------------------------------------------------------ +// +// 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; +using Dalamud.Bindings.ImGui; + +namespace Dalamud.Bindings.ImGuizmo +{ + /// + /// To be documented. + /// + [StructLayout(LayoutKind.Sequential)] + public partial struct Style + { + /// + /// To be documented. + /// + public float TranslationLineThickness; + + /// + /// To be documented. + /// + public float TranslationLineArrowSize; + + /// + /// To be documented. + /// + public float RotationLineThickness; + + /// + /// To be documented. + /// + public float RotationOuterLineThickness; + + /// + /// To be documented. + /// + public float ScaleLineThickness; + + /// + /// To be documented. + /// + public float ScaleLineCircleSize; + + /// + /// To be documented. + /// + public float HatchedAxisLineThickness; + + /// + /// To be documented. + /// + public float CenterCircleSize; + + /// + /// To be documented. + /// + public Vector4 DirectionX; + public Vector4 DirectionY; + public Vector4 DirectionZ; + public Vector4 PlaneX; + public Vector4 PlaneY; + public Vector4 PlaneZ; + public Vector4 Selection; + public Vector4 Inactive; + public Vector4 TranslationLine; + public Vector4 ScaleLine; + public Vector4 RotationUsingBorder; + public Vector4 RotationUsingFill; + public Vector4 HatchedAxisLines; + public Vector4 Text; + public Vector4 TextShadow; + + + /// + /// To be documented. + /// + public unsafe Style(float translationLineThickness = default, float translationLineArrowSize = default, float rotationLineThickness = default, float rotationOuterLineThickness = default, float scaleLineThickness = default, float scaleLineCircleSize = default, float hatchedAxisLineThickness = default, float centerCircleSize = default, Vector4* colors = default) + { + TranslationLineThickness = translationLineThickness; + TranslationLineArrowSize = translationLineArrowSize; + RotationLineThickness = rotationLineThickness; + RotationOuterLineThickness = rotationOuterLineThickness; + ScaleLineThickness = scaleLineThickness; + ScaleLineCircleSize = scaleLineCircleSize; + HatchedAxisLineThickness = hatchedAxisLineThickness; + CenterCircleSize = centerCircleSize; + if (colors != default(Vector4*)) + { + DirectionX = colors[0]; + DirectionY = colors[1]; + DirectionZ = colors[2]; + PlaneX = colors[3]; + PlaneY = colors[4]; + PlaneZ = colors[5]; + Selection = colors[6]; + Inactive = colors[7]; + TranslationLine = colors[8]; + ScaleLine = colors[9]; + RotationUsingBorder = colors[10]; + RotationUsingFill = colors[11]; + HatchedAxisLines = colors[12]; + Text = colors[13]; + TextShadow = colors[14]; + } + } + + /// + /// To be documented. + /// + public unsafe Style(float translationLineThickness = default, float translationLineArrowSize = default, float rotationLineThickness = default, float rotationOuterLineThickness = default, float scaleLineThickness = default, float scaleLineCircleSize = default, float hatchedAxisLineThickness = default, float centerCircleSize = default, Span colors = default) + { + TranslationLineThickness = translationLineThickness; + TranslationLineArrowSize = translationLineArrowSize; + RotationLineThickness = rotationLineThickness; + RotationOuterLineThickness = rotationOuterLineThickness; + ScaleLineThickness = scaleLineThickness; + ScaleLineCircleSize = scaleLineCircleSize; + HatchedAxisLineThickness = hatchedAxisLineThickness; + CenterCircleSize = centerCircleSize; + if (colors != default(Span)) + { + DirectionX = colors[0]; + DirectionY = colors[1]; + DirectionZ = colors[2]; + PlaneX = colors[3]; + PlaneY = colors[4]; + PlaneZ = colors[5]; + Selection = colors[6]; + Inactive = colors[7]; + TranslationLine = colors[8]; + ScaleLine = colors[9]; + RotationUsingBorder = colors[10]; + RotationUsingFill = colors[11]; + HatchedAxisLines = colors[12]; + Text = colors[13]; + TextShadow = colors[14]; + } + } + + + /// + /// To be documented. + /// + public unsafe Span Colors + + { + get + { + fixed (Vector4* p = &this.DirectionX) + { + return new Span(p, 15); + } + } + } + /// + /// To be documented. + /// + public unsafe void Destroy() + { + fixed (Style* @this = &this) + { + ImGuizmo.DestroyNative(@this); + } + } + + } + + /// + /// To be documented. + /// + #if NET5_0_OR_GREATER + [DebuggerDisplay("{DebuggerDisplay,nq}")] + #endif + public unsafe struct StylePtr : IEquatable + { + public StylePtr(Style* handle) { Handle = handle; } + + public Style* Handle; + + public bool IsNull => Handle == null; + + public static StylePtr Null => new StylePtr(null); + + public Style this[int index] { get => Handle[index]; set => Handle[index] = value; } + + public static implicit operator StylePtr(Style* handle) => new StylePtr(handle); + + public static implicit operator Style*(StylePtr handle) => handle.Handle; + + public static bool operator ==(StylePtr left, StylePtr right) => left.Handle == right.Handle; + + public static bool operator !=(StylePtr left, StylePtr right) => left.Handle != right.Handle; + + public static bool operator ==(StylePtr left, Style* right) => left.Handle == right; + + public static bool operator !=(StylePtr left, Style* right) => left.Handle != right; + + public bool Equals(StylePtr other) => Handle == other.Handle; + + /// + public override bool Equals(object obj) => obj is StylePtr handle && Equals(handle); + + /// + public override int GetHashCode() => ((nuint)Handle).GetHashCode(); + + #if NET5_0_OR_GREATER + private string DebuggerDisplay => string.Format("StylePtr [0x{0}]", ((nuint)Handle).ToString("X")); + #endif + /// + /// To be documented. + /// + public ref float TranslationLineThickness => ref Unsafe.AsRef(&Handle->TranslationLineThickness); + /// + /// To be documented. + /// + public ref float TranslationLineArrowSize => ref Unsafe.AsRef(&Handle->TranslationLineArrowSize); + /// + /// To be documented. + /// + public ref float RotationLineThickness => ref Unsafe.AsRef(&Handle->RotationLineThickness); + /// + /// To be documented. + /// + public ref float RotationOuterLineThickness => ref Unsafe.AsRef(&Handle->RotationOuterLineThickness); + /// + /// To be documented. + /// + public ref float ScaleLineThickness => ref Unsafe.AsRef(&Handle->ScaleLineThickness); + /// + /// To be documented. + /// + public ref float ScaleLineCircleSize => ref Unsafe.AsRef(&Handle->ScaleLineCircleSize); + /// + /// To be documented. + /// + public ref float HatchedAxisLineThickness => ref Unsafe.AsRef(&Handle->HatchedAxisLineThickness); + /// + /// To be documented. + /// + public ref float CenterCircleSize => ref Unsafe.AsRef(&Handle->CenterCircleSize); + /// + /// To be documented. + /// + public unsafe Span Colors + + { + get + { + return new Span(&Handle->DirectionX, 15); + } + } + /// + /// To be documented. + /// + public unsafe void Destroy() + { + ImGuizmo.DestroyNative(Handle); + } + + } + +}