diff options
author | Bad Diode <bd@badd10de.dev> | 2023-05-30 13:45:48 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-05-30 13:45:48 +0200 |
commit | af91b10094ba70651c27d279f77af13a433600f2 (patch) | |
tree | b454437ef00819eb0bef1fe3565aa6ec0dd1e9e0 | |
parent | fcf71328ffc9452352dd74f2a241f3a3d0389daa (diff) | |
download | stepper-af91b10094ba70651c27d279f77af13a433600f2.tar.gz stepper-af91b10094ba70651c27d279f77af13a433600f2.zip |
Add new start/stop buttons
-rw-r--r-- | src/drawing.c | 30 | ||||
-rw-r--r-- | src/globals.c | 33 |
2 files changed, 33 insertions, 30 deletions
diff --git a/src/drawing.c b/src/drawing.c index a867b12..1652c17 100644 --- a/src/drawing.c +++ b/src/drawing.c | |||
@@ -115,12 +115,12 @@ draw_right_col_cursor(int i, u8 clr) { | |||
115 | } break; | 115 | } break; |
116 | case R_COL_STOP: { | 116 | case R_COL_STOP: { |
117 | x0 = STOP_START_X; | 117 | x0 = STOP_START_X; |
118 | x1 = x0 + R_COL_W; | 118 | x1 = x0 + PLAY_STOP_W; |
119 | y = STOP_START_Y + PLAY_STOP_H + 2; | 119 | y = STOP_START_Y + PLAY_STOP_H + 2; |
120 | } break; | 120 | } break; |
121 | case R_COL_PLAY: { | 121 | case R_COL_PLAY: { |
122 | x0 = PLAY_START_X; | 122 | x0 = PLAY_START_X; |
123 | x1 = x0 + R_COL_W; | 123 | x1 = x0 + PLAY_STOP_W; |
124 | y = PLAY_START_Y + PLAY_STOP_H + 2; | 124 | y = PLAY_START_Y + PLAY_STOP_H + 2; |
125 | } break; | 125 | } break; |
126 | case R_COL_BANK_A: { | 126 | case R_COL_BANK_A: { |
@@ -178,7 +178,7 @@ draw_bank_buttons() { | |||
178 | } | 178 | } |
179 | draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG); | 179 | draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG); |
180 | draw_rect(x, y, x + PAT_W, y + PAT_H, color); | 180 | draw_rect(x, y, x + PAT_W, y + PAT_H, color); |
181 | txt_drawc(bank_names[i], x + 4, y + 2, color); | 181 | txt_drawc(bank_names[i], x + 4, y + 1, color); |
182 | y += PAT_OFFSET_Y; | 182 | y += PAT_OFFSET_Y; |
183 | } | 183 | } |
184 | } | 184 | } |
@@ -205,7 +205,7 @@ draw_pattern_buttons() { | |||
205 | color = COL_ACC_0; | 205 | color = COL_ACC_0; |
206 | } | 206 | } |
207 | draw_rect(x, y, x + PAT_W, y + PAT_H, color); | 207 | draw_rect(x, y, x + PAT_W, y + PAT_H, color); |
208 | txt_drawc(pat_names[i], x + 4, y + 2, color); | 208 | txt_drawc(pat_names[i], x + 4, y + 1, color); |
209 | y += PAT_OFFSET_Y; | 209 | y += PAT_OFFSET_Y; |
210 | } | 210 | } |
211 | } | 211 | } |
@@ -232,19 +232,20 @@ void | |||
232 | draw_play() { | 232 | draw_play() { |
233 | size_t x = PLAY_START_X; | 233 | size_t x = PLAY_START_X; |
234 | size_t y = PLAY_START_Y; | 234 | size_t y = PLAY_START_Y; |
235 | draw_filled_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_BG); | 235 | draw_filled_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_BG); |
236 | draw_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_ACC_2); | 236 | draw_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_ACC_2); |
237 | size_t x_btn = x + PLAY_STOP_W / 2 - 1; | ||
237 | if (play_status == 1) { | 238 | if (play_status == 1) { |
238 | // Pause button | 239 | // Pause button |
239 | draw_filled_rect(x + 10, y + 3, x + 11, y + 7, COL_ACC_2); | 240 | draw_filled_rect(x_btn - 1, y + 3, x_btn, y + 7, COL_ACC_2); |
240 | draw_filled_rect(x + 13, y + 3, x + 14, y + 7, COL_ACC_2); | 241 | draw_filled_rect(x_btn + 2, y + 3, x_btn + 3, y + 7, COL_ACC_2); |
241 | } else { | 242 | } else { |
242 | // Play button | 243 | // Play button |
243 | x += 1; | 244 | x += 1; |
244 | draw_line(x + 10, y + 2, x + 10, y + 8, COL_ACC_2); | 245 | draw_line(x_btn + 0, y + 2, x_btn + 0, y + 8, COL_ACC_2); |
245 | draw_line(x + 11, y + 3, x + 11, y + 7, COL_ACC_2); | 246 | draw_line(x_btn + 1, y + 3, x_btn + 1, y + 7, COL_ACC_2); |
246 | draw_line(x + 12, y + 4, x + 12, y + 6, COL_ACC_2); | 247 | draw_line(x_btn + 2, y + 4, x_btn + 2, y + 6, COL_ACC_2); |
247 | draw_line(x + 13, y + 5, x + 13, y + 5, COL_ACC_2); | 248 | draw_line(x_btn + 3, y + 5, x_btn + 3, y + 5, COL_ACC_2); |
248 | } | 249 | } |
249 | } | 250 | } |
250 | 251 | ||
@@ -252,8 +253,9 @@ void | |||
252 | draw_stop() { | 253 | draw_stop() { |
253 | size_t x = STOP_START_X; | 254 | size_t x = STOP_START_X; |
254 | size_t y = STOP_START_Y; | 255 | size_t y = STOP_START_Y; |
255 | draw_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_ACC_1); | 256 | size_t x_btn = x + PLAY_STOP_W / 2 - 2; |
256 | draw_filled_rect(x + 10, y + 3, x + 14, y + 7, COL_ACC_1); | 257 | draw_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_ACC_1); |
258 | draw_filled_rect(x_btn, y + 3, x_btn + 4, y + 7, COL_ACC_1); | ||
257 | } | 259 | } |
258 | 260 | ||
259 | void | 261 | void |
diff --git a/src/globals.c b/src/globals.c index 7ad5e5a..cbf0c63 100644 --- a/src/globals.c +++ b/src/globals.c | |||
@@ -32,46 +32,47 @@ bool clear_screen = true; | |||
32 | 32 | ||
33 | #define CHAN_W 19 | 33 | #define CHAN_W 19 |
34 | #define CHAN_H 8 | 34 | #define CHAN_H 8 |
35 | #define CHAN_START_X 29 | 35 | #define CHAN_START_X 30 |
36 | #define CHAN_START_Y 92 | 36 | #define CHAN_START_Y 95 |
37 | #define CHAN_OFFSET_Y 12 | 37 | #define CHAN_OFFSET_Y 15 |
38 | 38 | ||
39 | #define TRIG_W 15 | 39 | #define TRIG_W 15 |
40 | #define TRIG_H 24 | 40 | #define TRIG_H 22 |
41 | #define TRIG_START_X 58 | 41 | #define TRIG_START_X 59 |
42 | #define TRIG_START_Y 92 | 42 | #define TRIG_START_Y 95 |
43 | #define TRIG_OFFSET_X (TRIG_W + 3) | 43 | #define TRIG_OFFSET_X (TRIG_W + 3) |
44 | #define TRIG_OFFSET_Y (TRIG_H + 7) | 44 | #define TRIG_OFFSET_Y (TRIG_H + 8) |
45 | 45 | ||
46 | #define PIANO_W 170 | 46 | #define PIANO_W 170 |
47 | #define PIANO_H 20 | 47 | #define PIANO_H 20 |
48 | #define PIANO_START_X 29 | 48 | #define PIANO_START_X 30 |
49 | #define PIANO_START_Y 65 | 49 | #define PIANO_START_Y 67 |
50 | #define PIANO_NOTE_W 2 | 50 | #define PIANO_NOTE_W 2 |
51 | 51 | ||
52 | #define PARAMS_W 170 | 52 | #define PARAMS_W 170 |
53 | #define PARAMS_H 64 | 53 | #define PARAMS_H 64 |
54 | #define PARAMS_START_X 29 | 54 | #define PARAMS_START_X 30 |
55 | #define PARAMS_START_Y 1 | 55 | #define PARAMS_START_Y 1 |
56 | 56 | ||
57 | #define R_SIDEBAR_X ((TRIG_START_X) + (TRIG_OFFSET_X) * 8 + 4) | 57 | #define R_SIDEBAR_X ((TRIG_START_X) + (TRIG_OFFSET_X) * 8 + 4) |
58 | #define L_SIDEBAR_X ((CHAN_START_X) - 26) | 58 | #define L_SIDEBAR_X ((CHAN_START_X) - 26) |
59 | 59 | ||
60 | #define PAT_START_X (L_SIDEBAR_X + 5) | 60 | #define PAT_START_X (L_SIDEBAR_X + 4) |
61 | #define PAT_START_Y 18 | 61 | #define PAT_START_Y 18 |
62 | #define PAT_W 14 | 62 | #define PAT_W 14 |
63 | #define PAT_H 12 | 63 | #define PAT_H 10 |
64 | #define PAT_OFFSET_Y 17 | 64 | #define PAT_OFFSET_Y 17 |
65 | 65 | ||
66 | #define R_COL_W 24 | 66 | #define R_COL_W 24 |
67 | #define BPM_START_X (R_SIDEBAR_X) | 67 | #define BPM_START_X (R_SIDEBAR_X) |
68 | #define BPM_START_Y (TRIG_START_Y + TRIG_H + 9) | 68 | #define BPM_START_Y (TRIG_START_Y + TRIG_H + 8) |
69 | #define BPM_H 22 | 69 | #define BPM_H 22 |
70 | 70 | ||
71 | #define PLAY_START_X (R_SIDEBAR_X) | 71 | #define PLAY_START_X (R_SIDEBAR_X) |
72 | #define PLAY_START_Y (TRIG_START_Y) | 72 | #define PLAY_START_Y (TRIG_START_Y + 12) |
73 | #define STOP_START_X (R_SIDEBAR_X) | 73 | #define STOP_START_X (R_SIDEBAR_X + 14) |
74 | #define STOP_START_Y (TRIG_START_Y + 14) | 74 | #define STOP_START_Y (TRIG_START_Y + 12) |
75 | #define PLAY_STOP_W (10) | ||
75 | #define PLAY_STOP_H (10) | 76 | #define PLAY_STOP_H (10) |
76 | 77 | ||
77 | #define BANK_START_X (R_SIDEBAR_X + 5) | 78 | #define BANK_START_X (R_SIDEBAR_X + 5) |