From 101f9626e3e42c8edc180eccda2549b6fbba491f Mon Sep 17 00:00:00 2001 From: Steve Amor Date: Fri, 18 Jul 2025 18:45:56 +0100 Subject: Refactor pageindicator --- src/displayapp/widgets/PageIndicator.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'src/displayapp/widgets/PageIndicator.cpp') diff --git a/src/displayapp/widgets/PageIndicator.cpp b/src/displayapp/widgets/PageIndicator.cpp index d8558678..5d9815da 100644 --- a/src/displayapp/widgets/PageIndicator.cpp +++ b/src/displayapp/widgets/PageIndicator.cpp @@ -16,9 +16,12 @@ void PageIndicator::Create() { lv_obj_set_style_local_line_width(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, 3); lv_obj_set_style_local_line_color(pageIndicatorBase, LV_LINE_PART_MAIN, LV_STATE_DEFAULT, Colors::bgDark); lv_line_set_points(pageIndicatorBase, pageIndicatorBasePoints, 2); + SetPageIndicatorPosition(nCurrentScreen); +} +void PageIndicator::SetPageIndicatorPosition(uint8_t position) { const int16_t indicatorSize = LV_VER_RES / nScreens; - const int16_t indicatorPos = indicatorSize * nCurrentScreen; + const int16_t indicatorPos = indicatorSize * position; pageIndicatorPoints[0].x = LV_HOR_RES - 1; pageIndicatorPoints[0].y = indicatorPos; @@ -31,13 +34,7 @@ void PageIndicator::Create() { lv_line_set_points(pageIndicator, pageIndicatorPoints, 2); } -void PageIndicator::Delete() { - lv_obj_del(pageIndicatorBase); - lv_obj_del(pageIndicator); -} - void PageIndicator::SetCurrentScreen(uint8_t nScreen) { - Delete(); - nCurrentScreen = nScreen; - Create(); + lv_obj_del(pageIndicator); + SetPageIndicatorPosition(nScreen); } -- cgit v1.2.3-70-g09d2