Implement AutoUtf8Buffer

This commit is contained in:
Soreepeong 2025-07-22 03:47:13 +09:00
parent 51a20300d8
commit 11aef2f4d6
20 changed files with 926 additions and 232 deletions

View file

@ -1,17 +1,18 @@
using System.Numerics;
using System.Runtime.CompilerServices;
namespace Dalamud.Bindings.ImGui;
public unsafe partial struct ImDrawList
{
public void AddText(Vector2 pos, uint col, AutoUtf8Buffer text)
public void AddText(Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text)
{
fixed (ImDrawList* thisPtr = &this)
ImGui.AddText(thisPtr, pos, col, text);
}
public void AddText(
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth,
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth,
scoped in Vector4 cpuFineClipRect)
{
fixed (ImDrawList* thisPtr = &this)
@ -19,7 +20,7 @@ public unsafe partial struct ImDrawList
}
public void AddText(
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth = 0f)
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0f)
{
fixed (ImDrawList* thisPtr = &this)
ImGui.AddText(thisPtr, font, fontSize, pos, col, text, wrapWidth);
@ -28,15 +29,15 @@ public unsafe partial struct ImDrawList
public partial struct ImDrawListPtr
{
public void AddText(Vector2 pos, uint col, AutoUtf8Buffer text) =>
public void AddText(Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text) =>
ImGui.AddText(this, pos, col, text);
public void AddText(
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth,
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);
public void AddText(
ImFontPtr font, float fontSize, Vector2 pos, uint col, AutoUtf8Buffer text, float wrapWidth = 0f) =>
ImFontPtr font, float fontSize, Vector2 pos, uint col, [InterpolatedStringHandlerArgument] AutoUtf8Buffer text, float wrapWidth = 0f) =>
ImGui.AddText(this, font, fontSize, pos, col, text, wrapWidth);
}