// using HexaGen.Runtime; using System; using System.Diagnostics; using System.Numerics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace Dalamud.Bindings.ImGui; public unsafe partial struct ImFontPtr { public unsafe void AddGlyph(ImFontConfig* srcCfg, ushort c, int textureIndex, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advanceX) { ImGuiNative.AddGlyph(Handle, srcCfg, c, textureIndex, x0, y0, x1, y1, u0, v0, u1, v1, advanceX); } public unsafe void AddGlyph(ref ImFontConfig srcCfg, ushort c, int textureIndex, float x0, float y0, float x1, float y1, float u0, float v0, float u1, float v1, float advanceX) { fixed (ImFontConfig* psrcCfg = &srcCfg) { ImGuiNative.AddGlyph(Handle, (ImFontConfig*)psrcCfg, c, textureIndex, x0, y0, x1, y1, u0, v0, u1, v1, advanceX); } } public unsafe void AddKerningPair(ushort leftC, ushort rightC, float distanceAdjustment) { ImGuiNative.AddKerningPair(Handle, leftC, rightC, distanceAdjustment); } public unsafe void AddRemapChar(ushort dst, ushort src, bool overwriteDst) { ImGuiNative.AddRemapChar(Handle, dst, src, overwriteDst ? (byte)1 : (byte)0); } public unsafe void AddRemapChar(ushort dst, ushort src) { ImGuiNative.AddRemapChar(Handle, dst, src, (byte)(1)); } public unsafe void BuildLookupTable() { ImGuiNative.BuildLookupTable(Handle); } public unsafe void ClearOutputData() { ImGuiNative.ClearOutputData(Handle); } public unsafe void Destroy() { ImGuiNative.Destroy(Handle); } public unsafe ImFontGlyph* FindGlyph(ushort c) { ImFontGlyph* ret = ImGuiNative.FindGlyph(Handle, c); return ret; } public unsafe ImFontGlyph* FindGlyphNoFallback(ushort c) { ImFontGlyph* ret = ImGuiNative.FindGlyphNoFallback(Handle, c); return ret; } public unsafe float GetCharAdvance(ushort c) { float ret = ImGuiNative.GetCharAdvance(Handle, c); return ret; } public unsafe byte* GetDebugName() { byte* ret = ImGuiNative.GetDebugName(Handle); return ret; } public unsafe string GetDebugNameS() { string ret = Utils.DecodeStringUTF8(ImGuiNative.GetDebugName(Handle)); return ret; } public unsafe float GetDistanceAdjustmentForPair(ushort leftC, ushort rightC) { float ret = ImGuiNative.GetDistanceAdjustmentForPair(Handle, leftC, rightC); return ret; } public unsafe float GetDistanceAdjustmentForPairFromHotData(ushort leftC, ImFontGlyphHotData* rightCInfo) { float ret = ImGuiNative.GetDistanceAdjustmentForPairFromHotData(Handle, leftC, rightCInfo); return ret; } public unsafe float GetDistanceAdjustmentForPairFromHotData(ushort leftC, ref ImFontGlyphHotData rightCInfo) { fixed (ImFontGlyphHotData* prightCInfo = &rightCInfo) { float ret = ImGuiNative.GetDistanceAdjustmentForPairFromHotData(Handle, leftC, (ImFontGlyphHotData*)prightCInfo); return ret; } } public unsafe void GrowIndex(int newSize) { ImGuiNative.GrowIndex(Handle, newSize); } public unsafe bool IsGlyphRangeUnused(uint cBegin, uint cLast) { byte ret = ImGuiNative.IsGlyphRangeUnused(Handle, cBegin, cLast); return ret != 0; } public unsafe bool IsLoaded() { byte ret = ImGuiNative.IsLoaded(Handle); return ret != 0; } public unsafe void RenderChar(ImDrawListPtr drawList, float size, Vector2 pos, uint col, ushort c) { ImGuiNative.RenderChar(Handle, drawList, size, pos, col, c); } public unsafe void RenderChar(ref ImDrawList drawList, float size, Vector2 pos, uint col, ushort c) { fixed (ImDrawList* pdrawList = &drawList) { ImGuiNative.RenderChar(Handle, (ImDrawList*)pdrawList, size, pos, col, c); } } public unsafe void SetGlyphVisible(ushort c, bool visible) { ImGuiNative.SetGlyphVisible(Handle, c, visible ? (byte)1 : (byte)0); } } // DISCARDED: CalcWordWrapPositionA // DISCARDED: CalcWordWrapPositionAS // DISCARDED: RenderText