Skip to main content

ScrollWidget

Struct ScrollWidget 

Source
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

Source

pub fn offset(&self) -> f64

The current scroll offset.

Source

pub fn max_offset(&self) -> f64

The maximum scroll offset (content − viewport, never negative).

Source

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).

Source

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.

Source

pub fn tick(&mut self, dt_ms: f64) -> bool

Advance an in-flight fling by dt_ms, returning whether it is still animating. Pure and deterministic — the paint-time pump and the tests both drive it.

Trait Implementations§

Source§

impl Widget for ScrollWidget

Source§

fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size

Choose a size within 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)

Emit draw commands into 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

Handle an input event and report whether it was consumed; defaults to EventResult::Ignored. Containers forward via ChildPod::event_child.
Source§

fn semantics(&self, ctx: &mut SemanticsCtx)

Contribute accessibility node(s) after layout; defaults to none. A container forwards via ChildPod::semantics_child.
Source§

fn visit_children(&self, visitor: &mut dyn FnMut(&ChildPod))

Visit this widget’s owned ChildPods in paint order, for read-only tooling; defaults to none and must not mutate pass state.
Source§

fn type_name(&self) -> &'static str

This widget’s concrete type name, for diagnostics only (docs/LIMITATIONS.md focus-wrapper-erasure-swap-blind); override only in a transparent wrapper.
Source§

fn is_focusable(&self) -> bool

Whether keyboard traversal (Tab / Shift+Tab at the root) may stop on this widget’s pod.
Source§

fn visit_focus_children(&self, visitor: &mut dyn FnMut(&ChildPod))

Visit the children traversal may enter, in focus order; defaults to Widget::visit_children. A container showing only some children narrows it.
Source§

fn as_sliver(&mut self) -> Option<&mut (dyn SliverWidget + 'static)>

This widget as a sliver (crate::sliver), if it speaks that protocol. Defaults to None; transparent wrappers forward it.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> StorageAccess<T> for T

Source§

fn as_borrowed(&self) -> &T

Borrows the value.
Source§

fn into_taken(self) -> T

Takes the value.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.