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 this widget’s accessibility node(s) into ctx. Read more
Source§

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

This widget as a sliver, if it speaks the sliver protocol — the opt-in seam a scrolling viewport lays its children out through (see crate::sliver and ChildPod::layout_sliver_child). Read more
Source§

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

Visit this widget’s owned ChildPods, in declaration (paint) order — the read-only seam that makes the retained hierarchy enumerable. Read more
Source§

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

This widget’s concrete type name, for read-only tooling. Read more

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.