// ------------------------------------------------------------------------------ // // 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 ImGuiNextItemData { /// /// To be documented. /// public ImGuiNextItemDataFlags Flags; /// /// To be documented. /// public float Width; /// /// To be documented. /// public uint FocusScopeId; /// /// To be documented. /// public ImGuiCond OpenCond; /// /// To be documented. /// public byte OpenVal; /// /// To be documented. /// public unsafe ImGuiNextItemData(ImGuiNextItemDataFlags flags = default, float width = default, uint focusScopeId = default, ImGuiCond openCond = default, bool openVal = default) { Flags = flags; Width = width; FocusScopeId = focusScopeId; OpenCond = openCond; OpenVal = openVal ? (byte)1 : (byte)0; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiNextItemData* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiNextItemDataPtr : IEquatable { public ImGuiNextItemDataPtr(ImGuiNextItemData* handle) { Handle = handle; } public ImGuiNextItemData* Handle; public bool IsNull => Handle == null; public static ImGuiNextItemDataPtr Null => new ImGuiNextItemDataPtr(null); public ImGuiNextItemData this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiNextItemDataPtr(ImGuiNextItemData* handle) => new ImGuiNextItemDataPtr(handle); public static implicit operator ImGuiNextItemData*(ImGuiNextItemDataPtr handle) => handle.Handle; public static bool operator ==(ImGuiNextItemDataPtr left, ImGuiNextItemDataPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiNextItemDataPtr left, ImGuiNextItemDataPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiNextItemDataPtr left, ImGuiNextItemData* right) => left.Handle == right; public static bool operator !=(ImGuiNextItemDataPtr left, ImGuiNextItemData* right) => left.Handle != right; public bool Equals(ImGuiNextItemDataPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiNextItemDataPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiNextItemDataPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref ImGuiNextItemDataFlags Flags => ref Unsafe.AsRef(&Handle->Flags); /// /// To be documented. /// public ref float Width => ref Unsafe.AsRef(&Handle->Width); /// /// To be documented. /// public ref uint FocusScopeId => ref Unsafe.AsRef(&Handle->FocusScopeId); /// /// To be documented. /// public ref ImGuiCond OpenCond => ref Unsafe.AsRef(&Handle->OpenCond); /// /// To be documented. /// public ref bool OpenVal => ref Unsafe.AsRef(&Handle->OpenVal); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }