// ------------------------------------------------------------------------------ // // 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 ImGuiNavItemData { /// /// To be documented. /// public unsafe ImGuiWindow* Window; /// /// To be documented. /// public uint ID; /// /// To be documented. /// public uint FocusScopeId; /// /// To be documented. /// public ImRect RectRel; /// /// To be documented. /// public ImGuiItemFlags InFlags; /// /// To be documented. /// public float DistBox; /// /// To be documented. /// public float DistCenter; /// /// To be documented. /// public float DistAxial; /// /// To be documented. /// public unsafe ImGuiNavItemData(ImGuiWindowPtr window = default, uint id = default, uint focusScopeId = default, ImRect rectRel = default, ImGuiItemFlags inFlags = default, float distBox = default, float distCenter = default, float distAxial = default) { Window = window; ID = id; FocusScopeId = focusScopeId; RectRel = rectRel; InFlags = inFlags; DistBox = distBox; DistCenter = distCenter; DistAxial = distAxial; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiNavItemData* @this = &this) { ImGui.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiNavItemDataPtr : IEquatable { public ImGuiNavItemDataPtr(ImGuiNavItemData* handle) { Handle = handle; } public ImGuiNavItemData* Handle; public bool IsNull => Handle == null; public static ImGuiNavItemDataPtr Null => new ImGuiNavItemDataPtr(null); public ImGuiNavItemData this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiNavItemDataPtr(ImGuiNavItemData* handle) => new ImGuiNavItemDataPtr(handle); public static implicit operator ImGuiNavItemData*(ImGuiNavItemDataPtr handle) => handle.Handle; public static bool operator ==(ImGuiNavItemDataPtr left, ImGuiNavItemDataPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiNavItemDataPtr left, ImGuiNavItemDataPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiNavItemDataPtr left, ImGuiNavItemData* right) => left.Handle == right; public static bool operator !=(ImGuiNavItemDataPtr left, ImGuiNavItemData* right) => left.Handle != right; public bool Equals(ImGuiNavItemDataPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiNavItemDataPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiNavItemDataPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref ImGuiWindowPtr Window => ref Unsafe.AsRef(&Handle->Window); /// /// To be documented. /// public ref uint ID => ref Unsafe.AsRef(&Handle->ID); /// /// To be documented. /// public ref uint FocusScopeId => ref Unsafe.AsRef(&Handle->FocusScopeId); /// /// To be documented. /// public ref ImRect RectRel => ref Unsafe.AsRef(&Handle->RectRel); /// /// To be documented. /// public ref ImGuiItemFlags InFlags => ref Unsafe.AsRef(&Handle->InFlags); /// /// To be documented. /// public ref float DistBox => ref Unsafe.AsRef(&Handle->DistBox); /// /// To be documented. /// public ref float DistCenter => ref Unsafe.AsRef(&Handle->DistCenter); /// /// To be documented. /// public ref float DistAxial => ref Unsafe.AsRef(&Handle->DistAxial); /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } } }