// ------------------------------------------------------------------------------
//
// 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 ImGuiStackSizes
{
///
/// To be documented.
///
public short SizeOfIDStack;
///
/// To be documented.
///
public short SizeOfColorStack;
///
/// To be documented.
///
public short SizeOfStyleVarStack;
///
/// To be documented.
///
public short SizeOfFontStack;
///
/// To be documented.
///
public short SizeOfFocusScopeStack;
///
/// To be documented.
///
public short SizeOfGroupStack;
///
/// To be documented.
///
public short SizeOfItemFlagsStack;
///
/// To be documented.
///
public short SizeOfBeginPopupStack;
///
/// To be documented.
///
public short SizeOfDisabledStack;
///
/// To be documented.
///
public unsafe ImGuiStackSizes(short sizeOfIdStack = default, short sizeOfColorStack = default, short sizeOfStyleVarStack = default, short sizeOfFontStack = default, short sizeOfFocusScopeStack = default, short sizeOfGroupStack = default, short sizeOfItemFlagsStack = default, short sizeOfBeginPopupStack = default, short sizeOfDisabledStack = default)
{
SizeOfIDStack = sizeOfIdStack;
SizeOfColorStack = sizeOfColorStack;
SizeOfStyleVarStack = sizeOfStyleVarStack;
SizeOfFontStack = sizeOfFontStack;
SizeOfFocusScopeStack = sizeOfFocusScopeStack;
SizeOfGroupStack = sizeOfGroupStack;
SizeOfItemFlagsStack = sizeOfItemFlagsStack;
SizeOfBeginPopupStack = sizeOfBeginPopupStack;
SizeOfDisabledStack = sizeOfDisabledStack;
}
///
/// To be documented.
///
public unsafe void Destroy()
{
fixed (ImGuiStackSizes* @this = &this)
{
ImGui.DestroyNative(@this);
}
}
}
///
/// To be documented.
///
#if NET5_0_OR_GREATER
[DebuggerDisplay("{DebuggerDisplay,nq}")]
#endif
public unsafe struct ImGuiStackSizesPtr : IEquatable
{
public ImGuiStackSizesPtr(ImGuiStackSizes* handle) { Handle = handle; }
public ImGuiStackSizes* Handle;
public bool IsNull => Handle == null;
public static ImGuiStackSizesPtr Null => new ImGuiStackSizesPtr(null);
public ImGuiStackSizes this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImGuiStackSizesPtr(ImGuiStackSizes* handle) => new ImGuiStackSizesPtr(handle);
public static implicit operator ImGuiStackSizes*(ImGuiStackSizesPtr handle) => handle.Handle;
public static bool operator ==(ImGuiStackSizesPtr left, ImGuiStackSizesPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImGuiStackSizesPtr left, ImGuiStackSizesPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImGuiStackSizesPtr left, ImGuiStackSizes* right) => left.Handle == right;
public static bool operator !=(ImGuiStackSizesPtr left, ImGuiStackSizes* right) => left.Handle != right;
public bool Equals(ImGuiStackSizesPtr other) => Handle == other.Handle;
///
public override bool Equals(object obj) => obj is ImGuiStackSizesPtr handle && Equals(handle);
///
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
#if NET5_0_OR_GREATER
private string DebuggerDisplay => string.Format("ImGuiStackSizesPtr [0x{0}]", ((nuint)Handle).ToString("X"));
#endif
///
/// To be documented.
///
public ref short SizeOfIDStack => ref Unsafe.AsRef(&Handle->SizeOfIDStack);
///
/// To be documented.
///
public ref short SizeOfColorStack => ref Unsafe.AsRef(&Handle->SizeOfColorStack);
///
/// To be documented.
///
public ref short SizeOfStyleVarStack => ref Unsafe.AsRef(&Handle->SizeOfStyleVarStack);
///
/// To be documented.
///
public ref short SizeOfFontStack => ref Unsafe.AsRef(&Handle->SizeOfFontStack);
///
/// To be documented.
///
public ref short SizeOfFocusScopeStack => ref Unsafe.AsRef(&Handle->SizeOfFocusScopeStack);
///
/// To be documented.
///
public ref short SizeOfGroupStack => ref Unsafe.AsRef(&Handle->SizeOfGroupStack);
///
/// To be documented.
///
public ref short SizeOfItemFlagsStack => ref Unsafe.AsRef(&Handle->SizeOfItemFlagsStack);
///
/// To be documented.
///
public ref short SizeOfBeginPopupStack => ref Unsafe.AsRef(&Handle->SizeOfBeginPopupStack);
///
/// To be documented.
///
public ref short SizeOfDisabledStack => ref Unsafe.AsRef(&Handle->SizeOfDisabledStack);
///
/// To be documented.
///
public unsafe void Destroy()
{
ImGui.DestroyNative(Handle);
}
}
}