diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 9edded0a..5ed20603 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -1867,8 +1867,10 @@ bool EpubReaderActivity::drawCurrentPageToBuffer(const std::string& filePath, Gf return false; } + const int imageOnlyOffset = getImageOnlyPageYOffset(*page, viewportHeight); + const int renderMarginTop = marginTop + imageOnlyOffset; renderer.clearScreen(); - page->render(renderer, effectiveFontId, marginLeft, marginTop); + page->render(renderer, effectiveFontId, marginLeft, renderMarginTop); // No displayBuffer call — caller (SleepActivity) handles that after compositing the overlay return true; } diff --git a/src/activities/settings/StatusBarSettingsActivity.cpp b/src/activities/settings/StatusBarSettingsActivity.cpp index 7d71a0f5..6c710ebe 100644 --- a/src/activities/settings/StatusBarSettingsActivity.cpp +++ b/src/activities/settings/StatusBarSettingsActivity.cpp @@ -51,7 +51,7 @@ void drawPreviewProgressBar(const GfxRenderer& renderer, const Rect& rect, const } const int percent = progressBar == CrossPointSettings::STATUS_BAR_PROGRESS_BAR::BOOK_PROGRESS ? 75 : 25; - const int barHeight = (thickness + 1) * 2; + const int barHeight = UITheme::getProgressBarHeight(progressBar, thickness); const int y = topEdge ? rect.y + previewInnerMargin : rect.y + rect.height - previewInnerMargin - barHeight; const int barWidth = (rect.width - previewInnerMargin * 2) * percent / 100; renderer.fillRect(rect.x + previewInnerMargin, y, barWidth, barHeight); diff --git a/src/components/themes/BaseTheme.cpp b/src/components/themes/BaseTheme.cpp index fbe5f3e7..141835ec 100644 --- a/src/components/themes/BaseTheme.cpp +++ b/src/components/themes/BaseTheme.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -61,7 +62,7 @@ int progressBarPixelHeight(const uint8_t progressBar, const uint8_t thickness, c int statusBarProgressPercent(const uint8_t progressBar, const float bookProgress, const int currentPage, const int pageCount) { if (progressBar == CrossPointSettings::STATUS_BAR_PROGRESS_BAR::BOOK_PROGRESS) { - return std::clamp(static_cast(bookProgress), 0, 100); + return std::clamp(static_cast(std::lround(bookProgress)), 0, 100); } const int chapterProgress = (pageCount > 0) ? static_cast((static_cast(currentPage) / pageCount) * 100) : 0;