aboutsummaryrefslogtreecommitdiffstats
path: root/src/displayapp/screens/WatchFaceAnalog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/displayapp/screens/WatchFaceAnalog.h')
-rw-r--r--src/displayapp/screens/WatchFaceAnalog.h41
1 files changed, 32 insertions, 9 deletions
diff --git a/src/displayapp/screens/WatchFaceAnalog.h b/src/displayapp/screens/WatchFaceAnalog.h
index b32293da..958ff64d 100644
--- a/src/displayapp/screens/WatchFaceAnalog.h
+++ b/src/displayapp/screens/WatchFaceAnalog.h
@@ -9,7 +9,8 @@
#include "components/battery/BatteryController.h"
#include "components/ble/BleController.h"
#include "components/ble/NotificationManager.h"
-#include <displayapp/screens/BatteryIcon.h>
+#include "displayapp/screens/BatteryIcon.h"
+#include "utility/DirtyValue.h"
namespace Pinetime {
namespace Controllers {
@@ -37,13 +38,17 @@ namespace Pinetime {
private:
uint8_t sHour, sMinute, sSecond;
- DirtyValue<uint8_t> batteryPercentRemaining {0};
- DirtyValue<bool> isCharging {};
- DirtyValue<bool> bleState {};
- DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
- DirtyValue<bool> notificationState {false};
- using days = std::chrono::duration<int32_t, std::ratio<86400>>; // TODO: days is standard in c++20
- DirtyValue<std::chrono::time_point<std::chrono::system_clock, days>> currentDate;
+ Utility::DirtyValue<uint8_t> batteryPercentRemaining {0};
+ Utility::DirtyValue<bool> isCharging {};
+ Utility::DirtyValue<bool> bleState {};
+ Utility::DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::nanoseconds>> currentDateTime;
+ Utility::DirtyValue<bool> notificationState {false};
+ Utility::DirtyValue<std::chrono::time_point<std::chrono::system_clock, std::chrono::days>> currentDate;
+
+ lv_obj_t* minor_scales;
+ lv_obj_t* major_scales;
+ lv_obj_t* large_scales;
+ lv_obj_t* twelve;
lv_obj_t* hour_body;
lv_obj_t* hour_body_trace;
@@ -70,7 +75,7 @@ namespace Pinetime {
BatteryIcon batteryIcon;
- const Controllers::DateTime& dateTimeController;
+ Controllers::DateTime& dateTimeController;
const Controllers::Battery& batteryController;
const Controllers::Ble& bleController;
Controllers::NotificationManager& notificationManager;
@@ -82,5 +87,23 @@ namespace Pinetime {
lv_task_t* taskRefresh;
};
}
+
+ template <>
+ struct WatchFaceTraits<WatchFace::Analog> {
+ static constexpr WatchFace watchFace = WatchFace::Analog;
+ static constexpr const char* name = "Analog face";
+
+ static Screens::Screen* Create(AppControllers& controllers) {
+ return new Screens::WatchFaceAnalog(controllers.dateTimeController,
+ controllers.batteryController,
+ controllers.bleController,
+ controllers.notificationManager,
+ controllers.settingsController);
+ };
+
+ static bool IsAvailable(Pinetime::Controllers::FS& /*filesystem*/) {
+ return true;
+ }
+ };
}
}