aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawing.c
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-08-22 11:30:47 +0200
committerBad Diode <bd@badd10de.dev>2023-08-22 11:30:47 +0200
commit8fc5cc7f53ea3874bae5389f489814869d2abd04 (patch)
tree9d01ef11a0618a6377d07058c2cd704562827bb7 /src/drawing.c
parentc888455af3ea5b9e8d2087a57df104c14ffac09e (diff)
downloadstepper-8fc5cc7f53ea3874bae5389f489814869d2abd04.tar.gz
stepper-8fc5cc7f53ea3874bae5389f489814869d2abd04.zip
Update right column UI and cursor management
Diffstat (limited to 'src/drawing.c')
-rw-r--r--src/drawing.c116
1 files changed, 69 insertions, 47 deletions
diff --git a/src/drawing.c b/src/drawing.c
index dd77803..d24307b 100644
--- a/src/drawing.c
+++ b/src/drawing.c
@@ -162,53 +162,75 @@ draw_trig_cursor(size_t i, u8 clr, bool dither) {
162 162
163void 163void
164draw_right_col_cursor(int i, u8 clr) { 164draw_right_col_cursor(int i, u8 clr) {
165 // TODO:... 165 size_t x0_pos[] = {
166 return; 166 // Banks.
167 size_t x0 = 0; 167 BANK_START_X - 7,
168 size_t x1 = 0; 168 BANK_START_X + 9,
169 size_t y = 0; 169 BANK_START_X - 7,
170 switch (i) { 170 BANK_START_X + 9,
171 case R_COL_BPM: { 171 BANK_START_X - 7,
172 x0 = BPM_START_X; 172 BANK_START_X + 9,
173 x1 = x0 + R_COL_W; 173
174 y = BPM_START_Y + BPM_H + 0; 174 // Scale.
175 } break; 175 BANK_START_X - 7,
176 case R_COL_STOP: { 176
177 x0 = STOP_START_X; 177 // BPM.
178 x1 = x0 + PLAY_STOP_W; 178 BANK_START_X - 7,
179 y = STOP_START_Y + PLAY_STOP_H + 2; 179
180 } break; 180 // Settings.
181 case R_COL_PLAY: { 181 BANK_START_X - 7,
182 x0 = PLAY_START_X; 182
183 x1 = x0 + PLAY_STOP_W; 183 // Play/stop.
184 y = PLAY_START_Y + PLAY_STOP_H + 2; 184 BANK_START_X - 7,
185 } break; 185 BANK_START_X + 9,
186 case R_COL_SETTINGS: { 186 };
187 x0 = SETTINGS_START_X + 2; 187 size_t x1_pos[] = {
188 x1 = x0 + R_COL_W - 4; 188 // Banks.
189 y = SETTINGS_START_Y + PLAY_STOP_H + 2; 189 BANK_START_X + 5,
190 } break; 190 BANK_START_X + 21,
191 case R_COL_BANK_A: { 191 BANK_START_X + 5,
192 x0 = BANK_START_X; 192 BANK_START_X + 21,
193 x1 = x0 + PAT_W; 193 BANK_START_X + 5,
194 y = BANK_START_Y + PAT_H + 2; 194 BANK_START_X + 21,
195 } break; 195
196 case R_COL_BANK_B: { 196 // Scale.
197 x0 = BANK_START_X; 197 BANK_START_X + 21,
198 x1 = x0 + PAT_W; 198
199 y = BANK_START_Y + PAT_H + 2 + 1 * PAT_OFFSET_Y; 199 // BPM.
200 } break; 200 BANK_START_X + 21,
201 case R_COL_BANK_C: { 201
202 x0 = BANK_START_X; 202 // Settings.
203 x1 = x0 + PAT_W; 203 BANK_START_X + 21,
204 y = BANK_START_Y + PAT_H + 2 + 2 * PAT_OFFSET_Y; 204
205 } break; 205 // Play/stop.
206 case R_COL_BANK_D: { 206 BANK_START_X + 5,
207 x0 = BANK_START_X; 207 BANK_START_X + 21,
208 x1 = x0 + PAT_W; 208 };
209 y = BANK_START_Y + PAT_H + 2 + 3 * PAT_OFFSET_Y; 209 size_t y_pos[] = {
210 } break; 210 // Banks.
211 } 211 BANK_START_Y + 12,
212 BANK_START_Y + 12,
213 BANK_START_Y + 12 + 18,
214 BANK_START_Y + 12 + 18,
215 BANK_START_Y + 12 + 18 * 2,
216 BANK_START_Y + 12 + 18 * 2,
217
218 // Scale.
219 BANK_START_Y + 78,
220
221 // BPM.
222 BANK_START_Y + 108,
223
224 // Settings.
225 BANK_START_Y + 124,
226
227 // Play/stop.
228 BANK_START_Y + 138,
229 BANK_START_Y + 138,
230 };
231 size_t x0 = x0_pos[i];
232 size_t x1 = x1_pos[i];
233 size_t y = y_pos[i];
212 draw_line(x0, y, x1, y, clr); 234 draw_line(x0, y, x1, y, clr);
213 draw_line(x0, y + 1, x1, y + 1, clr); 235 draw_line(x0, y + 1, x1, y + 1, clr);
214} 236}