Commit 7e5b1d5
committed
Make a scrub reversible, cancellable with Escape, and keep the pill on screen
Reversibility: each scrub frame was recomposing from `values`, which now
tracks the clamped colour, so every frame fed the previous frame's
clamping back in. That ratcheted the components you weren't dragging a
little further each frame, and dragging back where you came from no
longer returned the colour you started with. Recompose from a pristine
snapshot of the session's starting values instead — the displayed
numbers still track the real colour, but they no longer feed the source.
Escape: the tracking loop only watched for mouse events, so Escape did
nothing mid-drag (the field isn't focused during a scrub, so the normal
key path never saw it). Watch for it in the loop and route a cancelled
drag to the same revert path focused editing already uses.
Pill: centring it over a field near the swatch's left edge pushed it
past that edge, where it was clipped. Anchor it leading so it grows
rightward into the gutter the row already reserves.1 parent bb6435b commit 7e5b1d5
3 files changed
Lines changed: 87 additions & 4 deletions
File tree
- PikaTests
- Pika/Views
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
111 | 111 | | |
112 | 112 | | |
113 | 113 | | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
114 | 120 | | |
115 | 121 | | |
116 | 122 | | |
| |||
311 | 317 | | |
312 | 318 | | |
313 | 319 | | |
| 320 | + | |
314 | 321 | | |
315 | 322 | | |
316 | 323 | | |
| |||
386 | 393 | | |
387 | 394 | | |
388 | 395 | | |
389 | | - | |
390 | | - | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
391 | 400 | | |
392 | 401 | | |
393 | 402 | | |
| |||
591 | 600 | | |
592 | 601 | | |
593 | 602 | | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
594 | 607 | | |
595 | 608 | | |
596 | 609 | | |
| |||
610 | 623 | | |
611 | 624 | | |
612 | 625 | | |
613 | | - | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
614 | 630 | | |
615 | 631 | | |
616 | 632 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
| 112 | + | |
| 113 | + | |
112 | 114 | | |
113 | 115 | | |
114 | 116 | | |
| |||
159 | 161 | | |
160 | 162 | | |
161 | 163 | | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
162 | 168 | | |
163 | 169 | | |
164 | 170 | | |
| |||
279 | 285 | | |
280 | 286 | | |
281 | 287 | | |
| 288 | + | |
| 289 | + | |
282 | 290 | | |
283 | 291 | | |
284 | 292 | | |
| |||
394 | 402 | | |
395 | 403 | | |
396 | 404 | | |
397 | | - | |
| 405 | + | |
398 | 406 | | |
399 | 407 | | |
400 | 408 | | |
| |||
404 | 412 | | |
405 | 413 | | |
406 | 414 | | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
407 | 421 | | |
408 | 422 | | |
409 | 423 | | |
| |||
509 | 523 | | |
510 | 524 | | |
511 | 525 | | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
512 | 533 | | |
513 | 534 | | |
514 | 535 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
50 | 96 | | |
0 commit comments