aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-05-30 13:45:48 +0200
committerBad Diode <bd@badd10de.dev>2023-05-30 13:45:48 +0200
commitaf91b10094ba70651c27d279f77af13a433600f2 (patch)
treeb454437ef00819eb0bef1fe3565aa6ec0dd1e9e0
parentfcf71328ffc9452352dd74f2a241f3a3d0389daa (diff)
downloadstepper-af91b10094ba70651c27d279f77af13a433600f2.tar.gz
stepper-af91b10094ba70651c27d279f77af13a433600f2.zip
Add new start/stop buttons
-rw-r--r--src/drawing.c30
-rw-r--r--src/globals.c33
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
232draw_play() { 232draw_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
252draw_stop() { 253draw_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
259void 261void
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)