Overview
#include <imgui.h>
struct ImFont
{
// fields
ImFontBaked* LastBaked;
ImFontAtlas* OwnerAtlas;
ImFontFlags Flags;
float CurrentRasterizerDensity;
ImGuiID FontId;
float LegacySize;
ImVector<ImFontConfig*> Sources;
ImWchar EllipsisChar;
ImWchar FallbackChar;
ImU8 Used8kPagesMap[(IM_UNICODE_CODEPOINT_MAX+1)/8192/8];
bool EllipsisAutoBake;
ImGuiStorage RemapPairs;
float Scale;
// methods
IMGUI_API bool IsGlyphInFont(ImWchar c);
bool IsLoaded() const;
const char* GetDebugName() const;
IMGUI_API ImFontBaked* GetFontBaked(
float font_size,
float density = -1.0f
);
IMGUI_API ImVec2 CalcTextSizeA(
float size,
float max_width,
float wrap_width,
const char* text_begin,
const char* text_end = NULL,
const char** out_remaining = NULL
);
IMGUI_API const char* CalcWordWrapPosition(
float size,
const char* text,
const char* text_end,
float wrap_width
);
IMGUI_API void RenderChar(
ImDrawList* draw_list,
float size,
const ImVec2& pos,
ImU32 col,
ImWchar c,
const ImVec4* cpu_fine_clip = NULL
);
IMGUI_API void RenderText(
ImDrawList* draw_list,
float size,
const ImVec2& pos,
ImU32 col,
const ImVec4& clip_rect,
const char* text_begin,
const char* text_end,
float wrap_width = 0.0f,
ImDrawTextFlags flags = 0
);
const char* CalcWordWrapPositionA(
float scale,
const char* text,
const char* text_end,
float wrap_width
);
IMGUI_API void ClearOutputData();
IMGUI_API void AddRemapChar(
ImWchar from_codepoint,
ImWchar to_codepoint
);
IMGUI_API bool IsGlyphRangeUnused(
unsigned int c_begin,
unsigned int c_last
);
};