Add retained paints and shared text selection
This commit is contained in:
1 parent
25370731d0
commit
de92fccba5
60 files changed
+2848
-1297
No files matched your search
+5
-5
@@ -240,16 +240,16 @@ without a scroll-widget special case.
|
||||
The transcript registers the wheel **by hand rather than calling
|
||||
`LazySpan::scrollable()`**, and this is not an oversight. That helper also
|
||||
registers a finger drag driving the span's own `DragGesture`, and the
|
||||
transcript already has an arbiter — `Selection`, which must decide between
|
||||
transcript already has an arbiter — `SelectionController`, which must decide between
|
||||
panning and selecting text and so cannot let a second `DragGesture` see
|
||||
the same frames. `DragGesture`'s doc states the rule: one gesture, one
|
||||
arbiter, each frame delivered exactly once. The wheel handler registered
|
||||
here is identical to the helper's; only the drag differs.
|
||||
|
||||
`Selection` is given the span by `set_scroll_area` after it exists (rows
|
||||
need a `Selection`, and the span needs the rows), and hands it committed
|
||||
pans and releases through `Scrollable::scroll`/`fling`. There is no
|
||||
wrapper widget: `TranscriptScreen::list` is the layout (`extent`,
|
||||
`SelectionController` is attached directly to the span and holds its weak
|
||||
handle, then hands committed pans and releases through
|
||||
`Scrollable::scroll`/`fling`. There is no wrapper widget:
|
||||
`TranscriptScreen::list` is the layout (`extent`,
|
||||
`key_at`, `jump_to_end`) *and* the position (`amt`, `fling`,
|
||||
`is_scrolling`).
|
||||
|
||||
|
||||
Reference in new issue
Block a user