mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-27 19:09:18 +01:00
reformat
This commit is contained in:
parent
11aef2f4d6
commit
f391ac57d3
13 changed files with 787 additions and 413 deletions
|
|
@ -13,7 +13,6 @@ public ref struct AutoUtf8Buffer : IDisposable
|
|||
private const int TotalBufferSize = 1024;
|
||||
private const int FixedBufferSize = TotalBufferSize - 8 - 8 - 8 - 1;
|
||||
private const int MinimumRentSize = TotalBufferSize * 2;
|
||||
|
||||
private byte[]? rentedBuffer;
|
||||
private ReadOnlySpan<byte> span;
|
||||
private IFormatProvider? formatProvider;
|
||||
|
|
@ -38,30 +37,26 @@ public ref struct AutoUtf8Buffer : IDisposable
|
|||
IncreaseBuffer(out _, literalLength);
|
||||
}
|
||||
|
||||
public AutoUtf8Buffer(int literalLength, int formattedCount, IFormatProvider? formatProvider)
|
||||
: this(literalLength, formattedCount)
|
||||
public AutoUtf8Buffer(int literalLength, int formattedCount, IFormatProvider? formatProvider) : this(
|
||||
literalLength,
|
||||
formattedCount)
|
||||
{
|
||||
this.formatProvider = formatProvider;
|
||||
}
|
||||
|
||||
public AutoUtf8Buffer(ReadOnlySpan<byte> text)
|
||||
public unsafe AutoUtf8Buffer(ReadOnlySpan<byte> text)
|
||||
{
|
||||
this.state = State.Initialized;
|
||||
if (text.IsEmpty)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
this.span = MemoryMarshal.CreateSpan(ref this.fixedBuffer[0], 0);
|
||||
this.fixedBuffer[0] = 0;
|
||||
}
|
||||
|
||||
this.span = MemoryMarshal.CreateSpan(ref this.fixedBuffer[0], 0);
|
||||
this.fixedBuffer[0] = 0;
|
||||
this.state |= State.NullTerminated | State.OwnedSpan;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.span = text;
|
||||
if (Unsafe.Add(ref Unsafe.AsRef(in text[0]), text.Length) == 0)
|
||||
this.state |= State.NullTerminated;
|
||||
if (Unsafe.Add(ref Unsafe.AsRef(in text[0]), text.Length) == 0) this.state |= State.NullTerminated;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -125,7 +120,6 @@ public ref struct AutoUtf8Buffer : IDisposable
|
|||
{
|
||||
if ((this.state & State.OwnedSpan) != 0)
|
||||
this.span = MemoryMarshal.CreateSpan(ref this.fixedBuffer[0], this.span.Length);
|
||||
|
||||
if ((this.state & State.NullTerminated) == 0)
|
||||
{
|
||||
if (this.span.Length + 1 < FixedBufferSize)
|
||||
|
|
@ -151,8 +145,8 @@ public ref struct AutoUtf8Buffer : IDisposable
|
|||
}
|
||||
|
||||
private unsafe Span<byte> EffectiveBuffer =>
|
||||
this.rentedBuffer is { } rentedBuffer
|
||||
? rentedBuffer.AsSpan()
|
||||
this.rentedBuffer is { } buf
|
||||
? buf.AsSpan()
|
||||
: MemoryMarshal.CreateSpan(ref this.fixedBuffer[0], FixedBufferSize);
|
||||
|
||||
private Span<byte> RemainingBuffer => this.EffectiveBuffer[this.span.Length..];
|
||||
|
|
@ -171,17 +165,17 @@ public ref struct AutoUtf8Buffer : IDisposable
|
|||
|
||||
public void Dispose()
|
||||
{
|
||||
if (this.rentedBuffer is { } rentedBuffer)
|
||||
if (this.rentedBuffer is { } buf)
|
||||
{
|
||||
this.rentedBuffer = null;
|
||||
this.span = default;
|
||||
ArrayPool<byte>.Shared.Return(rentedBuffer);
|
||||
ArrayPool<byte>.Shared.Return(buf);
|
||||
}
|
||||
|
||||
this.state = State.None;
|
||||
}
|
||||
|
||||
public AutoUtf8Buffer MoveOrDefault([InterpolatedStringHandlerArgument] AutoUtf8Buffer other)
|
||||
public AutoUtf8Buffer MoveOrDefault(AutoUtf8Buffer other)
|
||||
{
|
||||
if (this.IsInitialized)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,39 +5,43 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public unsafe partial struct ImDrawList
|
||||
{
|
||||
public void AddText(Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public void AddText(Vector2 pos, uint col, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (ImDrawList* thisPtr = &this)
|
||||
ImGui.AddText(thisPtr, pos, col, text);
|
||||
fixed (ImDrawList* thisPtr = &this) ImGui.AddText(thisPtr, pos, col, text);
|
||||
}
|
||||
|
||||
public void AddText(
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth,
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth,
|
||||
scoped in Vector4 cpuFineClipRect)
|
||||
{
|
||||
fixed (ImDrawList* thisPtr = &this)
|
||||
ImGui.AddText(thisPtr, font, fontSize, pos, col, text, wrapWidth, cpuFineClipRect);
|
||||
fixed (ImDrawList* thisPtr =
|
||||
&this) ImGui.AddText(thisPtr, font, fontSize, pos, col, text, wrapWidth, cpuFineClipRect);
|
||||
}
|
||||
|
||||
public void AddText(
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0f)
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth = 0f)
|
||||
{
|
||||
fixed (ImDrawList* thisPtr = &this)
|
||||
ImGui.AddText(thisPtr, font, fontSize, pos, col, text, wrapWidth);
|
||||
fixed (ImDrawList* thisPtr = &this) ImGui.AddText(thisPtr, font, fontSize, pos, col, text, wrapWidth);
|
||||
}
|
||||
}
|
||||
|
||||
public partial struct ImDrawListPtr
|
||||
{
|
||||
public void AddText(Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text) =>
|
||||
ImGui.AddText(this, pos, col, text);
|
||||
public void AddText(Vector2 pos, uint col, AutoUtf8Buffer text) => ImGui.AddText(this, pos, col, text);
|
||||
|
||||
public void AddText(
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth,
|
||||
scoped in Vector4 cpuFineClipRect) =>
|
||||
ImGui.AddText(this, font, fontSize, pos, col, text, wrapWidth, cpuFineClipRect);
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth,
|
||||
scoped in Vector4 cpuFineClipRect) => ImGui.AddText(
|
||||
this,
|
||||
font,
|
||||
fontSize,
|
||||
pos,
|
||||
col,
|
||||
text,
|
||||
wrapWidth,
|
||||
cpuFineClipRect);
|
||||
|
||||
public void AddText(
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0f) =>
|
||||
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth = 0f) =>
|
||||
ImGui.AddText(this, font, fontSize, pos, col, text, wrapWidth);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,29 +5,35 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public unsafe partial struct ImFont
|
||||
{
|
||||
public readonly int CalcWordWrapPositionA(
|
||||
float scale, ReadOnlySpan<byte> text, float wrapWidth)
|
||||
public readonly int CalcWordWrapPositionA(float scale, ReadOnlySpan<byte> text, float wrapWidth)
|
||||
{
|
||||
fixed (ImFont* thisPtr = &this)
|
||||
return ImGui.CalcWordWrapPositionA(thisPtr, scale, text, wrapWidth);
|
||||
fixed (ImFont* thisPtr = &this) return ImGui.CalcWordWrapPositionA(thisPtr, scale, text, wrapWidth);
|
||||
}
|
||||
|
||||
public readonly void RenderText(
|
||||
ImDrawListPtr drawList, float size, Vector2 pos, uint col, Vector4 clipRect,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0.0f, bool cpuFineClip = false)
|
||||
ImDrawListPtr drawList, float size, Vector2 pos, uint col, Vector4 clipRect, AutoUtf8Buffer text,
|
||||
float wrapWidth = 0.0f, bool cpuFineClip = false)
|
||||
{
|
||||
fixed (ImFont* thisPtr = &this)
|
||||
ImGui.RenderText(thisPtr, drawList, size, pos, col, clipRect, text, wrapWidth, cpuFineClip);
|
||||
fixed (ImFont* thisPtr =
|
||||
&this) ImGui.RenderText(thisPtr, drawList, size, pos, col, clipRect, text, wrapWidth, cpuFineClip);
|
||||
}
|
||||
}
|
||||
|
||||
public partial struct ImFontPtr
|
||||
{
|
||||
public readonly int CalcWordWrapPositionA(float scale, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth) =>
|
||||
public readonly int CalcWordWrapPositionA(float scale, AutoUtf8Buffer text, float wrapWidth) =>
|
||||
ImGui.CalcWordWrapPositionA(this, scale, text, wrapWidth);
|
||||
|
||||
public readonly void RenderText(
|
||||
ImDrawListPtr drawList, float size, Vector2 pos, uint col, Vector4 clipRect, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text,
|
||||
float wrapWidth = 0.0f, bool cpuFineClip = false) =>
|
||||
ImGui.RenderText(this, drawList, size, pos, col, clipRect, text, wrapWidth, cpuFineClip);
|
||||
ImDrawListPtr drawList, float size, Vector2 pos, uint col, Vector4 clipRect, AutoUtf8Buffer text,
|
||||
float wrapWidth = 0.0f, bool cpuFineClip = false) => ImGui.RenderText(
|
||||
this,
|
||||
drawList,
|
||||
size,
|
||||
pos,
|
||||
col,
|
||||
clipRect,
|
||||
text,
|
||||
wrapWidth,
|
||||
cpuFineClip);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,14 +4,13 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public unsafe partial struct ImFontGlyphRangesBuilder
|
||||
{
|
||||
public void AddText([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public void AddText(AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (ImFontGlyphRangesBuilder* thisPtr = &this)
|
||||
ImGui.AddText(thisPtr, text);
|
||||
fixed (ImFontGlyphRangesBuilder* thisPtr = &this) ImGui.AddText(thisPtr, text);
|
||||
}
|
||||
}
|
||||
|
||||
public partial struct ImFontGlyphRangesBuilderPtr
|
||||
{
|
||||
public void AddText([InterpolatedStringHandlerArgument] AutoUtf8Buffer text) => ImGui.AddText(this, text);
|
||||
public void AddText(AutoUtf8Buffer text) => ImGui.AddText(this, text);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ namespace Dalamud.Bindings.ImGui;
|
|||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static bool ColorEdit3(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
AutoUtf8Buffer label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector3* colPtr = &col)
|
||||
|
|
@ -20,7 +20,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool ColorEdit4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector4* colPtr = &col)
|
||||
|
|
@ -32,7 +32,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool ColorPicker3(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
AutoUtf8Buffer label, scoped ref Vector3 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector3* colPtr = &col)
|
||||
|
|
@ -44,7 +44,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool ColorPicker4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags = ImGuiColorEditFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector4* colPtr = &col)
|
||||
|
|
@ -56,7 +56,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool ColorPicker4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags, scoped in Vector4 refCol)
|
||||
AutoUtf8Buffer label, scoped ref Vector4 col, ImGuiColorEditFlags flags, scoped in Vector4 refCol)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector4* colPtr = &col)
|
||||
|
|
@ -68,7 +68,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
}
|
||||
|
||||
public static bool ColorPicker4([InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 col, scoped in Vector4 refCol)
|
||||
public static bool ColorPicker4(AutoUtf8Buffer label, scoped ref Vector4 col, scoped in Vector4 refCol)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (Vector4* colPtr = &col)
|
||||
|
|
|
|||
|
|
@ -9,148 +9,299 @@ namespace Dalamud.Bindings.ImGui;
|
|||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static bool DragSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref sbyte v, float vSpeed = 1.0f, sbyte vMin = 0, sbyte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S8, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref sbyte v, float vSpeed = 1.0f, sbyte vMin = 0, sbyte vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<sbyte> v, float vSpeed = 1.0f, sbyte vMin = 0, sbyte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S8, v, vSpeed, vMin, vMax, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<sbyte> v, float vSpeed = 1.0f, sbyte vMin = 0, sbyte vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref byte v, float vSpeed = 1.0f, byte vMin = 0, byte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U8, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref byte v, float vSpeed = 1.0f, byte vMin = 0, byte vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<byte> v, float vSpeed = 1.0f, byte vMin = 0, byte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U8, v, vSpeed, vMin, vMax, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<byte> v, float vSpeed = 1.0f, byte vMin = 0, byte vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref short v, float vSpeed = 1.0f, short vMin = 0, short vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S16, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref short v, float vSpeed = 1.0f, short vMin = 0, short vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<short> v, float vSpeed = 1.0f, short vMin = 0, short vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S16, v, vSpeed, vMin, vMax, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<short> v, float vSpeed = 1.0f, short vMin = 0, short vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ushort v, float vSpeed = 1.0f, ushort vMin = 0, ushort vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U16, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ushort v, float vSpeed = 1.0f, ushort vMin = 0, ushort vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ushort> v, float vSpeed = 1.0f, ushort vMin = 0, ushort vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U16, v, vSpeed, vMin, vMax, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ushort> v, float vSpeed = 1.0f, ushort vMin = 0, ushort vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref int v, float vSpeed = 1.0f, int vMin = 0, int vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S32, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref int v, float vSpeed = 1.0f, int vMin = 0, int vMax = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<int> v, float vSpeed = 1.0f, int vMin = 0, int vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S32, v, vSpeed, vMin, vMax, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<int> v, float vSpeed = 1.0f, int vMin = 0,
|
||||
int vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref uint v, float vSpeed = 1.0f, uint vMin = 0, uint vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U32, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref uint v, float vSpeed = 1.0f, uint vMin = 0,
|
||||
uint vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<uint> v, float vSpeed = 1.0f, uint vMin = 0, uint vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U32, v, vSpeed, vMin, vMax, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<uint> v, float vSpeed = 1.0f, uint vMin = 0,
|
||||
uint vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref long v, float vSpeed = 1.0f, long vMin = 0, long vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S64, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref long v, float vSpeed = 1.0f, long vMin = 0,
|
||||
long vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<long> v, float vSpeed = 1.0f, long vMin = 0, long vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.S64, v, vSpeed, vMin, vMax, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<long> v, float vSpeed = 1.0f, long vMin = 0,
|
||||
long vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ulong v, float vSpeed = 1.0f, ulong vMin = 0, ulong vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U64, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ulong v, float vSpeed = 1.0f,
|
||||
ulong vMin = 0, ulong vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ulong> v, float vSpeed = 1.0f, ulong vMin = 0, ulong vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.U64, v, vSpeed, vMin, vMax, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ulong> v, float vSpeed = 1.0f, ulong vMin = 0,
|
||||
ulong vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref float v, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.Float, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref float v, float vSpeed = 1.0f,
|
||||
float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<float> v, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.Float, v, vSpeed, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, Span<float> v, float vSpeed = 1.0f, float vMin = 0.0f,
|
||||
float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragFloat2(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector2 v, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector2, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
AutoUtf8Buffer label, scoped ref Vector2 v, float vSpeed = 1.0f,
|
||||
float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector2, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragFloat3(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector3 v, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector3, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
AutoUtf8Buffer label, scoped ref Vector3 v, float vSpeed = 1.0f,
|
||||
float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector3, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragFloat4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 v, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector4, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
AutoUtf8Buffer label, scoped ref Vector4 v, float vSpeed = 1.0f,
|
||||
float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector4, float>(new(ref v)),
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref double v, float vSpeed = 1.0f, double vMin = 0.0f, double vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.Double, ref v, vSpeed, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref double v, float vSpeed = 1.0f,
|
||||
double vMin = 0.0f, double vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Double,
|
||||
ref v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<double> v, float vSpeed = 1.0f, double vMin = 0.0f, double vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
DragScalar(label, ImGuiDataType.Double, v, vSpeed, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, Span<double> v, float vSpeed = 1.0f,
|
||||
double vMin = 0.0f, double vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => DragScalar(
|
||||
label,
|
||||
ImGuiDataType.Double,
|
||||
v,
|
||||
vSpeed,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool DragScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T v, float vSpeed, scoped in T vMin, scoped in T vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T v, float vSpeed,
|
||||
scoped in T vMin, scoped in T vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (byte* formatPtr = format.IsInitialized ? format.NullTerminatedSpan : null)
|
||||
|
|
@ -158,15 +309,7 @@ public static unsafe partial class ImGui
|
|||
fixed (T* vMinPtr = &vMin)
|
||||
fixed (T* vMaxPtr = &vMax)
|
||||
{
|
||||
var res = ImGuiNative.DragScalar(
|
||||
labelPtr,
|
||||
dataType,
|
||||
vPtr,
|
||||
vSpeed,
|
||||
vMinPtr,
|
||||
vMaxPtr,
|
||||
formatPtr,
|
||||
flags) != 0;
|
||||
var res = ImGuiNative.DragScalar(labelPtr, dataType, vPtr, vSpeed, vMinPtr, vMaxPtr, formatPtr, flags) != 0;
|
||||
label.Dispose();
|
||||
format.Dispose();
|
||||
return res;
|
||||
|
|
@ -174,9 +317,9 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool DragScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> v, float vSpeed, scoped in T vMin, scoped in T vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> v, float vSpeed,
|
||||
scoped in T vMin, scoped in T vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (byte* formatPtr = format.IsInitialized ? format.NullTerminatedSpan : null)
|
||||
|
|
@ -201,8 +344,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool DragFloatRange2(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ref float vCurrentMin, ref float vCurrentMax, float vSpeed = 1.0f, float vMin = 0.0f,
|
||||
float vMax = 0.0f, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, [InterpolatedStringHandlerArgument] AutoUtf8Buffer formatMax = default,
|
||||
AutoUtf8Buffer label, scoped ref float vCurrentMin,
|
||||
scoped ref float vCurrentMax, float vSpeed = 1.0f, float vMin = 0.0f, float vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer formatMax = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
@ -229,8 +374,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool DragIntRange2(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ref int vCurrentMin, ref int vCurrentMax, float vSpeed = 1.0f, int vMin = 0, int vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, [InterpolatedStringHandlerArgument] AutoUtf8Buffer formatMax = default,
|
||||
AutoUtf8Buffer label, scoped ref int vCurrentMin,
|
||||
scoped ref int vCurrentMax, float vSpeed = 1.0f, int vMin = 0, int vMax = 0,
|
||||
AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer formatMax = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
|
|||
|
|
@ -9,98 +9,200 @@ namespace Dalamud.Bindings.ImGui;
|
|||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static bool InputSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref sbyte data, sbyte step = 0, sbyte stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S8, ref data, step, stepFast, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref sbyte data, sbyte step = 0, sbyte stepFast = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<sbyte> data, sbyte step = 0, sbyte stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S8, data, step, stepFast, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<sbyte> data, sbyte step = 0, sbyte stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref byte data, byte step = 0, byte stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U8, ref data, step, stepFast, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref byte data, byte step = 0, byte stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<byte> data, byte step = 0, byte stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U8, data, step, stepFast, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<byte> data, byte step = 0, byte stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref short data, short step = 0, short stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S16, ref data, step, stepFast, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref short data, short step = 0, short stepFast = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<short> data, short step = 0, short stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S16, data, step, stepFast, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<short> data, short step = 0, short stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ushort data, ushort step = 0, ushort stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U16, ref data, step, stepFast, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ushort data, ushort step = 0, ushort stepFast = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ushort> data, ushort step = 0, ushort stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U16, data, step, stepFast, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ushort> data, ushort step = 0, ushort stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref int data, int step = 0, int stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S32, ref data, step, stepFast, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref int data, int step = 0, int stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<int> data, int step = 0, int stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S32, data, step, stepFast, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<int> data, int step = 0, int stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref uint data, uint step = 0, uint stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U32, ref data, step, stepFast, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref uint data, uint step = 0, uint stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<uint> data, uint step = 0, uint stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U32, data, step, stepFast, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<uint> data, uint step = 0, uint stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref long data, long step = 0, long stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S64, ref data, step, stepFast, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref long data, long step = 0, long stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<long> data, long step = 0, long stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.S64, data, step, stepFast, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<long> data, long step = 0, long stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ulong data, ulong step = 0, ulong stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U64, ref data, step, stepFast, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ulong data, ulong step = 0, ulong stepFast = 0,
|
||||
AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
ref data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ulong> data, ulong step = 0, ulong stepFast = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.U64, data, step, stepFast, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ulong> data, ulong step = 0, ulong stepFast = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) => InputScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
data,
|
||||
step,
|
||||
stepFast,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool InputFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref float data, float step = 0.0f, float stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref float data, float step = 0.0f,
|
||||
float stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.Float, ref data, step, stepFast, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool InputFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<float> data, float step = 0.0f, float stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, Span<float> data, float step = 0.0f,
|
||||
float stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.Float, data, step, stepFast, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool InputFloat2(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector2 data, float step = 0.0f, float stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref Vector2 data, float step = 0.0f,
|
||||
float stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
|
|
@ -111,8 +213,10 @@ public static unsafe partial class ImGui
|
|||
flags);
|
||||
|
||||
public static bool InputFloat3(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector3 data, float step = 0.0f, float stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref Vector3 data, float step = 0.0f,
|
||||
float stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
|
|
@ -123,8 +227,10 @@ public static unsafe partial class ImGui
|
|||
flags);
|
||||
|
||||
public static bool InputFloat4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 data, float step = 0.0f, float stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref Vector4 data, float step = 0.0f,
|
||||
float stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
|
|
@ -135,18 +241,24 @@ public static unsafe partial class ImGui
|
|||
flags);
|
||||
|
||||
public static bool InputDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref double data, double step = 0.0f, double stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref double data, double step = 0.0f,
|
||||
double stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.Double, ref data, step, stepFast, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool InputDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<double> data, double step = 0.0f, double stepFast = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
AutoUtf8Buffer label, Span<double> data, double step = 0.0f,
|
||||
double stepFast = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None) =>
|
||||
InputScalar(label, ImGuiDataType.Double, data, step, stepFast, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool InputScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T data, scoped in T step, scoped in T stepFast,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None)
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T data,
|
||||
scoped in T step, scoped in T stepFast,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None)
|
||||
where T : unmanaged, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
@ -170,8 +282,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool InputScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> data, scoped in T step, scoped in T stepFast,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiInputTextFlags flags = ImGuiInputTextFlags.None)
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> data,
|
||||
scoped in T step, scoped in T stepFast,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiInputTextFlags flags = ImGuiInputTextFlags.None)
|
||||
where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ namespace Dalamud.Bindings.ImGui;
|
|||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static ImFontPtr AddFontFromFileTTF(
|
||||
ImFontAtlasPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer filename, float sizePixels, ImFontConfigPtr fontCfg = default,
|
||||
ImFontAtlasPtr self, AutoUtf8Buffer filename, float sizePixels, ImFontConfigPtr fontCfg = default,
|
||||
ushort* glyphRanges = null)
|
||||
{
|
||||
fixed (byte* filenamePtr = filename.NullTerminatedSpan)
|
||||
|
|
@ -21,7 +21,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static ImFontPtr AddFontFromMemoryCompressedBase85TTF(
|
||||
ImFontAtlasPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer compressedFontDatabase85, float sizePixels,
|
||||
ImFontAtlasPtr self, AutoUtf8Buffer compressedFontDatabase85, float sizePixels,
|
||||
ImFontConfigPtr fontCfg = default, ushort* glyphRanges = null)
|
||||
{
|
||||
fixed (byte* compressedFontDatabase85Ptr = compressedFontDatabase85.NullTerminatedSpan)
|
||||
|
|
@ -77,20 +77,16 @@ public static unsafe partial class ImGui
|
|||
public static ref void* GetVoidPtrRef(ImGuiStoragePtr self, uint key, void* defaultValue = null) =>
|
||||
ref *ImGuiNative.GetVoidPtrRef(self.Handle, key, defaultValue);
|
||||
|
||||
public static ref T* GetPtrRef<T>(ImGuiStoragePtr self, uint key, T* defaultValue = null)
|
||||
where T : unmanaged =>
|
||||
public static ref T* GetPtrRef<T>(ImGuiStoragePtr self, uint key, T* defaultValue = null) where T : unmanaged =>
|
||||
ref *(T**)ImGuiNative.GetVoidPtrRef(self.Handle, key, defaultValue);
|
||||
|
||||
public static ref T GetRef<T>(ImGuiStoragePtr self, uint key, T defaultValue = default)
|
||||
where T : unmanaged
|
||||
public static ref T GetRef<T>(ImGuiStoragePtr self, uint key, T defaultValue = default) where T : unmanaged
|
||||
{
|
||||
if (sizeof(T) > sizeof(void*))
|
||||
throw new ArgumentOutOfRangeException(nameof(T), typeof(T), null);
|
||||
|
||||
if (sizeof(T) > sizeof(void*)) throw new ArgumentOutOfRangeException(nameof(T), typeof(T), null);
|
||||
return ref *(T*)ImGuiNative.GetVoidPtrRef(self.Handle, key, *(void**)&defaultValue);
|
||||
}
|
||||
|
||||
public static uint GetID([InterpolatedStringHandlerArgument] AutoUtf8Buffer strId)
|
||||
public static uint GetID(AutoUtf8Buffer strId)
|
||||
{
|
||||
fixed (byte* strIdPtr = strId.Span)
|
||||
{
|
||||
|
|
@ -101,12 +97,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static uint GetID(nint ptrId) => ImGuiNative.GetID((void*)ptrId);
|
||||
|
||||
public static uint GetID(nuint ptrId) => ImGuiNative.GetID((void*)ptrId);
|
||||
|
||||
public static uint GetID(void* ptrId) => ImGuiNative.GetID(ptrId);
|
||||
|
||||
public static void PushID([InterpolatedStringHandlerArgument] AutoUtf8Buffer strId)
|
||||
public static void PushID(AutoUtf8Buffer strId)
|
||||
{
|
||||
fixed (byte* strIdPtr = strId.Span)
|
||||
{
|
||||
|
|
@ -116,11 +110,11 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static void PushID(nint ptrId) => ImGuiNative.PushID((void*)ptrId);
|
||||
|
||||
public static void PushID(nuint ptrId) => ImGuiNative.PushID((void*)ptrId);
|
||||
|
||||
public static void PushID(void* ptrId) => ImGuiNative.PushID(ptrId);
|
||||
public static void PushID(void* ptrId) =>
|
||||
ImGuiNative.PushID(ptrId);
|
||||
}
|
||||
|
||||
// DISCARDED: PlotHistogram
|
||||
// DISCARDED: PlotLines
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,110 +9,217 @@ namespace Dalamud.Bindings.ImGui;
|
|||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static bool SliderSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref sbyte v, sbyte vMin = 0, sbyte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S8, ref v, vMin, vMax, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref sbyte v, sbyte vMin = 0, sbyte vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<sbyte> v, sbyte vMin = 0, sbyte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S8, v, vMin, vMax, format.MoveOrDefault("%hhd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<sbyte> v, sbyte vMin = 0, sbyte vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S8,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhd"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref byte v, byte vMin = 0, byte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U8, ref v, vMin, vMax, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref byte v, byte vMin = 0, byte vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<byte> v, byte vMin = 0, byte vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U8, v, vMin, vMax, format.MoveOrDefault("%hhu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<byte> v, byte vMin = 0, byte vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U8,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hhu"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref short v, short vMin = 0, short vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S16, ref v, vMin, vMax, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref short v, short vMin = 0, short vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<short> v, short vMin = 0, short vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S16, v, vMin, vMax, format.MoveOrDefault("%hd"u8), flags);
|
||||
AutoUtf8Buffer label, Span<short> v, short vMin = 0, short vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S16,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hd"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ushort v, ushort vMin = 0, ushort vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U16, ref v, vMin, vMax, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ushort v, ushort vMin = 0, ushort vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ushort> v, ushort vMin = 0, ushort vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U16, v, vMin, vMax, format.MoveOrDefault("%hu"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ushort> v, ushort vMin = 0, ushort vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U16,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%hu"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref int v, int vMin = 0, int vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S32, ref v, vMin, vMax, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref int v, int vMin = 0, int vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<int> v, int vMin = 0, int vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S32, v, vMin, vMax, format.MoveOrDefault("%d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<int> v, int vMin = 0, int vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S32,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%d"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref uint v, uint vMin = 0, uint vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U32, ref v, vMin, vMax, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref uint v, uint vMin = 0, uint vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<uint> v, uint vMin = 0, uint vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U32, v, vMin, vMax, format.MoveOrDefault("%u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<uint> v, uint vMin = 0, uint vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U32,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%u"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref long v, long vMin = 0, long vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S64, ref v, vMin, vMax, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref long v, long vMin = 0, long vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<long> v, long vMin = 0, long vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.S64, v, vMin, vMax, format.MoveOrDefault("%I64d"u8), flags);
|
||||
AutoUtf8Buffer label, Span<long> v, long vMin = 0, long vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.S64,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64d"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref ulong v, ulong vMin = 0, ulong vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U64, ref v, vMin, vMax, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref ulong v, ulong vMin = 0, ulong vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<ulong> v, ulong vMin = 0, ulong vMax = 0,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.U64, v, vMin, vMax, format.MoveOrDefault("%I64u"u8), flags);
|
||||
AutoUtf8Buffer label, Span<ulong> v, ulong vMin = 0, ulong vMax = 0, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.U64,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%I64u"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref float v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.Float, ref v, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, scoped ref float v, float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
ref v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<float> v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.Float, v, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
AutoUtf8Buffer label, Span<float> v, float vMin = 0.0f, float vMax = 0.0f, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
v,
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderFloat2(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector2 v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector2, float>(new(ref v)),
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
AutoUtf8Buffer label, scoped ref Vector2 v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) => SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
MemoryMarshal.Cast<Vector2, float>(new(ref v)),
|
||||
vMin,
|
||||
vMax,
|
||||
format.MoveOrDefault("%.3f"u8),
|
||||
flags);
|
||||
|
||||
public static bool SliderFloat3(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector3 v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref Vector3 v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
|
|
@ -123,8 +230,10 @@ public static unsafe partial class ImGui
|
|||
flags);
|
||||
|
||||
public static bool SliderFloat4(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref Vector4 v, float vMin = 0.0f, float vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref Vector4 v, float vMin = 0.0f,
|
||||
float vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(
|
||||
label,
|
||||
ImGuiDataType.Float,
|
||||
|
|
@ -135,18 +244,24 @@ public static unsafe partial class ImGui
|
|||
flags);
|
||||
|
||||
public static bool SliderDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, scoped ref double v, double vMin = 0.0f, double vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
AutoUtf8Buffer label, scoped ref double v, double vMin = 0.0f,
|
||||
double vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.Double, ref v, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool SliderDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Span<double> v, double vMin = 0.0f, double vMax = 0.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
AutoUtf8Buffer label, Span<double> v, double vMin = 0.0f,
|
||||
double vMax = 0.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
SliderScalar(label, ImGuiDataType.Double, v, vMin, vMax, format.MoveOrDefault("%.3f"u8), flags);
|
||||
|
||||
public static bool SliderScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T v, scoped in T vMin, scoped in T vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, scoped ref T v,
|
||||
scoped in T vMin, scoped in T vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
where T : unmanaged, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
@ -170,8 +285,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool SliderScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> v, scoped in T vMin, scoped in T vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
AutoUtf8Buffer label, ImGuiDataType dataType, Span<T> v, scoped in T vMin,
|
||||
scoped in T vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
where T : unmanaged, INumber<T>, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
@ -196,8 +313,10 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool SliderAngle(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, ref float vRad, float vDegreesMin = -360.0f, float vDegreesMax = +360.0f,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
AutoUtf8Buffer label, ref float vRad, float vDegreesMin = -360.0f,
|
||||
float vDegreesMax = +360.0f,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
fixed (byte* formatPtr = format.IsInitialized ? format.NullTerminatedSpan : "%.0f deg"u8)
|
||||
|
|
@ -217,59 +336,72 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool VSliderSByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref sbyte v, sbyte vMin, sbyte vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref sbyte v, sbyte vMin,
|
||||
sbyte vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.S8, ref v, vMin, vMax, format.MoveOrDefault("%hhd"), flags);
|
||||
|
||||
public static bool VSliderByte(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref byte v, byte vMin, byte vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref byte v, byte vMin, byte vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.U8, ref v, vMin, vMax, format.MoveOrDefault("%hhu"), flags);
|
||||
|
||||
public static bool VSliderShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref short v, short vMin, short vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref short v, short vMin,
|
||||
short vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.S16, ref v, vMin, vMax, format.MoveOrDefault("%hd"), flags);
|
||||
|
||||
public static bool VSliderUShort(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref ushort v, ushort vMin, ushort vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref ushort v, ushort vMin,
|
||||
ushort vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.U16, ref v, vMin, vMax, format.MoveOrDefault("%hu"), flags);
|
||||
|
||||
public static bool VSliderInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref int v, int vMin, int vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref int v, int vMin, int vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.S32, ref v, vMin, vMax, format.MoveOrDefault("%d"), flags);
|
||||
|
||||
public static bool VSliderUInt(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref uint v, uint vMin, uint vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref uint v, uint vMin, uint vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.U32, ref v, vMin, vMax, format.MoveOrDefault("%u"), flags);
|
||||
|
||||
public static bool VSliderLong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref long v, long vMin, long vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref long v, long vMin, long vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.S32, ref v, vMin, vMax, format.MoveOrDefault("%I64d"), flags);
|
||||
|
||||
public static bool VSliderULong(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref ulong v, ulong vMin, ulong vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref ulong v, ulong vMin,
|
||||
ulong vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.U32, ref v, vMin, vMax, format.MoveOrDefault("%I64u"), flags);
|
||||
|
||||
public static bool VSliderFloat(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref float v, float vMin, float vMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref float v, float vMin,
|
||||
float vMax, AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.Float, ref v, vMin, vMax, format.MoveOrDefault("%.03f"), flags);
|
||||
|
||||
public static bool VSliderDouble(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, scoped ref double v, double vMin, double vMax,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default,
|
||||
AutoUtf8Buffer label, Vector2 size, scoped ref double v, double vMin,
|
||||
double vMax,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None) =>
|
||||
VSliderScalar(label, size, ImGuiDataType.Double, ref v, vMin, vMax, format.MoveOrDefault("%.03f"), flags);
|
||||
|
||||
public static bool VSliderScalar<T>(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer label, Vector2 size, ImGuiDataType dataType, scoped ref T data, scoped in T min, scoped in T max,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer format = default, ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
AutoUtf8Buffer label, Vector2 size, ImGuiDataType dataType,
|
||||
scoped ref T data, scoped in T min, scoped in T max,
|
||||
AutoUtf8Buffer format = default,
|
||||
ImGuiSliderFlags flags = ImGuiSliderFlags.None)
|
||||
where T : unmanaged, IBinaryNumber<T>
|
||||
{
|
||||
fixed (byte* labelPtr = label.NullTerminatedSpan)
|
||||
|
|
|
|||
|
|
@ -1,28 +1,25 @@
|
|||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Numerics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace Dalamud.Bindings.ImGui;
|
||||
|
||||
[SuppressMessage("ReSharper", "InconsistentNaming")]
|
||||
public static unsafe partial class ImGui
|
||||
{
|
||||
public static void AddText(ImFontGlyphRangesBuilderPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void AddText(ImFontGlyphRangesBuilderPtr self, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiNative.AddText(self.Handle, textPtr, textPtr + text.Length);
|
||||
fixed (byte* textPtr = text.Span) ImGuiNative.AddText(self.Handle, textPtr, textPtr + text.Length);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void AddText(ImDrawListPtr self, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void AddText(ImDrawListPtr self, Vector2 pos, uint col, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiNative.AddText(self.Handle, pos, col, textPtr, textPtr + text.Length);
|
||||
fixed (byte* textPtr = text.Span) ImGuiNative.AddText(self.Handle, pos, col, textPtr, textPtr + text.Length);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void AddText(
|
||||
ImDrawListPtr self, ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth,
|
||||
ImDrawListPtr self, ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth,
|
||||
scoped in Vector4 cpuFineClipRect)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
|
|
@ -41,43 +38,30 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static void AddText(
|
||||
ImDrawListPtr self, ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text,
|
||||
ImDrawListPtr self, ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text,
|
||||
float wrapWidth = 0f)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiNative.AddText(
|
||||
self.Handle,
|
||||
font,
|
||||
fontSize,
|
||||
pos,
|
||||
col,
|
||||
textPtr,
|
||||
textPtr + text.Length,
|
||||
wrapWidth,
|
||||
null);
|
||||
ImGuiNative.AddText(self.Handle, font, fontSize, pos, col, textPtr, textPtr + text.Length, wrapWidth, null);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void append(ImGuiTextBufferPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer str)
|
||||
public static void append(ImGuiTextBufferPtr self, AutoUtf8Buffer str)
|
||||
{
|
||||
fixed (byte* strPtr = str.Span)
|
||||
ImGuiNative.append(self.Handle, strPtr, strPtr + str.Length);
|
||||
fixed (byte* strPtr = str.Span) ImGuiNative.append(self.Handle, strPtr, strPtr + str.Length);
|
||||
str.Dispose();
|
||||
}
|
||||
|
||||
public static void BulletText([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void BulletText(AutoUtf8Buffer text)
|
||||
{
|
||||
ImGuiWindow* window = ImGuiP.GetCurrentWindow();
|
||||
if (window->SkipItems != 0)
|
||||
return;
|
||||
|
||||
if (window->SkipItems != 0) return;
|
||||
scoped ref var g = ref *GetCurrentContext().Handle;
|
||||
scoped ref readonly var style = ref g.Style;
|
||||
|
||||
var labelSize = CalcTextSize(text.Span);
|
||||
var totalSize = new Vector2(
|
||||
g.FontSize + (labelSize.X > 0.0f ? (labelSize.X + style.FramePadding.X * 2) : 0.0f),
|
||||
labelSize.Y); // Empty text doesn't add padding
|
||||
g.FontSize + (labelSize.X > 0.0f ? (labelSize.X + style.FramePadding.X * 2) : 0.0f),
|
||||
labelSize.Y); // Empty text doesn't add padding
|
||||
var pos = window->DC.CursorPos;
|
||||
pos.Y += window->DC.CurrLineTextBaseOffset;
|
||||
ImGuiP.ItemSize(totalSize, 0.0f);
|
||||
|
|
@ -95,7 +79,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static Vector2 CalcTextSize(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer text, bool hideTextAfterDoubleHash = false, float wrapWidth = -1.0f)
|
||||
AutoUtf8Buffer text, bool hideTextAfterDoubleHash = false, float wrapWidth = -1.0f)
|
||||
{
|
||||
var @out = Vector2.Zero;
|
||||
fixed (byte* textPtr = text.Span)
|
||||
|
|
@ -110,7 +94,7 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static Vector2 CalcTextSizeA(
|
||||
ImFontPtr self, float size, float maxWidth, float wrapWidth, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, out int remaining)
|
||||
ImFontPtr self, float size, float maxWidth, float wrapWidth, AutoUtf8Buffer text, out int remaining)
|
||||
{
|
||||
var @out = Vector2.Zero;
|
||||
fixed (byte* textPtr = text.Span)
|
||||
|
|
@ -132,7 +116,8 @@ public static unsafe partial class ImGui
|
|||
return @out;
|
||||
}
|
||||
|
||||
public static int CalcWordWrapPositionA(ImFontPtr font, float scale, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth)
|
||||
public static int CalcWordWrapPositionA(
|
||||
ImFontPtr font, float scale, AutoUtf8Buffer text, float wrapWidth)
|
||||
{
|
||||
fixed (byte* ptr = text.Span)
|
||||
{
|
||||
|
|
@ -143,14 +128,17 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
}
|
||||
|
||||
public static void InsertChars(ImGuiInputTextCallbackDataPtr self, int pos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void InsertChars(
|
||||
ImGuiInputTextCallbackDataPtr self, int pos, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (byte* ptr = text.Span)
|
||||
ImGuiNative.InsertChars(self.Handle, pos, ptr, ptr + text.Length);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void LabelText([InterpolatedStringHandlerArgument] AutoUtf8Buffer label, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void LabelText(
|
||||
AutoUtf8Buffer label,
|
||||
AutoUtf8Buffer text)
|
||||
{
|
||||
var window = ImGuiP.GetCurrentWindow().Handle;
|
||||
if (window->SkipItems != 0)
|
||||
|
|
@ -195,7 +183,7 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void LogText([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void LogText(AutoUtf8Buffer text)
|
||||
{
|
||||
var g = GetCurrentContext();
|
||||
if (!g.LogFile.IsNull)
|
||||
|
|
@ -213,7 +201,7 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void PassFilter(ImGuiTextFilterPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void PassFilter(ImGuiTextFilterPtr self, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiNative.PassFilter(self.Handle, textPtr, textPtr + text.Length);
|
||||
|
|
@ -222,7 +210,7 @@ public static unsafe partial class ImGui
|
|||
|
||||
public static void RenderText(
|
||||
ImFontPtr self, ImDrawListPtr drawList, float size, Vector2 pos, uint col, Vector4 clipRect,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0.0f, bool cpuFineClip = false)
|
||||
AutoUtf8Buffer text, float wrapWidth = 0.0f, bool cpuFineClip = false)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiNative.RenderText(
|
||||
|
|
@ -239,7 +227,7 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void SetTooltip([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void SetTooltip(AutoUtf8Buffer text)
|
||||
{
|
||||
ImGuiP.BeginTooltipEx(ImGuiTooltipFlags.OverridePreviousTooltip, ImGuiWindowFlags.None);
|
||||
Text(text.Span);
|
||||
|
|
@ -247,14 +235,14 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void Text([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void Text(AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (byte* ptr = text.Span)
|
||||
ImGuiNative.TextUnformatted(ptr, ptr + text.Length);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void TextColored(uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void TextColored(uint col, AutoUtf8Buffer text)
|
||||
{
|
||||
PushStyleColor(ImGuiCol.Text, col);
|
||||
Text(text.Span);
|
||||
|
|
@ -262,7 +250,7 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void TextColored(scoped in Vector4 col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void TextColored(scoped in Vector4 col, AutoUtf8Buffer text)
|
||||
{
|
||||
PushStyleColor(ImGuiCol.Text, col);
|
||||
Text(text.Span);
|
||||
|
|
@ -270,19 +258,19 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void TextDisabled([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void TextDisabled(AutoUtf8Buffer text)
|
||||
{
|
||||
TextColored(*GetStyleColorVec4(ImGuiCol.TextDisabled), text.Span);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void TextUnformatted([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void TextUnformatted(AutoUtf8Buffer text)
|
||||
{
|
||||
Text(text.Span);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void TextWrapped([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void TextWrapped(AutoUtf8Buffer text)
|
||||
{
|
||||
scoped ref var g = ref *GetCurrentContext().Handle;
|
||||
var needBackup = g.CurrentWindow->DC.TextWrapPos < 0.0f; // Keep existing wrap position if one is already set
|
||||
|
|
@ -294,7 +282,7 @@ public static unsafe partial class ImGui
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static bool TreeNode([InterpolatedStringHandlerArgument] AutoUtf8Buffer label)
|
||||
public static bool TreeNode(AutoUtf8Buffer label)
|
||||
{
|
||||
var window = ImGuiP.GetCurrentWindow();
|
||||
if (window.SkipItems)
|
||||
|
|
@ -316,7 +304,8 @@ public static unsafe partial class ImGui
|
|||
}
|
||||
|
||||
public static bool TreeNodeEx(
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer id, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None, [InterpolatedStringHandlerArgument] AutoUtf8Buffer label = default)
|
||||
AutoUtf8Buffer id, ImGuiTreeNodeFlags flags = ImGuiTreeNodeFlags.None,
|
||||
AutoUtf8Buffer label = default)
|
||||
{
|
||||
var window = ImGuiP.GetCurrentWindow();
|
||||
bool res;
|
||||
|
|
|
|||
|
|
@ -4,14 +4,13 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public unsafe partial struct ImGuiInputTextCallbackData
|
||||
{
|
||||
public void InsertChars(int pos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public void InsertChars(int pos, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (ImGuiInputTextCallbackData* thisPtr = &this)
|
||||
ImGui.InsertChars(thisPtr, pos, text);
|
||||
fixed (ImGuiInputTextCallbackData* thisPtr = &this) ImGui.InsertChars(thisPtr, pos, text);
|
||||
}
|
||||
}
|
||||
|
||||
public partial struct ImGuiInputTextCallbackDataPtr
|
||||
{
|
||||
public void InsertChars(int pos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text) => ImGui.InsertChars(this, pos, text);
|
||||
public void InsertChars(int pos, AutoUtf8Buffer text) => ImGui.InsertChars(this, pos, text);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public static unsafe partial class ImGuiP
|
||||
{
|
||||
public static void DebugLog([InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void DebugLog(AutoUtf8Buffer text)
|
||||
{
|
||||
var g = ImGui.GetCurrentContext().Handle;
|
||||
ImGui.append(&g->DebugLogBuf, $"[{g->FrameCount:00000}] ");
|
||||
|
|
@ -40,7 +40,7 @@ public static unsafe partial class ImGuiP
|
|||
return before.Length;
|
||||
}
|
||||
|
||||
public static uint GetID(ImGuiWindowPtr self, [InterpolatedStringHandlerArgument] AutoUtf8Buffer str)
|
||||
public static uint GetID(ImGuiWindowPtr self, AutoUtf8Buffer str)
|
||||
{
|
||||
fixed (byte* strPtr = str.Span)
|
||||
{
|
||||
|
|
@ -55,16 +55,14 @@ public static unsafe partial class ImGuiP
|
|||
}
|
||||
|
||||
public static uint GetID(ImGuiWindowPtr self, void* ptr) => ImGuiPNative.GetID(self.Handle, ptr);
|
||||
|
||||
public static uint GetID(ImGuiWindowPtr self, int n) => ImGuiPNative.GetID(self.Handle, n);
|
||||
|
||||
public static uint ImHashData(ReadOnlySpan<byte> data, uint seed = 0)
|
||||
{
|
||||
fixed (byte* ptr = data)
|
||||
return ImGuiPNative.ImHashData(ptr, (nuint)data.Length, seed);
|
||||
fixed (byte* ptr = data) return ImGuiPNative.ImHashData(ptr, (nuint)data.Length, seed);
|
||||
}
|
||||
|
||||
public static uint ImHashStr([InterpolatedStringHandlerArgument] AutoUtf8Buffer data, uint seed = 0)
|
||||
public static uint ImHashStr(AutoUtf8Buffer data, uint seed = 0)
|
||||
{
|
||||
fixed (byte* ptr = data.Span)
|
||||
{
|
||||
|
|
@ -133,7 +131,7 @@ public static unsafe partial class ImGuiP
|
|||
return i;
|
||||
}
|
||||
|
||||
public static void LogRenderedText(scoped in Vector2 refPos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
|
||||
public static void LogRenderedText(scoped in Vector2 refPos, AutoUtf8Buffer text)
|
||||
{
|
||||
fixed (Vector2* refPosPtr = &refPos)
|
||||
fixed (byte* textPtr = text.Span)
|
||||
|
|
@ -141,14 +139,15 @@ public static unsafe partial class ImGuiP
|
|||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void RenderText(Vector2 pos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, bool hideTextAfterHash = true)
|
||||
public static void RenderText(Vector2 pos, AutoUtf8Buffer text, bool hideTextAfterHash = true)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiPNative.RenderText(pos, textPtr, textPtr + text.Length, hideTextAfterHash ? (byte)1 : (byte)0);
|
||||
text.Dispose();
|
||||
}
|
||||
|
||||
public static void RenderTextWrapped(Vector2 pos, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth)
|
||||
public static void RenderTextWrapped(
|
||||
Vector2 pos, AutoUtf8Buffer text, float wrapWidth)
|
||||
{
|
||||
fixed (byte* textPtr = text.Span)
|
||||
ImGuiPNative.RenderTextWrapped(pos, textPtr, textPtr + text.Length, wrapWidth);
|
||||
|
|
@ -156,7 +155,8 @@ public static unsafe partial class ImGuiP
|
|||
}
|
||||
|
||||
public static void RenderTextClipped(
|
||||
scoped in Vector2 posMin, scoped in Vector2 posMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, scoped in Vector2? textSizeIfKnown = null,
|
||||
scoped in Vector2 posMin, scoped in Vector2 posMax, AutoUtf8Buffer text,
|
||||
scoped in Vector2? textSizeIfKnown = null,
|
||||
scoped in Vector2 align = default, scoped in ImRect? clipRect = null)
|
||||
{
|
||||
var textSizeIfKnownOrDefault = textSizeIfKnown ?? default;
|
||||
|
|
@ -174,7 +174,8 @@ public static unsafe partial class ImGuiP
|
|||
}
|
||||
|
||||
public static void RenderTextClippedEx(
|
||||
ImDrawListPtr drawList, scoped in Vector2 posMin, scoped in Vector2 posMax, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text,
|
||||
ImDrawListPtr drawList, scoped in Vector2 posMin, scoped in Vector2 posMax,
|
||||
AutoUtf8Buffer text,
|
||||
scoped in Vector2? textSizeIfKnown = null, scoped in Vector2 align = default, scoped in ImRect? clipRect = null)
|
||||
{
|
||||
var textSizeIfKnownOrDefault = textSizeIfKnown ?? default;
|
||||
|
|
@ -194,7 +195,7 @@ public static unsafe partial class ImGuiP
|
|||
|
||||
public static void RenderTextEllipsis(
|
||||
ImDrawListPtr drawList, scoped in Vector2 posMin, scoped in Vector2 posMax, float clipMaxX, float ellipsisMaxX,
|
||||
[InterpolatedStringHandlerArgument] AutoUtf8Buffer text, scoped in Vector2? textSizeIfKnown = null)
|
||||
AutoUtf8Buffer text, scoped in Vector2? textSizeIfKnown = null)
|
||||
{
|
||||
var textSizeIfKnownOrDefault = textSizeIfKnown ?? default;
|
||||
fixed (byte* textPtr = text.Span)
|
||||
|
|
|
|||
|
|
@ -4,30 +4,25 @@ namespace Dalamud.Bindings.ImGui;
|
|||
|
||||
public unsafe partial struct ImGuiWindow
|
||||
{
|
||||
public readonly uint GetID([InterpolatedStringHandlerArgument] AutoUtf8Buffer str)
|
||||
public readonly uint GetID(AutoUtf8Buffer str)
|
||||
{
|
||||
fixed (ImGuiWindow* thisPtr = &this)
|
||||
return ImGuiP.GetID(thisPtr, str);
|
||||
fixed (ImGuiWindow* thisPtr = &this) return ImGuiP.GetID(thisPtr, str);
|
||||
}
|
||||
|
||||
public readonly uint GetID(void* ptr)
|
||||
{
|
||||
fixed (ImGuiWindow* thisPtr = &this)
|
||||
return ImGuiP.GetID(thisPtr, ptr);
|
||||
fixed (ImGuiWindow* thisPtr = &this) return ImGuiP.GetID(thisPtr, ptr);
|
||||
}
|
||||
|
||||
public readonly uint GetID(int n)
|
||||
{
|
||||
fixed (ImGuiWindow* thisPtr = &this)
|
||||
return ImGuiP.GetID(thisPtr, n);
|
||||
fixed (ImGuiWindow* thisPtr = &this) return ImGuiP.GetID(thisPtr, n);
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe partial struct ImGuiWindowPtr
|
||||
{
|
||||
public readonly uint GetID([InterpolatedStringHandlerArgument] AutoUtf8Buffer str) => ImGuiP.GetID(this.Handle, str);
|
||||
|
||||
public readonly uint GetID(AutoUtf8Buffer str) => ImGuiP.GetID(this.Handle, str);
|
||||
public readonly uint GetID(void* ptr) => ImGuiP.GetID(this.Handle, ptr);
|
||||
|
||||
public readonly uint GetID(int n) => ImGuiP.GetID(this.Handle, n);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue