#pragma once

#include "application/contracts/IImGuiClient.h"

struct ImFont;
struct ImGuiIO;

namespace ta::presentation::fonts
{

    void setup(ImGuiIO& io, float scale_factor, const ta::application::SystemFontPaths& system_fonts);
    [[nodiscard]] bool needs_rebuild(float scale_factor) noexcept;
    void rebuild(ImGuiIO& io, float scale_factor, const ta::application::SystemFontPaths& system_fonts);
    void reset() noexcept;

    [[nodiscard]] ImFont* hud_font() noexcept;
    [[nodiscard]] ImFont* bold_font() noexcept;
}
