diff options
author | Bad Diode <bd@badd10de.dev> | 2023-07-15 22:16:00 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-07-15 22:16:00 +0200 |
commit | 1e666da666081bece2c244c2297d08801add3103 (patch) | |
tree | 7cf2cbe834ba0a5e39bba33f09e447d54ad70f8c /src/drawing.c | |
parent | 4c6c09b1f6debdfaea80bf5ad56dee25089ef49b (diff) | |
download | stepper-1e666da666081bece2c244c2297d08801add3103.tar.gz stepper-1e666da666081bece2c244c2297d08801add3103.zip |
Add cursors and fully functioning chain workflow
Diffstat (limited to 'src/drawing.c')
-rw-r--r-- | src/drawing.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/drawing.c b/src/drawing.c index 8cd63db..b7d5421 100644 --- a/src/drawing.c +++ b/src/drawing.c | |||
@@ -1152,6 +1152,24 @@ clear_cursors(void) { | |||
1152 | } | 1152 | } |
1153 | 1153 | ||
1154 | void | 1154 | void |
1155 | draw_pattern_chain_cursor(void) { | ||
1156 | size_t offset_x = (PAT_TRIG_H + 7) * (param_selection_loc % 8); | ||
1157 | size_t offset_y = param_selection_loc < 8 ? 0 : 0 + PAT_TRIG_OFFSET_Y; | ||
1158 | size_t x0 = PAT_TRIG_START_X + offset_x; | ||
1159 | size_t x1 = PAT_TRIG_START_X + offset_x + PAT_TRIG_W; | ||
1160 | size_t y = PAT_TRIG_START_Y + offset_y + PAT_TRIG_H + 2; | ||
1161 | switch (settings.cursor) { | ||
1162 | case CURSOR_THICK_LINE: { | ||
1163 | draw_line(x0, y, x1, y, COL_ACC_0); | ||
1164 | draw_line(x0, y + 1, x1, y + 1, COL_ACC_0); | ||
1165 | } break; | ||
1166 | default: { | ||
1167 | draw_line(x0, y, x1, y, COL_ACC_0); | ||
1168 | } break; | ||
1169 | } | ||
1170 | } | ||
1171 | |||
1172 | void | ||
1155 | draw_cursors(void) { | 1173 | draw_cursors(void) { |
1156 | clear_cursors(); | 1174 | clear_cursors(); |
1157 | draw_current_step(step_counter, COL_ACC_1); | 1175 | draw_current_step(step_counter, COL_ACC_1); |
@@ -1184,6 +1202,9 @@ draw_cursors(void) { | |||
1184 | input_handler == handle_param_selection_ch4) { | 1202 | input_handler == handle_param_selection_ch4) { |
1185 | draw_params_cursor(param_selection_loc, COL_ACC_0); | 1203 | draw_params_cursor(param_selection_loc, COL_ACC_0); |
1186 | } | 1204 | } |
1205 | if (input_handler == handle_pattern_chain) { | ||
1206 | draw_pattern_chain_cursor(); | ||
1207 | } | ||
1187 | } | 1208 | } |
1188 | 1209 | ||
1189 | TriggerNote * get_current_trig(void); | 1210 | TriggerNote * get_current_trig(void); |