Dalamud/imgui/Dalamud.Bindings.ImGui/Custom/ImFontAtlas.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

78 lines
2.9 KiB
C#

namespace Dalamud.Bindings.ImGui;
public unsafe partial struct ImFontAtlas
{
public ImFontPtr AddFontFromFileTTF(
ImU8String filename, float sizePixels, ImFontConfigPtr fontCfg = default, ushort* glyphRanges = null)
{
fixed (ImFontAtlas* thisPtr = &this)
return ImGui.AddFontFromFileTTF(thisPtr, filename, sizePixels, fontCfg, glyphRanges);
}
public ImFontPtr AddFontFromMemoryCompressedBase85TTF(
ImU8String compressedFontDatabase85, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null)
{
fixed (ImFontAtlas* thisPtr = &this)
{
return ImGui.AddFontFromMemoryCompressedBase85TTF(
thisPtr,
compressedFontDatabase85,
sizePixels,
fontCfg,
glyphRanges);
}
}
public ImFontPtr AddFontFromMemoryCompressedTTF(
ReadOnlySpan<byte> compressedFontData, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null)
{
fixed (ImFontAtlas* thisPtr = &this)
{
return ImGui.AddFontFromMemoryCompressedTTF(
thisPtr,
compressedFontData,
sizePixels,
fontCfg,
glyphRanges);
}
}
public ImFontPtr AddFontFromMemoryTTF(
ReadOnlySpan<byte> fontData, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null)
{
fixed (ImFontAtlas* thisPtr = &this)
{
return ImGui.AddFontFromMemoryTTF(
thisPtr,
fontData,
sizePixels,
fontCfg,
glyphRanges);
}
}
}
public unsafe partial struct ImFontAtlasPtr
{
public ImFontPtr AddFontFromFileTTF(
ImU8String filename, float sizePixels, ImFontConfigPtr fontCfg = default, ushort* glyphRanges = null) =>
ImGui.AddFontFromFileTTF(this, filename, sizePixels, fontCfg, glyphRanges);
public ImFontPtr AddFontFromMemoryCompressedBase85TTF(
ImU8String compressedFontDatabase85, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null) =>
ImGui.AddFontFromMemoryCompressedBase85TTF(this, compressedFontDatabase85, sizePixels, fontCfg, glyphRanges);
public ImFontPtr AddFontFromMemoryCompressedTTF(
ReadOnlySpan<byte> compressedFontData, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null) =>
ImGui.AddFontFromMemoryCompressedTTF(this, compressedFontData, sizePixels, fontCfg, glyphRanges);
public ImFontPtr AddFontFromMemoryTTF(
ReadOnlySpan<byte> fontData, float sizePixels, ImFontConfigPtr fontCfg = default,
ushort* glyphRanges = null) =>
ImGui.AddFontFromMemoryTTF(this, fontData, sizePixels, fontCfg, glyphRanges);
}