struct ImFont

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
        );
};