From af91b10094ba70651c27d279f77af13a433600f2 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Tue, 30 May 2023 13:45:48 +0200 Subject: Add new start/stop buttons --- src/drawing.c | 30 ++++++++++++++++-------------- 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) { } break; case R_COL_STOP: { x0 = STOP_START_X; - x1 = x0 + R_COL_W; + x1 = x0 + PLAY_STOP_W; y = STOP_START_Y + PLAY_STOP_H + 2; } break; case R_COL_PLAY: { x0 = PLAY_START_X; - x1 = x0 + R_COL_W; + x1 = x0 + PLAY_STOP_W; y = PLAY_START_Y + PLAY_STOP_H + 2; } break; case R_COL_BANK_A: { @@ -178,7 +178,7 @@ draw_bank_buttons() { } draw_filled_rect(x, y, x + PAT_W, y + PAT_H, COL_BG); draw_rect(x, y, x + PAT_W, y + PAT_H, color); - txt_drawc(bank_names[i], x + 4, y + 2, color); + txt_drawc(bank_names[i], x + 4, y + 1, color); y += PAT_OFFSET_Y; } } @@ -205,7 +205,7 @@ draw_pattern_buttons() { color = COL_ACC_0; } draw_rect(x, y, x + PAT_W, y + PAT_H, color); - txt_drawc(pat_names[i], x + 4, y + 2, color); + txt_drawc(pat_names[i], x + 4, y + 1, color); y += PAT_OFFSET_Y; } } @@ -232,19 +232,20 @@ void draw_play() { size_t x = PLAY_START_X; size_t y = PLAY_START_Y; - draw_filled_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_BG); - draw_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_ACC_2); + draw_filled_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_BG); + draw_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_ACC_2); + size_t x_btn = x + PLAY_STOP_W / 2 - 1; if (play_status == 1) { // Pause button - draw_filled_rect(x + 10, y + 3, x + 11, y + 7, COL_ACC_2); - draw_filled_rect(x + 13, y + 3, x + 14, y + 7, COL_ACC_2); + draw_filled_rect(x_btn - 1, y + 3, x_btn, y + 7, COL_ACC_2); + draw_filled_rect(x_btn + 2, y + 3, x_btn + 3, y + 7, COL_ACC_2); } else { // Play button x += 1; - draw_line(x + 10, y + 2, x + 10, y + 8, COL_ACC_2); - draw_line(x + 11, y + 3, x + 11, y + 7, COL_ACC_2); - draw_line(x + 12, y + 4, x + 12, y + 6, COL_ACC_2); - draw_line(x + 13, y + 5, x + 13, y + 5, COL_ACC_2); + draw_line(x_btn + 0, y + 2, x_btn + 0, y + 8, COL_ACC_2); + draw_line(x_btn + 1, y + 3, x_btn + 1, y + 7, COL_ACC_2); + draw_line(x_btn + 2, y + 4, x_btn + 2, y + 6, COL_ACC_2); + draw_line(x_btn + 3, y + 5, x_btn + 3, y + 5, COL_ACC_2); } } @@ -252,8 +253,9 @@ void draw_stop() { size_t x = STOP_START_X; size_t y = STOP_START_Y; - draw_rect(x, y, x + R_COL_W, y + PLAY_STOP_H, COL_ACC_1); - draw_filled_rect(x + 10, y + 3, x + 14, y + 7, COL_ACC_1); + size_t x_btn = x + PLAY_STOP_W / 2 - 2; + draw_rect(x, y, x + PLAY_STOP_W, y + PLAY_STOP_H, COL_ACC_1); + draw_filled_rect(x_btn, y + 3, x_btn + 4, y + 7, COL_ACC_1); } 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; #define CHAN_W 19 #define CHAN_H 8 -#define CHAN_START_X 29 -#define CHAN_START_Y 92 -#define CHAN_OFFSET_Y 12 +#define CHAN_START_X 30 +#define CHAN_START_Y 95 +#define CHAN_OFFSET_Y 15 #define TRIG_W 15 -#define TRIG_H 24 -#define TRIG_START_X 58 -#define TRIG_START_Y 92 +#define TRIG_H 22 +#define TRIG_START_X 59 +#define TRIG_START_Y 95 #define TRIG_OFFSET_X (TRIG_W + 3) -#define TRIG_OFFSET_Y (TRIG_H + 7) +#define TRIG_OFFSET_Y (TRIG_H + 8) #define PIANO_W 170 #define PIANO_H 20 -#define PIANO_START_X 29 -#define PIANO_START_Y 65 +#define PIANO_START_X 30 +#define PIANO_START_Y 67 #define PIANO_NOTE_W 2 #define PARAMS_W 170 #define PARAMS_H 64 -#define PARAMS_START_X 29 +#define PARAMS_START_X 30 #define PARAMS_START_Y 1 #define R_SIDEBAR_X ((TRIG_START_X) + (TRIG_OFFSET_X) * 8 + 4) #define L_SIDEBAR_X ((CHAN_START_X) - 26) -#define PAT_START_X (L_SIDEBAR_X + 5) +#define PAT_START_X (L_SIDEBAR_X + 4) #define PAT_START_Y 18 #define PAT_W 14 -#define PAT_H 12 +#define PAT_H 10 #define PAT_OFFSET_Y 17 #define R_COL_W 24 #define BPM_START_X (R_SIDEBAR_X) -#define BPM_START_Y (TRIG_START_Y + TRIG_H + 9) +#define BPM_START_Y (TRIG_START_Y + TRIG_H + 8) #define BPM_H 22 #define PLAY_START_X (R_SIDEBAR_X) -#define PLAY_START_Y (TRIG_START_Y) -#define STOP_START_X (R_SIDEBAR_X) -#define STOP_START_Y (TRIG_START_Y + 14) +#define PLAY_START_Y (TRIG_START_Y + 12) +#define STOP_START_X (R_SIDEBAR_X + 14) +#define STOP_START_Y (TRIG_START_Y + 12) +#define PLAY_STOP_W (10) #define PLAY_STOP_H (10) #define BANK_START_X (R_SIDEBAR_X + 5) -- cgit v1.2.1