aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawing.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-07-12 16:02:28 +0200
committerBad Diode <bd@badd10de.dev>2023-07-12 16:02:28 +0200
commitd2be261b88753c3e0fdeb7588057aa3f1648ead5 (patch)
tree3463064f6101c76432a30788eeff25e03e73b2a6 /src/drawing.c
parent8d04ec381b8e28fe9d84ddf2e9f295723a95c407 (diff)
downloadstepper-d2be261b88753c3e0fdeb7588057aa3f1648ead5.tar.gz
stepper-d2be261b88753c3e0fdeb7588057aa3f1648ead5.zip
Add notification bar and mockup of pattern chaining
Diffstat (limited to 'src/drawing.c')
-rw-r--r--src/drawing.c37
1 files changed, 24 insertions, 13 deletions
diff --git a/src/drawing.c b/src/drawing.c
index 4481374..3e00e17 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -342,7 +342,7 @@ draw_note(u8 note, u8 clr) {
342 x0 = PIANO_START_X + 2 + octave * 28 + 4; 342 x0 = PIANO_START_X + 2 + octave * 28 + 4;
343 x1 = x0 + 2; 343 x1 = x0 + 2;
344 y0 = PIANO_START_Y - 2 + 13; 344 y0 = PIANO_START_Y - 2 + 13;
345 y1 = y0 + 7; 345 y1 = y0 + 2;
346 draw_filled_rect(x0, y0, x1, y1, clr); 346 draw_filled_rect(x0, y0, x1, y1, clr);
347 } break; 347 } break;
348 case 4:{ 348 case 4:{
@@ -354,7 +354,7 @@ draw_note(u8 note, u8 clr) {
354 x0 = PIANO_START_X + 2 + octave * 28 + 8; 354 x0 = PIANO_START_X + 2 + octave * 28 + 8;
355 x1 = x0 + 2; 355 x1 = x0 + 2;
356 y0 = PIANO_START_Y - 2 + 13; 356 y0 = PIANO_START_Y - 2 + 13;
357 y1 = y0 + 7; 357 y1 = y0 + 2;
358 draw_filled_rect(x0, y0, x1, y1, clr); 358 draw_filled_rect(x0, y0, x1, y1, clr);
359 } break; 359 } break;
360 case 5:{ 360 case 5:{
@@ -377,7 +377,7 @@ draw_note(u8 note, u8 clr) {
377 x0 = PIANO_START_X + 2 + octave * 28 + 16; 377 x0 = PIANO_START_X + 2 + octave * 28 + 16;
378 x1 = x0 + 2; 378 x1 = x0 + 2;
379 y0 = PIANO_START_Y - 2 + 13; 379 y0 = PIANO_START_Y - 2 + 13;
380 y1 = y0 + 7; 380 y1 = y0 + 2;
381 draw_filled_rect(x0, y0, x1, y1, clr); 381 draw_filled_rect(x0, y0, x1, y1, clr);
382 } break; 382 } break;
383 case 9:{ 383 case 9:{
@@ -389,7 +389,7 @@ draw_note(u8 note, u8 clr) {
389 x0 = PIANO_START_X + 2 + octave * 28 + 20; 389 x0 = PIANO_START_X + 2 + octave * 28 + 20;
390 x1 = x0 + 2; 390 x1 = x0 + 2;
391 y0 = PIANO_START_Y - 2 + 13; 391 y0 = PIANO_START_Y - 2 + 13;
392 y1 = y0 + 7; 392 y1 = y0 + 2;
393 draw_filled_rect(x0, y0, x1, y1, clr); 393 draw_filled_rect(x0, y0, x1, y1, clr);
394 } break; 394 } break;
395 case 11: { 395 case 11: {
@@ -401,7 +401,7 @@ draw_note(u8 note, u8 clr) {
401 x0 = PIANO_START_X + 2 + octave * 28 + 24; 401 x0 = PIANO_START_X + 2 + octave * 28 + 24;
402 x1 = x0 + 2; 402 x1 = x0 + 2;
403 y0 = PIANO_START_Y - 2 + 13; 403 y0 = PIANO_START_Y - 2 + 13;
404 y1 = y0 + 7; 404 y1 = y0 + 2;
405 draw_filled_rect(x0, y0, x1, y1, clr); 405 draw_filled_rect(x0, y0, x1, y1, clr);
406 } break; 406 } break;
407 default: { 407 default: {
@@ -611,7 +611,7 @@ draw_parameters_wave(ChannelWaveParams *params, bool global) {
611 u8 *wave_b = params->wave_b; 611 u8 *wave_b = params->wave_b;
612 612
613 size_t x = PARAMS_START_X; 613 size_t x = PARAMS_START_X;
614 size_t y = PARAMS_START_Y + 12; 614 size_t y = PARAMS_START_Y + 8;
615 615
616 // Wave Patterns. 616 // Wave Patterns.
617 draw_wave_pattern(wave_a, x, y + 1, COL_ACC_1); 617 draw_wave_pattern(wave_a, x, y + 1, COL_ACC_1);
@@ -706,7 +706,7 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep, bool global) {
706 // Shape drawing. 706 // Shape drawing.
707 { 707 {
708 size_t x = PARAMS_START_X + x_offset; 708 size_t x = PARAMS_START_X + x_offset;
709 size_t y = PARAMS_START_Y + PARAMS_H - 47; 709 size_t y = PARAMS_START_Y + PARAMS_H - 43;
710 710
711 size_t x0 = x + 2; 711 size_t x0 = x + 2;
712 size_t x1 = x0; 712 size_t x1 = x0;
@@ -788,14 +788,14 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep, bool global) {
788 // Bounding box. 788 // Bounding box.
789 { 789 {
790 size_t x0 = PARAMS_START_X + 31 + x_offset; 790 size_t x0 = PARAMS_START_X + 31 + x_offset;
791 size_t y0 = PARAMS_START_Y + PARAMS_H - 50; 791 size_t y0 = PARAMS_START_Y + PARAMS_H - 46;
792 size_t x1 = x0 + 79; 792 size_t x1 = x0 + 79;
793 size_t y1 = y0 + 21; 793 size_t y1 = y0 + 21;
794 draw_rect(x0, y0, x1, y1, COL_ACC_2); 794 draw_rect(x0, y0, x1, y1, COL_ACC_2);
795 } 795 }
796 796
797 size_t x = PARAMS_START_X + 42 + x_offset; 797 size_t x = PARAMS_START_X + 42 + x_offset;
798 size_t y = PARAMS_START_Y + PARAMS_H - 47; 798 size_t y = PARAMS_START_Y + PARAMS_H - 43;
799 size_t x0 = x; 799 size_t x0 = x;
800 size_t y0 = y + 15 - params->env_volume; 800 size_t y0 = y + 15 - params->env_volume;
801 size_t x1 = x + 8 * params->env_time; 801 size_t x1 = x + 8 * params->env_time;
@@ -954,7 +954,7 @@ draw_parameters_square(ChannelSquareParams *params, bool sweep, bool global) {
954 // Labels. 954 // Labels.
955 { 955 {
956 size_t x = PARAMS_START_X + x_offset; 956 size_t x = PARAMS_START_X + x_offset;
957 size_t y = PARAMS_START_Y + PARAMS_H - 48; 957 size_t y = PARAMS_START_Y + PARAMS_H - 43;
958 txt_drawf_small("shape", x + 1, y - 12, col_fg); 958 txt_drawf_small("shape", x + 1, y - 12, col_fg);
959 txt_drawf_small("envelope", x + 54, y - 12, col_fg); 959 txt_drawf_small("envelope", x + 54, y - 12, col_fg);
960 if (sweep) { 960 if (sweep) {
@@ -998,14 +998,14 @@ draw_parameters_noise(ChannelNoiseParams* params, bool global) {
998 // Bounding box. 998 // Bounding box.
999 { 999 {
1000 size_t x0 = PARAMS_START_X + 31 + x_offset; 1000 size_t x0 = PARAMS_START_X + 31 + x_offset;
1001 size_t y0 = PARAMS_START_Y + PARAMS_H - 50; 1001 size_t y0 = PARAMS_START_Y + PARAMS_H - 46;
1002 size_t x1 = x0 + 79; 1002 size_t x1 = x0 + 79;
1003 size_t y1 = y0 + 21; 1003 size_t y1 = y0 + 21;
1004 draw_rect(x0, y0, x1, y1, COL_ACC_2); 1004 draw_rect(x0, y0, x1, y1, COL_ACC_2);
1005 } 1005 }
1006 1006
1007 size_t x = PARAMS_START_X + 42 + x_offset; 1007 size_t x = PARAMS_START_X + 42 + x_offset;
1008 size_t y = PARAMS_START_Y + PARAMS_H - 47; 1008 size_t y = PARAMS_START_Y + PARAMS_H - 43;
1009 size_t x0 = x; 1009 size_t x0 = x;
1010 size_t y0 = y + 15 - params->env_volume; 1010 size_t y0 = y + 15 - params->env_volume;
1011 size_t x1 = x + 8 * params->env_time; 1011 size_t x1 = x + 8 * params->env_time;
@@ -1103,7 +1103,7 @@ draw_parameters_noise(ChannelNoiseParams* params, bool global) {
1103 // Labels. 1103 // Labels.
1104 { 1104 {
1105 size_t x = PARAMS_START_X + x_offset; 1105 size_t x = PARAMS_START_X + x_offset;
1106 size_t y = PARAMS_START_Y + PARAMS_H - 48; 1106 size_t y = PARAMS_START_Y + PARAMS_H - 43;
1107 txt_drawf_small("envelope", x + 54, y - 12, col_fg); 1107 txt_drawf_small("envelope", x + 54, y - 12, col_fg);
1108 } 1108 }
1109} 1109}
@@ -1238,3 +1238,14 @@ draw_piano_notes(void) {
1238 } 1238 }
1239 } 1239 }
1240} 1240}
1241
1242void
1243draw_notif_bar() {
1244 u8 x0 = PARAMS_START_X;
1245 u8 y0 = PARAMS_START_Y - 7;
1246 u8 x1 = PARAMS_START_X + PARAMS_W;
1247 u8 y1 = y0 + 10;
1248 u8 color = COL_FG;
1249 draw_rect(x0, y0, x1, y1, color);
1250 txt_drawf_small("HELLO WORLD!", x0 + 2, y0 + 1, color);
1251}