//
using HexaGen.Runtime;
using System;
using System.Diagnostics;
using System.Numerics;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
/* ImBitArrayImGuiKeyNamedKeyCOUNTLessImGuiKeyNamedKeyBEGIN.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImBitArrayImGuiKeyNamedKeyCOUNTLessImGuiKeyNamedKeyBEGIN
{
public uint Storage_0;
public uint Storage_1;
public uint Storage_2;
public uint Storage_3;
public uint Storage_4;
public unsafe ImBitArrayImGuiKeyNamedKeyCOUNTLessImGuiKeyNamedKeyBEGIN(uint* storage = default)
{
if (storage != default(uint*))
{
Storage_0 = storage[0];
Storage_1 = storage[1];
Storage_2 = storage[2];
Storage_3 = storage[3];
Storage_4 = storage[4];
}
}
public unsafe ImBitArrayImGuiKeyNamedKeyCOUNTLessImGuiKeyNamedKeyBEGIN(Span storage = default)
{
if (storage != default(Span))
{
Storage_0 = storage[0];
Storage_1 = storage[1];
Storage_2 = storage[2];
Storage_3 = storage[3];
Storage_4 = storage[4];
}
}
}
}
/* ImBitVector.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImBitVector
{
public ImVector Storage;
public unsafe ImBitVector(ImVector storage = default)
{
Storage = storage;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImBitVectorPtr : IEquatable
{
public ImBitVectorPtr(ImBitVector* handle) { Handle = handle; }
public ImBitVector* Handle;
public bool IsNull => Handle == null;
public static ImBitVectorPtr Null => new ImBitVectorPtr(null);
public ImBitVector this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImBitVectorPtr(ImBitVector* handle) => new ImBitVectorPtr(handle);
public static implicit operator ImBitVector*(ImBitVectorPtr handle) => handle.Handle;
public static bool operator ==(ImBitVectorPtr left, ImBitVectorPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImBitVectorPtr left, ImBitVectorPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImBitVectorPtr left, ImBitVector* right) => left.Handle == right;
public static bool operator !=(ImBitVectorPtr left, ImBitVector* right) => left.Handle != right;
public bool Equals(ImBitVectorPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImBitVectorPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImBitVectorPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImVector Storage => ref Unsafe.AsRef>(&Handle->Storage);
}
}
/* ImChunkStreamImGuiTableSettings.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImChunkStreamImGuiTableSettings
{
public ImVector Buf;
public unsafe ImChunkStreamImGuiTableSettings(ImVector buf = default)
{
Buf = buf;
}
}
}
/* ImChunkStreamImGuiWindowSettings.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImChunkStreamImGuiWindowSettings
{
public ImVector Buf;
public unsafe ImChunkStreamImGuiWindowSettings(ImVector buf = default)
{
Buf = buf;
}
}
}
/* ImColor.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImColor
{
public Vector4 Value;
public unsafe ImColor(Vector4 value = default)
{
Value = value;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImColorPtr : IEquatable
{
public ImColorPtr(ImColor* handle) { Handle = handle; }
public ImColor* Handle;
public bool IsNull => Handle == null;
public static ImColorPtr Null => new ImColorPtr(null);
public ImColor this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImColorPtr(ImColor* handle) => new ImColorPtr(handle);
public static implicit operator ImColor*(ImColorPtr handle) => handle.Handle;
public static bool operator ==(ImColorPtr left, ImColorPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImColorPtr left, ImColorPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImColorPtr left, ImColor* right) => left.Handle == right;
public static bool operator !=(ImColorPtr left, ImColor* right) => left.Handle != right;
public bool Equals(ImColorPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImColorPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImColorPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref Vector4 Value => ref Unsafe.AsRef(&Handle->Value);
}
}
/* ImDrawChannel.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawChannel
{
public ImVector CmdBuffer;
public ImVector IdxBuffer;
public unsafe ImDrawChannel(ImVector cmdBuffer = default, ImVector idxBuffer = default)
{
CmdBuffer = cmdBuffer;
IdxBuffer = idxBuffer;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawChannelPtr : IEquatable
{
public ImDrawChannelPtr(ImDrawChannel* handle) { Handle = handle; }
public ImDrawChannel* Handle;
public bool IsNull => Handle == null;
public static ImDrawChannelPtr Null => new ImDrawChannelPtr(null);
public ImDrawChannel this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawChannelPtr(ImDrawChannel* handle) => new ImDrawChannelPtr(handle);
public static implicit operator ImDrawChannel*(ImDrawChannelPtr handle) => handle.Handle;
public static bool operator ==(ImDrawChannelPtr left, ImDrawChannelPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawChannelPtr left, ImDrawChannelPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawChannelPtr left, ImDrawChannel* right) => left.Handle == right;
public static bool operator !=(ImDrawChannelPtr left, ImDrawChannel* right) => left.Handle != right;
public bool Equals(ImDrawChannelPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawChannelPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawChannelPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImVector CmdBuffer => ref Unsafe.AsRef>(&Handle->CmdBuffer);
public ref ImVector IdxBuffer => ref Unsafe.AsRef>(&Handle->IdxBuffer);
}
}
/* ImDrawCmd.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawCmd
{
public Vector4 ClipRect;
public ImTextureID TextureId;
public uint VtxOffset;
public uint IdxOffset;
public uint ElemCount;
public unsafe void* UserCallback;
public unsafe void* UserCallbackData;
public unsafe ImDrawCmd(Vector4 clipRect = default, ImTextureID textureId = default, uint vtxOffset = default, uint idxOffset = default, uint elemCount = default, ImDrawCallback userCallback = default, void* userCallbackData = default)
{
ClipRect = clipRect;
TextureId = textureId;
VtxOffset = vtxOffset;
IdxOffset = idxOffset;
ElemCount = elemCount;
UserCallback = (void*)Marshal.GetFunctionPointerForDelegate(userCallback);
UserCallbackData = userCallbackData;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawCmdPtr : IEquatable
{
public ImDrawCmdPtr(ImDrawCmd* handle) { Handle = handle; }
public ImDrawCmd* Handle;
public bool IsNull => Handle == null;
public static ImDrawCmdPtr Null => new ImDrawCmdPtr(null);
public ImDrawCmd this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawCmdPtr(ImDrawCmd* handle) => new ImDrawCmdPtr(handle);
public static implicit operator ImDrawCmd*(ImDrawCmdPtr handle) => handle.Handle;
public static bool operator ==(ImDrawCmdPtr left, ImDrawCmdPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawCmdPtr left, ImDrawCmdPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawCmdPtr left, ImDrawCmd* right) => left.Handle == right;
public static bool operator !=(ImDrawCmdPtr left, ImDrawCmd* right) => left.Handle != right;
public bool Equals(ImDrawCmdPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawCmdPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawCmdPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref Vector4 ClipRect => ref Unsafe.AsRef(&Handle->ClipRect);
public ref ImTextureID TextureId => ref Unsafe.AsRef(&Handle->TextureId);
public ref uint VtxOffset => ref Unsafe.AsRef(&Handle->VtxOffset);
public ref uint IdxOffset => ref Unsafe.AsRef(&Handle->IdxOffset);
public ref uint ElemCount => ref Unsafe.AsRef(&Handle->ElemCount);
public void* UserCallback { get => Handle->UserCallback; set => Handle->UserCallback = value; }
public void* UserCallbackData { get => Handle->UserCallbackData; set => Handle->UserCallbackData = value; }
}
}
/* ImDrawCmdHeader.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawCmdHeader
{
public Vector4 ClipRect;
public ImTextureID TextureId;
public uint VtxOffset;
public unsafe ImDrawCmdHeader(Vector4 clipRect = default, ImTextureID textureId = default, uint vtxOffset = default)
{
ClipRect = clipRect;
TextureId = textureId;
VtxOffset = vtxOffset;
}
}
}
/* ImDrawData.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawData
{
public byte Valid;
public int CmdListsCount;
public int TotalIdxCount;
public int TotalVtxCount;
public unsafe ImDrawList** CmdLists;
public Vector2 DisplayPos;
public Vector2 DisplaySize;
public Vector2 FramebufferScale;
public unsafe ImGuiViewport* OwnerViewport;
public unsafe ImDrawData(bool valid = default, int cmdListsCount = default, int totalIdxCount = default, int totalVtxCount = default, ImDrawListPtrPtr cmdLists = default, Vector2 displayPos = default, Vector2 displaySize = default, Vector2 framebufferScale = default, ImGuiViewport* ownerViewport = default)
{
Valid = valid ? (byte)1 : (byte)0;
CmdListsCount = cmdListsCount;
TotalIdxCount = totalIdxCount;
TotalVtxCount = totalVtxCount;
CmdLists = cmdLists;
DisplayPos = displayPos;
DisplaySize = displaySize;
FramebufferScale = framebufferScale;
OwnerViewport = ownerViewport;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawDataPtr : IEquatable
{
public ImDrawDataPtr(ImDrawData* handle) { Handle = handle; }
public ImDrawData* Handle;
public bool IsNull => Handle == null;
public static ImDrawDataPtr Null => new ImDrawDataPtr(null);
public ImDrawData this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawDataPtr(ImDrawData* handle) => new ImDrawDataPtr(handle);
public static implicit operator ImDrawData*(ImDrawDataPtr handle) => handle.Handle;
public static bool operator ==(ImDrawDataPtr left, ImDrawDataPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawDataPtr left, ImDrawDataPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawDataPtr left, ImDrawData* right) => left.Handle == right;
public static bool operator !=(ImDrawDataPtr left, ImDrawData* right) => left.Handle != right;
public bool Equals(ImDrawDataPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawDataPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawDataPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref bool Valid => ref Unsafe.AsRef(&Handle->Valid);
public ref int CmdListsCount => ref Unsafe.AsRef(&Handle->CmdListsCount);
public ref int TotalIdxCount => ref Unsafe.AsRef(&Handle->TotalIdxCount);
public ref int TotalVtxCount => ref Unsafe.AsRef(&Handle->TotalVtxCount);
public ref ImDrawListPtrPtr CmdLists => ref Unsafe.AsRef(&Handle->CmdLists);
public ref Vector2 DisplayPos => ref Unsafe.AsRef(&Handle->DisplayPos);
public ref Vector2 DisplaySize => ref Unsafe.AsRef(&Handle->DisplaySize);
public ref Vector2 FramebufferScale => ref Unsafe.AsRef(&Handle->FramebufferScale);
public ref ImGuiViewportPtr OwnerViewport => ref Unsafe.AsRef(&Handle->OwnerViewport);
}
}
/* ImDrawDataBuilder.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawDataBuilder
{
public ImVector Layers_0;
public ImVector Layers_1;
public unsafe ImDrawDataBuilder(ImVector* layers = default)
{
if (layers != default(ImVector*))
{
Layers_0 = layers[0];
Layers_1 = layers[1];
}
}
public unsafe ImDrawDataBuilder(Span> layers = default)
{
if (layers != default(Span>))
{
Layers_0 = layers[0];
Layers_1 = layers[1];
}
}
public unsafe Span> Layers
{
get
{
fixed (ImVector* p = &this.Layers_0)
{
return new Span>(p, 2);
}
}
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawDataBuilderPtr : IEquatable
{
public ImDrawDataBuilderPtr(ImDrawDataBuilder* handle) { Handle = handle; }
public ImDrawDataBuilder* Handle;
public bool IsNull => Handle == null;
public static ImDrawDataBuilderPtr Null => new ImDrawDataBuilderPtr(null);
public ImDrawDataBuilder this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawDataBuilderPtr(ImDrawDataBuilder* handle) => new ImDrawDataBuilderPtr(handle);
public static implicit operator ImDrawDataBuilder*(ImDrawDataBuilderPtr handle) => handle.Handle;
public static bool operator ==(ImDrawDataBuilderPtr left, ImDrawDataBuilderPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawDataBuilderPtr left, ImDrawDataBuilderPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawDataBuilderPtr left, ImDrawDataBuilder* right) => left.Handle == right;
public static bool operator !=(ImDrawDataBuilderPtr left, ImDrawDataBuilder* right) => left.Handle != right;
public bool Equals(ImDrawDataBuilderPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawDataBuilderPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawDataBuilderPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public unsafe Span> Layers
{
get
{
return new Span>(&Handle->Layers_0, 2);
}
}
}
}
/* ImDrawList.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawList
{
public ImVector CmdBuffer;
public ImVector IdxBuffer;
public ImVector VtxBuffer;
public ImDrawListFlags Flags;
public uint VtxCurrentIdx;
public unsafe ImDrawListSharedData* Data;
public unsafe byte* OwnerName;
public unsafe ImDrawVert* VtxWritePtr;
public unsafe ushort* IdxWritePtr;
public ImVector ClipRectStack;
public ImVector TextureIdStack;
public ImVector Path;
public ImDrawCmdHeader CmdHeader;
public ImDrawListSplitter Splitter;
public float FringeScale;
public unsafe ImDrawList(ImVector cmdBuffer = default, ImVector idxBuffer = default, ImVector vtxBuffer = default, ImDrawListFlags flags = default, uint vtxCurrentIdx = default, ImDrawListSharedData* data = default, byte* ownerName = default, ImDrawVert* vtxWritePtr = default, ushort* idxWritePtr = default, ImVector clipRectStack = default, ImVector textureIdStack = default, ImVector path = default, ImDrawCmdHeader cmdHeader = default, ImDrawListSplitter splitter = default, float fringeScale = default)
{
CmdBuffer = cmdBuffer;
IdxBuffer = idxBuffer;
VtxBuffer = vtxBuffer;
Flags = flags;
VtxCurrentIdx = vtxCurrentIdx;
Data = data;
OwnerName = ownerName;
VtxWritePtr = vtxWritePtr;
IdxWritePtr = idxWritePtr;
ClipRectStack = clipRectStack;
TextureIdStack = textureIdStack;
Path = path;
CmdHeader = cmdHeader;
Splitter = splitter;
FringeScale = fringeScale;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawListPtr : IEquatable
{
public ImDrawListPtr(ImDrawList* handle) { Handle = handle; }
public ImDrawList* Handle;
public bool IsNull => Handle == null;
public static ImDrawListPtr Null => new ImDrawListPtr(null);
public ImDrawList this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawListPtr(ImDrawList* handle) => new ImDrawListPtr(handle);
public static implicit operator ImDrawList*(ImDrawListPtr handle) => handle.Handle;
public static bool operator ==(ImDrawListPtr left, ImDrawListPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawListPtr left, ImDrawListPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawListPtr left, ImDrawList* right) => left.Handle == right;
public static bool operator !=(ImDrawListPtr left, ImDrawList* right) => left.Handle != right;
public bool Equals(ImDrawListPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawListPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawListPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImVector CmdBuffer => ref Unsafe.AsRef>(&Handle->CmdBuffer);
public ref ImVector IdxBuffer => ref Unsafe.AsRef>(&Handle->IdxBuffer);
public ref ImVector VtxBuffer => ref Unsafe.AsRef>(&Handle->VtxBuffer);
public ref ImDrawListFlags Flags => ref Unsafe.AsRef(&Handle->Flags);
public ref uint VtxCurrentIdx => ref Unsafe.AsRef(&Handle->VtxCurrentIdx);
public ref ImDrawListSharedDataPtr Data => ref Unsafe.AsRef(&Handle->Data);
public byte* OwnerName { get => Handle->OwnerName; set => Handle->OwnerName = value; }
public ref ImDrawVertPtr VtxWritePtr => ref Unsafe.AsRef(&Handle->VtxWritePtr);
public ushort* IdxWritePtr { get => Handle->IdxWritePtr; set => Handle->IdxWritePtr = value; }
public ref ImVector ClipRectStack => ref Unsafe.AsRef>(&Handle->ClipRectStack);
public ref ImVector TextureIdStack => ref Unsafe.AsRef>(&Handle->TextureIdStack);
public ref ImVector Path => ref Unsafe.AsRef>(&Handle->Path);
public ref ImDrawCmdHeader CmdHeader => ref Unsafe.AsRef(&Handle->CmdHeader);
public ref ImDrawListSplitter Splitter => ref Unsafe.AsRef(&Handle->Splitter);
public ref float FringeScale => ref Unsafe.AsRef(&Handle->FringeScale);
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawListPtrPtr : IEquatable
{
public ImDrawListPtrPtr(ImDrawList** handle) { Handle = handle; }
public ImDrawList** Handle;
public bool IsNull => Handle == null;
public static ImDrawListPtrPtr Null => new ImDrawListPtrPtr(null);
public ImDrawList* this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawListPtrPtr(ImDrawList** handle) => new ImDrawListPtrPtr(handle);
public static implicit operator ImDrawList**(ImDrawListPtrPtr handle) => handle.Handle;
public static bool operator ==(ImDrawListPtrPtr left, ImDrawListPtrPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawListPtrPtr left, ImDrawListPtrPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawListPtrPtr left, ImDrawList** right) => left.Handle == right;
public static bool operator !=(ImDrawListPtrPtr left, ImDrawList** right) => left.Handle != right;
public bool Equals(ImDrawListPtrPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawListPtrPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawListPtrPtr [0x{0}]", ((nuint)Handle).ToString("X"));
}
}
/* ImDrawListSharedData.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawListSharedData
{
public ImTextureID TexIdCommon;
public Vector2 TexUvWhitePixel;
public unsafe ImFont* Font;
public float FontSize;
public float CurveTessellationTol;
public float CircleSegmentMaxError;
public Vector4 ClipRectFullscreen;
public ImDrawListFlags InitialFlags;
public Vector2 ArcFastVtx_0;
public Vector2 ArcFastVtx_1;
public Vector2 ArcFastVtx_2;
public Vector2 ArcFastVtx_3;
public Vector2 ArcFastVtx_4;
public Vector2 ArcFastVtx_5;
public Vector2 ArcFastVtx_6;
public Vector2 ArcFastVtx_7;
public Vector2 ArcFastVtx_8;
public Vector2 ArcFastVtx_9;
public Vector2 ArcFastVtx_10;
public Vector2 ArcFastVtx_11;
public Vector2 ArcFastVtx_12;
public Vector2 ArcFastVtx_13;
public Vector2 ArcFastVtx_14;
public Vector2 ArcFastVtx_15;
public Vector2 ArcFastVtx_16;
public Vector2 ArcFastVtx_17;
public Vector2 ArcFastVtx_18;
public Vector2 ArcFastVtx_19;
public Vector2 ArcFastVtx_20;
public Vector2 ArcFastVtx_21;
public Vector2 ArcFastVtx_22;
public Vector2 ArcFastVtx_23;
public Vector2 ArcFastVtx_24;
public Vector2 ArcFastVtx_25;
public Vector2 ArcFastVtx_26;
public Vector2 ArcFastVtx_27;
public Vector2 ArcFastVtx_28;
public Vector2 ArcFastVtx_29;
public Vector2 ArcFastVtx_30;
public Vector2 ArcFastVtx_31;
public Vector2 ArcFastVtx_32;
public Vector2 ArcFastVtx_33;
public Vector2 ArcFastVtx_34;
public Vector2 ArcFastVtx_35;
public Vector2 ArcFastVtx_36;
public Vector2 ArcFastVtx_37;
public Vector2 ArcFastVtx_38;
public Vector2 ArcFastVtx_39;
public Vector2 ArcFastVtx_40;
public Vector2 ArcFastVtx_41;
public Vector2 ArcFastVtx_42;
public Vector2 ArcFastVtx_43;
public Vector2 ArcFastVtx_44;
public Vector2 ArcFastVtx_45;
public Vector2 ArcFastVtx_46;
public Vector2 ArcFastVtx_47;
public float ArcFastRadiusCutoff;
public byte CircleSegmentCounts_0;
public byte CircleSegmentCounts_1;
public byte CircleSegmentCounts_2;
public byte CircleSegmentCounts_3;
public byte CircleSegmentCounts_4;
public byte CircleSegmentCounts_5;
public byte CircleSegmentCounts_6;
public byte CircleSegmentCounts_7;
public byte CircleSegmentCounts_8;
public byte CircleSegmentCounts_9;
public byte CircleSegmentCounts_10;
public byte CircleSegmentCounts_11;
public byte CircleSegmentCounts_12;
public byte CircleSegmentCounts_13;
public byte CircleSegmentCounts_14;
public byte CircleSegmentCounts_15;
public byte CircleSegmentCounts_16;
public byte CircleSegmentCounts_17;
public byte CircleSegmentCounts_18;
public byte CircleSegmentCounts_19;
public byte CircleSegmentCounts_20;
public byte CircleSegmentCounts_21;
public byte CircleSegmentCounts_22;
public byte CircleSegmentCounts_23;
public byte CircleSegmentCounts_24;
public byte CircleSegmentCounts_25;
public byte CircleSegmentCounts_26;
public byte CircleSegmentCounts_27;
public byte CircleSegmentCounts_28;
public byte CircleSegmentCounts_29;
public byte CircleSegmentCounts_30;
public byte CircleSegmentCounts_31;
public byte CircleSegmentCounts_32;
public byte CircleSegmentCounts_33;
public byte CircleSegmentCounts_34;
public byte CircleSegmentCounts_35;
public byte CircleSegmentCounts_36;
public byte CircleSegmentCounts_37;
public byte CircleSegmentCounts_38;
public byte CircleSegmentCounts_39;
public byte CircleSegmentCounts_40;
public byte CircleSegmentCounts_41;
public byte CircleSegmentCounts_42;
public byte CircleSegmentCounts_43;
public byte CircleSegmentCounts_44;
public byte CircleSegmentCounts_45;
public byte CircleSegmentCounts_46;
public byte CircleSegmentCounts_47;
public byte CircleSegmentCounts_48;
public byte CircleSegmentCounts_49;
public byte CircleSegmentCounts_50;
public byte CircleSegmentCounts_51;
public byte CircleSegmentCounts_52;
public byte CircleSegmentCounts_53;
public byte CircleSegmentCounts_54;
public byte CircleSegmentCounts_55;
public byte CircleSegmentCounts_56;
public byte CircleSegmentCounts_57;
public byte CircleSegmentCounts_58;
public byte CircleSegmentCounts_59;
public byte CircleSegmentCounts_60;
public byte CircleSegmentCounts_61;
public byte CircleSegmentCounts_62;
public byte CircleSegmentCounts_63;
public unsafe Vector4* TexUvLines;
public unsafe ImDrawListSharedData(ImTextureID texIdCommon = default, Vector2 texUvWhitePixel = default, ImFont* font = default, float fontSize = default, float curveTessellationTol = default, float circleSegmentMaxError = default, Vector4 clipRectFullscreen = default, ImDrawListFlags initialFlags = default, Vector2* arcFastVtx = default, float arcFastRadiusCutoff = default, byte* circleSegmentCounts = default, Vector4* texUvLines = default)
{
TexIdCommon = texIdCommon;
TexUvWhitePixel = texUvWhitePixel;
Font = font;
FontSize = fontSize;
CurveTessellationTol = curveTessellationTol;
CircleSegmentMaxError = circleSegmentMaxError;
ClipRectFullscreen = clipRectFullscreen;
InitialFlags = initialFlags;
if (arcFastVtx != default(Vector2*))
{
ArcFastVtx_0 = arcFastVtx[0];
ArcFastVtx_1 = arcFastVtx[1];
ArcFastVtx_2 = arcFastVtx[2];
ArcFastVtx_3 = arcFastVtx[3];
ArcFastVtx_4 = arcFastVtx[4];
ArcFastVtx_5 = arcFastVtx[5];
ArcFastVtx_6 = arcFastVtx[6];
ArcFastVtx_7 = arcFastVtx[7];
ArcFastVtx_8 = arcFastVtx[8];
ArcFastVtx_9 = arcFastVtx[9];
ArcFastVtx_10 = arcFastVtx[10];
ArcFastVtx_11 = arcFastVtx[11];
ArcFastVtx_12 = arcFastVtx[12];
ArcFastVtx_13 = arcFastVtx[13];
ArcFastVtx_14 = arcFastVtx[14];
ArcFastVtx_15 = arcFastVtx[15];
ArcFastVtx_16 = arcFastVtx[16];
ArcFastVtx_17 = arcFastVtx[17];
ArcFastVtx_18 = arcFastVtx[18];
ArcFastVtx_19 = arcFastVtx[19];
ArcFastVtx_20 = arcFastVtx[20];
ArcFastVtx_21 = arcFastVtx[21];
ArcFastVtx_22 = arcFastVtx[22];
ArcFastVtx_23 = arcFastVtx[23];
ArcFastVtx_24 = arcFastVtx[24];
ArcFastVtx_25 = arcFastVtx[25];
ArcFastVtx_26 = arcFastVtx[26];
ArcFastVtx_27 = arcFastVtx[27];
ArcFastVtx_28 = arcFastVtx[28];
ArcFastVtx_29 = arcFastVtx[29];
ArcFastVtx_30 = arcFastVtx[30];
ArcFastVtx_31 = arcFastVtx[31];
ArcFastVtx_32 = arcFastVtx[32];
ArcFastVtx_33 = arcFastVtx[33];
ArcFastVtx_34 = arcFastVtx[34];
ArcFastVtx_35 = arcFastVtx[35];
ArcFastVtx_36 = arcFastVtx[36];
ArcFastVtx_37 = arcFastVtx[37];
ArcFastVtx_38 = arcFastVtx[38];
ArcFastVtx_39 = arcFastVtx[39];
ArcFastVtx_40 = arcFastVtx[40];
ArcFastVtx_41 = arcFastVtx[41];
ArcFastVtx_42 = arcFastVtx[42];
ArcFastVtx_43 = arcFastVtx[43];
ArcFastVtx_44 = arcFastVtx[44];
ArcFastVtx_45 = arcFastVtx[45];
ArcFastVtx_46 = arcFastVtx[46];
ArcFastVtx_47 = arcFastVtx[47];
}
ArcFastRadiusCutoff = arcFastRadiusCutoff;
if (circleSegmentCounts != default(byte*))
{
CircleSegmentCounts_0 = circleSegmentCounts[0];
CircleSegmentCounts_1 = circleSegmentCounts[1];
CircleSegmentCounts_2 = circleSegmentCounts[2];
CircleSegmentCounts_3 = circleSegmentCounts[3];
CircleSegmentCounts_4 = circleSegmentCounts[4];
CircleSegmentCounts_5 = circleSegmentCounts[5];
CircleSegmentCounts_6 = circleSegmentCounts[6];
CircleSegmentCounts_7 = circleSegmentCounts[7];
CircleSegmentCounts_8 = circleSegmentCounts[8];
CircleSegmentCounts_9 = circleSegmentCounts[9];
CircleSegmentCounts_10 = circleSegmentCounts[10];
CircleSegmentCounts_11 = circleSegmentCounts[11];
CircleSegmentCounts_12 = circleSegmentCounts[12];
CircleSegmentCounts_13 = circleSegmentCounts[13];
CircleSegmentCounts_14 = circleSegmentCounts[14];
CircleSegmentCounts_15 = circleSegmentCounts[15];
CircleSegmentCounts_16 = circleSegmentCounts[16];
CircleSegmentCounts_17 = circleSegmentCounts[17];
CircleSegmentCounts_18 = circleSegmentCounts[18];
CircleSegmentCounts_19 = circleSegmentCounts[19];
CircleSegmentCounts_20 = circleSegmentCounts[20];
CircleSegmentCounts_21 = circleSegmentCounts[21];
CircleSegmentCounts_22 = circleSegmentCounts[22];
CircleSegmentCounts_23 = circleSegmentCounts[23];
CircleSegmentCounts_24 = circleSegmentCounts[24];
CircleSegmentCounts_25 = circleSegmentCounts[25];
CircleSegmentCounts_26 = circleSegmentCounts[26];
CircleSegmentCounts_27 = circleSegmentCounts[27];
CircleSegmentCounts_28 = circleSegmentCounts[28];
CircleSegmentCounts_29 = circleSegmentCounts[29];
CircleSegmentCounts_30 = circleSegmentCounts[30];
CircleSegmentCounts_31 = circleSegmentCounts[31];
CircleSegmentCounts_32 = circleSegmentCounts[32];
CircleSegmentCounts_33 = circleSegmentCounts[33];
CircleSegmentCounts_34 = circleSegmentCounts[34];
CircleSegmentCounts_35 = circleSegmentCounts[35];
CircleSegmentCounts_36 = circleSegmentCounts[36];
CircleSegmentCounts_37 = circleSegmentCounts[37];
CircleSegmentCounts_38 = circleSegmentCounts[38];
CircleSegmentCounts_39 = circleSegmentCounts[39];
CircleSegmentCounts_40 = circleSegmentCounts[40];
CircleSegmentCounts_41 = circleSegmentCounts[41];
CircleSegmentCounts_42 = circleSegmentCounts[42];
CircleSegmentCounts_43 = circleSegmentCounts[43];
CircleSegmentCounts_44 = circleSegmentCounts[44];
CircleSegmentCounts_45 = circleSegmentCounts[45];
CircleSegmentCounts_46 = circleSegmentCounts[46];
CircleSegmentCounts_47 = circleSegmentCounts[47];
CircleSegmentCounts_48 = circleSegmentCounts[48];
CircleSegmentCounts_49 = circleSegmentCounts[49];
CircleSegmentCounts_50 = circleSegmentCounts[50];
CircleSegmentCounts_51 = circleSegmentCounts[51];
CircleSegmentCounts_52 = circleSegmentCounts[52];
CircleSegmentCounts_53 = circleSegmentCounts[53];
CircleSegmentCounts_54 = circleSegmentCounts[54];
CircleSegmentCounts_55 = circleSegmentCounts[55];
CircleSegmentCounts_56 = circleSegmentCounts[56];
CircleSegmentCounts_57 = circleSegmentCounts[57];
CircleSegmentCounts_58 = circleSegmentCounts[58];
CircleSegmentCounts_59 = circleSegmentCounts[59];
CircleSegmentCounts_60 = circleSegmentCounts[60];
CircleSegmentCounts_61 = circleSegmentCounts[61];
CircleSegmentCounts_62 = circleSegmentCounts[62];
CircleSegmentCounts_63 = circleSegmentCounts[63];
}
TexUvLines = texUvLines;
}
public unsafe ImDrawListSharedData(ImTextureID texIdCommon = default, Vector2 texUvWhitePixel = default, ImFont* font = default, float fontSize = default, float curveTessellationTol = default, float circleSegmentMaxError = default, Vector4 clipRectFullscreen = default, ImDrawListFlags initialFlags = default, Span arcFastVtx = default, float arcFastRadiusCutoff = default, Span circleSegmentCounts = default, Vector4* texUvLines = default)
{
TexIdCommon = texIdCommon;
TexUvWhitePixel = texUvWhitePixel;
Font = font;
FontSize = fontSize;
CurveTessellationTol = curveTessellationTol;
CircleSegmentMaxError = circleSegmentMaxError;
ClipRectFullscreen = clipRectFullscreen;
InitialFlags = initialFlags;
if (arcFastVtx != default(Span))
{
ArcFastVtx_0 = arcFastVtx[0];
ArcFastVtx_1 = arcFastVtx[1];
ArcFastVtx_2 = arcFastVtx[2];
ArcFastVtx_3 = arcFastVtx[3];
ArcFastVtx_4 = arcFastVtx[4];
ArcFastVtx_5 = arcFastVtx[5];
ArcFastVtx_6 = arcFastVtx[6];
ArcFastVtx_7 = arcFastVtx[7];
ArcFastVtx_8 = arcFastVtx[8];
ArcFastVtx_9 = arcFastVtx[9];
ArcFastVtx_10 = arcFastVtx[10];
ArcFastVtx_11 = arcFastVtx[11];
ArcFastVtx_12 = arcFastVtx[12];
ArcFastVtx_13 = arcFastVtx[13];
ArcFastVtx_14 = arcFastVtx[14];
ArcFastVtx_15 = arcFastVtx[15];
ArcFastVtx_16 = arcFastVtx[16];
ArcFastVtx_17 = arcFastVtx[17];
ArcFastVtx_18 = arcFastVtx[18];
ArcFastVtx_19 = arcFastVtx[19];
ArcFastVtx_20 = arcFastVtx[20];
ArcFastVtx_21 = arcFastVtx[21];
ArcFastVtx_22 = arcFastVtx[22];
ArcFastVtx_23 = arcFastVtx[23];
ArcFastVtx_24 = arcFastVtx[24];
ArcFastVtx_25 = arcFastVtx[25];
ArcFastVtx_26 = arcFastVtx[26];
ArcFastVtx_27 = arcFastVtx[27];
ArcFastVtx_28 = arcFastVtx[28];
ArcFastVtx_29 = arcFastVtx[29];
ArcFastVtx_30 = arcFastVtx[30];
ArcFastVtx_31 = arcFastVtx[31];
ArcFastVtx_32 = arcFastVtx[32];
ArcFastVtx_33 = arcFastVtx[33];
ArcFastVtx_34 = arcFastVtx[34];
ArcFastVtx_35 = arcFastVtx[35];
ArcFastVtx_36 = arcFastVtx[36];
ArcFastVtx_37 = arcFastVtx[37];
ArcFastVtx_38 = arcFastVtx[38];
ArcFastVtx_39 = arcFastVtx[39];
ArcFastVtx_40 = arcFastVtx[40];
ArcFastVtx_41 = arcFastVtx[41];
ArcFastVtx_42 = arcFastVtx[42];
ArcFastVtx_43 = arcFastVtx[43];
ArcFastVtx_44 = arcFastVtx[44];
ArcFastVtx_45 = arcFastVtx[45];
ArcFastVtx_46 = arcFastVtx[46];
ArcFastVtx_47 = arcFastVtx[47];
}
ArcFastRadiusCutoff = arcFastRadiusCutoff;
if (circleSegmentCounts != default(Span))
{
CircleSegmentCounts_0 = circleSegmentCounts[0];
CircleSegmentCounts_1 = circleSegmentCounts[1];
CircleSegmentCounts_2 = circleSegmentCounts[2];
CircleSegmentCounts_3 = circleSegmentCounts[3];
CircleSegmentCounts_4 = circleSegmentCounts[4];
CircleSegmentCounts_5 = circleSegmentCounts[5];
CircleSegmentCounts_6 = circleSegmentCounts[6];
CircleSegmentCounts_7 = circleSegmentCounts[7];
CircleSegmentCounts_8 = circleSegmentCounts[8];
CircleSegmentCounts_9 = circleSegmentCounts[9];
CircleSegmentCounts_10 = circleSegmentCounts[10];
CircleSegmentCounts_11 = circleSegmentCounts[11];
CircleSegmentCounts_12 = circleSegmentCounts[12];
CircleSegmentCounts_13 = circleSegmentCounts[13];
CircleSegmentCounts_14 = circleSegmentCounts[14];
CircleSegmentCounts_15 = circleSegmentCounts[15];
CircleSegmentCounts_16 = circleSegmentCounts[16];
CircleSegmentCounts_17 = circleSegmentCounts[17];
CircleSegmentCounts_18 = circleSegmentCounts[18];
CircleSegmentCounts_19 = circleSegmentCounts[19];
CircleSegmentCounts_20 = circleSegmentCounts[20];
CircleSegmentCounts_21 = circleSegmentCounts[21];
CircleSegmentCounts_22 = circleSegmentCounts[22];
CircleSegmentCounts_23 = circleSegmentCounts[23];
CircleSegmentCounts_24 = circleSegmentCounts[24];
CircleSegmentCounts_25 = circleSegmentCounts[25];
CircleSegmentCounts_26 = circleSegmentCounts[26];
CircleSegmentCounts_27 = circleSegmentCounts[27];
CircleSegmentCounts_28 = circleSegmentCounts[28];
CircleSegmentCounts_29 = circleSegmentCounts[29];
CircleSegmentCounts_30 = circleSegmentCounts[30];
CircleSegmentCounts_31 = circleSegmentCounts[31];
CircleSegmentCounts_32 = circleSegmentCounts[32];
CircleSegmentCounts_33 = circleSegmentCounts[33];
CircleSegmentCounts_34 = circleSegmentCounts[34];
CircleSegmentCounts_35 = circleSegmentCounts[35];
CircleSegmentCounts_36 = circleSegmentCounts[36];
CircleSegmentCounts_37 = circleSegmentCounts[37];
CircleSegmentCounts_38 = circleSegmentCounts[38];
CircleSegmentCounts_39 = circleSegmentCounts[39];
CircleSegmentCounts_40 = circleSegmentCounts[40];
CircleSegmentCounts_41 = circleSegmentCounts[41];
CircleSegmentCounts_42 = circleSegmentCounts[42];
CircleSegmentCounts_43 = circleSegmentCounts[43];
CircleSegmentCounts_44 = circleSegmentCounts[44];
CircleSegmentCounts_45 = circleSegmentCounts[45];
CircleSegmentCounts_46 = circleSegmentCounts[46];
CircleSegmentCounts_47 = circleSegmentCounts[47];
CircleSegmentCounts_48 = circleSegmentCounts[48];
CircleSegmentCounts_49 = circleSegmentCounts[49];
CircleSegmentCounts_50 = circleSegmentCounts[50];
CircleSegmentCounts_51 = circleSegmentCounts[51];
CircleSegmentCounts_52 = circleSegmentCounts[52];
CircleSegmentCounts_53 = circleSegmentCounts[53];
CircleSegmentCounts_54 = circleSegmentCounts[54];
CircleSegmentCounts_55 = circleSegmentCounts[55];
CircleSegmentCounts_56 = circleSegmentCounts[56];
CircleSegmentCounts_57 = circleSegmentCounts[57];
CircleSegmentCounts_58 = circleSegmentCounts[58];
CircleSegmentCounts_59 = circleSegmentCounts[59];
CircleSegmentCounts_60 = circleSegmentCounts[60];
CircleSegmentCounts_61 = circleSegmentCounts[61];
CircleSegmentCounts_62 = circleSegmentCounts[62];
CircleSegmentCounts_63 = circleSegmentCounts[63];
}
TexUvLines = texUvLines;
}
public unsafe Span ArcFastVtx
{
get
{
fixed (Vector2* p = &this.ArcFastVtx_0)
{
return new Span(p, 48);
}
}
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawListSharedDataPtr : IEquatable
{
public ImDrawListSharedDataPtr(ImDrawListSharedData* handle) { Handle = handle; }
public ImDrawListSharedData* Handle;
public bool IsNull => Handle == null;
public static ImDrawListSharedDataPtr Null => new ImDrawListSharedDataPtr(null);
public ImDrawListSharedData this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawListSharedDataPtr(ImDrawListSharedData* handle) => new ImDrawListSharedDataPtr(handle);
public static implicit operator ImDrawListSharedData*(ImDrawListSharedDataPtr handle) => handle.Handle;
public static bool operator ==(ImDrawListSharedDataPtr left, ImDrawListSharedDataPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawListSharedDataPtr left, ImDrawListSharedDataPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawListSharedDataPtr left, ImDrawListSharedData* right) => left.Handle == right;
public static bool operator !=(ImDrawListSharedDataPtr left, ImDrawListSharedData* right) => left.Handle != right;
public bool Equals(ImDrawListSharedDataPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawListSharedDataPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawListSharedDataPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImTextureID TexIdCommon => ref Unsafe.AsRef(&Handle->TexIdCommon);
public ref Vector2 TexUvWhitePixel => ref Unsafe.AsRef(&Handle->TexUvWhitePixel);
public ref ImFontPtr Font => ref Unsafe.AsRef(&Handle->Font);
public ref float FontSize => ref Unsafe.AsRef(&Handle->FontSize);
public ref float CurveTessellationTol => ref Unsafe.AsRef(&Handle->CurveTessellationTol);
public ref float CircleSegmentMaxError => ref Unsafe.AsRef(&Handle->CircleSegmentMaxError);
public ref Vector4 ClipRectFullscreen => ref Unsafe.AsRef(&Handle->ClipRectFullscreen);
public ref ImDrawListFlags InitialFlags => ref Unsafe.AsRef(&Handle->InitialFlags);
public unsafe Span ArcFastVtx
{
get
{
return new Span(&Handle->ArcFastVtx_0, 48);
}
}
public ref float ArcFastRadiusCutoff => ref Unsafe.AsRef(&Handle->ArcFastRadiusCutoff);
public unsafe Span CircleSegmentCounts
{
get
{
return new Span(&Handle->CircleSegmentCounts_0, 64);
}
}
public Vector4* TexUvLines { get => Handle->TexUvLines; set => Handle->TexUvLines = value; }
}
}
/* ImDrawListSplitter.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawListSplitter
{
public int Current;
public int Count;
public ImVector Channels;
public unsafe ImDrawListSplitter(int current = default, int count = default, ImVector channels = default)
{
Current = current;
Count = count;
Channels = channels;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawListSplitterPtr : IEquatable
{
public ImDrawListSplitterPtr(ImDrawListSplitter* handle) { Handle = handle; }
public ImDrawListSplitter* Handle;
public bool IsNull => Handle == null;
public static ImDrawListSplitterPtr Null => new ImDrawListSplitterPtr(null);
public ImDrawListSplitter this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawListSplitterPtr(ImDrawListSplitter* handle) => new ImDrawListSplitterPtr(handle);
public static implicit operator ImDrawListSplitter*(ImDrawListSplitterPtr handle) => handle.Handle;
public static bool operator ==(ImDrawListSplitterPtr left, ImDrawListSplitterPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawListSplitterPtr left, ImDrawListSplitterPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawListSplitterPtr left, ImDrawListSplitter* right) => left.Handle == right;
public static bool operator !=(ImDrawListSplitterPtr left, ImDrawListSplitter* right) => left.Handle != right;
public bool Equals(ImDrawListSplitterPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawListSplitterPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawListSplitterPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref int Current => ref Unsafe.AsRef(&Handle->Current);
public ref int Count => ref Unsafe.AsRef(&Handle->Count);
public ref ImVector Channels => ref Unsafe.AsRef>(&Handle->Channels);
}
}
/* ImDrawVert.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImDrawVert
{
public Vector2 Pos;
public Vector2 Uv;
public uint Col;
public unsafe ImDrawVert(Vector2 pos = default, Vector2 uv = default, uint col = default)
{
Pos = pos;
Uv = uv;
Col = col;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImDrawVertPtr : IEquatable
{
public ImDrawVertPtr(ImDrawVert* handle) { Handle = handle; }
public ImDrawVert* Handle;
public bool IsNull => Handle == null;
public static ImDrawVertPtr Null => new ImDrawVertPtr(null);
public ImDrawVert this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImDrawVertPtr(ImDrawVert* handle) => new ImDrawVertPtr(handle);
public static implicit operator ImDrawVert*(ImDrawVertPtr handle) => handle.Handle;
public static bool operator ==(ImDrawVertPtr left, ImDrawVertPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImDrawVertPtr left, ImDrawVertPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImDrawVertPtr left, ImDrawVert* right) => left.Handle == right;
public static bool operator !=(ImDrawVertPtr left, ImDrawVert* right) => left.Handle != right;
public bool Equals(ImDrawVertPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImDrawVertPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImDrawVertPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref Vector2 Pos => ref Unsafe.AsRef(&Handle->Pos);
public ref Vector2 Uv => ref Unsafe.AsRef(&Handle->Uv);
public ref uint Col => ref Unsafe.AsRef(&Handle->Col);
}
}
/* ImFont.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFont
{
public ImVector IndexedHotData;
public ImVector FrequentKerningPairs;
public float FontSize;
public ImVector IndexLookup;
public ImVector Glyphs;
public unsafe ImFontGlyph* FallbackGlyph;
public unsafe ImFontGlyphHotData* FallbackHotData;
public ImVector KerningPairs;
public unsafe ImFontAtlas* ContainerAtlas;
public unsafe ImFontConfig* ConfigData;
public short ConfigDataCount;
public ushort FallbackChar;
public ushort EllipsisChar;
public ushort DotChar;
public byte DirtyLookupTables;
public float Scale;
public float Ascent;
public float Descent;
public int MetricsTotalSurface;
public byte Used4kPagesMap_0;
public byte Used4kPagesMap_1;
public unsafe ImFont(ImVector indexedHotData = default, ImVector frequentKerningPairs = default, float fontSize = default, ImVector indexLookup = default, ImVector glyphs = default, ImFontGlyph* fallbackGlyph = default, ImFontGlyphHotData* fallbackHotData = default, ImVector kerningPairs = default, ImFontAtlas* containerAtlas = default, ImFontConfig* configData = default, short configDataCount = default, ushort fallbackChar = default, ushort ellipsisChar = default, ushort dotChar = default, bool dirtyLookupTables = default, float scale = default, float ascent = default, float descent = default, int metricsTotalSurface = default, byte* used4KPagesMap = default)
{
IndexedHotData = indexedHotData;
FrequentKerningPairs = frequentKerningPairs;
FontSize = fontSize;
IndexLookup = indexLookup;
Glyphs = glyphs;
FallbackGlyph = fallbackGlyph;
FallbackHotData = fallbackHotData;
KerningPairs = kerningPairs;
ContainerAtlas = containerAtlas;
ConfigData = configData;
ConfigDataCount = configDataCount;
FallbackChar = fallbackChar;
EllipsisChar = ellipsisChar;
DotChar = dotChar;
DirtyLookupTables = dirtyLookupTables ? (byte)1 : (byte)0;
Scale = scale;
Ascent = ascent;
Descent = descent;
MetricsTotalSurface = metricsTotalSurface;
if (used4KPagesMap != default(byte*))
{
Used4kPagesMap_0 = used4KPagesMap[0];
Used4kPagesMap_1 = used4KPagesMap[1];
}
}
public unsafe ImFont(ImVector indexedHotData = default, ImVector frequentKerningPairs = default, float fontSize = default, ImVector indexLookup = default, ImVector glyphs = default, ImFontGlyph* fallbackGlyph = default, ImFontGlyphHotData* fallbackHotData = default, ImVector kerningPairs = default, ImFontAtlas* containerAtlas = default, ImFontConfig* configData = default, short configDataCount = default, ushort fallbackChar = default, ushort ellipsisChar = default, ushort dotChar = default, bool dirtyLookupTables = default, float scale = default, float ascent = default, float descent = default, int metricsTotalSurface = default, Span used4KPagesMap = default)
{
IndexedHotData = indexedHotData;
FrequentKerningPairs = frequentKerningPairs;
FontSize = fontSize;
IndexLookup = indexLookup;
Glyphs = glyphs;
FallbackGlyph = fallbackGlyph;
FallbackHotData = fallbackHotData;
KerningPairs = kerningPairs;
ContainerAtlas = containerAtlas;
ConfigData = configData;
ConfigDataCount = configDataCount;
FallbackChar = fallbackChar;
EllipsisChar = ellipsisChar;
DotChar = dotChar;
DirtyLookupTables = dirtyLookupTables ? (byte)1 : (byte)0;
Scale = scale;
Ascent = ascent;
Descent = descent;
MetricsTotalSurface = metricsTotalSurface;
if (used4KPagesMap != default(Span))
{
Used4kPagesMap_0 = used4KPagesMap[0];
Used4kPagesMap_1 = used4KPagesMap[1];
}
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontPtr : IEquatable
{
public ImFontPtr(ImFont* handle) { Handle = handle; }
public ImFont* Handle;
public bool IsNull => Handle == null;
public static ImFontPtr Null => new ImFontPtr(null);
public ImFont this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontPtr(ImFont* handle) => new ImFontPtr(handle);
public static implicit operator ImFont*(ImFontPtr handle) => handle.Handle;
public static bool operator ==(ImFontPtr left, ImFontPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontPtr left, ImFontPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontPtr left, ImFont* right) => left.Handle == right;
public static bool operator !=(ImFontPtr left, ImFont* right) => left.Handle != right;
public bool Equals(ImFontPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImVector IndexedHotData => ref Unsafe.AsRef>(&Handle->IndexedHotData);
public ref ImVector FrequentKerningPairs => ref Unsafe.AsRef>(&Handle->FrequentKerningPairs);
public ref float FontSize => ref Unsafe.AsRef(&Handle->FontSize);
public ref ImVector IndexLookup => ref Unsafe.AsRef>(&Handle->IndexLookup);
public ref ImVector Glyphs => ref Unsafe.AsRef>(&Handle->Glyphs);
public ref ImFontGlyphPtr FallbackGlyph => ref Unsafe.AsRef(&Handle->FallbackGlyph);
public ref ImFontGlyphHotDataPtr FallbackHotData => ref Unsafe.AsRef(&Handle->FallbackHotData);
public ref ImVector KerningPairs => ref Unsafe.AsRef>(&Handle->KerningPairs);
public ref ImFontAtlasPtr ContainerAtlas => ref Unsafe.AsRef(&Handle->ContainerAtlas);
public ref ImFontConfigPtr ConfigData => ref Unsafe.AsRef(&Handle->ConfigData);
public ref short ConfigDataCount => ref Unsafe.AsRef(&Handle->ConfigDataCount);
public ref ushort FallbackChar => ref Unsafe.AsRef(&Handle->FallbackChar);
public ref ushort EllipsisChar => ref Unsafe.AsRef(&Handle->EllipsisChar);
public ref ushort DotChar => ref Unsafe.AsRef(&Handle->DotChar);
public ref bool DirtyLookupTables => ref Unsafe.AsRef(&Handle->DirtyLookupTables);
public ref float Scale => ref Unsafe.AsRef(&Handle->Scale);
public ref float Ascent => ref Unsafe.AsRef(&Handle->Ascent);
public ref float Descent => ref Unsafe.AsRef(&Handle->Descent);
public ref int MetricsTotalSurface => ref Unsafe.AsRef(&Handle->MetricsTotalSurface);
public unsafe Span Used4kPagesMap
{
get
{
return new Span(&Handle->Used4kPagesMap_0, 2);
}
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontPtrPtr : IEquatable
{
public ImFontPtrPtr(ImFont** handle) { Handle = handle; }
public ImFont** Handle;
public bool IsNull => Handle == null;
public static ImFontPtrPtr Null => new ImFontPtrPtr(null);
public ImFont* this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontPtrPtr(ImFont** handle) => new ImFontPtrPtr(handle);
public static implicit operator ImFont**(ImFontPtrPtr handle) => handle.Handle;
public static bool operator ==(ImFontPtrPtr left, ImFontPtrPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontPtrPtr left, ImFontPtrPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontPtrPtr left, ImFont** right) => left.Handle == right;
public static bool operator !=(ImFontPtrPtr left, ImFont** right) => left.Handle != right;
public bool Equals(ImFontPtrPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontPtrPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontPtrPtr [0x{0}]", ((nuint)Handle).ToString("X"));
}
}
/* ImFontAtlas.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontAtlas
{
public ImFontAtlasFlags Flags;
public ImVector Textures;
public int TexDesiredWidth;
public int TexDesiredHeight;
public int TexGlyphPadding;
public byte Locked;
public byte TexReady;
public byte TexPixelsUseColors;
public int TexWidth;
public int TexHeight;
public Vector2 TexUvScale;
public Vector2 TexUvWhitePixel;
public ImVector Fonts;
public ImVector CustomRects;
public ImVector ConfigData;
public Vector4 TexUvLines_0;
public Vector4 TexUvLines_1;
public Vector4 TexUvLines_2;
public Vector4 TexUvLines_3;
public Vector4 TexUvLines_4;
public Vector4 TexUvLines_5;
public Vector4 TexUvLines_6;
public Vector4 TexUvLines_7;
public Vector4 TexUvLines_8;
public Vector4 TexUvLines_9;
public Vector4 TexUvLines_10;
public Vector4 TexUvLines_11;
public Vector4 TexUvLines_12;
public Vector4 TexUvLines_13;
public Vector4 TexUvLines_14;
public Vector4 TexUvLines_15;
public Vector4 TexUvLines_16;
public Vector4 TexUvLines_17;
public Vector4 TexUvLines_18;
public Vector4 TexUvLines_19;
public Vector4 TexUvLines_20;
public Vector4 TexUvLines_21;
public Vector4 TexUvLines_22;
public Vector4 TexUvLines_23;
public Vector4 TexUvLines_24;
public Vector4 TexUvLines_25;
public Vector4 TexUvLines_26;
public Vector4 TexUvLines_27;
public Vector4 TexUvLines_28;
public Vector4 TexUvLines_29;
public Vector4 TexUvLines_30;
public Vector4 TexUvLines_31;
public Vector4 TexUvLines_32;
public Vector4 TexUvLines_33;
public Vector4 TexUvLines_34;
public Vector4 TexUvLines_35;
public Vector4 TexUvLines_36;
public Vector4 TexUvLines_37;
public Vector4 TexUvLines_38;
public Vector4 TexUvLines_39;
public Vector4 TexUvLines_40;
public Vector4 TexUvLines_41;
public Vector4 TexUvLines_42;
public Vector4 TexUvLines_43;
public Vector4 TexUvLines_44;
public Vector4 TexUvLines_45;
public Vector4 TexUvLines_46;
public Vector4 TexUvLines_47;
public Vector4 TexUvLines_48;
public Vector4 TexUvLines_49;
public Vector4 TexUvLines_50;
public Vector4 TexUvLines_51;
public Vector4 TexUvLines_52;
public Vector4 TexUvLines_53;
public Vector4 TexUvLines_54;
public Vector4 TexUvLines_55;
public Vector4 TexUvLines_56;
public Vector4 TexUvLines_57;
public Vector4 TexUvLines_58;
public Vector4 TexUvLines_59;
public Vector4 TexUvLines_60;
public Vector4 TexUvLines_61;
public Vector4 TexUvLines_62;
public Vector4 TexUvLines_63;
public unsafe ImFontBuilderIO* FontBuilderIO;
public uint FontBuilderFlags;
public int TextureIndexCommon;
public int PackIdCommon;
public ImFontAtlasCustomRect RectMouseCursors;
public ImFontAtlasCustomRect RectLines;
public unsafe ImFontAtlas(ImFontAtlasFlags flags = default, ImVector textures = default, int texDesiredWidth = default, int texDesiredHeight = default, int texGlyphPadding = default, bool locked = default, bool texReady = default, bool texPixelsUseColors = default, int texWidth = default, int texHeight = default, Vector2 texUvScale = default, Vector2 texUvWhitePixel = default, ImVector fonts = default, ImVector customRects = default, ImVector configData = default, Vector4* texUvLines = default, ImFontBuilderIO* fontBuilderIo = default, uint fontBuilderFlags = default, int textureIndexCommon = default, int packIdCommon = default, ImFontAtlasCustomRect rectMouseCursors = default, ImFontAtlasCustomRect rectLines = default)
{
Flags = flags;
Textures = textures;
TexDesiredWidth = texDesiredWidth;
TexDesiredHeight = texDesiredHeight;
TexGlyphPadding = texGlyphPadding;
Locked = locked ? (byte)1 : (byte)0;
TexReady = texReady ? (byte)1 : (byte)0;
TexPixelsUseColors = texPixelsUseColors ? (byte)1 : (byte)0;
TexWidth = texWidth;
TexHeight = texHeight;
TexUvScale = texUvScale;
TexUvWhitePixel = texUvWhitePixel;
Fonts = fonts;
CustomRects = customRects;
ConfigData = configData;
if (texUvLines != default(Vector4*))
{
TexUvLines_0 = texUvLines[0];
TexUvLines_1 = texUvLines[1];
TexUvLines_2 = texUvLines[2];
TexUvLines_3 = texUvLines[3];
TexUvLines_4 = texUvLines[4];
TexUvLines_5 = texUvLines[5];
TexUvLines_6 = texUvLines[6];
TexUvLines_7 = texUvLines[7];
TexUvLines_8 = texUvLines[8];
TexUvLines_9 = texUvLines[9];
TexUvLines_10 = texUvLines[10];
TexUvLines_11 = texUvLines[11];
TexUvLines_12 = texUvLines[12];
TexUvLines_13 = texUvLines[13];
TexUvLines_14 = texUvLines[14];
TexUvLines_15 = texUvLines[15];
TexUvLines_16 = texUvLines[16];
TexUvLines_17 = texUvLines[17];
TexUvLines_18 = texUvLines[18];
TexUvLines_19 = texUvLines[19];
TexUvLines_20 = texUvLines[20];
TexUvLines_21 = texUvLines[21];
TexUvLines_22 = texUvLines[22];
TexUvLines_23 = texUvLines[23];
TexUvLines_24 = texUvLines[24];
TexUvLines_25 = texUvLines[25];
TexUvLines_26 = texUvLines[26];
TexUvLines_27 = texUvLines[27];
TexUvLines_28 = texUvLines[28];
TexUvLines_29 = texUvLines[29];
TexUvLines_30 = texUvLines[30];
TexUvLines_31 = texUvLines[31];
TexUvLines_32 = texUvLines[32];
TexUvLines_33 = texUvLines[33];
TexUvLines_34 = texUvLines[34];
TexUvLines_35 = texUvLines[35];
TexUvLines_36 = texUvLines[36];
TexUvLines_37 = texUvLines[37];
TexUvLines_38 = texUvLines[38];
TexUvLines_39 = texUvLines[39];
TexUvLines_40 = texUvLines[40];
TexUvLines_41 = texUvLines[41];
TexUvLines_42 = texUvLines[42];
TexUvLines_43 = texUvLines[43];
TexUvLines_44 = texUvLines[44];
TexUvLines_45 = texUvLines[45];
TexUvLines_46 = texUvLines[46];
TexUvLines_47 = texUvLines[47];
TexUvLines_48 = texUvLines[48];
TexUvLines_49 = texUvLines[49];
TexUvLines_50 = texUvLines[50];
TexUvLines_51 = texUvLines[51];
TexUvLines_52 = texUvLines[52];
TexUvLines_53 = texUvLines[53];
TexUvLines_54 = texUvLines[54];
TexUvLines_55 = texUvLines[55];
TexUvLines_56 = texUvLines[56];
TexUvLines_57 = texUvLines[57];
TexUvLines_58 = texUvLines[58];
TexUvLines_59 = texUvLines[59];
TexUvLines_60 = texUvLines[60];
TexUvLines_61 = texUvLines[61];
TexUvLines_62 = texUvLines[62];
TexUvLines_63 = texUvLines[63];
}
FontBuilderIO = fontBuilderIo;
FontBuilderFlags = fontBuilderFlags;
TextureIndexCommon = textureIndexCommon;
PackIdCommon = packIdCommon;
RectMouseCursors = rectMouseCursors;
RectLines = rectLines;
}
public unsafe ImFontAtlas(ImFontAtlasFlags flags = default, ImVector textures = default, int texDesiredWidth = default, int texDesiredHeight = default, int texGlyphPadding = default, bool locked = default, bool texReady = default, bool texPixelsUseColors = default, int texWidth = default, int texHeight = default, Vector2 texUvScale = default, Vector2 texUvWhitePixel = default, ImVector fonts = default, ImVector customRects = default, ImVector configData = default, Span texUvLines = default, ImFontBuilderIO* fontBuilderIo = default, uint fontBuilderFlags = default, int textureIndexCommon = default, int packIdCommon = default, ImFontAtlasCustomRect rectMouseCursors = default, ImFontAtlasCustomRect rectLines = default)
{
Flags = flags;
Textures = textures;
TexDesiredWidth = texDesiredWidth;
TexDesiredHeight = texDesiredHeight;
TexGlyphPadding = texGlyphPadding;
Locked = locked ? (byte)1 : (byte)0;
TexReady = texReady ? (byte)1 : (byte)0;
TexPixelsUseColors = texPixelsUseColors ? (byte)1 : (byte)0;
TexWidth = texWidth;
TexHeight = texHeight;
TexUvScale = texUvScale;
TexUvWhitePixel = texUvWhitePixel;
Fonts = fonts;
CustomRects = customRects;
ConfigData = configData;
if (texUvLines != default(Span))
{
TexUvLines_0 = texUvLines[0];
TexUvLines_1 = texUvLines[1];
TexUvLines_2 = texUvLines[2];
TexUvLines_3 = texUvLines[3];
TexUvLines_4 = texUvLines[4];
TexUvLines_5 = texUvLines[5];
TexUvLines_6 = texUvLines[6];
TexUvLines_7 = texUvLines[7];
TexUvLines_8 = texUvLines[8];
TexUvLines_9 = texUvLines[9];
TexUvLines_10 = texUvLines[10];
TexUvLines_11 = texUvLines[11];
TexUvLines_12 = texUvLines[12];
TexUvLines_13 = texUvLines[13];
TexUvLines_14 = texUvLines[14];
TexUvLines_15 = texUvLines[15];
TexUvLines_16 = texUvLines[16];
TexUvLines_17 = texUvLines[17];
TexUvLines_18 = texUvLines[18];
TexUvLines_19 = texUvLines[19];
TexUvLines_20 = texUvLines[20];
TexUvLines_21 = texUvLines[21];
TexUvLines_22 = texUvLines[22];
TexUvLines_23 = texUvLines[23];
TexUvLines_24 = texUvLines[24];
TexUvLines_25 = texUvLines[25];
TexUvLines_26 = texUvLines[26];
TexUvLines_27 = texUvLines[27];
TexUvLines_28 = texUvLines[28];
TexUvLines_29 = texUvLines[29];
TexUvLines_30 = texUvLines[30];
TexUvLines_31 = texUvLines[31];
TexUvLines_32 = texUvLines[32];
TexUvLines_33 = texUvLines[33];
TexUvLines_34 = texUvLines[34];
TexUvLines_35 = texUvLines[35];
TexUvLines_36 = texUvLines[36];
TexUvLines_37 = texUvLines[37];
TexUvLines_38 = texUvLines[38];
TexUvLines_39 = texUvLines[39];
TexUvLines_40 = texUvLines[40];
TexUvLines_41 = texUvLines[41];
TexUvLines_42 = texUvLines[42];
TexUvLines_43 = texUvLines[43];
TexUvLines_44 = texUvLines[44];
TexUvLines_45 = texUvLines[45];
TexUvLines_46 = texUvLines[46];
TexUvLines_47 = texUvLines[47];
TexUvLines_48 = texUvLines[48];
TexUvLines_49 = texUvLines[49];
TexUvLines_50 = texUvLines[50];
TexUvLines_51 = texUvLines[51];
TexUvLines_52 = texUvLines[52];
TexUvLines_53 = texUvLines[53];
TexUvLines_54 = texUvLines[54];
TexUvLines_55 = texUvLines[55];
TexUvLines_56 = texUvLines[56];
TexUvLines_57 = texUvLines[57];
TexUvLines_58 = texUvLines[58];
TexUvLines_59 = texUvLines[59];
TexUvLines_60 = texUvLines[60];
TexUvLines_61 = texUvLines[61];
TexUvLines_62 = texUvLines[62];
TexUvLines_63 = texUvLines[63];
}
FontBuilderIO = fontBuilderIo;
FontBuilderFlags = fontBuilderFlags;
TextureIndexCommon = textureIndexCommon;
PackIdCommon = packIdCommon;
RectMouseCursors = rectMouseCursors;
RectLines = rectLines;
}
public unsafe Span TexUvLines
{
get
{
fixed (Vector4* p = &this.TexUvLines_0)
{
return new Span(p, 64);
}
}
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontAtlasPtr : IEquatable
{
public ImFontAtlasPtr(ImFontAtlas* handle) { Handle = handle; }
public ImFontAtlas* Handle;
public bool IsNull => Handle == null;
public static ImFontAtlasPtr Null => new ImFontAtlasPtr(null);
public ImFontAtlas this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontAtlasPtr(ImFontAtlas* handle) => new ImFontAtlasPtr(handle);
public static implicit operator ImFontAtlas*(ImFontAtlasPtr handle) => handle.Handle;
public static bool operator ==(ImFontAtlasPtr left, ImFontAtlasPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontAtlasPtr left, ImFontAtlasPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontAtlasPtr left, ImFontAtlas* right) => left.Handle == right;
public static bool operator !=(ImFontAtlasPtr left, ImFontAtlas* right) => left.Handle != right;
public bool Equals(ImFontAtlasPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontAtlasPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontAtlasPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImFontAtlasFlags Flags => ref Unsafe.AsRef(&Handle->Flags);
public ref ImVector Textures => ref Unsafe.AsRef>(&Handle->Textures);
public ref int TexDesiredWidth => ref Unsafe.AsRef(&Handle->TexDesiredWidth);
public ref int TexDesiredHeight => ref Unsafe.AsRef(&Handle->TexDesiredHeight);
public ref int TexGlyphPadding => ref Unsafe.AsRef(&Handle->TexGlyphPadding);
public ref bool Locked => ref Unsafe.AsRef(&Handle->Locked);
public ref bool TexReady => ref Unsafe.AsRef(&Handle->TexReady);
public ref bool TexPixelsUseColors => ref Unsafe.AsRef(&Handle->TexPixelsUseColors);
public ref int TexWidth => ref Unsafe.AsRef(&Handle->TexWidth);
public ref int TexHeight => ref Unsafe.AsRef(&Handle->TexHeight);
public ref Vector2 TexUvScale => ref Unsafe.AsRef(&Handle->TexUvScale);
public ref Vector2 TexUvWhitePixel => ref Unsafe.AsRef(&Handle->TexUvWhitePixel);
public ref ImVector Fonts => ref Unsafe.AsRef>(&Handle->Fonts);
public ref ImVector CustomRects => ref Unsafe.AsRef>(&Handle->CustomRects);
public ref ImVector ConfigData => ref Unsafe.AsRef>(&Handle->ConfigData);
public unsafe Span TexUvLines
{
get
{
return new Span(&Handle->TexUvLines_0, 64);
}
}
public ref ImFontBuilderIOPtr FontBuilderIO => ref Unsafe.AsRef(&Handle->FontBuilderIO);
public ref uint FontBuilderFlags => ref Unsafe.AsRef(&Handle->FontBuilderFlags);
public ref int TextureIndexCommon => ref Unsafe.AsRef(&Handle->TextureIndexCommon);
public ref int PackIdCommon => ref Unsafe.AsRef(&Handle->PackIdCommon);
public ref ImFontAtlasCustomRect RectMouseCursors => ref Unsafe.AsRef(&Handle->RectMouseCursors);
public ref ImFontAtlasCustomRect RectLines => ref Unsafe.AsRef(&Handle->RectLines);
}
}
/* ImFontAtlasCustomRect.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontAtlasCustomRect
{
public ushort Width;
public ushort Height;
public ushort X;
public ushort Y;
public uint RawBits0;
public float GlyphAdvanceX;
public Vector2 GlyphOffset;
public unsafe ImFont* Font;
public unsafe ImFontAtlasCustomRect(ushort width = default, ushort height = default, ushort x = default, ushort y = default, uint reserved = default, uint textureIndex = default, uint glyphId = default, float glyphAdvanceX = default, Vector2 glyphOffset = default, ImFontPtr font = default)
{
Width = width;
Height = height;
X = x;
Y = y;
Reserved = reserved;
TextureIndex = textureIndex;
GlyphID = glyphId;
GlyphAdvanceX = glyphAdvanceX;
GlyphOffset = glyphOffset;
Font = font;
}
public uint Reserved { get => Bitfield.Get(RawBits0, 0, 2); set => Bitfield.Set(ref RawBits0, value, 0, 2); }
public uint TextureIndex { get => Bitfield.Get(RawBits0, 2, 9); set => Bitfield.Set(ref RawBits0, value, 2, 9); }
public uint GlyphID { get => Bitfield.Get(RawBits0, 11, 21); set => Bitfield.Set(ref RawBits0, value, 11, 21); }
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontAtlasCustomRectPtr : IEquatable
{
public ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* handle) { Handle = handle; }
public ImFontAtlasCustomRect* Handle;
public bool IsNull => Handle == null;
public static ImFontAtlasCustomRectPtr Null => new ImFontAtlasCustomRectPtr(null);
public ImFontAtlasCustomRect this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontAtlasCustomRectPtr(ImFontAtlasCustomRect* handle) => new ImFontAtlasCustomRectPtr(handle);
public static implicit operator ImFontAtlasCustomRect*(ImFontAtlasCustomRectPtr handle) => handle.Handle;
public static bool operator ==(ImFontAtlasCustomRectPtr left, ImFontAtlasCustomRectPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontAtlasCustomRectPtr left, ImFontAtlasCustomRectPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontAtlasCustomRectPtr left, ImFontAtlasCustomRect* right) => left.Handle == right;
public static bool operator !=(ImFontAtlasCustomRectPtr left, ImFontAtlasCustomRect* right) => left.Handle != right;
public bool Equals(ImFontAtlasCustomRectPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontAtlasCustomRectPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontAtlasCustomRectPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ushort Width => ref Unsafe.AsRef(&Handle->Width);
public ref ushort Height => ref Unsafe.AsRef(&Handle->Height);
public ref ushort X => ref Unsafe.AsRef(&Handle->X);
public ref ushort Y => ref Unsafe.AsRef(&Handle->Y);
public uint Reserved { get => Handle->Reserved; set => Handle->Reserved = value; }
public uint TextureIndex { get => Handle->TextureIndex; set => Handle->TextureIndex = value; }
public uint GlyphID { get => Handle->GlyphID; set => Handle->GlyphID = value; }
public ref float GlyphAdvanceX => ref Unsafe.AsRef(&Handle->GlyphAdvanceX);
public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&Handle->GlyphOffset);
public ref ImFontPtr Font => ref Unsafe.AsRef(&Handle->Font);
}
}
/* ImFontAtlasTexture.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontAtlasTexture
{
public ImTextureID TexID;
public unsafe byte* TexPixelsAlpha8;
public unsafe uint* TexPixelsRGBA32;
public unsafe ImFontAtlasTexture(ImTextureID texId = default, byte* texPixelsAlpha8 = default, uint* texPixelsRgba32 = default)
{
TexID = texId;
TexPixelsAlpha8 = texPixelsAlpha8;
TexPixelsRGBA32 = texPixelsRgba32;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontAtlasTexturePtr : IEquatable
{
public ImFontAtlasTexturePtr(ImFontAtlasTexture* handle) { Handle = handle; }
public ImFontAtlasTexture* Handle;
public bool IsNull => Handle == null;
public static ImFontAtlasTexturePtr Null => new ImFontAtlasTexturePtr(null);
public ImFontAtlasTexture this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontAtlasTexturePtr(ImFontAtlasTexture* handle) => new ImFontAtlasTexturePtr(handle);
public static implicit operator ImFontAtlasTexture*(ImFontAtlasTexturePtr handle) => handle.Handle;
public static bool operator ==(ImFontAtlasTexturePtr left, ImFontAtlasTexturePtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontAtlasTexturePtr left, ImFontAtlasTexturePtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontAtlasTexturePtr left, ImFontAtlasTexture* right) => left.Handle == right;
public static bool operator !=(ImFontAtlasTexturePtr left, ImFontAtlasTexture* right) => left.Handle != right;
public bool Equals(ImFontAtlasTexturePtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontAtlasTexturePtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontAtlasTexturePtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImTextureID TexID => ref Unsafe.AsRef(&Handle->TexID);
public byte* TexPixelsAlpha8 { get => Handle->TexPixelsAlpha8; set => Handle->TexPixelsAlpha8 = value; }
public uint* TexPixelsRGBA32 { get => Handle->TexPixelsRGBA32; set => Handle->TexPixelsRGBA32 = value; }
}
}
/* ImFontBuilderIO.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontBuilderIO
{
public unsafe void* FontBuilderBuild;
public unsafe ImFontBuilderIO(delegate* fontbuilderBuild = default)
{
FontBuilderBuild = (void*)fontbuilderBuild;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontBuilderIOPtr : IEquatable
{
public ImFontBuilderIOPtr(ImFontBuilderIO* handle) { Handle = handle; }
public ImFontBuilderIO* Handle;
public bool IsNull => Handle == null;
public static ImFontBuilderIOPtr Null => new ImFontBuilderIOPtr(null);
public ImFontBuilderIO this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontBuilderIOPtr(ImFontBuilderIO* handle) => new ImFontBuilderIOPtr(handle);
public static implicit operator ImFontBuilderIO*(ImFontBuilderIOPtr handle) => handle.Handle;
public static bool operator ==(ImFontBuilderIOPtr left, ImFontBuilderIOPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontBuilderIOPtr left, ImFontBuilderIOPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontBuilderIOPtr left, ImFontBuilderIO* right) => left.Handle == right;
public static bool operator !=(ImFontBuilderIOPtr left, ImFontBuilderIO* right) => left.Handle != right;
public bool Equals(ImFontBuilderIOPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontBuilderIOPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontBuilderIOPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public void* FontBuilderBuild { get => Handle->FontBuilderBuild; set => Handle->FontBuilderBuild = value; }
}
}
/* ImFontConfig.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontConfig
{
public unsafe void* FontData;
public int FontDataSize;
public byte FontDataOwnedByAtlas;
public int FontNo;
public float SizePixels;
public int OversampleH;
public int OversampleV;
public byte PixelSnapH;
public Vector2 GlyphExtraSpacing;
public Vector2 GlyphOffset;
public unsafe ushort* GlyphRanges;
public float GlyphMinAdvanceX;
public float GlyphMaxAdvanceX;
public byte MergeMode;
public uint FontBuilderFlags;
public float RasterizerMultiply;
public float RasterizerGamma;
public ushort EllipsisChar;
public byte Name_0;
public byte Name_1;
public byte Name_2;
public byte Name_3;
public byte Name_4;
public byte Name_5;
public byte Name_6;
public byte Name_7;
public byte Name_8;
public byte Name_9;
public byte Name_10;
public byte Name_11;
public byte Name_12;
public byte Name_13;
public byte Name_14;
public byte Name_15;
public byte Name_16;
public byte Name_17;
public byte Name_18;
public byte Name_19;
public byte Name_20;
public byte Name_21;
public byte Name_22;
public byte Name_23;
public byte Name_24;
public byte Name_25;
public byte Name_26;
public byte Name_27;
public byte Name_28;
public byte Name_29;
public byte Name_30;
public byte Name_31;
public byte Name_32;
public byte Name_33;
public byte Name_34;
public byte Name_35;
public byte Name_36;
public byte Name_37;
public byte Name_38;
public byte Name_39;
public unsafe ImFont* DstFont;
public unsafe ImFontConfig(void* fontData = default, int fontDataSize = default, bool fontDataOwnedByAtlas = default, int fontNo = default, float sizePixels = default, int oversampleH = default, int oversampleV = default, bool pixelSnapH = default, Vector2 glyphExtraSpacing = default, Vector2 glyphOffset = default, ushort* glyphRanges = default, float glyphMinAdvanceX = default, float glyphMaxAdvanceX = default, bool mergeMode = default, uint fontBuilderFlags = default, float rasterizerMultiply = default, float rasterizerGamma = default, ushort ellipsisChar = default, byte* name = default, ImFontPtr dstFont = default)
{
FontData = fontData;
FontDataSize = fontDataSize;
FontDataOwnedByAtlas = fontDataOwnedByAtlas ? (byte)1 : (byte)0;
FontNo = fontNo;
SizePixels = sizePixels;
OversampleH = oversampleH;
OversampleV = oversampleV;
PixelSnapH = pixelSnapH ? (byte)1 : (byte)0;
GlyphExtraSpacing = glyphExtraSpacing;
GlyphOffset = glyphOffset;
GlyphRanges = glyphRanges;
GlyphMinAdvanceX = glyphMinAdvanceX;
GlyphMaxAdvanceX = glyphMaxAdvanceX;
MergeMode = mergeMode ? (byte)1 : (byte)0;
FontBuilderFlags = fontBuilderFlags;
RasterizerMultiply = rasterizerMultiply;
RasterizerGamma = rasterizerGamma;
EllipsisChar = ellipsisChar;
if (name != default(byte*))
{
Name_0 = name[0];
Name_1 = name[1];
Name_2 = name[2];
Name_3 = name[3];
Name_4 = name[4];
Name_5 = name[5];
Name_6 = name[6];
Name_7 = name[7];
Name_8 = name[8];
Name_9 = name[9];
Name_10 = name[10];
Name_11 = name[11];
Name_12 = name[12];
Name_13 = name[13];
Name_14 = name[14];
Name_15 = name[15];
Name_16 = name[16];
Name_17 = name[17];
Name_18 = name[18];
Name_19 = name[19];
Name_20 = name[20];
Name_21 = name[21];
Name_22 = name[22];
Name_23 = name[23];
Name_24 = name[24];
Name_25 = name[25];
Name_26 = name[26];
Name_27 = name[27];
Name_28 = name[28];
Name_29 = name[29];
Name_30 = name[30];
Name_31 = name[31];
Name_32 = name[32];
Name_33 = name[33];
Name_34 = name[34];
Name_35 = name[35];
Name_36 = name[36];
Name_37 = name[37];
Name_38 = name[38];
Name_39 = name[39];
}
DstFont = dstFont;
}
public unsafe ImFontConfig(void* fontData = default, int fontDataSize = default, bool fontDataOwnedByAtlas = default, int fontNo = default, float sizePixels = default, int oversampleH = default, int oversampleV = default, bool pixelSnapH = default, Vector2 glyphExtraSpacing = default, Vector2 glyphOffset = default, ushort* glyphRanges = default, float glyphMinAdvanceX = default, float glyphMaxAdvanceX = default, bool mergeMode = default, uint fontBuilderFlags = default, float rasterizerMultiply = default, float rasterizerGamma = default, ushort ellipsisChar = default, Span name = default, ImFontPtr dstFont = default)
{
FontData = fontData;
FontDataSize = fontDataSize;
FontDataOwnedByAtlas = fontDataOwnedByAtlas ? (byte)1 : (byte)0;
FontNo = fontNo;
SizePixels = sizePixels;
OversampleH = oversampleH;
OversampleV = oversampleV;
PixelSnapH = pixelSnapH ? (byte)1 : (byte)0;
GlyphExtraSpacing = glyphExtraSpacing;
GlyphOffset = glyphOffset;
GlyphRanges = glyphRanges;
GlyphMinAdvanceX = glyphMinAdvanceX;
GlyphMaxAdvanceX = glyphMaxAdvanceX;
MergeMode = mergeMode ? (byte)1 : (byte)0;
FontBuilderFlags = fontBuilderFlags;
RasterizerMultiply = rasterizerMultiply;
RasterizerGamma = rasterizerGamma;
EllipsisChar = ellipsisChar;
if (name != default(Span))
{
Name_0 = name[0];
Name_1 = name[1];
Name_2 = name[2];
Name_3 = name[3];
Name_4 = name[4];
Name_5 = name[5];
Name_6 = name[6];
Name_7 = name[7];
Name_8 = name[8];
Name_9 = name[9];
Name_10 = name[10];
Name_11 = name[11];
Name_12 = name[12];
Name_13 = name[13];
Name_14 = name[14];
Name_15 = name[15];
Name_16 = name[16];
Name_17 = name[17];
Name_18 = name[18];
Name_19 = name[19];
Name_20 = name[20];
Name_21 = name[21];
Name_22 = name[22];
Name_23 = name[23];
Name_24 = name[24];
Name_25 = name[25];
Name_26 = name[26];
Name_27 = name[27];
Name_28 = name[28];
Name_29 = name[29];
Name_30 = name[30];
Name_31 = name[31];
Name_32 = name[32];
Name_33 = name[33];
Name_34 = name[34];
Name_35 = name[35];
Name_36 = name[36];
Name_37 = name[37];
Name_38 = name[38];
Name_39 = name[39];
}
DstFont = dstFont;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontConfigPtr : IEquatable
{
public ImFontConfigPtr(ImFontConfig* handle) { Handle = handle; }
public ImFontConfig* Handle;
public bool IsNull => Handle == null;
public static ImFontConfigPtr Null => new ImFontConfigPtr(null);
public ImFontConfig this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontConfigPtr(ImFontConfig* handle) => new ImFontConfigPtr(handle);
public static implicit operator ImFontConfig*(ImFontConfigPtr handle) => handle.Handle;
public static bool operator ==(ImFontConfigPtr left, ImFontConfigPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontConfigPtr left, ImFontConfigPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontConfigPtr left, ImFontConfig* right) => left.Handle == right;
public static bool operator !=(ImFontConfigPtr left, ImFontConfig* right) => left.Handle != right;
public bool Equals(ImFontConfigPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontConfigPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontConfigPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public void* FontData { get => Handle->FontData; set => Handle->FontData = value; }
public ref int FontDataSize => ref Unsafe.AsRef(&Handle->FontDataSize);
public ref bool FontDataOwnedByAtlas => ref Unsafe.AsRef(&Handle->FontDataOwnedByAtlas);
public ref int FontNo => ref Unsafe.AsRef(&Handle->FontNo);
public ref float SizePixels => ref Unsafe.AsRef(&Handle->SizePixels);
public ref int OversampleH => ref Unsafe.AsRef(&Handle->OversampleH);
public ref int OversampleV => ref Unsafe.AsRef(&Handle->OversampleV);
public ref bool PixelSnapH => ref Unsafe.AsRef(&Handle->PixelSnapH);
public ref Vector2 GlyphExtraSpacing => ref Unsafe.AsRef(&Handle->GlyphExtraSpacing);
public ref Vector2 GlyphOffset => ref Unsafe.AsRef(&Handle->GlyphOffset);
public ushort* GlyphRanges { get => Handle->GlyphRanges; set => Handle->GlyphRanges = value; }
public ref float GlyphMinAdvanceX => ref Unsafe.AsRef(&Handle->GlyphMinAdvanceX);
public ref float GlyphMaxAdvanceX => ref Unsafe.AsRef(&Handle->GlyphMaxAdvanceX);
public ref bool MergeMode => ref Unsafe.AsRef(&Handle->MergeMode);
public ref uint FontBuilderFlags => ref Unsafe.AsRef(&Handle->FontBuilderFlags);
public ref float RasterizerMultiply => ref Unsafe.AsRef(&Handle->RasterizerMultiply);
public ref float RasterizerGamma => ref Unsafe.AsRef(&Handle->RasterizerGamma);
public ref ushort EllipsisChar => ref Unsafe.AsRef(&Handle->EllipsisChar);
public unsafe Span Name
{
get
{
return new Span(&Handle->Name_0, 40);
}
}
public ref ImFontPtr DstFont => ref Unsafe.AsRef(&Handle->DstFont);
}
}
/* ImFontGlyph.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontGlyph
{
public uint RawBits0;
public float AdvanceX;
public float X0;
public float Y0;
public float X1;
public float Y1;
public float U0;
public float V0;
public float U1;
public float V1;
public unsafe ImFontGlyph(uint colored = default, uint visible = default, uint textureIndex = default, uint codepoint = default, float advanceX = default, float x0 = default, float y0 = default, float x1 = default, float y1 = default, float u0 = default, float v0 = default, float u1 = default, float v1 = default)
{
Colored = colored;
Visible = visible;
TextureIndex = textureIndex;
Codepoint = codepoint;
AdvanceX = advanceX;
X0 = x0;
Y0 = y0;
X1 = x1;
Y1 = y1;
U0 = u0;
V0 = v0;
U1 = u1;
V1 = v1;
}
public uint Colored { get => Bitfield.Get(RawBits0, 0, 1); set => Bitfield.Set(ref RawBits0, value, 0, 1); }
public uint Visible { get => Bitfield.Get(RawBits0, 1, 1); set => Bitfield.Set(ref RawBits0, value, 1, 1); }
public uint TextureIndex { get => Bitfield.Get(RawBits0, 2, 9); set => Bitfield.Set(ref RawBits0, value, 2, 9); }
public uint Codepoint { get => Bitfield.Get(RawBits0, 11, 21); set => Bitfield.Set(ref RawBits0, value, 11, 21); }
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontGlyphPtr : IEquatable
{
public ImFontGlyphPtr(ImFontGlyph* handle) { Handle = handle; }
public ImFontGlyph* Handle;
public bool IsNull => Handle == null;
public static ImFontGlyphPtr Null => new ImFontGlyphPtr(null);
public ImFontGlyph this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontGlyphPtr(ImFontGlyph* handle) => new ImFontGlyphPtr(handle);
public static implicit operator ImFontGlyph*(ImFontGlyphPtr handle) => handle.Handle;
public static bool operator ==(ImFontGlyphPtr left, ImFontGlyphPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontGlyphPtr left, ImFontGlyphPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontGlyphPtr left, ImFontGlyph* right) => left.Handle == right;
public static bool operator !=(ImFontGlyphPtr left, ImFontGlyph* right) => left.Handle != right;
public bool Equals(ImFontGlyphPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontGlyphPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontGlyphPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public uint Colored { get => Handle->Colored; set => Handle->Colored = value; }
public uint Visible { get => Handle->Visible; set => Handle->Visible = value; }
public uint TextureIndex { get => Handle->TextureIndex; set => Handle->TextureIndex = value; }
public uint Codepoint { get => Handle->Codepoint; set => Handle->Codepoint = value; }
public ref float AdvanceX => ref Unsafe.AsRef(&Handle->AdvanceX);
public ref float X0 => ref Unsafe.AsRef(&Handle->X0);
public ref float Y0 => ref Unsafe.AsRef(&Handle->Y0);
public ref float X1 => ref Unsafe.AsRef(&Handle->X1);
public ref float Y1 => ref Unsafe.AsRef(&Handle->Y1);
public ref float U0 => ref Unsafe.AsRef(&Handle->U0);
public ref float V0 => ref Unsafe.AsRef(&Handle->V0);
public ref float U1 => ref Unsafe.AsRef(&Handle->U1);
public ref float V1 => ref Unsafe.AsRef(&Handle->V1);
}
}
/* ImFontGlyphHotData.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontGlyphHotData
{
public float AdvanceX;
public float OccupiedWidth;
public uint RawBits0;
public unsafe ImFontGlyphHotData(float advanceX = default, float occupiedWidth = default, uint kerningPairUseBisect = default, uint kerningPairOffset = default, uint kerningPairCount = default)
{
AdvanceX = advanceX;
OccupiedWidth = occupiedWidth;
KerningPairUseBisect = kerningPairUseBisect;
KerningPairOffset = kerningPairOffset;
KerningPairCount = kerningPairCount;
}
public uint KerningPairUseBisect { get => Bitfield.Get(RawBits0, 0, 1); set => Bitfield.Set(ref RawBits0, value, 0, 1); }
public uint KerningPairOffset { get => Bitfield.Get(RawBits0, 1, 19); set => Bitfield.Set(ref RawBits0, value, 1, 19); }
public uint KerningPairCount { get => Bitfield.Get(RawBits0, 20, 12); set => Bitfield.Set(ref RawBits0, value, 20, 12); }
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontGlyphHotDataPtr : IEquatable
{
public ImFontGlyphHotDataPtr(ImFontGlyphHotData* handle) { Handle = handle; }
public ImFontGlyphHotData* Handle;
public bool IsNull => Handle == null;
public static ImFontGlyphHotDataPtr Null => new ImFontGlyphHotDataPtr(null);
public ImFontGlyphHotData this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontGlyphHotDataPtr(ImFontGlyphHotData* handle) => new ImFontGlyphHotDataPtr(handle);
public static implicit operator ImFontGlyphHotData*(ImFontGlyphHotDataPtr handle) => handle.Handle;
public static bool operator ==(ImFontGlyphHotDataPtr left, ImFontGlyphHotDataPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontGlyphHotDataPtr left, ImFontGlyphHotDataPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontGlyphHotDataPtr left, ImFontGlyphHotData* right) => left.Handle == right;
public static bool operator !=(ImFontGlyphHotDataPtr left, ImFontGlyphHotData* right) => left.Handle != right;
public bool Equals(ImFontGlyphHotDataPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontGlyphHotDataPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontGlyphHotDataPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref float AdvanceX => ref Unsafe.AsRef(&Handle->AdvanceX);
public ref float OccupiedWidth => ref Unsafe.AsRef(&Handle->OccupiedWidth);
public uint KerningPairUseBisect { get => Handle->KerningPairUseBisect; set => Handle->KerningPairUseBisect = value; }
public uint KerningPairOffset { get => Handle->KerningPairOffset; set => Handle->KerningPairOffset = value; }
public uint KerningPairCount { get => Handle->KerningPairCount; set => Handle->KerningPairCount = value; }
}
}
/* ImFontGlyphRangesBuilder.cs */
namespace Dalamud.Bindings.ImGui
{
[StructLayout(LayoutKind.Sequential)]
public partial struct ImFontGlyphRangesBuilder
{
public ImVector UsedChars;
public unsafe ImFontGlyphRangesBuilder(ImVector usedChars = default)
{
UsedChars = usedChars;
}
}
[DebuggerDisplay("{DebuggerDisplay,nq}")]
public unsafe partial struct ImFontGlyphRangesBuilderPtr : IEquatable
{
public ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* handle) { Handle = handle; }
public ImFontGlyphRangesBuilder* Handle;
public bool IsNull => Handle == null;
public static ImFontGlyphRangesBuilderPtr Null => new ImFontGlyphRangesBuilderPtr(null);
public ImFontGlyphRangesBuilder this[int index] { get => Handle[index]; set => Handle[index] = value; }
public static implicit operator ImFontGlyphRangesBuilderPtr(ImFontGlyphRangesBuilder* handle) => new ImFontGlyphRangesBuilderPtr(handle);
public static implicit operator ImFontGlyphRangesBuilder*(ImFontGlyphRangesBuilderPtr handle) => handle.Handle;
public static bool operator ==(ImFontGlyphRangesBuilderPtr left, ImFontGlyphRangesBuilderPtr right) => left.Handle == right.Handle;
public static bool operator !=(ImFontGlyphRangesBuilderPtr left, ImFontGlyphRangesBuilderPtr right) => left.Handle != right.Handle;
public static bool operator ==(ImFontGlyphRangesBuilderPtr left, ImFontGlyphRangesBuilder* right) => left.Handle == right;
public static bool operator !=(ImFontGlyphRangesBuilderPtr left, ImFontGlyphRangesBuilder* right) => left.Handle != right;
public bool Equals(ImFontGlyphRangesBuilderPtr other) => Handle == other.Handle;
public override bool Equals(object obj) => obj is ImFontGlyphRangesBuilderPtr handle && Equals(handle);
public override int GetHashCode() => ((nuint)Handle).GetHashCode();
private string DebuggerDisplay => string.Format("ImFontGlyphRangesBuilderPtr [0x{0}]", ((nuint)Handle).ToString("X"));
public ref ImVector UsedChars => ref Unsafe.AsRef