diff --git a/src/activities/home/HomeActivity.cpp b/src/activities/home/HomeActivity.cpp index 273f366b..dc0d47be 100644 --- a/src/activities/home/HomeActivity.cpp +++ b/src/activities/home/HomeActivity.cpp @@ -116,7 +116,7 @@ void HomeActivity::onEnter() { selectorIndex = 0; - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); loadRecentBooks(metrics.homeRecentBooksCount); // Trigger first update @@ -212,7 +212,7 @@ void HomeActivity::loop() { } void HomeActivity::render(Activity::RenderLock&&) { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/home/MyLibraryActivity.cpp b/src/activities/home/MyLibraryActivity.cpp index 1793e1b8..56799e91 100644 --- a/src/activities/home/MyLibraryActivity.cpp +++ b/src/activities/home/MyLibraryActivity.cpp @@ -201,7 +201,7 @@ void MyLibraryActivity::render(Activity::RenderLock&&) { const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); std::string folderName = (basepath == "/") ? tr(STR_SD_CARD) : basepath.substr(basepath.rfind('/') + 1); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, folderName.c_str()); diff --git a/src/activities/home/RecentBooksActivity.cpp b/src/activities/home/RecentBooksActivity.cpp index 2ea9ff01..0b519d31 100644 --- a/src/activities/home/RecentBooksActivity.cpp +++ b/src/activities/home/RecentBooksActivity.cpp @@ -88,7 +88,7 @@ void RecentBooksActivity::render(Activity::RenderLock&&) { const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, tr(STR_MENU_RECENT_BOOKS)); diff --git a/src/activities/network/CalibreConnectActivity.cpp b/src/activities/network/CalibreConnectActivity.cpp index 056513bc..69014cf4 100644 --- a/src/activities/network/CalibreConnectActivity.cpp +++ b/src/activities/network/CalibreConnectActivity.cpp @@ -169,7 +169,7 @@ void CalibreConnectActivity::loop() { } void CalibreConnectActivity::render(Activity::RenderLock&&) { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/network/CrossPointWebServerActivity.cpp b/src/activities/network/CrossPointWebServerActivity.cpp index d326c842..beee4f71 100644 --- a/src/activities/network/CrossPointWebServerActivity.cpp +++ b/src/activities/network/CrossPointWebServerActivity.cpp @@ -343,7 +343,7 @@ void CrossPointWebServerActivity::render(Activity::RenderLock&&) { // Subactivities handle their own rendering if (state == WebServerActivityState::SERVER_RUNNING || state == WebServerActivityState::AP_STARTING) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); @@ -386,7 +386,7 @@ void drawQRCode(const GfxRenderer& renderer, const int x, const int y, const std } void CrossPointWebServerActivity::renderServerRunning() const { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, diff --git a/src/activities/network/NetworkModeSelectionActivity.cpp b/src/activities/network/NetworkModeSelectionActivity.cpp index af300802..9bba7552 100644 --- a/src/activities/network/NetworkModeSelectionActivity.cpp +++ b/src/activities/network/NetworkModeSelectionActivity.cpp @@ -57,7 +57,7 @@ void NetworkModeSelectionActivity::loop() { void NetworkModeSelectionActivity::render(Activity::RenderLock&&) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/network/WifiSelectionActivity.cpp b/src/activities/network/WifiSelectionActivity.cpp index 9e7b7afa..03c5689b 100644 --- a/src/activities/network/WifiSelectionActivity.cpp +++ b/src/activities/network/WifiSelectionActivity.cpp @@ -471,7 +471,7 @@ void WifiSelectionActivity::render(Activity::RenderLock&&) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); @@ -514,7 +514,7 @@ void WifiSelectionActivity::render(Activity::RenderLock&&) { } void WifiSelectionActivity::renderNetworkList() const { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 3e910081..31257ca9 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -526,7 +526,7 @@ void EpubReaderActivity::render(Activity::RenderLock&& lock) { orientedMarginRight += SETTINGS.screenMargin; orientedMarginBottom += SETTINGS.screenMargin; - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); // Add status bar margin if (SETTINGS.statusBar != CrossPointSettings::STATUS_BAR_MODE::NONE) { @@ -713,7 +713,7 @@ void EpubReaderActivity::renderContents(std::unique_ptr page, const int or void EpubReaderActivity::renderStatusBar(const int orientedMarginRight, const int orientedMarginBottom, const int orientedMarginLeft) const { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); // determine visible status bar elements const bool showProgressPercentage = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL; diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index 64889ec0..1f535c97 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -139,7 +139,7 @@ void TxtReaderActivity::initializeReader() { orientedMarginRight += cachedScreenMargin; orientedMarginBottom += cachedScreenMargin; - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); // Add status bar margin if (SETTINGS.statusBar != CrossPointSettings::STATUS_BAR_MODE::NONE) { @@ -476,7 +476,7 @@ void TxtReaderActivity::renderStatusBar(const int orientedMarginRight, const int const bool showBatteryPercentage = SETTINGS.hideBatteryPercentage == CrossPointSettings::HIDE_BATTERY_PERCENTAGE::HIDE_NEVER; - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto screenHeight = renderer.getScreenHeight(); // Adjust text position upward when progress bar is shown to avoid overlap const auto textY = screenHeight - orientedMarginBottom - 4; diff --git a/src/activities/settings/ButtonRemapActivity.cpp b/src/activities/settings/ButtonRemapActivity.cpp index 283d03d8..92c3140d 100644 --- a/src/activities/settings/ButtonRemapActivity.cpp +++ b/src/activities/settings/ButtonRemapActivity.cpp @@ -104,7 +104,7 @@ void ButtonRemapActivity::render(Activity::RenderLock&&) { return "-"; }; - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/settings/CalibreSettingsActivity.cpp b/src/activities/settings/CalibreSettingsActivity.cpp index adb73986..421a0b7e 100644 --- a/src/activities/settings/CalibreSettingsActivity.cpp +++ b/src/activities/settings/CalibreSettingsActivity.cpp @@ -114,7 +114,7 @@ void CalibreSettingsActivity::handleSelection() { void CalibreSettingsActivity::render(Activity::RenderLock&&) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, tr(STR_OPDS_BROWSER)); diff --git a/src/activities/settings/ClearCacheActivity.cpp b/src/activities/settings/ClearCacheActivity.cpp index b07758d0..ca3a9a6a 100644 --- a/src/activities/settings/ClearCacheActivity.cpp +++ b/src/activities/settings/ClearCacheActivity.cpp @@ -19,7 +19,7 @@ void ClearCacheActivity::onEnter() { void ClearCacheActivity::onExit() { ActivityWithSubactivity::onExit(); } void ClearCacheActivity::render(Activity::RenderLock&&) { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/settings/KOReaderAuthActivity.cpp b/src/activities/settings/KOReaderAuthActivity.cpp index 1a487636..c6367b35 100644 --- a/src/activities/settings/KOReaderAuthActivity.cpp +++ b/src/activities/settings/KOReaderAuthActivity.cpp @@ -91,7 +91,7 @@ void KOReaderAuthActivity::onExit() { void KOReaderAuthActivity::render(Activity::RenderLock&&) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/settings/KOReaderSettingsActivity.cpp b/src/activities/settings/KOReaderSettingsActivity.cpp index 1a5aba90..e629a775 100644 --- a/src/activities/settings/KOReaderSettingsActivity.cpp +++ b/src/activities/settings/KOReaderSettingsActivity.cpp @@ -136,7 +136,7 @@ void KOReaderSettingsActivity::handleSelection() { void KOReaderSettingsActivity::render(Activity::RenderLock&&) { renderer.clearScreen(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/settings/OtaUpdateActivity.cpp b/src/activities/settings/OtaUpdateActivity.cpp index 8efc3013..d9578bff 100644 --- a/src/activities/settings/OtaUpdateActivity.cpp +++ b/src/activities/settings/OtaUpdateActivity.cpp @@ -84,7 +84,7 @@ void OtaUpdateActivity::render(Activity::RenderLock&&) { return; } - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); diff --git a/src/activities/settings/SettingsActivity.cpp b/src/activities/settings/SettingsActivity.cpp index 6cb2dfee..2ffa2b2f 100644 --- a/src/activities/settings/SettingsActivity.cpp +++ b/src/activities/settings/SettingsActivity.cpp @@ -216,7 +216,7 @@ void SettingsActivity::render(Activity::RenderLock&&) { const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, tr(STR_SETTINGS_TITLE), CROSSPOINT_VERSION); diff --git a/src/activities/util/KeyboardEntryActivity.cpp b/src/activities/util/KeyboardEntryActivity.cpp index be38b105..41e6e56a 100644 --- a/src/activities/util/KeyboardEntryActivity.cpp +++ b/src/activities/util/KeyboardEntryActivity.cpp @@ -195,7 +195,7 @@ void KeyboardEntryActivity::render(Activity::RenderLock&&) { const auto pageWidth = renderer.getScreenWidth(); const auto pageHeight = renderer.getScreenHeight(); - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); GUI.drawHeader(renderer, Rect{0, metrics.topPadding, pageWidth, metrics.headerHeight}, title.c_str()); diff --git a/src/components/UITheme.h b/src/components/UITheme.h index 3acf8059..054ee89e 100644 --- a/src/components/UITheme.h +++ b/src/components/UITheme.h @@ -14,8 +14,8 @@ class UITheme { UITheme(); static UITheme& getInstance() { return instance; } - const ThemeMetrics& getMetrics() { return *currentMetrics; } - const BaseTheme& getTheme() { return *currentTheme; } + const ThemeMetrics& getMetrics() const { return *currentMetrics; } + const BaseTheme& getTheme() const { return *currentTheme; } void reload(); void setTheme(CrossPointSettings::UI_THEME type); static int getNumberOfItemsPerPage(const GfxRenderer& renderer, bool hasHeader, bool hasTabBar, bool hasButtonHints, diff --git a/src/components/themes/BaseTheme.cpp b/src/components/themes/BaseTheme.cpp index a93fe6b3..ce03923b 100644 --- a/src/components/themes/BaseTheme.cpp +++ b/src/components/themes/BaseTheme.cpp @@ -736,7 +736,7 @@ void BaseTheme::drawReadingProgressBar(const GfxRenderer& renderer, const size_t } void BaseTheme::drawHelpText(const GfxRenderer& renderer, Rect rect, const char* label) const { - auto metrics = UITheme::getInstance().getMetrics(); + const auto& metrics = UITheme::getInstance().getMetrics(); auto truncatedLabel = renderer.truncatedText(SMALL_FONT_ID, label, rect.width - metrics.contentSidePadding * 2, EpdFontFamily::REGULAR); renderer.drawCenteredText(SMALL_FONT_ID, rect.y, truncatedLabel.c_str());