// ------------------------------------------------------------------------------ // // 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 ImGuiMenuColumns { /// /// To be documented. /// public uint TotalWidth; /// /// To be documented. /// public uint NextTotalWidth; /// /// To be documented. /// public ushort Spacing; /// /// To be documented. /// public ushort OffsetIcon; /// /// To be documented. /// public ushort OffsetLabel; /// /// To be documented. /// public ushort OffsetShortcut; /// /// To be documented. /// public ushort OffsetMark; /// /// To be documented. /// public ushort Widths_0; public ushort Widths_1; public ushort Widths_2; public ushort Widths_3; /// /// To be documented. /// public unsafe ImGuiMenuColumns(uint totalWidth = default, uint nextTotalWidth = default, ushort spacing = default, ushort offsetIcon = default, ushort offsetLabel = default, ushort offsetShortcut = default, ushort offsetMark = default, ushort* widths = default) { TotalWidth = totalWidth; NextTotalWidth = nextTotalWidth; Spacing = spacing; OffsetIcon = offsetIcon; OffsetLabel = offsetLabel; OffsetShortcut = offsetShortcut; OffsetMark = offsetMark; if (widths != default(ushort*)) { Widths_0 = widths[0]; Widths_1 = widths[1]; Widths_2 = widths[2]; Widths_3 = widths[3]; } } /// /// To be documented. /// public unsafe ImGuiMenuColumns(uint totalWidth = default, uint nextTotalWidth = default, ushort spacing = default, ushort offsetIcon = default, ushort offsetLabel = default, ushort offsetShortcut = default, ushort offsetMark = default, Span widths = default) { TotalWidth = totalWidth; NextTotalWidth = nextTotalWidth; Spacing = spacing; OffsetIcon = offsetIcon; OffsetLabel = offsetLabel; OffsetShortcut = offsetShortcut; OffsetMark = offsetMark; if (widths != default(Span)) { Widths_0 = widths[0]; Widths_1 = widths[1]; Widths_2 = widths[2]; Widths_3 = widths[3]; } } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiMenuColumns* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiMenuColumnsPtr : IEquatable { public ImGuiMenuColumnsPtr(ImGuiMenuColumns* handle) { Handle = handle; } public ImGuiMenuColumns* Handle; public bool IsNull => Handle == null; public static ImGuiMenuColumnsPtr Null => new ImGuiMenuColumnsPtr(null); public ImGuiMenuColumns this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiMenuColumnsPtr(ImGuiMenuColumns* handle) => new ImGuiMenuColumnsPtr(handle); public static implicit operator ImGuiMenuColumns*(ImGuiMenuColumnsPtr handle) => handle.Handle; public static bool operator ==(ImGuiMenuColumnsPtr left, ImGuiMenuColumnsPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiMenuColumnsPtr left, ImGuiMenuColumnsPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiMenuColumnsPtr left, ImGuiMenuColumns* right) => left.Handle == right; public static bool operator !=(ImGuiMenuColumnsPtr left, ImGuiMenuColumns* right) => left.Handle != right; public bool Equals(ImGuiMenuColumnsPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiMenuColumnsPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiMenuColumnsPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref uint TotalWidth => ref Unsafe.AsRef(&Handle->TotalWidth); /// /// To be documented. /// public ref uint NextTotalWidth => ref Unsafe.AsRef(&Handle->NextTotalWidth); /// /// To be documented. /// public ref ushort Spacing => ref Unsafe.AsRef(&Handle->Spacing); /// /// To be documented. /// public ref ushort OffsetIcon => ref Unsafe.AsRef(&Handle->OffsetIcon); /// /// To be documented. /// public ref ushort OffsetLabel => ref Unsafe.AsRef(&Handle->OffsetLabel); /// /// To be documented. /// public ref ushort OffsetShortcut => ref Unsafe.AsRef(&Handle->OffsetShortcut); /// /// To be documented. /// public ref ushort OffsetMark => ref Unsafe.AsRef(&Handle->OffsetMark); /// /// To be documented. /// public unsafe Span Widths { get { return new Span(&Handle->Widths_0, 4); } } /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }