diff --git a/src/SdCardFontGlobals.h b/src/SdCardFontGlobals.h deleted file mode 100644 index fec123a0..00000000 --- a/src/SdCardFontGlobals.h +++ /dev/null @@ -1,12 +0,0 @@ -#pragma once - -#include "SdCardFontSystem.h" - -class GfxRenderer; - -// Global SD card font system instance (defined in main.cpp). -extern SdCardFontSystem sdFontSystem; - -// Ensure the correct SD card font family is loaded for current settings. -// Defined in main.cpp; call before entering the reader or after settings change. -extern void ensureSdFontLoaded(); diff --git a/src/SdCardFontSystem.h b/src/SdCardFontSystem.h index f0535343..6b8aef7f 100644 --- a/src/SdCardFontSystem.h +++ b/src/SdCardFontSystem.h @@ -50,3 +50,6 @@ class SdCardFontSystem { SdCardFontManager manager_; std::atomic registryDirty_{false}; }; + +// Global SD card font system instance (defined in main.cpp). +extern SdCardFontSystem sdFontSystem; diff --git a/src/activities/ActivityManager.cpp b/src/activities/ActivityManager.cpp index c81e6b95..96c3c7d0 100644 --- a/src/activities/ActivityManager.cpp +++ b/src/activities/ActivityManager.cpp @@ -5,7 +5,6 @@ #include #include "OpdsServerStore.h" -#include "SdCardFontGlobals.h" #include "boot_sleep/BootActivity.h" #include "boot_sleep/SleepActivity.h" #include "browser/OpdsBookBrowserActivity.h" @@ -194,7 +193,6 @@ void ActivityManager::goToBrowser() { } void ActivityManager::goToReader(std::string path) { - ensureSdFontLoaded(); replaceActivity(std::make_unique(renderer, mappedInput, std::move(path))); } diff --git a/src/activities/reader/ReaderActivity.cpp b/src/activities/reader/ReaderActivity.cpp index 989e6d22..6894ee70 100644 --- a/src/activities/reader/ReaderActivity.cpp +++ b/src/activities/reader/ReaderActivity.cpp @@ -6,6 +6,7 @@ #include "CrossPointSettings.h" #include "Epub.h" #include "EpubReaderActivity.h" +#include "SdCardFontSystem.h" #include "Txt.h" #include "TxtReaderActivity.h" #include "Xtc.h" @@ -103,6 +104,8 @@ void ReaderActivity::onEnter() { return; } + sdFontSystem.ensureLoaded(renderer); + currentBookPath = initialBookPath; if (isBmpFile(initialBookPath)) { onGoToBmpViewer(initialBookPath); diff --git a/src/activities/settings/FontDownloadActivity.cpp b/src/activities/settings/FontDownloadActivity.cpp index 0acba062..27abc575 100644 --- a/src/activities/settings/FontDownloadActivity.cpp +++ b/src/activities/settings/FontDownloadActivity.cpp @@ -9,7 +9,7 @@ #include #include "MappedInputManager.h" -#include "SdCardFontGlobals.h" +#include "SdCardFontSystem.h" #include "activities/network/WifiSelectionActivity.h" #include "activities/util/ConfirmationActivity.h" #include "components/UITheme.h" diff --git a/src/activities/settings/SettingsActivity.cpp b/src/activities/settings/SettingsActivity.cpp index adf99acd..afd707c6 100644 --- a/src/activities/settings/SettingsActivity.cpp +++ b/src/activities/settings/SettingsActivity.cpp @@ -13,7 +13,7 @@ #include "MappedInputManager.h" #include "OpdsServerListActivity.h" #include "OtaUpdateActivity.h" -#include "SdCardFontGlobals.h" +#include "SdCardFontSystem.h" #include "SdFirmwareUpdateActivity.h" #include "SettingsList.h" #include "StatusBarSettingsActivity.h" diff --git a/src/main.cpp b/src/main.cpp index a273534c..27fb4a07 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -197,8 +197,6 @@ void enterDeepSleep() { powerManager.startDeepSleep(gpio); } -void ensureSdFontLoaded() { sdFontSystem.ensureLoaded(renderer); } - void setupDisplayAndFonts() { display.begin(); renderer.begin(); diff --git a/src/network/CrossPointWebServer.cpp b/src/network/CrossPointWebServer.cpp index 60e4e9e2..33a1348d 100644 --- a/src/network/CrossPointWebServer.cpp +++ b/src/network/CrossPointWebServer.cpp @@ -13,7 +13,6 @@ #include "CrossPointSettings.h" #include "FontInstaller.h" #include "OpdsServerStore.h" -#include "SdCardFontGlobals.h" #include "SdCardFontSystem.h" #include "SettingsList.h" #include "WebDAVHandler.h"