#pragma once #include #include #include namespace scwx { namespace qt { namespace manager { class FontManager : public QObject { Q_OBJECT public: explicit FontManager(); ~FontManager(); std::shared_mutex& imgui_font_atlas_mutex(); std::shared_ptr GetImGuiFont(const std::string& family, const std::vector& styles, units::font_size::points size); void LoadApplicationFont(const std::string& filename); static FontManager& Instance(); private: class Impl; std::unique_ptr p; }; } // namespace manager } // namespace qt } // namespace scwx