// ------------------------------------------------------------------------------ // // 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 ImGuiDockNode { /// /// To be documented. /// public uint ID; /// /// To be documented. /// public ImGuiDockNodeFlags SharedFlags; /// /// To be documented. /// public ImGuiDockNodeFlags LocalFlags; /// /// To be documented. /// public ImGuiDockNodeFlags LocalFlagsInWindows; /// /// To be documented. /// public ImGuiDockNodeFlags MergedFlags; /// /// To be documented. /// public ImGuiDockNodeState State; /// /// To be documented. /// public unsafe ImGuiDockNode* ParentNode; /// /// To be documented. /// public unsafe ImGuiDockNode* ChildNodes_0; public unsafe ImGuiDockNode* ChildNodes_1; /// /// To be documented. /// public ImVector Windows; /// /// To be documented. /// public unsafe ImGuiTabBar* TabBar; /// /// To be documented. /// public Vector2 Pos; /// /// To be documented. /// public Vector2 Size; /// /// To be documented. /// public Vector2 SizeRef; /// /// To be documented. /// public ImGuiAxis SplitAxis; /// /// To be documented. /// public ImGuiWindowClass WindowClass; /// /// To be documented. /// public uint LastBgColor; /// /// To be documented. /// public unsafe ImGuiWindow* HostWindow; /// /// To be documented. /// public unsafe ImGuiWindow* VisibleWindow; /// /// To be documented. /// public unsafe ImGuiDockNode* CentralNode; /// /// To be documented. /// public unsafe ImGuiDockNode* OnlyNodeWithWindows; /// /// To be documented. /// public int CountNodeWithWindows; /// /// To be documented. /// public int LastFrameAlive; /// /// To be documented. /// public int LastFrameActive; /// /// To be documented. /// public int LastFrameFocused; /// /// To be documented. /// public uint LastFocusedNodeId; /// /// To be documented. /// public uint SelectedTabId; /// /// To be documented. /// public uint WantCloseTabId; public ImGuiDataAuthority RawBits0; public bool RawBits1; public bool RawBits2; /// /// To be documented. /// public unsafe ImGuiDockNode(uint id = default, ImGuiDockNodeFlags sharedFlags = default, ImGuiDockNodeFlags localFlags = default, ImGuiDockNodeFlags localFlagsInWindows = default, ImGuiDockNodeFlags mergedFlags = default, ImGuiDockNodeState state = default, ImGuiDockNode* parentNode = default, ImGuiDockNode** childNodes = default, ImVector windows = default, ImGuiTabBar* tabBar = default, Vector2 pos = default, Vector2 size = default, Vector2 sizeRef = default, ImGuiAxis splitAxis = default, ImGuiWindowClass windowClass = default, uint lastBgColor = default, ImGuiWindowPtr hostWindow = default, ImGuiWindowPtr visibleWindow = default, ImGuiDockNode* centralNode = default, ImGuiDockNode* onlyNodeWithWindows = default, int countNodeWithWindows = default, int lastFrameAlive = default, int lastFrameActive = default, int lastFrameFocused = default, uint lastFocusedNodeId = default, uint selectedTabId = default, uint wantCloseTabId = default, ImGuiDataAuthority authorityForPos = default, ImGuiDataAuthority authorityForSize = default, ImGuiDataAuthority authorityForViewport = default, bool isVisible = default, bool isFocused = default, bool isBgDrawnThisFrame = default, bool hasCloseButton = default, bool hasWindowMenuButton = default, bool hasCentralNodeChild = default, bool wantCloseAll = default, bool wantLockSizeOnce = default, bool wantMouseMove = default, bool wantHiddenTabBarUpdate = default, bool wantHiddenTabBarToggle = default) { ID = id; SharedFlags = sharedFlags; LocalFlags = localFlags; LocalFlagsInWindows = localFlagsInWindows; MergedFlags = mergedFlags; State = state; ParentNode = parentNode; if (childNodes != default(ImGuiDockNode**)) { ChildNodes_0 = childNodes[0]; ChildNodes_1 = childNodes[1]; } Windows = windows; TabBar = tabBar; Pos = pos; Size = size; SizeRef = sizeRef; SplitAxis = splitAxis; WindowClass = windowClass; LastBgColor = lastBgColor; HostWindow = hostWindow; VisibleWindow = visibleWindow; CentralNode = centralNode; OnlyNodeWithWindows = onlyNodeWithWindows; CountNodeWithWindows = countNodeWithWindows; LastFrameAlive = lastFrameAlive; LastFrameActive = lastFrameActive; LastFrameFocused = lastFrameFocused; LastFocusedNodeId = lastFocusedNodeId; SelectedTabId = selectedTabId; WantCloseTabId = wantCloseTabId; AuthorityForPos = authorityForPos; AuthorityForSize = authorityForSize; AuthorityForViewport = authorityForViewport; IsVisible = isVisible; IsFocused = isFocused; IsBgDrawnThisFrame = isBgDrawnThisFrame; HasCloseButton = hasCloseButton; HasWindowMenuButton = hasWindowMenuButton; HasCentralNodeChild = hasCentralNodeChild; WantCloseAll = wantCloseAll; WantLockSizeOnce = wantLockSizeOnce; WantMouseMove = wantMouseMove; WantHiddenTabBarUpdate = wantHiddenTabBarUpdate; WantHiddenTabBarToggle = wantHiddenTabBarToggle; } /// /// To be documented. /// public unsafe ImGuiDockNode(uint id = default, ImGuiDockNodeFlags sharedFlags = default, ImGuiDockNodeFlags localFlags = default, ImGuiDockNodeFlags localFlagsInWindows = default, ImGuiDockNodeFlags mergedFlags = default, ImGuiDockNodeState state = default, ImGuiDockNode* parentNode = default, Span> childNodes = default, ImVector windows = default, ImGuiTabBar* tabBar = default, Vector2 pos = default, Vector2 size = default, Vector2 sizeRef = default, ImGuiAxis splitAxis = default, ImGuiWindowClass windowClass = default, uint lastBgColor = default, ImGuiWindowPtr hostWindow = default, ImGuiWindowPtr visibleWindow = default, ImGuiDockNode* centralNode = default, ImGuiDockNode* onlyNodeWithWindows = default, int countNodeWithWindows = default, int lastFrameAlive = default, int lastFrameActive = default, int lastFrameFocused = default, uint lastFocusedNodeId = default, uint selectedTabId = default, uint wantCloseTabId = default, ImGuiDataAuthority authorityForPos = default, ImGuiDataAuthority authorityForSize = default, ImGuiDataAuthority authorityForViewport = default, bool isVisible = default, bool isFocused = default, bool isBgDrawnThisFrame = default, bool hasCloseButton = default, bool hasWindowMenuButton = default, bool hasCentralNodeChild = default, bool wantCloseAll = default, bool wantLockSizeOnce = default, bool wantMouseMove = default, bool wantHiddenTabBarUpdate = default, bool wantHiddenTabBarToggle = default) { ID = id; SharedFlags = sharedFlags; LocalFlags = localFlags; LocalFlagsInWindows = localFlagsInWindows; MergedFlags = mergedFlags; State = state; ParentNode = parentNode; if (childNodes != default(Span>)) { ChildNodes_0 = childNodes[0]; ChildNodes_1 = childNodes[1]; } Windows = windows; TabBar = tabBar; Pos = pos; Size = size; SizeRef = sizeRef; SplitAxis = splitAxis; WindowClass = windowClass; LastBgColor = lastBgColor; HostWindow = hostWindow; VisibleWindow = visibleWindow; CentralNode = centralNode; OnlyNodeWithWindows = onlyNodeWithWindows; CountNodeWithWindows = countNodeWithWindows; LastFrameAlive = lastFrameAlive; LastFrameActive = lastFrameActive; LastFrameFocused = lastFrameFocused; LastFocusedNodeId = lastFocusedNodeId; SelectedTabId = selectedTabId; WantCloseTabId = wantCloseTabId; AuthorityForPos = authorityForPos; AuthorityForSize = authorityForSize; AuthorityForViewport = authorityForViewport; IsVisible = isVisible; IsFocused = isFocused; IsBgDrawnThisFrame = isBgDrawnThisFrame; HasCloseButton = hasCloseButton; HasWindowMenuButton = hasWindowMenuButton; HasCentralNodeChild = hasCentralNodeChild; WantCloseAll = wantCloseAll; WantLockSizeOnce = wantLockSizeOnce; WantMouseMove = wantMouseMove; WantHiddenTabBarUpdate = wantHiddenTabBarUpdate; WantHiddenTabBarToggle = wantHiddenTabBarToggle; } public ImGuiDataAuthority AuthorityForPos { get => Bitfield.Get(RawBits0, 0, 3); set => Bitfield.Set(ref RawBits0, value, 0, 3); } public ImGuiDataAuthority AuthorityForSize { get => Bitfield.Get(RawBits0, 3, 3); set => Bitfield.Set(ref RawBits0, value, 3, 3); } public ImGuiDataAuthority AuthorityForViewport { get => Bitfield.Get(RawBits0, 6, 3); set => Bitfield.Set(ref RawBits0, value, 6, 3); } public bool IsVisible { get => Bitfield.Get(RawBits1, 0, 1); set => Bitfield.Set(ref RawBits1, value, 0, 1); } public bool IsFocused { get => Bitfield.Get(RawBits1, 1, 1); set => Bitfield.Set(ref RawBits1, value, 1, 1); } public bool IsBgDrawnThisFrame { get => Bitfield.Get(RawBits1, 2, 1); set => Bitfield.Set(ref RawBits1, value, 2, 1); } public bool HasCloseButton { get => Bitfield.Get(RawBits1, 3, 1); set => Bitfield.Set(ref RawBits1, value, 3, 1); } public bool HasWindowMenuButton { get => Bitfield.Get(RawBits1, 4, 1); set => Bitfield.Set(ref RawBits1, value, 4, 1); } public bool HasCentralNodeChild { get => Bitfield.Get(RawBits1, 5, 1); set => Bitfield.Set(ref RawBits1, value, 5, 1); } public bool WantCloseAll { get => Bitfield.Get(RawBits1, 6, 1); set => Bitfield.Set(ref RawBits1, value, 6, 1); } public bool WantLockSizeOnce { get => Bitfield.Get(RawBits1, 7, 1); set => Bitfield.Set(ref RawBits1, value, 7, 1); } public bool WantMouseMove { get => Bitfield.Get(RawBits2, 0, 1); set => Bitfield.Set(ref RawBits2, value, 0, 1); } public bool WantHiddenTabBarUpdate { get => Bitfield.Get(RawBits2, 1, 1); set => Bitfield.Set(ref RawBits2, value, 1, 1); } public bool WantHiddenTabBarToggle { get => Bitfield.Get(RawBits2, 2, 1); set => Bitfield.Set(ref RawBits2, value, 2, 1); } /// /// To be documented. /// public unsafe Span> ChildNodes { get { fixed (ImGuiDockNode** p = &this.ChildNodes_0) { return new Span>(p, 2); } } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiDockNodePtr : IEquatable { public ImGuiDockNodePtr(ImGuiDockNode* handle) { Handle = handle; } public ImGuiDockNode* Handle; public bool IsNull => Handle == null; public static ImGuiDockNodePtr Null => new ImGuiDockNodePtr(null); public ImGuiDockNode this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiDockNodePtr(ImGuiDockNode* handle) => new ImGuiDockNodePtr(handle); public static implicit operator ImGuiDockNode*(ImGuiDockNodePtr handle) => handle.Handle; public static bool operator ==(ImGuiDockNodePtr left, ImGuiDockNodePtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiDockNodePtr left, ImGuiDockNodePtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiDockNodePtr left, ImGuiDockNode* right) => left.Handle == right; public static bool operator !=(ImGuiDockNodePtr left, ImGuiDockNode* right) => left.Handle != right; public bool Equals(ImGuiDockNodePtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiDockNodePtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiDockNodePtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref uint ID => ref Unsafe.AsRef(&Handle->ID); /// /// To be documented. /// public ref ImGuiDockNodeFlags SharedFlags => ref Unsafe.AsRef(&Handle->SharedFlags); /// /// To be documented. /// public ref ImGuiDockNodeFlags LocalFlags => ref Unsafe.AsRef(&Handle->LocalFlags); /// /// To be documented. /// public ref ImGuiDockNodeFlags LocalFlagsInWindows => ref Unsafe.AsRef(&Handle->LocalFlagsInWindows); /// /// To be documented. /// public ref ImGuiDockNodeFlags MergedFlags => ref Unsafe.AsRef(&Handle->MergedFlags); /// /// To be documented. /// public ref ImGuiDockNodeState State => ref Unsafe.AsRef(&Handle->State); /// /// To be documented. /// public ref ImGuiDockNodePtr ParentNode => ref Unsafe.AsRef(&Handle->ParentNode); /// /// To be documented. /// /// /// To be documented. /// public ref ImVector Windows => ref Unsafe.AsRef>(&Handle->Windows); /// /// To be documented. /// public ref ImGuiTabBarPtr TabBar => ref Unsafe.AsRef(&Handle->TabBar); /// /// To be documented. /// public ref Vector2 Pos => ref Unsafe.AsRef(&Handle->Pos); /// /// To be documented. /// public ref Vector2 Size => ref Unsafe.AsRef(&Handle->Size); /// /// To be documented. /// public ref Vector2 SizeRef => ref Unsafe.AsRef(&Handle->SizeRef); /// /// To be documented. /// public ref ImGuiAxis SplitAxis => ref Unsafe.AsRef(&Handle->SplitAxis); /// /// To be documented. /// public ref ImGuiWindowClass WindowClass => ref Unsafe.AsRef(&Handle->WindowClass); /// /// To be documented. /// public ref uint LastBgColor => ref Unsafe.AsRef(&Handle->LastBgColor); /// /// To be documented. /// public ref ImGuiWindowPtr HostWindow => ref Unsafe.AsRef(&Handle->HostWindow); /// /// To be documented. /// public ref ImGuiWindowPtr VisibleWindow => ref Unsafe.AsRef(&Handle->VisibleWindow); /// /// To be documented. /// public ref ImGuiDockNodePtr CentralNode => ref Unsafe.AsRef(&Handle->CentralNode); /// /// To be documented. /// public ref ImGuiDockNodePtr OnlyNodeWithWindows => ref Unsafe.AsRef(&Handle->OnlyNodeWithWindows); /// /// To be documented. /// public ref int CountNodeWithWindows => ref Unsafe.AsRef(&Handle->CountNodeWithWindows); /// /// To be documented. /// public ref int LastFrameAlive => ref Unsafe.AsRef(&Handle->LastFrameAlive); /// /// To be documented. /// public ref int LastFrameActive => ref Unsafe.AsRef(&Handle->LastFrameActive); /// /// To be documented. /// public ref int LastFrameFocused => ref Unsafe.AsRef(&Handle->LastFrameFocused); /// /// To be documented. /// public ref uint LastFocusedNodeId => ref Unsafe.AsRef(&Handle->LastFocusedNodeId); /// /// To be documented. /// public ref uint SelectedTabId => ref Unsafe.AsRef(&Handle->SelectedTabId); /// /// To be documented. /// public ref uint WantCloseTabId => ref Unsafe.AsRef(&Handle->WantCloseTabId); /// /// To be documented. /// public ImGuiDataAuthority AuthorityForPos { get => Handle->AuthorityForPos; set => Handle->AuthorityForPos = value; } /// /// To be documented. /// public ImGuiDataAuthority AuthorityForSize { get => Handle->AuthorityForSize; set => Handle->AuthorityForSize = value; } /// /// To be documented. /// public ImGuiDataAuthority AuthorityForViewport { get => Handle->AuthorityForViewport; set => Handle->AuthorityForViewport = value; } /// /// To be documented. /// public bool IsVisible { get => Handle->IsVisible; set => Handle->IsVisible = value; } /// /// To be documented. /// public bool IsFocused { get => Handle->IsFocused; set => Handle->IsFocused = value; } /// /// To be documented. /// public bool IsBgDrawnThisFrame { get => Handle->IsBgDrawnThisFrame; set => Handle->IsBgDrawnThisFrame = value; } /// /// To be documented. /// public bool HasCloseButton { get => Handle->HasCloseButton; set => Handle->HasCloseButton = value; } /// /// To be documented. /// public bool HasWindowMenuButton { get => Handle->HasWindowMenuButton; set => Handle->HasWindowMenuButton = value; } /// /// To be documented. /// public bool HasCentralNodeChild { get => Handle->HasCentralNodeChild; set => Handle->HasCentralNodeChild = value; } /// /// To be documented. /// public bool WantCloseAll { get => Handle->WantCloseAll; set => Handle->WantCloseAll = value; } /// /// To be documented. /// public bool WantLockSizeOnce { get => Handle->WantLockSizeOnce; set => Handle->WantLockSizeOnce = value; } /// /// To be documented. /// public bool WantMouseMove { get => Handle->WantMouseMove; set => Handle->WantMouseMove = value; } /// /// To be documented. /// public bool WantHiddenTabBarUpdate { get => Handle->WantHiddenTabBarUpdate; set => Handle->WantHiddenTabBarUpdate = value; } /// /// To be documented. /// public bool WantHiddenTabBarToggle { get => Handle->WantHiddenTabBarToggle; set => Handle->WantHiddenTabBarToggle = value; } } }