mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-13 12:14:16 +01:00
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
This commit is contained in:
parent
0c63541864
commit
c69329f592
293 changed files with 61312 additions and 754 deletions
|
|
@ -0,0 +1,26 @@
|
|||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
|
||||
namespace Dalamud.Bindings.ImGui;
|
||||
|
||||
public unsafe partial struct ImGuiTextBuffer
|
||||
{
|
||||
public readonly Span<byte> Span => new(this.Buf.Data, this.Buf.Size);
|
||||
|
||||
public override readonly string ToString() => Encoding.UTF8.GetString(this.Span);
|
||||
|
||||
public void append(ImU8String str)
|
||||
{
|
||||
fixed (ImGuiTextBuffer* thisPtr = &this)
|
||||
ImGui.append(thisPtr, str);
|
||||
}
|
||||
}
|
||||
|
||||
public unsafe partial struct ImGuiTextBufferPtr
|
||||
{
|
||||
public readonly Span<byte> Span => new(Unsafe.AsRef(in this).Buf.Data, Unsafe.AsRef(in this).Buf.Size);
|
||||
|
||||
public override readonly string ToString() => Encoding.UTF8.GetString(this.Span);
|
||||
|
||||
public void append(ImU8String str) => ImGui.append(this, str);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue