summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichele Bini <michele.bini@gmail.com>2022-05-12 21:05:21 (GMT)
committerMichele Bini <michele.bini@gmail.com>2022-05-12 21:05:21 (GMT)
commit42aeea0e16d0ccb7d200999f9c1de9ed5002ded7 (patch)
tree31f6d33efccc16f1133aa50bb983b572b52c556a
parentf47d195dc7bc6fd3b4be80659ad17d869c832e80 (diff)
Compress code for WatchFaceTerminal
-rw-r--r--src/displayapp/screens/WatchFaceTerminal.cpp17
-rw-r--r--src/displayapp/screens/WatchFaceTerminal.h24
2 files changed, 21 insertions, 20 deletions
diff --git a/src/displayapp/screens/WatchFaceTerminal.cpp b/src/displayapp/screens/WatchFaceTerminal.cpp
index 3a47fc5..8569f6c 100644
--- a/src/displayapp/screens/WatchFaceTerminal.cpp
+++ b/src/displayapp/screens/WatchFaceTerminal.cpp
@@ -30,34 +30,25 @@ WatchFaceTerminal::WatchFaceTerminal(DisplayApp* app,
settingsController {settingsController},
heartRateController {heartRateController},
motionController {motionController} {
- settingsController.SetClockFace(3);
-
batteryValue = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(batteryValue, true);
- lv_obj_align(batteryValue, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, -20);
connectState = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(connectState, true);
- lv_obj_align(connectState, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, 40);
notificationIcon = lv_label_create(lv_scr_act(), nullptr);
- lv_obj_align(notificationIcon, nullptr, LV_ALIGN_IN_LEFT_MID, 0, -100);
label_date = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(label_date, true);
- lv_obj_align(label_date, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, -40);
label_prompt_1 = lv_label_create(lv_scr_act(), nullptr);
- lv_obj_align(label_prompt_1, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, -80);
lv_label_set_text_static(label_prompt_1, "user@watch:~ $ now");
label_prompt_2 = lv_label_create(lv_scr_act(), nullptr);
- lv_obj_align(label_prompt_2, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, 60);
lv_label_set_text_static(label_prompt_2, "user@watch:~ $");
label_time = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(label_time, true);
- lv_obj_align(label_time, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, -60);
backgroundLabel = lv_label_create(lv_scr_act(), nullptr);
lv_obj_set_click(backgroundLabel, true);
@@ -68,11 +59,15 @@ WatchFaceTerminal::WatchFaceTerminal(DisplayApp* app,
heartbeatValue = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(heartbeatValue, true);
- lv_obj_align(heartbeatValue, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, 20);
stepValue = lv_label_create(lv_scr_act(), nullptr);
lv_label_set_recolor(stepValue, true);
- lv_obj_align(stepValue, lv_scr_act(), LV_ALIGN_IN_LEFT_MID, 0, 0);
+
+ uint16_t y = -100;
+ for (auto line : lines) {
+ lv_obj_align(line, nullptr, LV_ALIGN_IN_LEFT_MID, 0, y);
+ y += 20;
+ }
taskRefresh = lv_task_create(RefreshTaskCallback, LV_DISP_DEF_REFR_PERIOD, LV_TASK_PRIO_MID, this);
Refresh();
diff --git a/src/displayapp/screens/WatchFaceTerminal.h b/src/displayapp/screens/WatchFaceTerminal.h
index d236da3..d01e50f 100644
--- a/src/displayapp/screens/WatchFaceTerminal.h
+++ b/src/displayapp/screens/WatchFaceTerminal.h
@@ -55,16 +55,22 @@ namespace Pinetime {
DirtyValue<bool> heartbeatRunning {};
DirtyValue<bool> notificationState {};
- lv_obj_t* label_time;
- lv_obj_t* label_date;
- lv_obj_t* label_prompt_1;
- lv_obj_t* label_prompt_2;
+ union {
+ struct {
+ // line order should be the same as in the screen, top to bottom
+ lv_obj_t* notificationIcon;
+ lv_obj_t* label_prompt_1;
+ lv_obj_t* label_time;
+ lv_obj_t* label_date;
+ lv_obj_t* batteryValue;
+ lv_obj_t* stepValue;
+ lv_obj_t* heartbeatValue;
+ lv_obj_t* connectState;
+ lv_obj_t* label_prompt_2;
+ };
+ lv_obj_t *lines[9]; // This should match exactly the number of labels in the struct above!
+ };
lv_obj_t* backgroundLabel;
- lv_obj_t* batteryValue;
- lv_obj_t* heartbeatValue;
- lv_obj_t* stepValue;
- lv_obj_t* notificationIcon;
- lv_obj_t* connectState;
Controllers::DateTime& dateTimeController;
Controllers::Battery& batteryController;