diff options
| author | jacqueline <me@jacqueline.id.au> | 2023-08-25 10:13:37 +1000 |
|---|---|---|
| committer | jacqueline <me@jacqueline.id.au> | 2023-08-25 10:13:37 +1000 |
| commit | 3b3bc64d19715c418f407d5231795ca5a2c2fa71 (patch) | |
| tree | 87fb1bf2b9ec366abc712f2096a0908d0ae2cc4b /src/ui/lvgl_task.cpp | |
| parent | 079b2b53d434869df419da1373aba239990c34d9 (diff) | |
| download | tangara-fw-3b3bc64d19715c418f407d5231795ca5a2c2fa71.tar.gz | |
Add modal dialog support
Diffstat (limited to 'src/ui/lvgl_task.cpp')
| -rw-r--r-- | src/ui/lvgl_task.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ui/lvgl_task.cpp b/src/ui/lvgl_task.cpp index a77efa85..7d4024e5 100644 --- a/src/ui/lvgl_task.cpp +++ b/src/ui/lvgl_task.cpp @@ -35,6 +35,7 @@ #include "misc/lv_color.h" #include "misc/lv_style.h" #include "misc/lv_timer.h" +#include "modal.hpp" #include "relative_wheel.hpp" #include "tasks.hpp" #include "touchwheel.hpp" @@ -75,6 +76,7 @@ void LvglMain(std::weak_ptr<drivers::RelativeWheel> weak_touch_wheel, TouchWheelEncoder encoder(weak_touch_wheel); std::shared_ptr<Screen> current_screen; + lv_group_t* current_group = nullptr; auto* events = events::queues::Ui(); while (1) { while (events->Service(0)) { @@ -88,6 +90,11 @@ void LvglMain(std::weak_ptr<drivers::RelativeWheel> weak_touch_wheel, current_screen = screen; } + if (current_screen->group() != current_group) { + current_group = current_screen->group(); + lv_indev_set_group(encoder.registration(), current_group); + } + if (current_screen) { current_screen->Tick(); } |
