summaryrefslogtreecommitdiff
path: root/src/DisplayApp/DisplayApp.cpp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-03-08 21:46:25 +0100
committerJF <jf@codingfield.com>2020-03-08 21:46:25 +0100
commit0a5cd60fe86149f8958fc546e99f6370cb74950e (patch)
treed630a6c66d69d22c53b8011e215e1072875c6a29 /src/DisplayApp/DisplayApp.cpp
parentd834f40c1014ac8926af9aaadc434a49e632b000 (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.cpp25
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: