// ------------------------------------------------------------------------------ // // 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 ImGuiTabItem { /// /// To be documented. /// public uint ID; /// /// To be documented. /// public ImGuiTabItemFlags Flags; /// /// To be documented. /// public unsafe ImGuiWindow* Window; /// /// To be documented. /// public int LastFrameVisible; /// /// To be documented. /// public int LastFrameSelected; /// /// To be documented. /// public float Offset; /// /// To be documented. /// public float Width; /// /// To be documented. /// public float ContentWidth; /// /// To be documented. /// public float RequestedWidth; /// /// To be documented. /// public int NameOffset; /// /// To be documented. /// public short BeginOrder; /// /// To be documented. /// public short IndexDuringLayout; /// /// To be documented. /// public byte WantClose; /// /// To be documented. /// public unsafe ImGuiTabItem(uint id = default, ImGuiTabItemFlags flags = default, ImGuiWindowPtr window = default, int lastFrameVisible = default, int lastFrameSelected = default, float offset = default, float width = default, float contentWidth = default, float requestedWidth = default, int nameOffset = default, short beginOrder = default, short indexDuringLayout = default, bool wantClose = default) { ID = id; Flags = flags; Window = window; LastFrameVisible = lastFrameVisible; LastFrameSelected = lastFrameSelected; Offset = offset; Width = width; ContentWidth = contentWidth; RequestedWidth = requestedWidth; NameOffset = nameOffset; BeginOrder = beginOrder; IndexDuringLayout = indexDuringLayout; WantClose = wantClose ? (byte)1 : (byte)0; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiTabItem* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiTabItemPtr : IEquatable { public ImGuiTabItemPtr(ImGuiTabItem* handle) { Handle = handle; } public ImGuiTabItem* Handle; public bool IsNull => Handle == null; public static ImGuiTabItemPtr Null => new ImGuiTabItemPtr(null); public ImGuiTabItem this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiTabItemPtr(ImGuiTabItem* handle) => new ImGuiTabItemPtr(handle); public static implicit operator ImGuiTabItem*(ImGuiTabItemPtr handle) => handle.Handle; public static bool operator ==(ImGuiTabItemPtr left, ImGuiTabItemPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiTabItemPtr left, ImGuiTabItemPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiTabItemPtr left, ImGuiTabItem* right) => left.Handle == right; public static bool operator !=(ImGuiTabItemPtr left, ImGuiTabItem* right) => left.Handle != right; public bool Equals(ImGuiTabItemPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiTabItemPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiTabItemPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref uint ID => ref Unsafe.AsRef(&Handle->ID); /// /// To be documented. /// public ref ImGuiTabItemFlags Flags => ref Unsafe.AsRef(&Handle->Flags); /// /// To be documented. /// public ref ImGuiWindowPtr Window => ref Unsafe.AsRef(&Handle->Window); /// /// To be documented. /// public ref int LastFrameVisible => ref Unsafe.AsRef(&Handle->LastFrameVisible); /// /// To be documented. /// public ref int LastFrameSelected => ref Unsafe.AsRef(&Handle->LastFrameSelected); /// /// To be documented. /// public ref float Offset => ref Unsafe.AsRef(&Handle->Offset); /// /// To be documented. /// public ref float Width => ref Unsafe.AsRef(&Handle->Width); /// /// To be documented. /// public ref float ContentWidth => ref Unsafe.AsRef(&Handle->ContentWidth); /// /// To be documented. /// public ref float RequestedWidth => ref Unsafe.AsRef(&Handle->RequestedWidth); /// /// To be documented. /// public ref int NameOffset => ref Unsafe.AsRef(&Handle->NameOffset); /// /// To be documented. /// public ref short BeginOrder => ref Unsafe.AsRef(&Handle->BeginOrder); /// /// To be documented. /// public ref short IndexDuringLayout => ref Unsafe.AsRef(&Handle->IndexDuringLayout); /// /// To be documented. /// public ref bool WantClose => ref Unsafe.AsRef(&Handle->WantClose); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }