pub struct ScrollWidget { /* private fields */ }Expand description
The retained widget for a ScrollView: a thin owner of the viewport
geometry (its own size, the child’s measured content, the child origin)
around the crate’s shared scroll surface core, which runs the drag, fling,
overscroll, nested-claim and controller machinery (the module docs’
Shared core).
Implementations§
Source§impl ScrollWidget
impl ScrollWidget
Sourcepub fn max_offset(&self) -> f64
pub fn max_offset(&self) -> f64
The maximum scroll offset (content − viewport, never negative).
Sourcepub fn is_flinging(&self) -> bool
pub fn is_flinging(&self) -> bool
Whether post-release motion is in flight — the legacy fling, or a
physics-supplied Simulation the generic
driver is running (never
both, and never either one under RubberBand’s
legacy-only path).
Sourcepub fn settle_tick(&mut self, dt_ms: f64) -> bool
pub fn settle_tick(&mut self, dt_ms: f64) -> bool
Advance a release-settle by dt_ms, easing the effective offset back to
its clamped edge and returning whether it is still animating. Pure and
deterministic (mirrors ScrollWidget::tick); the paint pump and the
tests both drive it.
Trait Implementations§
Source§impl Widget for ScrollWidget
impl Widget for ScrollWidget
Source§fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
bc and return it. Under a render root the call
may be skipped (see ChildPod::layout_child), so the result must
depend only on bc, the context’s globals and state changed through a
pod-dirtying channel: a LAYOUT rebuild, request_layout, an unpaced
frame request, or a handled / redraw-requesting event.Source§fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)
scene. Paint may advance animation state; it
must then call PaintCtx::request_frame until the animation rests.Source§fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult
EventResult::Ignored. Containers forward via ChildPod::event_child.Source§fn semantics(&self, ctx: &mut SemanticsCtx)
fn semantics(&self, ctx: &mut SemanticsCtx)
ChildPod::semantics_child.Source§fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))
fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))
ChildPods in paint order, for read-only
tooling; defaults to none and must not mutate pass state.Source§fn type_name(&self) -> &'static str
fn type_name(&self) -> &'static str
docs/LIMITATIONS.md
focus-wrapper-erasure-swap-blind); override only in a transparent wrapper.Source§fn is_focusable(&self) -> bool
fn is_focusable(&self) -> bool
Source§fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))
fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))
Widget::visit_children. A container showing only some children narrows it.Source§fn as_sliver(&mut self) -> Option<&mut (dyn SliverWidget + 'static)>
fn as_sliver(&mut self) -> Option<&mut (dyn SliverWidget + 'static)>
crate::sliver), if it speaks that protocol.
Defaults to None; transparent wrappers forward it.