diff options
author | JF <jf@codingfield.com> | 2020-03-08 21:46:25 +0100 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-03-08 21:46:25 +0100 |
commit | 0a5cd60fe86149f8958fc546e99f6370cb74950e (patch) | |
tree | d630a6c66d69d22c53b8011e215e1072875c6a29 /src/DisplayApp/DisplayApp.cpp | |
parent | d834f40c1014ac8926af9aaadc434a49e632b000 (diff) |
When a full screen refresh is done, apply a vertical scroll during the refresh. This makes the transition from one screen the another one smoother, even if the refresh rate is slow.
Diffstat (limited to 'src/DisplayApp/DisplayApp.cpp')
-rw-r--r-- | src/DisplayApp/DisplayApp.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index d7d62dde..3c980dc9 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -117,19 +117,19 @@ void DisplayApp::Refresh() { OnTouchEvent(); break; case Messages::ButtonPushed: - if(!currentScreen->OnButtonPushed()) { - systemTask.PushMessage(System::SystemTask::Messages::GoToSleep); - } -// currentScreen.reset(nullptr); -// if(toggle) { -// modal.Show(); -//// currentScreen.reset(new Screens::Tile(this)); -// toggle = false; -// } else { -// modal.Hide(); -//// currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController)); -// toggle = true; +// if(!currentScreen->OnButtonPushed()) { +// systemTask.PushMessage(System::SystemTask::Messages::GoToSleep); // } + lvgl.SetFullRefresh(); + lv_disp_set_direction(lv_disp_get_default(), 0); + currentScreen.reset(nullptr); + if(toggle) { + currentScreen.reset(new Screens::Tile(this)); + toggle = false; + } else { + currentScreen.reset(new Screens::Clock(this, dateTimeController, batteryController, bleController)); + toggle = true; + } break; } @@ -140,6 +140,7 @@ void DisplayApp::RunningState() { // clockScreen.SetCurrentDateTime(dateTimeController.CurrentDateTime()); if(!currentScreen->Refresh()) { + lvgl.SetFullRefresh(); currentScreen.reset(nullptr); switch(nextApp) { case Apps::None: |