// ------------------------------------------------------------------------------
//
// 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 ImPlotContext
{
///
/// To be documented.
///
public ImPoolImPlotPlot Plots;
///
/// To be documented.
///
public ImPoolImPlotSubplot Subplots;
///
/// To be documented.
///
public unsafe ImPlotPlot* CurrentPlot;
///
/// To be documented.
///
public unsafe ImPlotSubplot* CurrentSubplot;
///
/// To be documented.
///
public unsafe ImPlotItemGroup* CurrentItems;
///
/// To be documented.
///
public unsafe ImPlotItem* CurrentItem;
///
/// To be documented.
///
public unsafe ImPlotItem* PreviousItem;
///
/// To be documented.
///
public ImPlotTicker CTicker;
///
/// To be documented.
///
public ImPlotAnnotationCollection Annotations;
///
/// To be documented.
///
public ImPlotTagCollection Tags;
///
/// To be documented.
///
public byte ChildWindowMade;
///
/// To be documented.
///
public ImPlotStyle Style;
///
/// To be documented.
///
public ImVector ColorModifiers;
///
/// To be documented.
///
public ImVector StyleModifiers;
///
/// To be documented.
///
public ImPlotColormapData ColormapData;
///
/// To be documented.
///
public ImVector ColormapModifiers;
///
/// To be documented.
///
public Tm Tm;
///
/// To be documented.
///
public ImVector TempDouble1;
///
/// To be documented.
///
public ImVector TempDouble2;
///
/// To be documented.
///
public ImVector TempInt1;
///
/// To be documented.
///
public int DigitalPlotItemCnt;
///
/// To be documented.
///
public int DigitalPlotOffset;
///
/// To be documented.
///
public ImPlotNextPlotData NextPlotData;
///
/// To be documented.
///
public ImPlotNextItemData NextItemData;
///
/// To be documented.
///
public ImPlotInputMap InputMap;
///
/// To be documented.
///
public byte OpenContextThisFrame;
///
/// To be documented.
///
public ImGuiTextBuffer MousePosStringBuilder;
///
/// To be documented.
///
public ImPoolImPlotAlignmentData AlignmentData;
///
/// To be documented.
///
public unsafe ImPlotAlignmentData* CurrentAlignmentH;
///
/// To be documented.
///
public unsafe ImPlotAlignmentData* CurrentAlignmentV;
///
/// To be documented.
///
public unsafe ImPlotContext(ImPoolImPlotPlot plots = default, ImPoolImPlotSubplot subplots = default, ImPlotPlot* currentPlot = default, ImPlotSubplot* currentSubplot = default, ImPlotItemGroup* currentItems = default, ImPlotItem* currentItem = default, ImPlotItem* previousItem = default, ImPlotTicker cTicker = default, ImPlotAnnotationCollection annotations = default, ImPlotTagCollection tags = default, bool childWindowMade = default, ImPlotStyle style = default, ImVector colorModifiers = default, ImVector styleModifiers = default, ImPlotColormapData colormapData = default, ImVector colormapModifiers = default, Tm tm = default, ImVector tempDouble1 = default, ImVector tempDouble2 = default, ImVector tempInt1 = default, int digitalPlotItemCnt = default, int digitalPlotOffset = default, ImPlotNextPlotData nextPlotData = default, ImPlotNextItemData nextItemData = default, ImPlotInputMap inputMap = default, bool openContextThisFrame = default, ImGuiTextBuffer mousePosStringBuilder = default, ImPoolImPlotAlignmentData alignmentData = default, ImPlotAlignmentData* currentAlignmentH = default, ImPlotAlignmentData* currentAlignmentV = default)
{
Plots = plots;
Subplots = subplots;
CurrentPlot = currentPlot;
CurrentSubplot = currentSubplot;
CurrentItems = currentItems;
CurrentItem = currentItem;
PreviousItem = previousItem;
CTicker = cTicker;
Annotations = annotations;
Tags = tags;
ChildWindowMade = childWindowMade ? (byte)1 : (byte)0;
Style = style;
ColorModifiers = colorModifiers;
StyleModifiers = styleModifiers;
ColormapData = colormapData;
ColormapModifiers = colormapModifiers;
Tm = tm;
TempDouble1 = tempDouble1;
TempDouble2 = tempDouble2;
TempInt1 = tempInt1;
DigitalPlotItemCnt = digitalPlotItemCnt;
DigitalPlotOffset = digitalPlotOffset;
NextPlotData = nextPlotData;
NextItemData = nextItemData;
InputMap = inputMap;
OpenContextThisFrame = openContextThisFrame ? (byte)1 : (byte)0;
MousePosStringBuilder = mousePosStringBuilder;
AlignmentData = alignmentData;
CurrentAlignmentH = currentAlignmentH;
CurrentAlignmentV = currentAlignmentV;
}
}
///
/// To be documented.
///
#if NET5_0_OR_GREATER
[DebuggerDisplay("{DebuggerDisplay,nq}")]
#endif
public unsafe struct ImPlotContextPtr : IEquatable
{
public ImPlotContextPtr(ImPlotContext* handle) { Handle = handle; }
public ImPlotContext* Handle;
public bool IsNull => Handle == null;
public static ImPlotContextPtr Null => new ImPlotContextPtr(null);
public ImPlotContext this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImPlotContextPtr(ImPlotContext* handle) => new ImPlotContextPtr(handle);
public static implicit operator ImPlotContext*(ImPlotContextPtr handle) => handle.Handle;
public static bool operator ==(ImPlotContextPtr left, ImPlotContextPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImPlotContextPtr left, ImPlotContextPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImPlotContextPtr left, ImPlotContext* right) => left.Handle == right;
public static bool operator !=(ImPlotContextPtr left, ImPlotContext* right) => left.Handle != right;
public bool Equals(ImPlotContextPtr other) => Handle == other.Handle;
///
public override bool Equals(object obj) => obj is ImPlotContextPtr handle && Equals(handle);
///
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
#if NET5_0_OR_GREATER
private string DebuggerDisplay => string.Format("ImPlotContextPtr [0x{0}]", ((nuint)Handle).ToString("X"));
#endif
///
/// To be documented.
///
public ref ImPoolImPlotPlot Plots => ref Unsafe.AsRef(&Handle->Plots);
///
/// To be documented.
///
public ref ImPoolImPlotSubplot Subplots => ref Unsafe.AsRef(&Handle->Subplots);
///
/// To be documented.
///
public ref ImPlotPlotPtr CurrentPlot => ref Unsafe.AsRef(&Handle->CurrentPlot);
///
/// To be documented.
///
public ref ImPlotSubplotPtr CurrentSubplot => ref Unsafe.AsRef(&Handle->CurrentSubplot);
///
/// To be documented.
///
public ref ImPlotItemGroupPtr CurrentItems => ref Unsafe.AsRef(&Handle->CurrentItems);
///
/// To be documented.
///
public ref ImPlotItemPtr CurrentItem => ref Unsafe.AsRef(&Handle->CurrentItem);
///
/// To be documented.
///
public ref ImPlotItemPtr PreviousItem => ref Unsafe.AsRef(&Handle->PreviousItem);
///
/// To be documented.
///
public ref ImPlotTicker CTicker => ref Unsafe.AsRef(&Handle->CTicker);
///
/// To be documented.
///
public ref ImPlotAnnotationCollection Annotations => ref Unsafe.AsRef(&Handle->Annotations);
///
/// To be documented.
///
public ref ImPlotTagCollection Tags => ref Unsafe.AsRef(&Handle->Tags);
///
/// To be documented.
///
public ref bool ChildWindowMade => ref Unsafe.AsRef(&Handle->ChildWindowMade);
///
/// To be documented.
///
public ref ImPlotStyle Style => ref Unsafe.AsRef(&Handle->Style);
///
/// To be documented.
///
public ref ImVector ColorModifiers => ref Unsafe.AsRef>(&Handle->ColorModifiers);
///
/// To be documented.
///
public ref ImVector StyleModifiers => ref Unsafe.AsRef>(&Handle->StyleModifiers);
///
/// To be documented.
///
public ref ImPlotColormapData ColormapData => ref Unsafe.AsRef(&Handle->ColormapData);
///
/// To be documented.
///
public ref ImVector ColormapModifiers => ref Unsafe.AsRef>(&Handle->ColormapModifiers);
///
/// To be documented.
///
public ref Tm Tm => ref Unsafe.AsRef(&Handle->Tm);
///
/// To be documented.
///
public ref ImVector TempDouble1 => ref Unsafe.AsRef>(&Handle->TempDouble1);
///
/// To be documented.
///
public ref ImVector TempDouble2 => ref Unsafe.AsRef>(&Handle->TempDouble2);
///
/// To be documented.
///
public ref ImVector TempInt1 => ref Unsafe.AsRef>(&Handle->TempInt1);
///
/// To be documented.
///
public ref int DigitalPlotItemCnt => ref Unsafe.AsRef(&Handle->DigitalPlotItemCnt);
///
/// To be documented.
///
public ref int DigitalPlotOffset => ref Unsafe.AsRef(&Handle->DigitalPlotOffset);
///
/// To be documented.
///
public ref ImPlotNextPlotData NextPlotData => ref Unsafe.AsRef(&Handle->NextPlotData);
///
/// To be documented.
///
public ref ImPlotNextItemData NextItemData => ref Unsafe.AsRef(&Handle->NextItemData);
///
/// To be documented.
///
public ref ImPlotInputMap InputMap => ref Unsafe.AsRef(&Handle->InputMap);
///
/// To be documented.
///
public ref bool OpenContextThisFrame => ref Unsafe.AsRef(&Handle->OpenContextThisFrame);
///
/// To be documented.
///
public ref ImGuiTextBuffer MousePosStringBuilder => ref Unsafe.AsRef(&Handle->MousePosStringBuilder);
///
/// To be documented.
///
public ref ImPoolImPlotAlignmentData AlignmentData => ref Unsafe.AsRef(&Handle->AlignmentData);
///
/// To be documented.
///
public ref ImPlotAlignmentDataPtr CurrentAlignmentH => ref Unsafe.AsRef(&Handle->CurrentAlignmentH);
///
/// To be documented.
///
public ref ImPlotAlignmentDataPtr CurrentAlignmentV => ref Unsafe.AsRef(&Handle->CurrentAlignmentV);
}
}