// ------------------------------------------------------------------------------
//
// 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
{
///
/// sizeof() 156~192
///
[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;
///
/// To be documented.
///
public ImGuiDataAuthority AuthorityForPos;
///
/// To be documented.
///
public ImGuiDataAuthority AuthorityForSize;
///
/// To be documented.
///
public ImGuiDataAuthority AuthorityForViewport;
///
/// To be documented.
///
public byte IsVisible;
///
/// To be documented.
///
public byte IsFocused;
///
/// To be documented.
///
public byte IsBgDrawnThisFrame;
///
/// To be documented.
///
public byte HasCloseButton;
///
/// To be documented.
///
public byte HasWindowMenuButton;
///
/// To be documented.
///
public byte HasCentralNodeChild;
///
/// To be documented.
///
public byte WantCloseAll;
///
/// To be documented.
///
public byte WantLockSizeOnce;
///
/// To be documented.
///
public byte WantMouseMove;
///
/// To be documented.
///
public byte WantHiddenTabBarUpdate;
///
/// To be documented.
///
public byte 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, 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 ? (byte)1 : (byte)0;
IsFocused = isFocused ? (byte)1 : (byte)0;
IsBgDrawnThisFrame = isBgDrawnThisFrame ? (byte)1 : (byte)0;
HasCloseButton = hasCloseButton ? (byte)1 : (byte)0;
HasWindowMenuButton = hasWindowMenuButton ? (byte)1 : (byte)0;
HasCentralNodeChild = hasCentralNodeChild ? (byte)1 : (byte)0;
WantCloseAll = wantCloseAll ? (byte)1 : (byte)0;
WantLockSizeOnce = wantLockSizeOnce ? (byte)1 : (byte)0;
WantMouseMove = wantMouseMove ? (byte)1 : (byte)0;
WantHiddenTabBarUpdate = wantHiddenTabBarUpdate ? (byte)1 : (byte)0;
WantHiddenTabBarToggle = wantHiddenTabBarToggle ? (byte)1 : (byte)0;
}
///
/// 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 ? (byte)1 : (byte)0;
IsFocused = isFocused ? (byte)1 : (byte)0;
IsBgDrawnThisFrame = isBgDrawnThisFrame ? (byte)1 : (byte)0;
HasCloseButton = hasCloseButton ? (byte)1 : (byte)0;
HasWindowMenuButton = hasWindowMenuButton ? (byte)1 : (byte)0;
HasCentralNodeChild = hasCentralNodeChild ? (byte)1 : (byte)0;
WantCloseAll = wantCloseAll ? (byte)1 : (byte)0;
WantLockSizeOnce = wantLockSizeOnce ? (byte)1 : (byte)0;
WantMouseMove = wantMouseMove ? (byte)1 : (byte)0;
WantHiddenTabBarUpdate = wantHiddenTabBarUpdate ? (byte)1 : (byte)0;
WantHiddenTabBarToggle = wantHiddenTabBarToggle ? (byte)1 : (byte)0;
}
///
/// 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 ref ImGuiDataAuthority AuthorityForPos => ref Unsafe.AsRef(&Handle->AuthorityForPos);
///
/// To be documented.
///
public ref ImGuiDataAuthority AuthorityForSize => ref Unsafe.AsRef(&Handle->AuthorityForSize);
///
/// To be documented.
///
public ref ImGuiDataAuthority AuthorityForViewport => ref Unsafe.AsRef(&Handle->AuthorityForViewport);
///
/// To be documented.
///
public ref bool IsVisible => ref Unsafe.AsRef(&Handle->IsVisible);
///
/// To be documented.
///
public ref bool IsFocused => ref Unsafe.AsRef(&Handle->IsFocused);
///
/// To be documented.
///
public ref bool IsBgDrawnThisFrame => ref Unsafe.AsRef(&Handle->IsBgDrawnThisFrame);
///
/// To be documented.
///
public ref bool HasCloseButton => ref Unsafe.AsRef(&Handle->HasCloseButton);
///
/// To be documented.
///
public ref bool HasWindowMenuButton => ref Unsafe.AsRef(&Handle->HasWindowMenuButton);
///
/// To be documented.
///
public ref bool HasCentralNodeChild => ref Unsafe.AsRef(&Handle->HasCentralNodeChild);
///
/// To be documented.
///
public ref bool WantCloseAll => ref Unsafe.AsRef(&Handle->WantCloseAll);
///
/// To be documented.
///
public ref bool WantLockSizeOnce => ref Unsafe.AsRef(&Handle->WantLockSizeOnce);
///
/// To be documented.
///
public ref bool WantMouseMove => ref Unsafe.AsRef(&Handle->WantMouseMove);
///
/// To be documented.
///
public ref bool WantHiddenTabBarUpdate => ref Unsafe.AsRef(&Handle->WantHiddenTabBarUpdate);
///
/// To be documented.
///
public ref bool WantHiddenTabBarToggle => ref Unsafe.AsRef(&Handle->WantHiddenTabBarToggle);
}
}