// ------------------------------------------------------------------------------ // // 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 ImPlotSubplot { /// /// To be documented. /// public uint ID; /// /// To be documented. /// public ImPlotSubplotFlags Flags; /// /// To be documented. /// public ImPlotSubplotFlags PreviousFlags; /// /// To be documented. /// public ImPlotItemGroup Items; /// /// To be documented. /// public int Rows; /// /// To be documented. /// public int Cols; /// /// To be documented. /// public int CurrentIdx; /// /// To be documented. /// public ImRect FrameRect; /// /// To be documented. /// public ImRect GridRect; /// /// To be documented. /// public Vector2 CellSize; /// /// To be documented. /// public ImVector RowAlignmentData; /// /// To be documented. /// public ImVector ColAlignmentData; /// /// To be documented. /// public ImVector RowRatios; /// /// To be documented. /// public ImVector ColRatios; /// /// To be documented. /// public ImVector RowLinkData; /// /// To be documented. /// public ImVector ColLinkData; /// /// To be documented. /// public float TempSizes_0; public float TempSizes_1; /// /// To be documented. /// public byte FrameHovered; /// /// To be documented. /// public byte HasTitle; /// /// To be documented. /// public unsafe ImPlotSubplot(uint id = default, ImPlotSubplotFlags flags = default, ImPlotSubplotFlags previousFlags = default, ImPlotItemGroup items = default, int rows = default, int cols = default, int currentIdx = default, ImRect frameRect = default, ImRect gridRect = default, Vector2 cellSize = default, ImVector rowAlignmentData = default, ImVector colAlignmentData = default, ImVector rowRatios = default, ImVector colRatios = default, ImVector rowLinkData = default, ImVector colLinkData = default, float* tempSizes = default, bool frameHovered = default, bool hasTitle = default) { ID = id; Flags = flags; PreviousFlags = previousFlags; Items = items; Rows = rows; Cols = cols; CurrentIdx = currentIdx; FrameRect = frameRect; GridRect = gridRect; CellSize = cellSize; RowAlignmentData = rowAlignmentData; ColAlignmentData = colAlignmentData; RowRatios = rowRatios; ColRatios = colRatios; RowLinkData = rowLinkData; ColLinkData = colLinkData; if (tempSizes != default(float*)) { TempSizes_0 = tempSizes[0]; TempSizes_1 = tempSizes[1]; } FrameHovered = frameHovered ? (byte)1 : (byte)0; HasTitle = hasTitle ? (byte)1 : (byte)0; } /// /// To be documented. /// public unsafe ImPlotSubplot(uint id = default, ImPlotSubplotFlags flags = default, ImPlotSubplotFlags previousFlags = default, ImPlotItemGroup items = default, int rows = default, int cols = default, int currentIdx = default, ImRect frameRect = default, ImRect gridRect = default, Vector2 cellSize = default, ImVector rowAlignmentData = default, ImVector colAlignmentData = default, ImVector rowRatios = default, ImVector colRatios = default, ImVector rowLinkData = default, ImVector colLinkData = default, Span tempSizes = default, bool frameHovered = default, bool hasTitle = default) { ID = id; Flags = flags; PreviousFlags = previousFlags; Items = items; Rows = rows; Cols = cols; CurrentIdx = currentIdx; FrameRect = frameRect; GridRect = gridRect; CellSize = cellSize; RowAlignmentData = rowAlignmentData; ColAlignmentData = colAlignmentData; RowRatios = rowRatios; ColRatios = colRatios; RowLinkData = rowLinkData; ColLinkData = colLinkData; if (tempSizes != default(Span)) { TempSizes_0 = tempSizes[0]; TempSizes_1 = tempSizes[1]; } FrameHovered = frameHovered ? (byte)1 : (byte)0; HasTitle = hasTitle ? (byte)1 : (byte)0; } /// /// To be documented. /// public unsafe void Destroy() { fixed (ImPlotSubplot* @this = &this) { ImPlot.DestroyNative(@this); } } } /// /// To be documented. /// #if NET5_0_OR_GREATER [DebuggerDisplay("{DebuggerDisplay,nq}")] #endif public unsafe struct ImPlotSubplotPtr : IEquatable { public ImPlotSubplotPtr(ImPlotSubplot* handle) { Handle = handle; } public ImPlotSubplot* Handle; public bool IsNull => Handle == null; public static ImPlotSubplotPtr Null => new ImPlotSubplotPtr(null); public ImPlotSubplot this[int index] { get => Handle[index]; set => Handle[index] = value; } public static implicit operator ImPlotSubplotPtr(ImPlotSubplot* handle) => new ImPlotSubplotPtr(handle); public static implicit operator ImPlotSubplot*(ImPlotSubplotPtr handle) => handle.Handle; public static bool operator ==(ImPlotSubplotPtr left, ImPlotSubplotPtr right) => left.Handle == right.Handle; public static bool operator !=(ImPlotSubplotPtr left, ImPlotSubplotPtr right) => left.Handle != right.Handle; public static bool operator ==(ImPlotSubplotPtr left, ImPlotSubplot* right) => left.Handle == right; public static bool operator !=(ImPlotSubplotPtr left, ImPlotSubplot* right) => left.Handle != right; public bool Equals(ImPlotSubplotPtr other) => Handle == other.Handle; /// public override bool Equals(object obj) => obj is ImPlotSubplotPtr handle && Equals(handle); /// public override int GetHashCode() => ((nuint)Handle).GetHashCode(); #if NET5_0_OR_GREATER private string DebuggerDisplay => string.Format("ImPlotSubplotPtr [0x{0}]", ((nuint)Handle).ToString("X")); #endif /// /// To be documented. /// public ref uint ID => ref Unsafe.AsRef(&Handle->ID); /// /// To be documented. /// public ref ImPlotSubplotFlags Flags => ref Unsafe.AsRef(&Handle->Flags); /// /// To be documented. /// public ref ImPlotSubplotFlags PreviousFlags => ref Unsafe.AsRef(&Handle->PreviousFlags); /// /// To be documented. /// public ref ImPlotItemGroup Items => ref Unsafe.AsRef(&Handle->Items); /// /// To be documented. /// public ref int Rows => ref Unsafe.AsRef(&Handle->Rows); /// /// To be documented. /// public ref int Cols => ref Unsafe.AsRef(&Handle->Cols); /// /// To be documented. /// public ref int CurrentIdx => ref Unsafe.AsRef(&Handle->CurrentIdx); /// /// To be documented. /// public ref ImRect FrameRect => ref Unsafe.AsRef(&Handle->FrameRect); /// /// To be documented. /// public ref ImRect GridRect => ref Unsafe.AsRef(&Handle->GridRect); /// /// To be documented. /// public ref Vector2 CellSize => ref Unsafe.AsRef(&Handle->CellSize); /// /// To be documented. /// public ref ImVector RowAlignmentData => ref Unsafe.AsRef>(&Handle->RowAlignmentData); /// /// To be documented. /// public ref ImVector ColAlignmentData => ref Unsafe.AsRef>(&Handle->ColAlignmentData); /// /// To be documented. /// public ref ImVector RowRatios => ref Unsafe.AsRef>(&Handle->RowRatios); /// /// To be documented. /// public ref ImVector ColRatios => ref Unsafe.AsRef>(&Handle->ColRatios); /// /// To be documented. /// public ref ImVector RowLinkData => ref Unsafe.AsRef>(&Handle->RowLinkData); /// /// To be documented. /// public ref ImVector ColLinkData => ref Unsafe.AsRef>(&Handle->ColLinkData); /// /// To be documented. /// public unsafe Span TempSizes { get { return new Span(&Handle->TempSizes_0, 2); } } /// /// To be documented. /// public ref bool FrameHovered => ref Unsafe.AsRef(&Handle->FrameHovered); /// /// To be documented. /// public ref bool HasTitle => ref Unsafe.AsRef(&Handle->HasTitle); /// /// To be documented. /// public unsafe void Destroy() { ImPlot.DestroyNative(Handle); } } }