aboutsummaryrefslogtreecommitdiffstats
path: root/src/settings.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-05-29 16:44:50 +0200
committerBad Diode <bd@badd10de.dev>2023-05-29 16:44:50 +0200
commit3b5ee67114bf789c93db23b7a3611302dce7142e (patch)
tree32b5bbd2879b5ffeecd7df6e20c836f80f555c72 /src/settings.c
parentac17920096b18caa4cadec3fea347f9fc804baea (diff)
downloadstepper-3b5ee67114bf789c93db23b7a3611302dce7142e.tar.gz
stepper-3b5ee67114bf789c93db23b7a3611302dce7142e.zip
Add initial theming support
Diffstat (limited to 'src/settings.c')
-rw-r--r--src/settings.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/settings.c b/src/settings.c
index fca5696..15d4bdf 100644
--- a/src/settings.c
+++ b/src/settings.c
@@ -8,9 +8,9 @@ void
8draw_settings_cursor(void) { 8draw_settings_cursor(void) {
9 int x = 6; 9 int x = 6;
10 int y = 17 + settings_cursor_loc * 12; 10 int y = 17 + settings_cursor_loc * 12;
11 draw_line(x + 1, y + 3, x + 1, y + 7, COL_CYAN); 11 draw_line(x + 1, y + 3, x + 1, y + 7, COL_ACC_0);
12 draw_line(x + 2, y + 4, x + 2, y + 6, COL_CYAN); 12 draw_line(x + 2, y + 4, x + 2, y + 6, COL_ACC_0);
13 draw_line(x + 3, y + 5, x + 3, y + 5, COL_CYAN); 13 draw_line(x + 3, y + 5, x + 3, y + 5, COL_ACC_0);
14} 14}
15 15
16void 16void
@@ -40,6 +40,14 @@ handle_settings_input(void) {
40 settings.sync++; 40 settings.sync++;
41 } 41 }
42 } break; 42 } break;
43 case 1: {
44 if ((settings.theme + 1) >= THEME_NUM) {
45 settings.theme = 0;
46 } else {
47 settings.theme++;
48 }
49 swap_palette(settings.theme);
50 } break;
43 } 51 }
44 save_metadata(); 52 save_metadata();
45 clear_screen = true; 53 clear_screen = true;
@@ -53,6 +61,14 @@ handle_settings_input(void) {
53 settings.sync--; 61 settings.sync--;
54 } 62 }
55 } break; 63 } break;
64 case 1: {
65 if (settings.theme == 0) {
66 settings.theme = THEME_NUM - 1;
67 } else {
68 settings.theme--;
69 }
70 swap_palette(settings.theme);
71 } break;
56 } 72 }
57 save_metadata(); 73 save_metadata();
58 clear_screen = true; 74 clear_screen = true;