// ------------------------------------------------------------------------------
//
// 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;
using Dalamud.Bindings.ImGui;
namespace Dalamud.Bindings.ImPlot
{
///
/// To be documented.
///
[StructLayout(LayoutKind.Sequential)]
public partial struct ImPlotLegend
{
///
/// To be documented.
///
public ImPlotLegendFlags Flags;
///
/// To be documented.
///
public ImPlotLegendFlags PreviousFlags;
///
/// To be documented.
///
public ImPlotLocation Location;
///
/// To be documented.
///
public ImPlotLocation PreviousLocation;
///
/// To be documented.
///
public ImVector Indices;
///
/// To be documented.
///
public ImGuiTextBuffer Labels;
///
/// To be documented.
///
public ImRect Rect;
///
/// To be documented.
///
public byte Hovered;
///
/// To be documented.
///
public byte Held;
///
/// To be documented.
///
public byte CanGoInside;
///
/// To be documented.
///
public unsafe ImPlotLegend(ImPlotLegendFlags flags = default, ImPlotLegendFlags previousFlags = default, ImPlotLocation location = default, ImPlotLocation previousLocation = default, ImVector indices = default, ImGuiTextBuffer labels = default, ImRect rect = default, bool hovered = default, bool held = default, bool canGoInside = default)
{
Flags = flags;
PreviousFlags = previousFlags;
Location = location;
PreviousLocation = previousLocation;
Indices = indices;
Labels = labels;
Rect = rect;
Hovered = hovered ? (byte)1 : (byte)0;
Held = held ? (byte)1 : (byte)0;
CanGoInside = canGoInside ? (byte)1 : (byte)0;
}
///
/// To be documented.
///
public unsafe void Destroy()
{
fixed (ImPlotLegend* @this = &this)
{
ImPlot.DestroyNative(@this);
}
}
///
/// To be documented.
///
public unsafe void Reset()
{
fixed (ImPlotLegend* @this = &this)
{
ImPlot.ResetNative(@this);
}
}
}
///
/// To be documented.
///
#if NET5_0_OR_GREATER
[DebuggerDisplay("{DebuggerDisplay,nq}")]
#endif
public unsafe struct ImPlotLegendPtr : IEquatable
{
public ImPlotLegendPtr(ImPlotLegend* handle) { Handle = handle; }
public ImPlotLegend* Handle;
public bool IsNull => Handle == null;
public static ImPlotLegendPtr Null => new ImPlotLegendPtr(null);
public ImPlotLegend this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImPlotLegendPtr(ImPlotLegend* handle) => new ImPlotLegendPtr(handle);
public static implicit operator ImPlotLegend*(ImPlotLegendPtr handle) => handle.Handle;
public static bool operator ==(ImPlotLegendPtr left, ImPlotLegendPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImPlotLegendPtr left, ImPlotLegendPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImPlotLegendPtr left, ImPlotLegend* right) => left.Handle == right;
public static bool operator !=(ImPlotLegendPtr left, ImPlotLegend* right) => left.Handle != right;
public bool Equals(ImPlotLegendPtr other) => Handle == other.Handle;
///
public override bool Equals(object obj) => obj is ImPlotLegendPtr handle && Equals(handle);
///
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
#if NET5_0_OR_GREATER
private string DebuggerDisplay => string.Format("ImPlotLegendPtr [0x{0}]", ((nuint)Handle).ToString("X"));
#endif
///
/// To be documented.
///
public ref ImPlotLegendFlags Flags => ref Unsafe.AsRef(&Handle->Flags);
///
/// To be documented.
///
public ref ImPlotLegendFlags PreviousFlags => ref Unsafe.AsRef(&Handle->PreviousFlags);
///
/// To be documented.
///
public ref ImPlotLocation Location => ref Unsafe.AsRef(&Handle->Location);
///
/// To be documented.
///
public ref ImPlotLocation PreviousLocation => ref Unsafe.AsRef(&Handle->PreviousLocation);
///
/// To be documented.
///
public ref ImVector Indices => ref Unsafe.AsRef>(&Handle->Indices);
///
/// To be documented.
///
public ref ImGuiTextBuffer Labels => ref Unsafe.AsRef(&Handle->Labels);
///
/// To be documented.
///
public ref ImRect Rect => ref Unsafe.AsRef(&Handle->Rect);
///
/// To be documented.
///
public ref bool Hovered => ref Unsafe.AsRef(&Handle->Hovered);
///
/// To be documented.
///
public ref bool Held => ref Unsafe.AsRef(&Handle->Held);
///
/// To be documented.
///
public ref bool CanGoInside => ref Unsafe.AsRef(&Handle->CanGoInside);
///
/// To be documented.
///
public unsafe void Destroy()
{
ImPlot.DestroyNative(Handle);
}
///
/// To be documented.
///
public unsafe void Reset()
{
ImPlot.ResetNative(Handle);
}
}
}