aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/Clock.cpp
diff options
context:
space:
mode:
authorKieran Cawthray <kieranc@gmail.com>2021-06-16 16:33:34 +0200
committerKieran Cawthray <kieranc@gmail.com>2021-06-16 16:33:34 +0200
commitf5d756928ffef032fb5ac85e73f9a68b7b8f64dc (patch)
tree907608958d0be8a97a3d646c842fde3095cef939 /src/displayapp/screens/Clock.cpp
parentf2d01166c380b72ebcb13ef649def88ff4cf2d21 (diff)
parente90e8c7426f9a44e696b208a5b393a60476a3d43 (diff)
Merge remote-tracking branch 'upstream/develop' into pinetimestyle
Diffstat (limited to 'src/displayapp/screens/Clock.cpp')
-rw-r--r--src/displayapp/screens/Clock.cpp36
1 files changed, 16 insertions, 20 deletions
diff --git a/src/displayapp/screens/Clock.cpp b/src/displayapp/screens/Clock.cpp
index 4f0efd92..3b288d94 100644
--- a/src/displayapp/screens/Clock.cpp
+++ b/src/displayapp/screens/Clock.cpp
@@ -34,24 +34,20 @@ Clock::Clock(DisplayApp* app,
settingsController {settingsController},
heartRateController {heartRateController},
motionController {motionController},
- screens {app,
- settingsController.GetClockFace(),
- {
- [this]() -> std::unique_ptr<Screen> {
- return WatchFaceDigitalScreen();
- },
- [this]() -> std::unique_ptr<Screen> {
- return WatchFaceAnalogScreen();
- },
- [this]() -> std::unique_ptr<Screen> {
- return PineTimeStyleScreen();
- },
- // Examples for more watch faces
- //[this]() -> std::unique_ptr<Screen> { return WatchFaceMinimalScreen(); },
- //[this]() -> std::unique_ptr<Screen> { return WatchFaceCustomScreen(); }
- },
- Screens::ScreenListModes::LongPress} {
-
+ screen {[this, &settingsController]() {
+ switch (settingsController.GetClockFace()) {
+ case 0:
+ return WatchFaceDigitalScreen();
+ break;
+ case 1:
+ return WatchFaceAnalogScreen();
+ break;
+ case 2:
+ return PineTimeStyleScreen();
+ break;
+ }
+ return WatchFaceDigitalScreen();
+ }()} {
settingsController.SetAppMenu(0);
}
@@ -60,12 +56,12 @@ Clock::~Clock() {
}
bool Clock::Refresh() {
- screens.Refresh();
+ screen->Refresh();
return running;
}
bool Clock::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
- return screens.OnTouchEvent(event);
+ return screen->OnTouchEvent(event);
}
std::unique_ptr<Screen> Clock::WatchFaceDigitalScreen() {