mirror of
https://github.com/Next-Flip/Momentum-Firmware.git
synced 2026-05-11 06:09:08 -07:00
clock port
This commit is contained in:
@@ -48,6 +48,57 @@ static void desktop_dummy_mode_icon_draw_callback(Canvas* canvas, void* context)
|
||||
canvas_draw_icon(canvas, 0, 0, &I_GameMode_11x8);
|
||||
}
|
||||
|
||||
static void desktop_clock_draw_callback(Canvas* canvas, void* context) {
|
||||
//UNUSED(context);
|
||||
furi_assert(context);
|
||||
furi_assert(canvas);
|
||||
|
||||
Desktop* desktop = context;
|
||||
// canvas_draw_icon(canvas, 0, 0, &I_GameMode_11x8);
|
||||
|
||||
const char* s[4];
|
||||
|
||||
s[0] = "4";
|
||||
s[1] = "4";
|
||||
s[2] = "4";
|
||||
s[3] = "1";
|
||||
|
||||
canvas_set_font(canvas, FontPrimary);
|
||||
|
||||
uint8_t new_w = ((strcmp(s[0], "1") == 0) ? 3 : 5) + //c1
|
||||
((strcmp(s[1], "1") == 0) ? 3 : 5) + //c2
|
||||
((strcmp(s[2], "1") == 0) ? 3 : 5) + //c3
|
||||
((strcmp(s[3], "1") == 0) ? 3 : 5) + //c4
|
||||
2 + 4; // ":" + 4 separators
|
||||
|
||||
view_port_set_width(desktop->clock_viewport, new_w);
|
||||
uint8_t x = new_w;
|
||||
|
||||
uint8_t y = 8;
|
||||
uint8_t offset_r;
|
||||
|
||||
canvas_draw_str_aligned(canvas, x, y, AlignRight, AlignBottom, s[0]);
|
||||
offset_r = (strcmp(s[0], "1") == 0) ? 3 : 5;
|
||||
|
||||
canvas_draw_str_aligned(canvas, x -= (offset_r + 1), y, AlignRight, AlignBottom, s[1]);
|
||||
offset_r = (strcmp(s[1], "1") == 0) ? 3 : 5;
|
||||
|
||||
canvas_draw_str_aligned(canvas, x -= (offset_r + 1), y - 1, AlignRight, AlignBottom, ":");
|
||||
offset_r = 2;
|
||||
|
||||
canvas_draw_str_aligned(canvas, x -= (offset_r + 1), y, AlignRight, AlignBottom, s[2]);
|
||||
offset_r = (strcmp(s[2], "1") == 0) ? 3 : 5;
|
||||
|
||||
canvas_draw_str_aligned(canvas, x -= (offset_r + 1), y, AlignRight, AlignBottom, s[3]);
|
||||
offset_r = (strcmp(s[3], "1") == 0) ? 3 : 5;
|
||||
|
||||
x -= (offset_r + 1);
|
||||
|
||||
// canvas_set_font(canvas, FontSecondary);
|
||||
|
||||
// canvas_draw_str_aligned(canvas, 14, y - 1, AlignRight, AlignBottom, ":");
|
||||
}
|
||||
|
||||
static void desktop_stealth_mode_icon_draw_callback(Canvas* canvas, void* context) {
|
||||
UNUSED(context);
|
||||
furi_assert(canvas);
|
||||
@@ -279,6 +330,13 @@ Desktop* desktop_alloc() {
|
||||
view_port_enabled_set(desktop->dummy_mode_icon_viewport, false);
|
||||
gui_add_view_port(desktop->gui, desktop->dummy_mode_icon_viewport, GuiLayerStatusBarLeft);
|
||||
|
||||
// Clock
|
||||
desktop->clock_viewport = view_port_alloc();
|
||||
view_port_set_width(desktop->clock_viewport, 26);
|
||||
view_port_draw_callback_set(desktop->clock_viewport, desktop_clock_draw_callback, desktop);
|
||||
view_port_enabled_set(desktop->clock_viewport, true);
|
||||
gui_add_view_port(desktop->gui, desktop->clock_viewport, GuiLayerStatusBarRight);
|
||||
|
||||
// Stealth mode icon
|
||||
desktop->stealth_mode_icon_viewport = view_port_alloc();
|
||||
view_port_set_width(desktop->stealth_mode_icon_viewport, icon_get_width(&I_Muted_8x8));
|
||||
|
||||
@@ -59,6 +59,7 @@ struct Desktop {
|
||||
|
||||
ViewPort* lock_icon_viewport;
|
||||
ViewPort* dummy_mode_icon_viewport;
|
||||
ViewPort* clock_viewport;
|
||||
ViewPort* stealth_mode_icon_viewport;
|
||||
|
||||
AnimationManager* animation_manager;
|
||||
|
||||
Reference in New Issue
Block a user