From 28ea12cbfeebd3e9b9a2758a33bd3fafab7751b6 Mon Sep 17 00:00:00 2001 From: Dan Paulat Date: Sat, 23 Oct 2021 09:03:54 -0500 Subject: [PATCH] Preload font resources --- scwx-qt/res/fonts/din1451alt_g.ttf | Bin 0 -> 83768 bytes scwx-qt/scwx-qt.cmake | 6 ++-- scwx-qt/scwx-qt.qrc | 1 + scwx-qt/source/scwx/qt/main/main.cpp | 5 +++- .../scwx/qt/manager/resource_manager.cpp | 28 ++++++++++++++++++ .../scwx/qt/manager/resource_manager.hpp | 15 ++++++++++ scwx-qt/source/scwx/qt/util/font.cpp | 1 + 7 files changed, 53 insertions(+), 3 deletions(-) create mode 100644 scwx-qt/res/fonts/din1451alt_g.ttf create mode 100644 scwx-qt/source/scwx/qt/manager/resource_manager.cpp create mode 100644 scwx-qt/source/scwx/qt/manager/resource_manager.hpp diff --git a/scwx-qt/res/fonts/din1451alt_g.ttf b/scwx-qt/res/fonts/din1451alt_g.ttf new file mode 100644 index 0000000000000000000000000000000000000000..148fefd4a823fd3d621309e972e753dd471b7627 GIT binary patch literal 83768 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

hj9iba7()oPv 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 N{l8=S|370o`+w|(#x4K= literal 0 HcmV?d00001 diff --git a/scwx-qt/scwx-qt.cmake b/scwx-qt/scwx-qt.cmake index 5bb594d3..53701c11 100644 --- a/scwx-qt/scwx-qt.cmake +++ b/scwx-qt/scwx-qt.cmake @@ -57,8 +57,10 @@ set(HDR_GL source/scwx/qt/gl/gl.hpp source/scwx/qt/gl/text_shader.hpp) set(SRC_GL source/scwx/qt/gl/shader_program.cpp source/scwx/qt/gl/text_shader.cpp) -set(HDR_MANAGER source/scwx/qt/manager/radar_manager.hpp) -set(SRC_MANAGER source/scwx/qt/manager/radar_manager.cpp) +set(HDR_MANAGER source/scwx/qt/manager/radar_manager.hpp + source/scwx/qt/manager/resource_manager.hpp) +set(SRC_MANAGER source/scwx/qt/manager/radar_manager.cpp + source/scwx/qt/manager/resource_manager.cpp) set(HDR_MAP source/scwx/qt/map/map_widget.hpp source/scwx/qt/map/overlay_layer.hpp source/scwx/qt/map/radar_layer.hpp diff --git a/scwx-qt/scwx-qt.qrc b/scwx-qt/scwx-qt.qrc index a2e2bec9..02d40dc5 100644 --- a/scwx-qt/scwx-qt.qrc +++ b/scwx-qt/scwx-qt.qrc @@ -7,5 +7,6 @@ gl/text.frag gl/text.vert res/fonts/din1451alt.ttf + res/fonts/din1451alt_g.ttf diff --git a/scwx-qt/source/scwx/qt/main/main.cpp b/scwx-qt/source/scwx/qt/main/main.cpp index a48fbd4c..f4038493 100644 --- a/scwx-qt/source/scwx/qt/main/main.cpp +++ b/scwx-qt/source/scwx/qt/main/main.cpp @@ -1,4 +1,5 @@ -#include "main_window.hpp" +#include +#include #include #include @@ -9,6 +10,8 @@ int main(int argc, char* argv[]) boost::log::core::get()->set_filter(boost::log::trivial::severity >= boost::log::trivial::debug); + scwx::qt::manager::ResourceManager::PreLoad(); + QApplication a(argc, argv); scwx::qt::main::MainWindow w; w.show(); diff --git a/scwx-qt/source/scwx/qt/manager/resource_manager.cpp b/scwx-qt/source/scwx/qt/manager/resource_manager.cpp new file mode 100644 index 00000000..12d041d9 --- /dev/null +++ b/scwx-qt/source/scwx/qt/manager/resource_manager.cpp @@ -0,0 +1,28 @@ +#include +#include + +namespace scwx +{ +namespace qt +{ +namespace manager +{ +namespace ResourceManager +{ +static void LoadFonts(); + +void PreLoad() +{ + LoadFonts(); +} + +static void LoadFonts() +{ + util::Font::Create(":/res/fonts/din1451alt.ttf"); + util::Font::Create(":/res/fonts/din1451alt_g.ttf"); +} + +} // namespace ResourceManager +} // namespace manager +} // namespace qt +} // namespace scwx diff --git a/scwx-qt/source/scwx/qt/manager/resource_manager.hpp b/scwx-qt/source/scwx/qt/manager/resource_manager.hpp new file mode 100644 index 00000000..ee30bb8f --- /dev/null +++ b/scwx-qt/source/scwx/qt/manager/resource_manager.hpp @@ -0,0 +1,15 @@ +#pragma once + +namespace scwx +{ +namespace qt +{ +namespace manager +{ +namespace ResourceManager +{ +void PreLoad(); +} // namespace ResourceManager +} // namespace manager +} // namespace qt +} // namespace scwx diff --git a/scwx-qt/source/scwx/qt/util/font.cpp b/scwx-qt/source/scwx/qt/util/font.cpp index 08134697..b29506bd 100644 --- a/scwx-qt/source/scwx/qt/util/font.cpp +++ b/scwx-qt/source/scwx/qt/util/font.cpp @@ -250,6 +250,7 @@ std::shared_ptr Font::Create(const std::string& resource) auto it = fontMap_.find(resource); if (it != fontMap_.end()) { + BOOST_LOG_TRIVIAL(debug) << logPrefix_ << "Font already created"; return it->second; }