// ------------------------------------------------------------------------------ // // 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 ImGuiListClipper { /// /// To be documented. /// public int DisplayStart; /// /// To be documented. /// public int DisplayEnd; /// /// To be documented. /// public int ItemsCount; /// /// To be documented. /// public float ItemsHeight; /// /// To be documented. /// public float StartPosY; /// /// To be documented. /// public unsafe void* TempData; /// /// To be documented. /// public unsafe ImGuiListClipper(int displayStart = default, int displayEnd = default, int itemsCount = default, float itemsHeight = default, float startPosY = default, void* tempData = default) { DisplayStart = displayStart; DisplayEnd = displayEnd; ItemsCount = itemsCount; ItemsHeight = itemsHeight; StartPosY = startPosY; TempData = tempData; } /// /// To be documented. /// public unsafe void Begin(int itemsCount, float itemsHeight) { fixed (ImGuiListClipper* @this = &this) { ImGui.BeginNative(@this, itemsCount, itemsHeight); } } /// /// To be documented. /// public unsafe void Begin(int itemsCount) { fixed (ImGuiListClipper* @this = &this) { ImGui.BeginNative(@this, itemsCount, (float)(-1.0f)); } } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImGuiListClipper* @this = &this) { ImGui.DestroyNative(@this); } } /// /// To be documented. /// public unsafe void End() { fixed (ImGuiListClipper* @this = &this) { ImGui.EndNative(@this); } } /// /// To be documented. /// public unsafe void ForceDisplayRangeByIndices(int itemMin, int itemMax) { fixed (ImGuiListClipper* @this = &this) { ImGui.ForceDisplayRangeByIndicesNative(@this, itemMin, itemMax); } } /// /// To be documented. /// public unsafe bool Step() { fixed (ImGuiListClipper* @this = &this) { byte ret = ImGui.StepNative(@this); return ret != 0; } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImGuiListClipperPtr : IEquatable { public ImGuiListClipperPtr(ImGuiListClipper* handle) { Handle = handle; } public ImGuiListClipper* Handle; public bool IsNull => Handle == null; public static ImGuiListClipperPtr Null => new ImGuiListClipperPtr(null); public ImGuiListClipper this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImGuiListClipperPtr(ImGuiListClipper* handle) => new ImGuiListClipperPtr(handle); public static implicit operator ImGuiListClipper*(ImGuiListClipperPtr handle) => handle.Handle; public static bool operator ==(ImGuiListClipperPtr left, ImGuiListClipperPtr right) => left.Handle == right.Handle; public static bool operator !=(ImGuiListClipperPtr left, ImGuiListClipperPtr right) => left.Handle != right.Handle; public static bool operator ==(ImGuiListClipperPtr left, ImGuiListClipper* right) => left.Handle == right; public static bool operator !=(ImGuiListClipperPtr left, ImGuiListClipper* right) => left.Handle != right; public bool Equals(ImGuiListClipperPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImGuiListClipperPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImGuiListClipperPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref int DisplayStart => ref Unsafe.AsRef(&Handle->DisplayStart); /// /// To be documented. /// public ref int DisplayEnd => ref Unsafe.AsRef(&Handle->DisplayEnd); /// /// To be documented. /// public ref int ItemsCount => ref Unsafe.AsRef(&Handle->ItemsCount); /// /// To be documented. /// public ref float ItemsHeight => ref Unsafe.AsRef(&Handle->ItemsHeight); /// /// To be documented. /// public ref float StartPosY => ref Unsafe.AsRef(&Handle->StartPosY); /// /// To be documented. /// public void* TempData { get => Handle->TempData; set => Handle->TempData = value; } /// /// To be documented. /// public unsafe void Begin(int itemsCount, float itemsHeight) { ImGui.BeginNative(Handle, itemsCount, itemsHeight); } /// /// To be documented. /// public unsafe void Begin(int itemsCount) { ImGui.BeginNative(Handle, itemsCount, (float)(-1.0f)); } /// /// To be documented. /// public unsafe void Destroy() { ImGui.DestroyNative(Handle); } /// /// To be documented. /// public unsafe void End() { ImGui.EndNative(Handle); } /// /// To be documented. /// public unsafe void ForceDisplayRangeByIndices(int itemMin, int itemMax) { ImGui.ForceDisplayRangeByIndicesNative(Handle, itemMin, itemMax); } /// /// To be documented. /// public unsafe bool Step() { byte ret = ImGui.StepNative(Handle); return ret != 0; } } }