From 24785160836a68ee360a61c0fabf1b7d042ffc98 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Thu, 13 Jul 2023 12:25:30 +0200 Subject: Improve chain notif bar drawing --- src/drawing.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'src/drawing.c') diff --git a/src/drawing.c b/src/drawing.c index 4e793ea..0872733 100644 --- a/src/drawing.c +++ b/src/drawing.c @@ -1296,28 +1296,25 @@ draw_notif_bar() { } if (chain.len != 0) { - char msg[64] = {0}; - char *ptr = msg; - *ptr++ = 'c'; - *ptr++ = 'h'; - *ptr++ = 'a'; - *ptr++ = 'i'; - *ptr++ = 'n'; - *ptr++ = ':'; - *ptr++ = ' '; + u8 x = x0 + 2; + u8 y = y0 + 1; + txt_drawf_small("CHAIN: ", x, y, color); + x += 4 * 7; bool first = true; - for (size_t i = 0; i < MAX_CHAIN; i++) { + for (size_t i = 0, k = 0; i < MAX_CHAIN; i++) { if (chain.active[i] != 1) { continue; } if (!first) { - *ptr++ = '-'; + txt_drawc_small('-', x + 4 * k++, y, COL_FG); } - *ptr++ = 'A' + chain.chain[i]; + u8 color = COL_FG; + if (i == chain.current) { + color = COL_OFF; + } + txt_drawc_small('A' + chain.chain[i], x + 4 * k++, y, color); first = false; } - *ptr++ = '\0'; - txt_drawf_small(msg, x0 + 2, y0 + 1, color); } else { if (play_status == 0) { txt_drawf_small("STOPPED", x0 + 2, y0 + 1, color); @@ -1343,8 +1340,10 @@ draw_pattern_chain() { if (chain.active[i]) { txt_drawc('A' + chain.chain[i], x0 + 4, y0 + 3, color); } + color = COL_OFF; if (chain.current == i && chain.len != 0) { - draw_line(x0 + 5, y1 - 2, x1 - 5, y1 - 2, COL_ACC_0); + color = COL_ACC_2; } + draw_line(x0 + 5, y1 - 2, x1 - 5, y1 - 2, color); } } -- cgit v1.2.1