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
impl SliverPersistentHeaderWidget
Sourcepub fn shrink_offset(&self) -> f64
pub fn shrink_offset(&self) -> f64
The shrink offset the last layout computed: how far the header has shrunk from its maximum extent.
Sourcepub fn overlaps_content(&self) -> bool
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
impl SliverWidget for SliverPersistentHeaderWidget
Source§fn layout_sliver(
&mut self,
ctx: &mut LayoutCtx<'_>,
sc: &SliverConstraints,
) -> SliverGeometry
fn layout_sliver( &mut self, ctx: &mut LayoutCtx<'_>, sc: &SliverConstraints, ) -> SliverGeometry
sc and report its geometry, which must satisfy
SliverGeometry::debug_assert_valid against sc.Source§impl Widget for SliverPersistentHeaderWidget
impl Widget for SliverPersistentHeaderWidget
Source§fn layout(&mut self, ctx: &mut LayoutCtx<'_>, bc: &BoxConstraints) -> Size
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)
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
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)
fn semantics(&self, ctx: &mut SemanticsCtx)
ChildPod::semantics_child.Source§fn as_sliver(&mut self) -> Option<&mut dyn SliverWidget>
fn as_sliver(&mut self) -> Option<&mut dyn SliverWidget>
crate::sliver), if it speaks that protocol.
Defaults to None; transparent wrappers forward it.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.