// ------------------------------------------------------------------------------ // // 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 ImGuiWindowClass { /// /// To be documented. /// public uint ClassId; /// /// To be documented. /// public uint ParentViewportId; /// /// To be documented. /// public ImGuiViewportFlags ViewportFlagsOverrideSet; /// /// To be documented. /// public ImGuiViewportFlags ViewportFlagsOverrideClear; /// /// To be documented. /// public ImGuiTabItemFlags TabItemFlagsOverrideSet; /// /// To be documented. /// public ImGuiDockNodeFlags DockNodeFlagsOverrideSet; /// /// To be documented. /// public byte DockingAlwaysTabBar; /// /// To be documented. /// public byte DockingAllowUnclassed; /// /// To be documented. /// public unsafe ImGuiWindowClass(uint classId = default, uint parentViewportId = default, ImGuiViewportFlags viewportFlagsOverrideSet = default, ImGuiViewportFlags viewportFlagsOverrideClear = default, ImGuiTabItemFlags tabItemFlagsOverrideSet = default, ImGuiDockNodeFlags dockNodeFlagsOverrideSet = default, bool dockingAlwaysTabBar = default, bool dockingAllowUnclassed = default) { ClassId = classId; ParentViewportId = parentViewportId; ViewportFlagsOverrideSet = viewportFlagsOverrideSet; ViewportFlagsOverrideClear = viewportFlagsOverrideClear; TabItemFlagsOverrideSet = tabItemFlagsOverrideSet; DockNodeFlagsOverrideSet = dockNodeFlagsOverrideSet; DockingAlwaysTabBar = dockingAlwaysTabBar ? (byte)1 : (byte)0; DockingAllowUnclassed = dockingAllowUnclassed ? (byte)1 : (byte)0; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiWindowClass* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiWindowClassPtr : IEquatable { public ImGuiWindowClassPtr(ImGuiWindowClass* handle) { Handle = handle; } public ImGuiWindowClass* Handle; public bool IsNull => Handle == null; public static ImGuiWindowClassPtr Null => new ImGuiWindowClassPtr(null); public ImGuiWindowClass this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiWindowClassPtr(ImGuiWindowClass* handle) => new ImGuiWindowClassPtr(handle); public static implicit operator ImGuiWindowClass*(ImGuiWindowClassPtr handle) => handle.Handle; public static bool operator ==(ImGuiWindowClassPtr left, ImGuiWindowClassPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiWindowClassPtr left, ImGuiWindowClassPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiWindowClassPtr left, ImGuiWindowClass* right) => left.Handle == right; public static bool operator !=(ImGuiWindowClassPtr left, ImGuiWindowClass* right) => left.Handle != right; public bool Equals(ImGuiWindowClassPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiWindowClassPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiWindowClassPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref uint ClassId => ref Unsafe.AsRef(&Handle->ClassId); /// /// To be documented. /// public ref uint ParentViewportId => ref Unsafe.AsRef(&Handle->ParentViewportId); /// /// To be documented. /// public ref ImGuiViewportFlags ViewportFlagsOverrideSet => ref Unsafe.AsRef(&Handle->ViewportFlagsOverrideSet); /// /// To be documented. /// public ref ImGuiViewportFlags ViewportFlagsOverrideClear => ref Unsafe.AsRef(&Handle->ViewportFlagsOverrideClear); /// /// To be documented. /// public ref ImGuiTabItemFlags TabItemFlagsOverrideSet => ref Unsafe.AsRef(&Handle->TabItemFlagsOverrideSet); /// /// To be documented. /// public ref ImGuiDockNodeFlags DockNodeFlagsOverrideSet => ref Unsafe.AsRef(&Handle->DockNodeFlagsOverrideSet); /// /// To be documented. /// public ref bool DockingAlwaysTabBar => ref Unsafe.AsRef(&Handle->DockingAlwaysTabBar); /// /// To be documented. /// public ref bool DockingAllowUnclassed => ref Unsafe.AsRef(&Handle->DockingAllowUnclassed); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }