diff --git a/scwx-qt/source/scwx/qt/gl/draw/placefile_text.cpp b/scwx-qt/source/scwx/qt/gl/draw/placefile_text.cpp index cd1ca34e..0ce6ab47 100644 --- a/scwx-qt/source/scwx/qt/gl/draw/placefile_text.cpp +++ b/scwx-qt/source/scwx/qt/gl/draw/placefile_text.cpp @@ -62,10 +62,10 @@ public: std::vector> newList_ {}; std::vector, - units::font_size::pixels>> + units::font_size::pixels>> fonts_ {}; std::vector, - units::font_size::pixels>> + units::font_size::pixels>> newFonts_ {}; }; diff --git a/scwx-qt/source/scwx/qt/manager/font_manager.cpp b/scwx-qt/source/scwx/qt/manager/font_manager.cpp index 587c4e60..fc645388 100644 --- a/scwx-qt/source/scwx/qt/manager/font_manager.cpp +++ b/scwx-qt/source/scwx/qt/manager/font_manager.cpp @@ -84,11 +84,11 @@ public: boost::unordered_flat_map> rawFontData_ {}; std::mutex rawFontDataMutex_ {}; - std::pair, units::font_size::pixels> + std::pair, units::font_size::pixels> defaultFont_ {}; boost::unordered_flat_map, - units::font_size::pixels>> + units::font_size::pixels>> fontCategoryImguiFontMap_ {}; boost::unordered_flat_map fontCategoryQFontMap_ {}; @@ -160,13 +160,18 @@ void FontManager::InitializeFonts() } } -units::font_size::pixels +units::font_size::pixels FontManager::ImFontSize(units::font_size::pixels size) { + static constexpr units::font_size::pixels kMinFontSize_ {8}; + static constexpr units::font_size::pixels kMaxFontSize_ {96}; + // Only allow whole pixels, and clamp to 6-72 pt - units::font_size::pixels pixels {size}; - units::font_size::pixels imFontSize { - std::clamp(static_cast(pixels.value()), 8, 96)}; + const units::font_size::pixels pixels {size}; + const units::font_size::pixels imFontSize { + std::clamp(static_cast(pixels.value()), + kMinFontSize_.value(), + kMaxFontSize_.value())}; return imFontSize; } @@ -223,7 +228,7 @@ int FontManager::GetFontId(types::Font font) const return -1; } -std::pair, units::font_size::pixels> +std::pair, units::font_size::pixels> FontManager::GetImGuiFont(types::FontCategory fontCategory) { std::unique_lock lock {p->fontCategoryMutex_}; diff --git a/scwx-qt/source/scwx/qt/manager/font_manager.hpp b/scwx-qt/source/scwx/qt/manager/font_manager.hpp index 04c254ea..50e05d9d 100644 --- a/scwx-qt/source/scwx/qt/manager/font_manager.hpp +++ b/scwx-qt/source/scwx/qt/manager/font_manager.hpp @@ -28,7 +28,7 @@ public: std::shared_mutex& imgui_font_atlas_mutex(); int GetFontId(types::Font font) const; - std::pair, units::font_size::pixels> + std::pair, units::font_size::pixels> GetImGuiFont(types::FontCategory fontCategory); QFont GetQFont(types::FontCategory fontCategory); std::shared_ptr @@ -39,7 +39,7 @@ public: void LoadApplicationFont(types::Font font, const std::string& filename); void InitializeFonts(); - static units::font_size::pixels + static units::font_size::pixels ImFontSize(units::font_size::pixels size); static FontManager& Instance(); diff --git a/scwx-qt/source/scwx/qt/manager/placefile_manager.hpp b/scwx-qt/source/scwx/qt/manager/placefile_manager.hpp index 0a667c16..4408fb2f 100644 --- a/scwx-qt/source/scwx/qt/manager/placefile_manager.hpp +++ b/scwx-qt/source/scwx/qt/manager/placefile_manager.hpp @@ -26,7 +26,7 @@ public: using FontMap = boost::unordered_flat_map, - units::font_size::pixels>>; + units::font_size::pixels>>; bool placefile_enabled(const std::string& name); bool placefile_thresholded(const std::string& name); diff --git a/scwx-qt/source/scwx/qt/types/imgui_font.cpp b/scwx-qt/source/scwx/qt/types/imgui_font.cpp index 647c584b..82dab97e 100644 --- a/scwx-qt/source/scwx/qt/types/imgui_font.cpp +++ b/scwx-qt/source/scwx/qt/types/imgui_font.cpp @@ -23,9 +23,8 @@ static const auto logger_ = scwx::util::Logger::Create(logPrefix_); class ImGuiFont::Impl { public: - explicit Impl(const std::string& fontName, - const std::vector& fontData) : - fontName_ {fontName} + explicit Impl(std::string fontName, const std::vector& fontData) : + fontName_ {std::move(fontName)} { CreateImGuiFont(fontData); } @@ -34,7 +33,7 @@ public: void CreateImGuiFont(const std::vector& fontData); - const std::string fontName_; + std::string fontName_; ImFont* imFont_ {nullptr}; };