// ------------------------------------------------------------------------------
//
// 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 ImGuiMenuColumns
{
///
/// To be documented.
///
public uint TotalWidth;
///
/// To be documented.
///
public uint NextTotalWidth;
///
/// To be documented.
///
public ushort Spacing;
///
/// To be documented.
///
public ushort OffsetIcon;
///
/// To be documented.
///
public ushort OffsetLabel;
///
/// To be documented.
///
public ushort OffsetShortcut;
///
/// To be documented.
///
public ushort OffsetMark;
///
/// To be documented.
///
public ushort Widths_0;
public ushort Widths_1;
public ushort Widths_2;
public ushort Widths_3;
///
/// To be documented.
///
public unsafe ImGuiMenuColumns(uint totalWidth = default, uint nextTotalWidth = default, ushort spacing = default, ushort offsetIcon = default, ushort offsetLabel = default, ushort offsetShortcut = default, ushort offsetMark = default, ushort* widths = default)
{
TotalWidth = totalWidth;
NextTotalWidth = nextTotalWidth;
Spacing = spacing;
OffsetIcon = offsetIcon;
OffsetLabel = offsetLabel;
OffsetShortcut = offsetShortcut;
OffsetMark = offsetMark;
if (widths != default(ushort*))
{
Widths_0 = widths[0];
Widths_1 = widths[1];
Widths_2 = widths[2];
Widths_3 = widths[3];
}
}
///
/// To be documented.
///
public unsafe ImGuiMenuColumns(uint totalWidth = default, uint nextTotalWidth = default, ushort spacing = default, ushort offsetIcon = default, ushort offsetLabel = default, ushort offsetShortcut = default, ushort offsetMark = default, Span widths = default)
{
TotalWidth = totalWidth;
NextTotalWidth = nextTotalWidth;
Spacing = spacing;
OffsetIcon = offsetIcon;
OffsetLabel = offsetLabel;
OffsetShortcut = offsetShortcut;
OffsetMark = offsetMark;
if (widths != default(Span))
{
Widths_0 = widths[0];
Widths_1 = widths[1];
Widths_2 = widths[2];
Widths_3 = widths[3];
}
}
///
/// To be documented.
///
public unsafe void Destroy()
{
fixed (ImGuiMenuColumns* @this = &this)
{
ImGui.DestroyNative(@this);
}
}
}
///
/// To be documented.
///
#if NET5_0_OR_GREATER
[DebuggerDisplay("{DebuggerDisplay,nq}")]
#endif
public unsafe struct ImGuiMenuColumnsPtr : IEquatable
{
public ImGuiMenuColumnsPtr(ImGuiMenuColumns* handle) { Handle = handle; }
public ImGuiMenuColumns* Handle;
public bool IsNull => Handle == null;
public static ImGuiMenuColumnsPtr Null => new ImGuiMenuColumnsPtr(null);
public ImGuiMenuColumns this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImGuiMenuColumnsPtr(ImGuiMenuColumns* handle) => new ImGuiMenuColumnsPtr(handle);
public static implicit operator ImGuiMenuColumns*(ImGuiMenuColumnsPtr handle) => handle.Handle;
public static bool operator ==(ImGuiMenuColumnsPtr left, ImGuiMenuColumnsPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImGuiMenuColumnsPtr left, ImGuiMenuColumnsPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImGuiMenuColumnsPtr left, ImGuiMenuColumns* right) => left.Handle == right;
public static bool operator !=(ImGuiMenuColumnsPtr left, ImGuiMenuColumns* right) => left.Handle != right;
public bool Equals(ImGuiMenuColumnsPtr other) => Handle == other.Handle;
///
public override bool Equals(object obj) => obj is ImGuiMenuColumnsPtr handle && Equals(handle);
///
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
#if NET5_0_OR_GREATER
private string DebuggerDisplay => string.Format("ImGuiMenuColumnsPtr [0x{0}]", ((nuint)Handle).ToString("X"));
#endif
///
/// To be documented.
///
public ref uint TotalWidth => ref Unsafe.AsRef(&Handle->TotalWidth);
///
/// To be documented.
///
public ref uint NextTotalWidth => ref Unsafe.AsRef(&Handle->NextTotalWidth);
///
/// To be documented.
///
public ref ushort Spacing => ref Unsafe.AsRef(&Handle->Spacing);
///
/// To be documented.
///
public ref ushort OffsetIcon => ref Unsafe.AsRef(&Handle->OffsetIcon);
///
/// To be documented.
///
public ref ushort OffsetLabel => ref Unsafe.AsRef(&Handle->OffsetLabel);
///
/// To be documented.
///
public ref ushort OffsetShortcut => ref Unsafe.AsRef(&Handle->OffsetShortcut);
///
/// To be documented.
///
public ref ushort OffsetMark => ref Unsafe.AsRef(&Handle->OffsetMark);
///
/// To be documented.
///
public unsafe Span Widths
{
get
{
return new Span(&Handle->Widths_0, 4);
}
}
///
/// To be documented.
///
public unsafe void Destroy()
{
ImGui.DestroyNative(Handle);
}
}
}