Dalamud/imgui/Dalamud.Bindings.ImGui/Custom/ImGuiInputTextCallbackData.Custom.cs
srkizer c69329f592
Manual overloads for ImGui functions accepting text (#2319)
* wip2

* Implement AutoUtf8Buffer

* reformat

* Work on manual bindings

* restructure

* Name scripts properly

* Update utility functions to use ImU8String

* add overloads

* Add more overloads

* Use ImGuiWindow from gen, support AddCallback

* Use LibraryImport for custom ImGuiNative functinos

* Make manual overloads for string-returning functinos

* Make all overloads with self as its first parameter extension methods

* Fix overload resolution by removing unnecessary

* in => scoped in

* Fix compilation errors
2025-08-04 11:14:00 -07:00

21 lines
716 B
C#

namespace Dalamud.Bindings.ImGui;
public unsafe partial struct ImGuiInputTextCallbackData
{
public readonly Span<byte> BufSpan => new(this.Buf, this.BufSize);
public readonly Span<byte> BufTextSpan => new(this.Buf, this.BufTextLen);
public void InsertChars(int pos, ImU8String text)
{
fixed (ImGuiInputTextCallbackData* thisPtr = &this)
ImGui.InsertChars(thisPtr, pos, text);
}
}
public unsafe partial struct ImGuiInputTextCallbackDataPtr
{
public readonly Span<byte> BufSpan => this.Handle->BufSpan;
public readonly Span<byte> BufTextSpan => this.Handle->BufTextSpan;
public void InsertChars(int pos, ImU8String text) => ImGui.InsertChars(this, pos, text);
}