// ------------------------------------------------------------------------------
//
// 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 ImPlotNextItemData
{
///
/// To be documented.
///
public Vector4 Colors_0;
public Vector4 Colors_1;
public Vector4 Colors_2;
public Vector4 Colors_3;
public Vector4 Colors_4;
///
/// To be documented.
///
public float LineWeight;
///
/// To be documented.
///
public ImPlotMarker Marker;
///
/// To be documented.
///
public float MarkerSize;
///
/// To be documented.
///
public float MarkerWeight;
///
/// To be documented.
///
public float FillAlpha;
///
/// To be documented.
///
public float ErrorBarSize;
///
/// To be documented.
///
public float ErrorBarWeight;
///
/// To be documented.
///
public float DigitalBitHeight;
///
/// To be documented.
///
public float DigitalBitGap;
///
/// To be documented.
///
public byte RenderLine;
///
/// To be documented.
///
public byte RenderFill;
///
/// To be documented.
///
public byte RenderMarkerLine;
///
/// To be documented.
///
public byte RenderMarkerFill;
///
/// To be documented.
///
public byte HasHidden;
///
/// To be documented.
///
public byte Hidden;
///
/// To be documented.
///
public ImPlotCond HiddenCond;
///
/// To be documented.
///
public unsafe ImPlotNextItemData(Vector4* colors = default, float lineWeight = default, ImPlotMarker marker = default, float markerSize = default, float markerWeight = default, float fillAlpha = default, float errorBarSize = default, float errorBarWeight = default, float digitalBitHeight = default, float digitalBitGap = default, bool renderLine = default, bool renderFill = default, bool renderMarkerLine = default, bool renderMarkerFill = default, bool hasHidden = default, bool hidden = default, ImPlotCond hiddenCond = default)
{
if (colors != default(Vector4*))
{
Colors_0 = colors[0];
Colors_1 = colors[1];
Colors_2 = colors[2];
Colors_3 = colors[3];
Colors_4 = colors[4];
}
LineWeight = lineWeight;
Marker = marker;
MarkerSize = markerSize;
MarkerWeight = markerWeight;
FillAlpha = fillAlpha;
ErrorBarSize = errorBarSize;
ErrorBarWeight = errorBarWeight;
DigitalBitHeight = digitalBitHeight;
DigitalBitGap = digitalBitGap;
RenderLine = renderLine ? (byte)1 : (byte)0;
RenderFill = renderFill ? (byte)1 : (byte)0;
RenderMarkerLine = renderMarkerLine ? (byte)1 : (byte)0;
RenderMarkerFill = renderMarkerFill ? (byte)1 : (byte)0;
HasHidden = hasHidden ? (byte)1 : (byte)0;
Hidden = hidden ? (byte)1 : (byte)0;
HiddenCond = hiddenCond;
}
///
/// To be documented.
///
public unsafe ImPlotNextItemData(Span colors = default, float lineWeight = default, ImPlotMarker marker = default, float markerSize = default, float markerWeight = default, float fillAlpha = default, float errorBarSize = default, float errorBarWeight = default, float digitalBitHeight = default, float digitalBitGap = default, bool renderLine = default, bool renderFill = default, bool renderMarkerLine = default, bool renderMarkerFill = default, bool hasHidden = default, bool hidden = default, ImPlotCond hiddenCond = default)
{
if (colors != default(Span))
{
Colors_0 = colors[0];
Colors_1 = colors[1];
Colors_2 = colors[2];
Colors_3 = colors[3];
Colors_4 = colors[4];
}
LineWeight = lineWeight;
Marker = marker;
MarkerSize = markerSize;
MarkerWeight = markerWeight;
FillAlpha = fillAlpha;
ErrorBarSize = errorBarSize;
ErrorBarWeight = errorBarWeight;
DigitalBitHeight = digitalBitHeight;
DigitalBitGap = digitalBitGap;
RenderLine = renderLine ? (byte)1 : (byte)0;
RenderFill = renderFill ? (byte)1 : (byte)0;
RenderMarkerLine = renderMarkerLine ? (byte)1 : (byte)0;
RenderMarkerFill = renderMarkerFill ? (byte)1 : (byte)0;
HasHidden = hasHidden ? (byte)1 : (byte)0;
Hidden = hidden ? (byte)1 : (byte)0;
HiddenCond = hiddenCond;
}
///
/// To be documented.
///
public unsafe Span Colors
{
get
{
fixed (Vector4* p = &this.Colors_0)
{
return new Span(p, 5);
}
}
}
///
/// To be documented.
///
public unsafe void Destroy()
{
fixed (ImPlotNextItemData* @this = &this)
{
ImPlot.DestroyNative(@this);
}
}
///
/// To be documented.
///
public unsafe void Reset()
{
fixed (ImPlotNextItemData* @this = &this)
{
ImPlot.ResetNative(@this);
}
}
}
///
/// To be documented.
///
#if NET5_0_OR_GREATER
[DebuggerDisplay("{DebuggerDisplay,nq}")]
#endif
public unsafe struct ImPlotNextItemDataPtr : IEquatable
{
public ImPlotNextItemDataPtr(ImPlotNextItemData* handle) { Handle = handle; }
public ImPlotNextItemData* Handle;
public bool IsNull => Handle == null;
public static ImPlotNextItemDataPtr Null => new ImPlotNextItemDataPtr(null);
public ImPlotNextItemData this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImPlotNextItemDataPtr(ImPlotNextItemData* handle) => new ImPlotNextItemDataPtr(handle);
public static implicit operator ImPlotNextItemData*(ImPlotNextItemDataPtr handle) => handle.Handle;
public static bool operator ==(ImPlotNextItemDataPtr left, ImPlotNextItemDataPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImPlotNextItemDataPtr left, ImPlotNextItemDataPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImPlotNextItemDataPtr left, ImPlotNextItemData* right) => left.Handle == right;
public static bool operator !=(ImPlotNextItemDataPtr left, ImPlotNextItemData* right) => left.Handle != right;
public bool Equals(ImPlotNextItemDataPtr other) => Handle == other.Handle;
///
public override bool Equals(object obj) => obj is ImPlotNextItemDataPtr handle && Equals(handle);
///
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
#if NET5_0_OR_GREATER
private string DebuggerDisplay => string.Format("ImPlotNextItemDataPtr [0x{0}]", ((nuint)Handle).ToString("X"));
#endif
///
/// To be documented.
///
public unsafe Span Colors
{
get
{
return new Span(&Handle->Colors_0, 5);
}
}
///
/// To be documented.
///
public ref float LineWeight => ref Unsafe.AsRef(&Handle->LineWeight);
///
/// To be documented.
///
public ref ImPlotMarker Marker => ref Unsafe.AsRef(&Handle->Marker);
///
/// To be documented.
///
public ref float MarkerSize => ref Unsafe.AsRef(&Handle->MarkerSize);
///
/// To be documented.
///
public ref float MarkerWeight => ref Unsafe.AsRef(&Handle->MarkerWeight);
///
/// To be documented.
///
public ref float FillAlpha => ref Unsafe.AsRef(&Handle->FillAlpha);
///
/// To be documented.
///
public ref float ErrorBarSize => ref Unsafe.AsRef(&Handle->ErrorBarSize);
///
/// To be documented.
///
public ref float ErrorBarWeight => ref Unsafe.AsRef(&Handle->ErrorBarWeight);
///
/// To be documented.
///
public ref float DigitalBitHeight => ref Unsafe.AsRef(&Handle->DigitalBitHeight);
///
/// To be documented.
///
public ref float DigitalBitGap => ref Unsafe.AsRef(&Handle->DigitalBitGap);
///
/// To be documented.
///
public ref bool RenderLine => ref Unsafe.AsRef(&Handle->RenderLine);
///
/// To be documented.
///
public ref bool RenderFill => ref Unsafe.AsRef(&Handle->RenderFill);
///
/// To be documented.
///
public ref bool RenderMarkerLine => ref Unsafe.AsRef(&Handle->RenderMarkerLine);
///
/// To be documented.
///
public ref bool RenderMarkerFill => ref Unsafe.AsRef(&Handle->RenderMarkerFill);
///
/// To be documented.
///
public ref bool HasHidden => ref Unsafe.AsRef(&Handle->HasHidden);
///
/// To be documented.
///
public ref bool Hidden => ref Unsafe.AsRef(&Handle->Hidden);
///
/// To be documented.
///
public ref ImPlotCond HiddenCond => ref Unsafe.AsRef(&Handle->HiddenCond);
///
/// To be documented.
///
public unsafe void Destroy()
{
ImPlot.DestroyNative(Handle);
}
///
/// To be documented.
///
public unsafe void Reset()
{
ImPlot.ResetNative(Handle);
}
}
}