refactor: pass precomputed BookOverlayInfo to renderBitmapSleepScreen

This commit is contained in:
pablohc
2026-03-29 22:14:21 +02:00
parent 1a7acd91bb
commit fbeaf48e32
3 changed files with 10 additions and 7 deletions
+2 -1
View File
@@ -408,7 +408,8 @@ inline const char* const* getStringArray(Language lang) {
constexpr uint8_t getLanguageCount() { return static_cast<uint8_t>(Language::_COUNT); }
// Sorted language indices by code (auto-generated by gen_i18n.py)
// Order: English, Беларуская, Català, Čeština, Dansk, Deutsch, Español, Suomi, Français, Italiano, Қазақша, Nederlands, Polski, Português (Brasil), Română, Русский, Svenska, Türkçe, Українська
// Order: English, Беларуская, Català, Čeština, Dansk, Deutsch, Español, Suomi, Français, Italiano, Қазақша, Nederlands,
// Polski, Português (Brasil), Română, Русский, Svenska, Türkçe, Українська
constexpr uint8_t SORTED_LANGUAGE_INDICES[] = {0, 11, 9, 4, 15, 3, 1, 14, 2, 12, 18, 16, 13, 5, 8, 6, 7, 17, 10};
static_assert(sizeof(SORTED_LANGUAGE_INDICES) / sizeof(SORTED_LANGUAGE_INDICES[0]) == getLanguageCount(),
+7 -5
View File
@@ -93,7 +93,7 @@ void SleepActivity::renderCustomSleepScreen() const {
delay(100);
Bitmap bitmap(file, true);
if (bitmap.parseHeaders() == BmpReaderError::Ok) {
renderBitmapSleepScreen(bitmap);
renderBitmapSleepScreen(bitmap, BookOverlayInfo{});
file.close();
dir.close();
return;
@@ -111,7 +111,7 @@ void SleepActivity::renderCustomSleepScreen() const {
Bitmap bitmap(file, true);
if (bitmap.parseHeaders() == BmpReaderError::Ok) {
LOG_DBG("SLP", "Loading: /sleep.bmp");
renderBitmapSleepScreen(bitmap);
renderBitmapSleepScreen(bitmap, BookOverlayInfo{});
file.close();
return;
}
@@ -247,7 +247,7 @@ BookOverlayInfo SleepActivity::getBookOverlayInfo(const std::string& bookPath) c
return info;
}
void SleepActivity::renderBitmapSleepScreen(const Bitmap& bitmap) const {
void SleepActivity::renderBitmapSleepScreen(const Bitmap& bitmap, const BookOverlayInfo& overlayInfo) const {
int x, y;
const auto pageWidth = renderer.getScreenWidth();
const auto pageHeight = renderer.getScreenHeight();
@@ -300,7 +300,6 @@ void SleepActivity::renderBitmapSleepScreen(const Bitmap& bitmap) const {
}
const uint8_t overlayMode = SETTINGS.sleepCoverOverlay;
const BookOverlayInfo overlayInfo = overlayMode < 3 ? getBookOverlayInfo(APP_STATE.openEpubPath) : BookOverlayInfo{};
const auto drawOverlay = [&]() {
const bool hasTitle = !overlayInfo.title.empty();
const bool hasProgress = !overlayInfo.progressText.empty();
@@ -476,7 +475,10 @@ void SleepActivity::renderCoverSleepScreen() const {
Bitmap bitmap(file);
if (bitmap.parseHeaders() == BmpReaderError::Ok) {
LOG_DBG("SLP", "Rendering sleep cover: %s", coverBmpPath.c_str());
renderBitmapSleepScreen(bitmap);
const uint8_t overlayMode = SETTINGS.sleepCoverOverlay;
const BookOverlayInfo coverOverlayInfo =
overlayMode < 3 ? getBookOverlayInfo(APP_STATE.openEpubPath) : BookOverlayInfo{};
renderBitmapSleepScreen(bitmap, coverOverlayInfo);
file.close();
return;
}
+1 -1
View File
@@ -24,7 +24,7 @@ class SleepActivity final : public Activity {
void renderDefaultSleepScreen() const;
void renderCustomSleepScreen() const;
void renderCoverSleepScreen() const;
void renderBitmapSleepScreen(const Bitmap& bitmap) const;
void renderBitmapSleepScreen(const Bitmap& bitmap, const BookOverlayInfo& overlayInfo) const;
void renderBlankSleepScreen() const;
BookOverlayInfo getBookOverlayInfo(const std::string& bookPath) const;
};