// ------------------------------------------------------------------------------ // // 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 ImGuiTabBar { /// /// To be documented. /// public ImVector Tabs; /// /// To be documented. /// public ImGuiTabBarFlags Flags; /// /// To be documented. /// public uint ID; /// /// To be documented. /// public uint SelectedTabId; /// /// To be documented. /// public uint NextSelectedTabId; /// /// To be documented. /// public uint VisibleTabId; /// /// To be documented. /// public int CurrFrameVisible; /// /// To be documented. /// public int PrevFrameVisible; /// /// To be documented. /// public ImRect BarRect; /// /// To be documented. /// public float CurrTabsContentsHeight; /// /// To be documented. /// public float PrevTabsContentsHeight; /// /// To be documented. /// public float WidthAllTabs; /// /// To be documented. /// public float WidthAllTabsIdeal; /// /// To be documented. /// public float ScrollingAnim; /// /// To be documented. /// public float ScrollingTarget; /// /// To be documented. /// public float ScrollingTargetDistToVisibility; /// /// To be documented. /// public float ScrollingSpeed; /// /// To be documented. /// public float ScrollingRectMinX; /// /// To be documented. /// public float ScrollingRectMaxX; /// /// To be documented. /// public uint ReorderRequestTabId; /// /// To be documented. /// public short ReorderRequestOffset; /// /// To be documented. /// public sbyte BeginCount; /// /// To be documented. /// public byte WantLayout; /// /// To be documented. /// public byte VisibleTabWasSubmitted; /// /// To be documented. /// public byte TabsAddedNew; /// /// To be documented. /// public short TabsActiveCount; /// /// To be documented. /// public short LastTabItemIdx; /// /// To be documented. /// public float ItemSpacingY; /// /// To be documented. /// public Vector2 FramePadding; /// /// To be documented. /// public Vector2 BackupCursorPos; /// /// To be documented. /// public ImGuiTextBuffer TabsNames; /// /// To be documented. /// public unsafe ImGuiTabBar(ImVector tabs = default, ImGuiTabBarFlags flags = default, uint id = default, uint selectedTabId = default, uint nextSelectedTabId = default, uint visibleTabId = default, int currFrameVisible = default, int prevFrameVisible = default, ImRect barRect = default, float currTabsContentsHeight = default, float prevTabsContentsHeight = default, float widthAllTabs = default, float widthAllTabsIdeal = default, float scrollingAnim = default, float scrollingTarget = default, float scrollingTargetDistToVisibility = default, float scrollingSpeed = default, float scrollingRectMinX = default, float scrollingRectMaxX = default, uint reorderRequestTabId = default, short reorderRequestOffset = default, sbyte beginCount = default, bool wantLayout = default, bool visibleTabWasSubmitted = default, bool tabsAddedNew = default, short tabsActiveCount = default, short lastTabItemIdx = default, float itemSpacingY = default, Vector2 framePadding = default, Vector2 backupCursorPos = default, ImGuiTextBuffer tabsNames = default) { Tabs = tabs; Flags = flags; ID = id; SelectedTabId = selectedTabId; NextSelectedTabId = nextSelectedTabId; VisibleTabId = visibleTabId; CurrFrameVisible = currFrameVisible; PrevFrameVisible = prevFrameVisible; BarRect = barRect; CurrTabsContentsHeight = currTabsContentsHeight; PrevTabsContentsHeight = prevTabsContentsHeight; WidthAllTabs = widthAllTabs; WidthAllTabsIdeal = widthAllTabsIdeal; ScrollingAnim = scrollingAnim; ScrollingTarget = scrollingTarget; ScrollingTargetDistToVisibility = scrollingTargetDistToVisibility; ScrollingSpeed = scrollingSpeed; ScrollingRectMinX = scrollingRectMinX; ScrollingRectMaxX = scrollingRectMaxX; ReorderRequestTabId = reorderRequestTabId; ReorderRequestOffset = reorderRequestOffset; BeginCount = beginCount; WantLayout = wantLayout ? (byte)1 : (byte)0; VisibleTabWasSubmitted = visibleTabWasSubmitted ? (byte)1 : (byte)0; TabsAddedNew = tabsAddedNew ? (byte)1 : (byte)0; TabsActiveCount = tabsActiveCount; LastTabItemIdx = lastTabItemIdx; ItemSpacingY = itemSpacingY; FramePadding = framePadding; BackupCursorPos = backupCursorPos; TabsNames = tabsNames; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiTabBar* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiTabBarPtr : IEquatable { public ImGuiTabBarPtr(ImGuiTabBar* handle) { Handle = handle; } public ImGuiTabBar* Handle; public bool IsNull => Handle == null; public static ImGuiTabBarPtr Null => new ImGuiTabBarPtr(null); public ImGuiTabBar this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiTabBarPtr(ImGuiTabBar* handle) => new ImGuiTabBarPtr(handle); public static implicit operator ImGuiTabBar*(ImGuiTabBarPtr handle) => handle.Handle; public static bool operator ==(ImGuiTabBarPtr left, ImGuiTabBarPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiTabBarPtr left, ImGuiTabBarPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiTabBarPtr left, ImGuiTabBar* right) => left.Handle == right; public static bool operator !=(ImGuiTabBarPtr left, ImGuiTabBar* right) => left.Handle != right; public bool Equals(ImGuiTabBarPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiTabBarPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiTabBarPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref ImVector Tabs => ref Unsafe.AsRef>(&Handle->Tabs); /// /// To be documented. /// public ref ImGuiTabBarFlags Flags => ref Unsafe.AsRef(&Handle->Flags); /// /// To be documented. /// public ref uint ID => ref Unsafe.AsRef(&Handle->ID); /// /// To be documented. /// public ref uint SelectedTabId => ref Unsafe.AsRef(&Handle->SelectedTabId); /// /// To be documented. /// public ref uint NextSelectedTabId => ref Unsafe.AsRef(&Handle->NextSelectedTabId); /// /// To be documented. /// public ref uint VisibleTabId => ref Unsafe.AsRef(&Handle->VisibleTabId); /// /// To be documented. /// public ref int CurrFrameVisible => ref Unsafe.AsRef(&Handle->CurrFrameVisible); /// /// To be documented. /// public ref int PrevFrameVisible => ref Unsafe.AsRef(&Handle->PrevFrameVisible); /// /// To be documented. /// public ref ImRect BarRect => ref Unsafe.AsRef(&Handle->BarRect); /// /// To be documented. /// public ref float CurrTabsContentsHeight => ref Unsafe.AsRef(&Handle->CurrTabsContentsHeight); /// /// To be documented. /// public ref float PrevTabsContentsHeight => ref Unsafe.AsRef(&Handle->PrevTabsContentsHeight); /// /// To be documented. /// public ref float WidthAllTabs => ref Unsafe.AsRef(&Handle->WidthAllTabs); /// /// To be documented. /// public ref float WidthAllTabsIdeal => ref Unsafe.AsRef(&Handle->WidthAllTabsIdeal); /// /// To be documented. /// public ref float ScrollingAnim => ref Unsafe.AsRef(&Handle->ScrollingAnim); /// /// To be documented. /// public ref float ScrollingTarget => ref Unsafe.AsRef(&Handle->ScrollingTarget); /// /// To be documented. /// public ref float ScrollingTargetDistToVisibility => ref Unsafe.AsRef(&Handle->ScrollingTargetDistToVisibility); /// /// To be documented. /// public ref float ScrollingSpeed => ref Unsafe.AsRef(&Handle->ScrollingSpeed); /// /// To be documented. /// public ref float ScrollingRectMinX => ref Unsafe.AsRef(&Handle->ScrollingRectMinX); /// /// To be documented. /// public ref float ScrollingRectMaxX => ref Unsafe.AsRef(&Handle->ScrollingRectMaxX); /// /// To be documented. /// public ref uint ReorderRequestTabId => ref Unsafe.AsRef(&Handle->ReorderRequestTabId); /// /// To be documented. /// public ref short ReorderRequestOffset => ref Unsafe.AsRef(&Handle->ReorderRequestOffset); /// /// To be documented. /// public ref sbyte BeginCount => ref Unsafe.AsRef(&Handle->BeginCount); /// /// To be documented. /// public ref bool WantLayout => ref Unsafe.AsRef(&Handle->WantLayout); /// /// To be documented. /// public ref bool VisibleTabWasSubmitted => ref Unsafe.AsRef(&Handle->VisibleTabWasSubmitted); /// /// To be documented. /// public ref bool TabsAddedNew => ref Unsafe.AsRef(&Handle->TabsAddedNew); /// /// To be documented. /// public ref short TabsActiveCount => ref Unsafe.AsRef(&Handle->TabsActiveCount); /// /// To be documented. /// public ref short LastTabItemIdx => ref Unsafe.AsRef(&Handle->LastTabItemIdx); /// /// To be documented. /// public ref float ItemSpacingY => ref Unsafe.AsRef(&Handle->ItemSpacingY); /// /// To be documented. /// public ref Vector2 FramePadding => ref Unsafe.AsRef(&Handle->FramePadding); /// /// To be documented. /// public ref Vector2 BackupCursorPos => ref Unsafe.AsRef(&Handle->BackupCursorPos); /// /// To be documented. /// public ref ImGuiTextBuffer TabsNames => ref Unsafe.AsRef(&Handle->TabsNames); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }