diff options
| author | Michele Bini <michele.bini@gmail.com> | 2022-03-28 02:21:19 (GMT) |
|---|---|---|
| committer | Michele Bini <michele.bini@gmail.com> | 2022-03-28 02:21:19 (GMT) |
| commit | 7898636d94b57fd6351430bdc149c19a4496dae3 (patch) | |
| tree | 9e19cfbf214f753b51f775e6e89055c3d94428af | |
| parent | b5517a61803bb3c328cf4fc87d834657be40ba07 (diff) | |
digital seconds
| -rw-r--r-- | src/displayapp/screens/WatchFaceDigital.cpp | 18 | ||||
| -rw-r--r-- | src/displayapp/screens/WatchFaceDigital.h | 2 |
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; |
