summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-03-28 02:21:19 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-03-28 02:21:19 (GMT)
commit7898636d94b57fd6351430bdc149c19a4496dae3 (patch)
tree9e19cfbf214f753b51f775e6e89055c3d94428af
parentb5517a61803bb3c328cf4fc87d834657be40ba07 (diff)
digital seconds
-rw-r--r--src/displayapp/screens/WatchFaceDigital.cpp18
-rw-r--r--src/displayapp/screens/WatchFaceDigital.h2
2 files changed, 17 insertions, 3 deletions
diff --git a/src/displayapp/screens/WatchFaceDigital.cpp b/src/displayapp/screens/WatchFaceDigital.cpp
index 8176c7b..6d9ed32 100644
--- a/src/displayapp/screens/WatchFaceDigital.cpp
+++ b/src/displayapp/screens/WatchFaceDigital.cpp
@@ -66,8 +66,14 @@ WatchFaceDigital::WatchFaceDigital(DisplayApp* app,
label_time = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_style_local_text_font(label_time, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &neofont3);
+ lv_label_set_text_fmt(label_time, "??:??");
+ lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
- lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 0);
+ label_time_sec = lv_label_create(lv_scr_act(), nullptr);
+ lv_obj_set_style_local_text_color(label_time_sec, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xFFFFFF));
+ lv_obj_set_style_local_text_font(label_time_sec, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, &neofont2);
+ lv_label_set_text_fmt(label_time_sec, ":??");
+ lv_obj_align(label_time_sec, label_time, LV_ALIGN_OUT_BOTTOM_RIGHT, 0, 0);
label_time_ampm = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_text_static(label_time_ampm, "");
@@ -150,6 +156,7 @@ void WatchFaceDigital::Refresh() {
uint8_t hour = time.hours().count();
uint8_t minute = time.minutes().count();
+ uint8_t second = time.seconds().count();
if (displayedHour != hour || displayedMinute != minute) {
displayedHour = hour;
@@ -167,13 +174,18 @@ void WatchFaceDigital::Refresh() {
}
lv_label_set_text(label_time_ampm, ampmChar);
lv_label_set_text_fmt(label_time, "%2d:%02d", hour, minute);
- lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 0);
+ // lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_IN_RIGHT_MID, 0, 0);
} else {
lv_label_set_text_fmt(label_time, "%02d:%02d", hour, minute);
- lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
+ // lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_CENTER, 0, 0);
}
}
+ if (displayedSecond != second) {
+ displayedSecond = second;
+ lv_label_set_text_fmt(label_time_sec, ":%02d", second);
+ }
+
if ((year != currentYear) || (month != currentMonth) || (dayOfWeek != currentDayOfWeek) || (day != currentDay)) {
if (settingsController.GetClockType() == Controllers::Settings::ClockType::H24) {
lv_label_set_text_fmt(
diff --git a/src/displayapp/screens/WatchFaceDigital.h b/src/displayapp/screens/WatchFaceDigital.h
index 770645d..560176f 100644
--- a/src/displayapp/screens/WatchFaceDigital.h
+++ b/src/displayapp/screens/WatchFaceDigital.h
@@ -39,6 +39,7 @@ namespace Pinetime {
System::SystemTask& systemTask;
uint8_t displayedHour = -1;
uint8_t displayedMinute = -1;
+ uint8_t displayedSecond = -1;
uint16_t currentYear = 1970;
Controllers::DateTime::Months currentMonth = Pinetime::Controllers::DateTime::Months::Unknown;
@@ -55,6 +56,7 @@ namespace Pinetime {
lv_obj_t* label_temp;
lv_obj_t* label_time;
+ lv_obj_t* label_time_sec;
lv_obj_t* label_time_ampm;
lv_obj_t* label_date;
lv_obj_t* backgroundLabel;