diff options
| author | Joaquim <joaquim.org@gmail.com> | 2021-04-04 02:08:51 (GMT) |
|---|---|---|
| committer | Joaquim <joaquim.org@gmail.com> | 2021-04-04 02:08:51 (GMT) |
| commit | 1d3742e14f09316a1d795527713eb8f9742f0ffb (patch) | |
| tree | 6bc6343538506b68256aa057121e063d22f8ed1a /src/displayapp/DisplayApp.h | |
| parent | 58a2d000c4d49d96121894d6dd6bb861d7564bea (diff) | |
Big UI and navigation Rewrite
new navigation
add some color to the apps
redesign menus
new settings menu
new quick settings
code clean up
size reduction by converting navigation images to font
and more...
Diffstat (limited to 'src/displayapp/DisplayApp.h')
| -rw-r--r-- | src/displayapp/DisplayApp.h | 56 |
1 files changed, 31 insertions, 25 deletions
diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index c22aa1f..ec59743 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -36,7 +36,7 @@ namespace Pinetime { class DisplayApp { public: enum class States {Idle, Running}; - enum class FullRefreshDirections { None, Up, Down }; + enum class FullRefreshDirections { None, Up, Down, Left, Right, LeftAnim, RightAnim }; enum class TouchModes { Gestures, Polling }; DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Drivers::Cst816S &, @@ -50,48 +50,54 @@ namespace Pinetime { void Start(); void PushMessage(Display::Messages msg); - void StartApp(Apps app); + void StartApp(Apps app, DisplayApp::FullRefreshDirections direction); void SetFullRefresh(FullRefreshDirections direction); void SetTouchMode(TouchModes mode); private: - TaskHandle_t taskHandle; - static void Process(void* instance); - void InitHw(); + Pinetime::Drivers::St7789& lcd; Pinetime::Components::LittleVgl& lvgl; - void Refresh(); + Pinetime::Drivers::Cst816S& touchPanel; + Pinetime::Controllers::Battery &batteryController; + Pinetime::Controllers::Ble &bleController; + Pinetime::Controllers::DateTime& dateTimeController; + Pinetime::Drivers::WatchdogView& watchdog; + Pinetime::System::SystemTask& systemTask; + Pinetime::Controllers::NotificationManager& notificationManager; + Pinetime::Controllers::HeartRateController& heartRateController; + Pinetime::Controllers::Settings& settingsController; + + Pinetime::Controllers::FirmwareValidator validator; + Controllers::BrightnessController brightnessController; + + TaskHandle_t taskHandle; States state = States::Running; - void RunningState(); - void IdleState(); QueueHandle_t msgQueue; static constexpr uint8_t queueSize = 10; static constexpr uint8_t itemSize = 1; - Pinetime::Controllers::Battery &batteryController; - Pinetime::Controllers::Ble &bleController; - Pinetime::Controllers::DateTime& dateTimeController; - Pinetime::Drivers::WatchdogView& watchdog; - - Pinetime::Drivers::Cst816S& touchPanel; - TouchEvents OnTouchEvent(); - std::unique_ptr<Screens::Screen> currentScreen; - bool isClock = true; + Apps currentApp = Apps::None; + Apps returnToApp = Apps::None; + FullRefreshDirections returnDirection = FullRefreshDirections::None; + TouchEvents returnTouchEvent = TouchEvents::None; - Pinetime::System::SystemTask& systemTask; - Apps nextApp = Apps::None; - bool onClockApp = false; // TODO find a better way to know that we should handle gestures and button differently for the Clock app. - Controllers::BrightnessController brightnessController; - Pinetime::Controllers::NotificationManager& notificationManager; - Pinetime::Controllers::FirmwareValidator validator; TouchModes touchMode = TouchModes::Gestures; - Pinetime::Controllers::HeartRateController& heartRateController; - Pinetime::Controllers::Settings& settingsController; + + TouchEvents OnTouchEvent(); + void RunningState(); + void IdleState(); + static void Process(void* instance); + void InitHw(); + void Refresh(); + void returnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent); + void LoadApp(Apps app, DisplayApp::FullRefreshDirections direction); + }; } } |
