From fc94455e270af8487e001efa1fb3d4402d36dee1 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Thu, 29 Jan 2026 00:40:27 +0300 Subject: [PATCH 1/5] Return progress bar height depending on orientation --- src/ScreenComponents.cpp | 17 +++++++++++++++-- src/ScreenComponents.h | 2 +- src/activities/reader/EpubReaderActivity.cpp | 5 +++-- src/activities/reader/TxtReaderActivity.cpp | 5 +++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/ScreenComponents.cpp b/src/ScreenComponents.cpp index ef47dfc5..7b2d48f3 100644 --- a/src/ScreenComponents.cpp +++ b/src/ScreenComponents.cpp @@ -6,6 +6,7 @@ #include #include "Battery.h" +#include "CrossPointSettings.h" #include "fontIds.h" void ScreenComponents::drawBattery(const GfxRenderer& renderer, const int left, const int top, @@ -48,9 +49,21 @@ void ScreenComponents::drawBookProgressBar(const GfxRenderer& renderer, const si &vieweableMarginLeft); const int progressBarMaxWidth = renderer.getScreenWidth() - vieweableMarginLeft - vieweableMarginRight; - const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - BOOK_PROGRESS_BAR_HEIGHT; + const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - BOOK_PROGRESS_BAR_HEIGHT(); const int barWidth = progressBarMaxWidth * bookProgress / 100; - renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, BOOK_PROGRESS_BAR_HEIGHT, true); + renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, BOOK_PROGRESS_BAR_HEIGHT(), true); +} + +int ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() { + const auto orientation = SETTINGS.orientation; + const bool isVertical = (orientation == CrossPointSettings::ORIENTATION::PORTRAIT || + orientation == CrossPointSettings::ORIENTATION::INVERTED); + + if (isVertical) { + return 4; + } else { + return 2; + } } int ScreenComponents::drawTabBar(const GfxRenderer& renderer, const int y, const std::vector& tabs) { diff --git a/src/ScreenComponents.h b/src/ScreenComponents.h index 15403f60..3132c92e 100644 --- a/src/ScreenComponents.h +++ b/src/ScreenComponents.h @@ -13,7 +13,7 @@ struct TabInfo { class ScreenComponents { public: - static const int BOOK_PROGRESS_BAR_HEIGHT = 4; + static int BOOK_PROGRESS_BAR_HEIGHT(); static void drawBattery(const GfxRenderer& renderer, int left, int top, bool showPercentage = true); static void drawBookProgressBar(const GfxRenderer& renderer, size_t bookProgress); diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 58668c68..eb423c3c 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -291,8 +291,9 @@ void EpubReaderActivity::renderScreen() { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; - orientedMarginBottom += statusBarMargin - SETTINGS.screenMargin + - (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT + progressBarMarginTop) : 0); + orientedMarginBottom += + statusBarMargin - SETTINGS.screenMargin + + (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() + progressBarMarginTop) : 0); } if (!section) { diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index e9303de3..289f9042 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -173,8 +173,9 @@ void TxtReaderActivity::initializeReader() { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; - orientedMarginBottom += statusBarMargin - cachedScreenMargin + - (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT + progressBarMarginTop) : 0); + orientedMarginBottom += + statusBarMargin - cachedScreenMargin + + (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() + progressBarMarginTop) : 0); } viewportWidth = renderer.getScreenWidth() - orientedMarginLeft - orientedMarginRight; From 00fa98be304003d6fcf470e2759b4137b97c4912 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Thu, 29 Jan 2026 00:59:23 +0300 Subject: [PATCH 2/5] Rename to bookProgressBarHeight --- src/ScreenComponents.cpp | 6 +++--- src/ScreenComponents.h | 2 +- src/activities/reader/EpubReaderActivity.cpp | 2 +- src/activities/reader/TxtReaderActivity.cpp | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ScreenComponents.cpp b/src/ScreenComponents.cpp index 7b2d48f3..6ffff9a8 100644 --- a/src/ScreenComponents.cpp +++ b/src/ScreenComponents.cpp @@ -49,12 +49,12 @@ void ScreenComponents::drawBookProgressBar(const GfxRenderer& renderer, const si &vieweableMarginLeft); const int progressBarMaxWidth = renderer.getScreenWidth() - vieweableMarginLeft - vieweableMarginRight; - const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - BOOK_PROGRESS_BAR_HEIGHT(); + const int progressBarY = renderer.getScreenHeight() - vieweableMarginBottom - bookProgressBarHeight(); const int barWidth = progressBarMaxWidth * bookProgress / 100; - renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, BOOK_PROGRESS_BAR_HEIGHT(), true); + renderer.fillRect(vieweableMarginLeft, progressBarY, barWidth, bookProgressBarHeight(), true); } -int ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() { +int ScreenComponents::bookProgressBarHeight() { const auto orientation = SETTINGS.orientation; const bool isVertical = (orientation == CrossPointSettings::ORIENTATION::PORTRAIT || orientation == CrossPointSettings::ORIENTATION::INVERTED); diff --git a/src/ScreenComponents.h b/src/ScreenComponents.h index 3132c92e..de1f9e20 100644 --- a/src/ScreenComponents.h +++ b/src/ScreenComponents.h @@ -13,7 +13,7 @@ struct TabInfo { class ScreenComponents { public: - static int BOOK_PROGRESS_BAR_HEIGHT(); + static int bookProgressBarHeight(); static void drawBattery(const GfxRenderer& renderer, int left, int top, bool showPercentage = true); static void drawBookProgressBar(const GfxRenderer& renderer, size_t bookProgress); diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index eb423c3c..664531fc 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -293,7 +293,7 @@ void EpubReaderActivity::renderScreen() { SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; orientedMarginBottom += statusBarMargin - SETTINGS.screenMargin + - (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() + progressBarMarginTop) : 0); + (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); } if (!section) { diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index 289f9042..22bf0760 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -175,7 +175,7 @@ void TxtReaderActivity::initializeReader() { SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; orientedMarginBottom += statusBarMargin - cachedScreenMargin + - (showProgressBar ? (ScreenComponents::BOOK_PROGRESS_BAR_HEIGHT() + progressBarMarginTop) : 0); + (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); } viewportWidth = renderer.getScreenWidth() - orientedMarginLeft - orientedMarginRight; From 78699e1a5c59b7a1f3d1e132dbc709548e7a4a66 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Thu, 29 Jan 2026 01:04:46 +0300 Subject: [PATCH 3/5] Run clang-format-fix --- src/activities/reader/EpubReaderActivity.cpp | 5 ++--- src/activities/reader/TxtReaderActivity.cpp | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/activities/reader/EpubReaderActivity.cpp b/src/activities/reader/EpubReaderActivity.cpp index 664531fc..0b173e7f 100644 --- a/src/activities/reader/EpubReaderActivity.cpp +++ b/src/activities/reader/EpubReaderActivity.cpp @@ -291,9 +291,8 @@ void EpubReaderActivity::renderScreen() { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; - orientedMarginBottom += - statusBarMargin - SETTINGS.screenMargin + - (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); + orientedMarginBottom += statusBarMargin - SETTINGS.screenMargin + + (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); } if (!section) { diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index 22bf0760..bca4265f 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -173,9 +173,8 @@ void TxtReaderActivity::initializeReader() { // Add additional margin for status bar if progress bar is shown const bool showProgressBar = SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::FULL_WITH_PROGRESS_BAR || SETTINGS.statusBar == CrossPointSettings::STATUS_BAR_MODE::ONLY_PROGRESS_BAR; - orientedMarginBottom += - statusBarMargin - cachedScreenMargin + - (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); + orientedMarginBottom += statusBarMargin - cachedScreenMargin + + (showProgressBar ? (ScreenComponents::bookProgressBarHeight() + progressBarMarginTop) : 0); } viewportWidth = renderer.getScreenWidth() - orientedMarginLeft - orientedMarginRight; From 4b4af14bd055288d42b930a9eb2b59c20f1e4dc3 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Mon, 2 Feb 2026 14:01:56 +0300 Subject: [PATCH 4/5] Keep the constants and return them --- src/ScreenComponents.cpp | 4 ++-- src/ScreenComponents.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ScreenComponents.cpp b/src/ScreenComponents.cpp index 6ffff9a8..4a9d7ec5 100644 --- a/src/ScreenComponents.cpp +++ b/src/ScreenComponents.cpp @@ -60,9 +60,9 @@ int ScreenComponents::bookProgressBarHeight() { orientation == CrossPointSettings::ORIENTATION::INVERTED); if (isVertical) { - return 4; + return ScreenComponents::BOOK_PROGRESS_BAR_VERTICAL_HEIGHT; } else { - return 2; + return ScreenComponents::BOOK_PROGRESS_BAR_HORIZONTAL_HEIGHT; } } diff --git a/src/ScreenComponents.h b/src/ScreenComponents.h index de1f9e20..a634b3ee 100644 --- a/src/ScreenComponents.h +++ b/src/ScreenComponents.h @@ -13,6 +13,8 @@ struct TabInfo { class ScreenComponents { public: + static const int BOOK_PROGRESS_BAR_VERTICAL_HEIGHT = 4; + static const int BOOK_PROGRESS_BAR_HORIZONTAL_HEIGHT = 2; static int bookProgressBarHeight(); static void drawBattery(const GfxRenderer& renderer, int left, int top, bool showPercentage = true); From a9016c683b2df1b84390c124286a1dbe2ca3ff2b Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Mon, 2 Feb 2026 14:09:43 +0300 Subject: [PATCH 5/5] Set values inside bookProgressBarHeight() --- src/ScreenComponents.cpp | 7 +++++-- src/ScreenComponents.h | 2 -- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ScreenComponents.cpp b/src/ScreenComponents.cpp index 4a9d7ec5..50ce76c3 100644 --- a/src/ScreenComponents.cpp +++ b/src/ScreenComponents.cpp @@ -59,10 +59,13 @@ int ScreenComponents::bookProgressBarHeight() { const bool isVertical = (orientation == CrossPointSettings::ORIENTATION::PORTRAIT || orientation == CrossPointSettings::ORIENTATION::INVERTED); + constexpr int bookProgressBarVerticalHeight = 4; + constexpr int bookProgressBarHorizontalHeight = 2; + if (isVertical) { - return ScreenComponents::BOOK_PROGRESS_BAR_VERTICAL_HEIGHT; + return bookProgressBarVerticalHeight; } else { - return ScreenComponents::BOOK_PROGRESS_BAR_HORIZONTAL_HEIGHT; + return bookProgressBarHorizontalHeight; } } diff --git a/src/ScreenComponents.h b/src/ScreenComponents.h index a634b3ee..de1f9e20 100644 --- a/src/ScreenComponents.h +++ b/src/ScreenComponents.h @@ -13,8 +13,6 @@ struct TabInfo { class ScreenComponents { public: - static const int BOOK_PROGRESS_BAR_VERTICAL_HEIGHT = 4; - static const int BOOK_PROGRESS_BAR_HORIZONTAL_HEIGHT = 2; static int bookProgressBarHeight(); static void drawBattery(const GfxRenderer& renderer, int left, int top, bool showPercentage = true);