Skip to main content

SliverPersistentHeaderWidget

Struct SliverPersistentHeaderWidget 

Source
pub struct SliverPersistentHeaderWidget { /* private fields */ }
Expand description

The retained widget for a SliverPersistentHeaderView: the content’s pod, the build inputs it holds and the ones the last layout asked for, and a floating header’s effective scroll offset.

Implementations§

Source§

impl SliverPersistentHeaderWidget

Source

pub fn shrink_offset(&self) -> f64

The shrink offset the last layout computed: how far the header has shrunk from its maximum extent.

Source

pub fn overlaps_content(&self) -> bool

Whether the last layout found content scrolling under the header — the overlaps_content the delegate’s build receives.

Trait Implementations§

Source§

impl SliverWidget for SliverPersistentHeaderWidget

Source§

fn layout_sliver( &mut self, ctx: &mut LayoutCtx<'_>, sc: &SliverConstraints, ) -> SliverGeometry

Lay the sliver out under sc and report its geometry, which must satisfy SliverGeometry::debug_assert_valid against sc.
Source§

impl Widget for SliverPersistentHeaderWidget

Source§

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

Outside a viewport the header is unscrolled: the child is laid out at max_extent along the axis of the last sliver layout (vertical before one), clamped into bc, and at bc’s largest finite cross extent.

Source§

fn paint(&mut self, ctx: &mut PaintCtx<'_>, scene: &mut dyn PaintScene)

Paints the child, and requests the frame whose rebuild brings the content up to the shrink offset this frame’s layout computed.

Source§

fn event(&mut self, ctx: &mut EventCtx<'_>, event: &InputEvent) -> EventResult

The viewport delivers a positional event only inside the header’s hit-test extent (or to a captured child), so the ordinary single-child routing applies.

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 as_sliver(&mut self) -> Option<&mut dyn SliverWidget>

This widget as a sliver (crate::sliver), if it speaks that protocol. Defaults to None; transparent wrappers forward it.
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.

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.