@@ -7,53 +7,34 @@ using namespace Pinetime::Applications::Screens;
7
7
8
8
Twos::Twos (Pinetime::Applications::DisplayApp* app) : Screen(app) {
9
9
10
- // create styles to apply to different valued tiles
11
- lv_style_init (&style_cell1);
12
- lv_style_init (&style_cell2);
13
- lv_style_init (&style_cell3);
14
- lv_style_init (&style_cell4);
15
- lv_style_init (&style_cell5);
10
+ struct colorPair {
11
+ lv_color_t bg;
12
+ lv_color_t fg;
13
+ };
16
14
17
- lv_style_set_border_color (&style_cell1, LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
18
- lv_style_set_border_width (&style_cell1, LV_STATE_DEFAULT, 3 );
19
- lv_style_set_bg_opa (&style_cell1, LV_STATE_DEFAULT, LV_OPA_COVER);
20
- lv_style_set_bg_color (&style_cell1, LV_STATE_DEFAULT, lv_color_hex (0xcdc0b4 ));
21
- lv_style_set_pad_top (&style_cell1, LV_STATE_DEFAULT, 29 );
22
- lv_style_set_text_color (&style_cell1, LV_STATE_DEFAULT, LV_COLOR_BLACK);
15
+ static constexpr colorPair colors[nColors] = {
16
+ {LV_COLOR_MAKE (0xcd , 0xc0 , 0xb4 ), LV_COLOR_BLACK},
17
+ {LV_COLOR_MAKE (0xef , 0xdf , 0xc6 ), LV_COLOR_BLACK},
18
+ {LV_COLOR_MAKE (0xef , 0x92 , 0x63 ), LV_COLOR_WHITE},
19
+ {LV_COLOR_MAKE (0xf7 , 0x61 , 0x42 ), LV_COLOR_WHITE},
20
+ {LV_COLOR_MAKE (0x00 , 0x7d , 0xc5 ), LV_COLOR_WHITE},
21
+ };
23
22
24
- lv_style_set_border_color (&style_cell2, LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
25
- lv_style_set_border_width (&style_cell2, LV_STATE_DEFAULT, 3 );
26
- lv_style_set_bg_opa (&style_cell2, LV_STATE_DEFAULT, LV_OPA_COVER);
27
- lv_style_set_bg_color (&style_cell2, LV_STATE_DEFAULT, lv_color_hex (0xefdfc6 ));
28
- lv_style_set_pad_top (&style_cell2, LV_STATE_DEFAULT, 29 );
29
- lv_style_set_text_color (&style_cell2, LV_STATE_DEFAULT, LV_COLOR_BLACK);
30
-
31
- lv_style_set_border_color (&style_cell3, LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
32
- lv_style_set_border_width (&style_cell3, LV_STATE_DEFAULT, 3 );
33
- lv_style_set_bg_opa (&style_cell3, LV_STATE_DEFAULT, LV_OPA_COVER);
34
- lv_style_set_bg_color (&style_cell3, LV_STATE_DEFAULT, lv_color_hex (0xef9263 ));
35
- lv_style_set_pad_top (&style_cell3, LV_STATE_DEFAULT, 29 );
23
+ gridDisplay = lv_table_create (lv_scr_act (), nullptr );
36
24
37
- lv_style_set_border_color (&style_cell4, LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
38
- lv_style_set_border_width (&style_cell4, LV_STATE_DEFAULT, 3 );
39
- lv_style_set_bg_opa (&style_cell4, LV_STATE_DEFAULT, LV_OPA_COVER);
40
- lv_style_set_bg_color (&style_cell4, LV_STATE_DEFAULT, lv_color_hex (0xf76142 ));
41
- lv_style_set_pad_top (&style_cell4, LV_STATE_DEFAULT, 29 );
25
+ for (size_t i = 0 ; i < nColors; i++) {
26
+ lv_style_init (&cellStyles[i]);
42
27
43
- lv_style_set_border_color (&style_cell5, LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
44
- lv_style_set_border_width (&style_cell5, LV_STATE_DEFAULT, 3 );
45
- lv_style_set_bg_opa (&style_cell5, LV_STATE_DEFAULT, LV_OPA_COVER);
46
- lv_style_set_bg_color (&style_cell5, LV_STATE_DEFAULT, lv_color_hex (0x007dc5 ));
47
- lv_style_set_pad_top (&style_cell5, LV_STATE_DEFAULT, 29 );
28
+ lv_style_set_border_color (&cellStyles[i], LV_STATE_DEFAULT, lv_color_hex (0xbbada0 ));
29
+ lv_style_set_border_width (&cellStyles[i], LV_STATE_DEFAULT, 3 );
30
+ lv_style_set_bg_opa (&cellStyles[i], LV_STATE_DEFAULT, LV_OPA_COVER);
31
+ lv_style_set_bg_color (&cellStyles[i], LV_STATE_DEFAULT, colors[i].bg );
32
+ lv_style_set_pad_top (&cellStyles[i], LV_STATE_DEFAULT, 29 );
33
+ lv_style_set_text_color (&cellStyles[i], LV_STATE_DEFAULT, colors[i].fg );
48
34
49
- // format grid display
35
+ lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL1 + i, &cellStyles[i]);
36
+ }
50
37
51
- gridDisplay = lv_table_create (lv_scr_act (), nullptr );
52
- lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL1, &style_cell1);
53
- lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL2, &style_cell2);
54
- lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL3, &style_cell3);
55
- lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL4, &style_cell4);
56
- lv_obj_add_style (gridDisplay, LV_TABLE_PART_CELL4 + 1 , &style_cell5);
57
38
lv_table_set_col_cnt (gridDisplay, nCols);
58
39
lv_table_set_row_cnt (gridDisplay, nRows);
59
40
for (int col = 0 ; col < nCols; col++) {
@@ -83,11 +64,9 @@ Twos::Twos(Pinetime::Applications::DisplayApp* app) : Screen(app) {
83
64
}
84
65
85
66
Twos::~Twos () {
86
- lv_style_reset (&style_cell1);
87
- lv_style_reset (&style_cell2);
88
- lv_style_reset (&style_cell3);
89
- lv_style_reset (&style_cell4);
90
- lv_style_reset (&style_cell5);
67
+ for (lv_style_t cellStyle : cellStyles) {
68
+ lv_style_reset (&cellStyle);
69
+ }
91
70
lv_obj_clean (lv_scr_act ());
92
71
}
93
72
0 commit comments