pub struct RenderViewport { /* private fields */ }Expand description
A render object that is bigger on the inside.
RenderViewport is the visual workhorse of the scrolling machinery. It displays a subset of
its children according to its own dimensions and the given
offset. As the offset varies, different children are visible
through the viewport.
RenderViewport hosts a bidirectional list of slivers in a single shared Axis, anchored
on a center sliver, which is placed at the zero scroll offset. The center
widget is displayed in the viewport according to the anchor property.
Slivers that are earlier in the child list than center are displayed in
reverse order in the reverse RenderViewportBase::axis_direction starting from the center.
RenderViewport cannot contain RenderBox children directly. Instead, use a
crate::RenderSliverList, crate::RenderSliverFixedExtentList, or a
crate::RenderSliverToBoxAdapter, for example.
Implementations§
Source§impl RenderViewport
impl RenderViewport
Sourcepub fn new(
app: &mut App,
cross_axis_direction: AxisDirection,
offset: AnyViewportOffset,
children: Option<Vec<AnyRenderSliver>>,
center: Option<AnyRenderSliver>,
) -> RenderHandle<RenderViewport>
pub fn new( app: &mut App, cross_axis_direction: AxisDirection, offset: AnyViewportOffset, children: Option<Vec<AnyRenderSliver>>, center: Option<AnyRenderSliver>, ) -> RenderHandle<RenderViewport>
Creates a viewport for AnyRenderSliver objects.
If the center is not specified, then the first child in the children list, if any, is
used.
For testing purposes, consider passing a crate::FixedViewportOffset as the offset.
Sourcepub fn anchor(self: RenderHandle<Self>, app: &App) -> f64
pub fn anchor(self: RenderHandle<Self>, app: &App) -> f64
The relative position of the zero scroll offset.
For example, if the RenderViewportBase::axis_direction is AxisDirection::Down or
AxisDirection::Up and the anchor is 0.5, then the zero scroll offset is vertically
centered within the viewport. If the anchor is 1.0, and the axis direction is
AxisDirection::Right, then the zero scroll offset is on the left edge of the viewport.
Sourcepub fn set_anchor(self: RenderHandle<Self>, app: &mut App, value: f64)
pub fn set_anchor(self: RenderHandle<Self>, app: &mut App, value: f64)
Sets anchor.
Sourcepub fn center(self: RenderHandle<Self>, app: &App) -> Option<AnyRenderSliver>
pub fn center(self: RenderHandle<Self>, app: &App) -> Option<AnyRenderSliver>
The first child in the GrowthDirection::Forward growth direction.
This child will be at the position defined by anchor when the
crate::ViewportOffset::pixels of RenderViewportBase::offset is 0.
Children after the center will be placed in the RenderViewportBase::axis_direction
relative to the center. Children before it will be placed in the opposite direction, and
will have a growth direction of GrowthDirection::Reverse.
The center must be a direct child of the viewport.
Sourcepub fn set_center(
self: RenderHandle<Self>,
app: &mut App,
value: Option<AnyRenderSliver>,
)
pub fn set_center( self: RenderHandle<Self>, app: &mut App, value: Option<AnyRenderSliver>, )
Sets center.
Trait Implementations§
Source§impl ContainerRenderObjectMixin for RenderViewport
impl ContainerRenderObjectMixin for RenderViewport
Source§type ChildType = AnyRenderSliver
type ChildType = AnyRenderSliver
ChildType: the protocol of this render object’s children.Source§type ParentDataType = SliverPhysicalContainerParentData
type ParentDataType = SliverPhysicalContainerParentData
ParentDataType: the parent data this render object installs on its children.Source§fn container_data(
self: RenderHandle<Self>,
app: &App,
) -> &ContainerRenderObjectData<AnyRenderSliver>
fn container_data( self: RenderHandle<Self>, app: &App, ) -> &ContainerRenderObjectData<AnyRenderSliver>
Source§fn container_data_mut(
self: RenderHandle<Self>,
app: &mut App,
) -> &mut ContainerRenderObjectData<AnyRenderSliver>
fn container_data_mut( self: RenderHandle<Self>, app: &mut App, ) -> &mut ContainerRenderObjectData<AnyRenderSliver>
container_data.Source§fn child_count(self: RenderHandle<Self>, app: &App) -> usize
fn child_count(self: RenderHandle<Self>, app: &App) -> usize
Source§fn insert(
self: RenderHandle<Self>,
app: &mut App,
child: Self::ChildType,
after: Option<Self::ChildType>,
)
fn insert( self: RenderHandle<Self>, app: &mut App, child: Self::ChildType, after: Option<Self::ChildType>, )
Source§fn add(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
fn add(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
Source§fn add_all(
self: RenderHandle<Self>,
app: &mut App,
children: Option<Vec<Self::ChildType>>,
)
fn add_all( self: RenderHandle<Self>, app: &mut App, children: Option<Vec<Self::ChildType>>, )
Source§fn remove(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
fn remove(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
Source§fn remove_all(self: RenderHandle<Self>, app: &mut App)
fn remove_all(self: RenderHandle<Self>, app: &mut App)
Source§fn move_child(
self: RenderHandle<Self>,
app: &mut App,
child: Self::ChildType,
after: Option<Self::ChildType>,
)
fn move_child( self: RenderHandle<Self>, app: &mut App, child: Self::ChildType, after: Option<Self::ChildType>, )
child in the child list to be after another child. Read moreSource§fn did_attach(
self: RenderHandle<Self>,
app: &mut App,
owner: Handle<PipelineOwner>,
)
fn did_attach( self: RenderHandle<Self>, app: &mut App, owner: Handle<PipelineOwner>, )
attach override: attaches every child in the list.Source§fn did_detach(self: RenderHandle<Self>, app: &mut App)
fn did_detach(self: RenderHandle<Self>, app: &mut App)
detach override: detaches every child in the list.Source§fn redepth_children(self: RenderHandle<Self>, app: &mut App)
fn redepth_children(self: RenderHandle<Self>, app: &mut App)
redepthChildren: walks the child list.Source§fn visit_children(
self: RenderHandle<Self>,
app: &App,
visitor: &mut dyn FnMut(AnyRenderObject),
)
fn visit_children( self: RenderHandle<Self>, app: &App, visitor: &mut dyn FnMut(AnyRenderObject), )
visitChildren: walks the child list.Source§fn first_child(self: RenderHandle<Self>, app: &App) -> Option<Self::ChildType>
fn first_child(self: RenderHandle<Self>, app: &App) -> Option<Self::ChildType>
Source§fn last_child(self: RenderHandle<Self>, app: &App) -> Option<Self::ChildType>
fn last_child(self: RenderHandle<Self>, app: &App) -> Option<Self::ChildType>
Source§fn child_before(
self: RenderHandle<Self>,
app: &App,
child: Self::ChildType,
) -> Option<Self::ChildType>
fn child_before( self: RenderHandle<Self>, app: &App, child: Self::ChildType, ) -> Option<Self::ChildType>
Source§fn child_after(
self: RenderHandle<Self>,
app: &App,
child: Self::ChildType,
) -> Option<Self::ChildType>
fn child_after( self: RenderHandle<Self>, app: &App, child: Self::ChildType, ) -> Option<Self::ChildType>
Source§fn children_as_list(self: RenderHandle<Self>, app: &App) -> Vec<Self::ChildType>
fn children_as_list(self: RenderHandle<Self>, app: &App) -> Vec<Self::ChildType>
Source§impl RenderAbstractViewport for RenderViewport
impl RenderAbstractViewport for RenderViewport
Source§fn get_offset_to_reveal(
self: RenderHandle<Self>,
app: &App,
target: AnyRenderObject,
alignment: f64,
rect: Option<Rect>,
axis: Option<Axis>,
) -> RevealedOffset
fn get_offset_to_reveal( self: RenderHandle<Self>, app: &App, target: AnyRenderObject, alignment: f64, rect: Option<Rect>, axis: Option<Axis>, ) -> RevealedOffset
target render object. Read moreSource§fn as_abstract_viewport(self: RenderHandle<Self>) -> AnyRenderAbstractViewport
fn as_abstract_viewport(self: RenderHandle<Self>) -> AnyRenderAbstractViewport
RenderAbstractViewport handle. Free: the vtable is a const, and the
id is copied.Source§impl RenderBox for RenderViewport
impl RenderBox for RenderViewport
Source§fn render_box_data(self: RenderHandle<Self>, app: &App) -> &RenderBoxData
fn render_box_data(self: RenderHandle<Self>, app: &App) -> &RenderBoxData
Source§fn render_box_data_mut(
self: RenderHandle<Self>,
app: &mut App,
) -> &mut RenderBoxData
fn render_box_data_mut( self: RenderHandle<Self>, app: &mut App, ) -> &mut RenderBoxData
render_box_data.Source§fn setup_parent_data(
self: RenderHandle<Self>,
app: &mut App,
child: AnyRenderObject,
)
fn setup_parent_data( self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject, )
BoxParentData unless the child already has it. Read moreSource§fn apply_paint_transform(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderObject,
transform: &mut Matrix4,
)
fn apply_paint_transform( self: RenderHandle<Self>, app: &App, child: AnyRenderObject, transform: &mut Matrix4, )
Source§fn hit_test_children(
self: RenderHandle<Self>,
app: &mut App,
result: &mut BoxHitTestResult<'_>,
position: Offset,
) -> bool
fn hit_test_children( self: RenderHandle<Self>, app: &mut App, result: &mut BoxHitTestResult<'_>, position: Offset, ) -> bool
Source§fn compute_min_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn compute_min_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
get_min_intrinsic_width.
Do not call this function directly, instead, call
get_min_intrinsic_width. Read moreSource§fn compute_max_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn compute_max_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
get_max_intrinsic_width.
Do not call this function directly, instead, call
get_max_intrinsic_width. Read moreSource§fn compute_min_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn compute_min_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
get_min_intrinsic_height. Do not call this function
directly, instead, call get_min_intrinsic_height. Read moreSource§fn compute_max_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn compute_max_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
get_max_intrinsic_height. Do not call this function
directly, instead, call get_max_intrinsic_height. Read moreSource§fn compute_dry_layout(
self: RenderHandle<Self>,
app: &mut App,
constraints: BoxConstraints,
) -> Size
fn compute_dry_layout( self: RenderHandle<Self>, app: &mut App, constraints: BoxConstraints, ) -> Size
get_dry_layout. Do not call this
function directly, instead, call get_dry_layout. Read moreSource§fn constraints(self: RenderHandle<Self>, app: &App) -> BoxConstraints
fn constraints(self: RenderHandle<Self>, app: &App) -> BoxConstraints
Source§fn get_min_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn get_min_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
Source§fn get_max_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn get_max_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
Source§fn get_min_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn get_min_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
Source§fn get_max_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn get_max_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
Source§fn get_dry_layout(
self: RenderHandle<Self>,
app: &mut App,
constraints: BoxConstraints,
) -> Size
fn get_dry_layout( self: RenderHandle<Self>, app: &mut App, constraints: BoxConstraints, ) -> Size
Source§fn get_dry_baseline(
self: RenderHandle<Self>,
app: &mut App,
constraints: BoxConstraints,
baseline: TextBaseline,
) -> Option<f64>
fn get_dry_baseline( self: RenderHandle<Self>, app: &mut App, constraints: BoxConstraints, baseline: TextBaseline, ) -> Option<f64>
Source§fn compute_dry_baseline(
self: RenderHandle<Self>,
app: &mut App,
constraints: BoxConstraints,
baseline: TextBaseline,
) -> Option<f64>
fn compute_dry_baseline( self: RenderHandle<Self>, app: &mut App, constraints: BoxConstraints, baseline: TextBaseline, ) -> Option<f64>
get_dry_baseline. Read moreSource§fn debug_cannot_compute_dry_layout(
self: RenderHandle<Self>,
failure: DryLayoutFailure<'_>,
)
fn debug_cannot_compute_dry_layout( self: RenderHandle<Self>, failure: DryLayoutFailure<'_>, )
compute_dry_layout or
compute_dry_baseline if this box does not support
calculating a dry layout. Read moreSource§fn get_distance_to_baseline(
self: RenderHandle<Self>,
app: &mut App,
baseline: TextBaseline,
only_real: bool,
) -> Option<f64>
fn get_distance_to_baseline( self: RenderHandle<Self>, app: &mut App, baseline: TextBaseline, only_real: bool, ) -> Option<f64>
Source§fn get_distance_to_actual_baseline(
self: RenderHandle<Self>,
app: &mut App,
baseline: TextBaseline,
) -> Option<f64>
fn get_distance_to_actual_baseline( self: RenderHandle<Self>, app: &mut App, baseline: TextBaseline, ) -> Option<f64>
Source§fn compute_distance_to_actual_baseline(
self: RenderHandle<Self>,
app: &mut App,
baseline: TextBaseline,
) -> Option<f64>
fn compute_distance_to_actual_baseline( self: RenderHandle<Self>, app: &mut App, baseline: TextBaseline, ) -> Option<f64>
None otherwise. Read moreSource§fn mark_needs_layout(self: RenderHandle<Self>, app: &mut App)
fn mark_needs_layout(self: RenderHandle<Self>, app: &mut App)
Source§fn perform_resize(self: RenderHandle<Self>, app: &mut App)
fn perform_resize(self: RenderHandle<Self>, app: &mut App)
Source§fn paint_bounds(self: RenderHandle<Self>, app: &App) -> Rect
fn paint_bounds(self: RenderHandle<Self>, app: &App) -> Rect
Source§fn has_size(self: RenderHandle<Self>, app: &App) -> bool
fn has_size(self: RenderHandle<Self>, app: &App) -> bool
size.Source§fn handle_event(
self: RenderHandle<Self>,
app: &mut App,
event: &PointerEvent,
entry: &BoxHitTestEntry,
)
fn handle_event( self: RenderHandle<Self>, app: &mut App, event: &PointerEvent, entry: &BoxHitTestEntry, )
Source§fn hit_test(
self: RenderHandle<Self>,
app: &mut App,
result: &mut BoxHitTestResult<'_>,
position: Offset,
) -> bool
fn hit_test( self: RenderHandle<Self>, app: &mut App, result: &mut BoxHitTestResult<'_>, position: Offset, ) -> bool
Source§fn hit_test_self(
self: RenderHandle<Self>,
_app: &App,
_position: Offset,
) -> bool
fn hit_test_self( self: RenderHandle<Self>, _app: &App, _position: Offset, ) -> bool
Source§fn set_size(self: RenderHandle<Self>, app: &mut App, size: Size)
fn set_size(self: RenderHandle<Self>, app: &mut App, size: Size)
RenderObject::perform_layout or
RenderObject::perform_resize.Source§fn layout(
self: RenderHandle<Self>,
app: &mut App,
constraints: BoxConstraints,
parent_uses_size: bool,
)
fn layout( self: RenderHandle<Self>, app: &mut App, constraints: BoxConstraints, parent_uses_size: bool, )
AnyRenderBox::layout.Source§fn as_box(self: RenderHandle<Self>) -> AnyRenderBox
fn as_box(self: RenderHandle<Self>) -> AnyRenderBox
RenderBox handle. Free: the vtable is a const, and the id is copied.Source§fn as_object(self: RenderHandle<Self>) -> AnyRenderObject
fn as_object(self: RenderHandle<Self>) -> AnyRenderObject
RenderObject handle, through as_box.Source§fn adopt_child(self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject)
fn adopt_child(self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject)
Source§fn drop_child(self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject)
fn drop_child(self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject)
Source§fn mark_needs_paint(self: RenderHandle<Self>, app: &mut App)
fn mark_needs_paint(self: RenderHandle<Self>, app: &mut App)
Source§fn mark_needs_composited_layer_update(self: RenderHandle<Self>, app: &mut App)
fn mark_needs_composited_layer_update(self: RenderHandle<Self>, app: &mut App)
Source§fn mark_needs_compositing_bits_update(self: RenderHandle<Self>, app: &mut App)
fn mark_needs_compositing_bits_update(self: RenderHandle<Self>, app: &mut App)
Source§fn schedule_initial_layout(self: RenderHandle<Self>, app: &mut App)
fn schedule_initial_layout(self: RenderHandle<Self>, app: &mut App)
Source§fn parent(self: RenderHandle<Self>, app: &App) -> Option<AnyRenderObject>
fn parent(self: RenderHandle<Self>, app: &App) -> Option<AnyRenderObject>
Source§fn owner(self: RenderHandle<Self>, app: &App) -> Option<Handle<PipelineOwner>>
fn owner(self: RenderHandle<Self>, app: &App) -> Option<Handle<PipelineOwner>>
Source§fn debug_needs_layout(self: RenderHandle<Self>, app: &App) -> bool
fn debug_needs_layout(self: RenderHandle<Self>, app: &App) -> bool
Source§impl RenderObject for RenderViewport
impl RenderObject for RenderViewport
Source§fn render_object_data(self: RenderHandle<Self>, app: &App) -> &RenderObjectData
fn render_object_data(self: RenderHandle<Self>, app: &App) -> &RenderObjectData
Source§fn render_object_data_mut(
self: RenderHandle<Self>,
app: &mut App,
) -> &mut RenderObjectData
fn render_object_data_mut( self: RenderHandle<Self>, app: &mut App, ) -> &mut RenderObjectData
render_object_data.Source§fn visit_children(
self: RenderHandle<Self>,
app: &App,
visitor: &mut dyn FnMut(AnyRenderObject),
)
fn visit_children( self: RenderHandle<Self>, app: &App, visitor: &mut dyn FnMut(AnyRenderObject), )
visitor for each immediate child.Source§fn did_attach(
self: RenderHandle<Self>,
app: &mut App,
owner: Handle<PipelineOwner>,
)
fn did_attach( self: RenderHandle<Self>, app: &mut App, owner: Handle<PipelineOwner>, )
attach override after super.attach(owner); the base body has
already run. The default attaches the children reported by
visit_children.Source§fn did_detach(self: RenderHandle<Self>, app: &mut App)
fn did_detach(self: RenderHandle<Self>, app: &mut App)
detach override after super.detach(). The default detaches
the children reported by visit_children.Source§fn redepth_children(self: RenderHandle<Self>, app: &mut App)
fn redepth_children(self: RenderHandle<Self>, app: &mut App)
visit_children.Source§fn is_repaint_boundary(self: RenderHandle<Self>, _app: &App) -> bool
fn is_repaint_boundary(self: RenderHandle<Self>, _app: &App) -> bool
Source§fn interface(self: RenderHandle<Self>, id: TypeId) -> Option<Box<dyn Any>>
fn interface(self: RenderHandle<Self>, id: TypeId) -> Option<Box<dyn Any>>
object is RenderAbstractViewport for any interface: the erased handle of the
interface id names, if this type implements it. Read moreSource§fn sized_by_parent(self: RenderHandle<Self>, _app: &App) -> bool
fn sized_by_parent(self: RenderHandle<Self>, _app: &App) -> bool
Source§fn perform_layout(self: RenderHandle<Self>, app: &mut App)
fn perform_layout(self: RenderHandle<Self>, app: &mut App)
Source§fn paint(
self: RenderHandle<Self>,
app: &mut App,
context: &mut PaintingContext,
offset: Offset,
)
fn paint( self: RenderHandle<Self>, app: &mut App, context: &mut PaintingContext, offset: Offset, )
Source§fn dispose(self: RenderHandle<Self>, app: &mut App)
fn dispose(self: RenderHandle<Self>, app: &mut App)
Source§fn show_on_screen(
self: RenderHandle<Self>,
app: &mut App,
descendant: Option<AnyRenderObject>,
rect: Option<Rect>,
duration: Duration,
curve: Rc<dyn Curve>,
)
fn show_on_screen( self: RenderHandle<Self>, app: &mut App, descendant: Option<AnyRenderObject>, rect: Option<Rect>, duration: Duration, curve: Rc<dyn Curve>, )
RenderObject visible on screen. Read moreSource§fn as_render_object(self: RenderHandle<Self>, app: &App) -> AnyRenderObject
fn as_render_object(self: RenderHandle<Self>, app: &App) -> AnyRenderObject
RenderObject: this object’s
type-erased handle, through the vtable the protocol recorded when it created it.Source§fn perform_resize(self: RenderHandle<Self>, _app: &mut App)
fn perform_resize(self: RenderHandle<Self>, _app: &mut App)
Source§fn setup_parent_data(
self: RenderHandle<Self>,
app: &mut App,
child: AnyRenderObject,
)
fn setup_parent_data( self: RenderHandle<Self>, app: &mut App, child: AnyRenderObject, )
child if it has none. Read moreSource§fn apply_paint_transform(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderObject,
transform: &mut Matrix4,
)
fn apply_paint_transform( self: RenderHandle<Self>, app: &App, child: AnyRenderObject, transform: &mut Matrix4, )
Source§fn always_needs_compositing(self: RenderHandle<Self>, _app: &App) -> bool
fn always_needs_compositing(self: RenderHandle<Self>, _app: &App) -> bool
Source§fn mouse_tracker_annotation(
self: RenderHandle<Self>,
_app: &App,
) -> Option<MouseTrackerAnnotation>
fn mouse_tracker_annotation( self: RenderHandle<Self>, _app: &App, ) -> Option<MouseTrackerAnnotation>
this is MouseTrackerAnnotation: the annotation this render object implements,
read live each time the mouse tracker consults it. None for a render object that is
not an annotation, which is the default.Source§fn update_composited_layer(
self: RenderHandle<Self>,
app: &mut App,
old_layer: Option<AnyOffsetLayer>,
) -> AnyOffsetLayer
fn update_composited_layer( self: RenderHandle<Self>, app: &mut App, old_layer: Option<AnyOffsetLayer>, ) -> AnyOffsetLayer
Source§impl RenderViewportBase for RenderViewport
impl RenderViewportBase for RenderViewport
Source§fn viewport_data(self: RenderHandle<Self>, app: &App) -> &RenderViewportBaseData
fn viewport_data(self: RenderHandle<Self>, app: &App) -> &RenderViewportBaseData
Source§fn viewport_data_mut(
self: RenderHandle<Self>,
app: &mut App,
) -> &mut RenderViewportBaseData
fn viewport_data_mut( self: RenderHandle<Self>, app: &mut App, ) -> &mut RenderViewportBaseData
viewport_data.Source§fn has_visual_overflow(self: RenderHandle<Self>, app: &App) -> bool
fn has_visual_overflow(self: RenderHandle<Self>, app: &App) -> bool
Source§fn update_out_of_band_data(
self: RenderHandle<Self>,
app: &mut App,
growth_direction: GrowthDirection,
child_layout_geometry: SliverGeometry,
)
fn update_out_of_band_data( self: RenderHandle<Self>, app: &mut App, growth_direction: GrowthDirection, child_layout_geometry: SliverGeometry, )
layout_child_sequence for each child. Read moreSource§fn update_child_layout_offset(
self: RenderHandle<Self>,
app: &mut App,
child: AnyRenderSliver,
layout_offset: f64,
growth_direction: GrowthDirection,
)
fn update_child_layout_offset( self: RenderHandle<Self>, app: &mut App, child: AnyRenderSliver, layout_offset: f64, growth_direction: GrowthDirection, )
layout_child_sequence to store the layout
offset for the given child. Read moreSource§fn paint_offset_of(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderSliver,
) -> Offset
fn paint_offset_of( self: RenderHandle<Self>, app: &App, child: AnyRenderSliver, ) -> Offset
child should be painted. Read moreSource§fn scroll_offset_of(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderSliver,
scroll_offset_within_child: f64,
) -> f64
fn scroll_offset_of( self: RenderHandle<Self>, app: &App, child: AnyRenderSliver, scroll_offset_within_child: f64, ) -> f64
scroll_offset_within_child
within the given child. Read moreSource§fn max_scroll_obstruction_extent_before(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderSliver,
) -> f64
fn max_scroll_obstruction_extent_before( self: RenderHandle<Self>, app: &App, child: AnyRenderSliver, ) -> f64
child. Read moreSource§fn compute_child_main_axis_position(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderSliver,
parent_main_axis_position: f64,
) -> f64
fn compute_child_main_axis_position( self: RenderHandle<Self>, app: &App, child: AnyRenderSliver, parent_main_axis_position: f64, ) -> f64
parent_main_axis_position into the child’s coordinate system. Read moreSource§fn index_of_first_child(self: RenderHandle<Self>, app: &App) -> i32
fn index_of_first_child(self: RenderHandle<Self>, app: &App) -> i32
Source§fn label_for_child(self: RenderHandle<Self>, index: i32) -> String
fn label_for_child(self: RenderHandle<Self>, index: i32) -> String
Source§fn axis_direction(self: RenderHandle<Self>, app: &App) -> AxisDirection
fn axis_direction(self: RenderHandle<Self>, app: &App) -> AxisDirection
SliverConstraints::scroll_offset increases. Read moreSource§fn set_axis_direction(
self: RenderHandle<Self>,
app: &mut App,
value: AxisDirection,
)
fn set_axis_direction( self: RenderHandle<Self>, app: &mut App, value: AxisDirection, )
axis_direction.Source§fn cross_axis_direction(self: RenderHandle<Self>, app: &App) -> AxisDirection
fn cross_axis_direction(self: RenderHandle<Self>, app: &App) -> AxisDirection
Source§fn set_cross_axis_direction(
self: RenderHandle<Self>,
app: &mut App,
value: AxisDirection,
)
fn set_cross_axis_direction( self: RenderHandle<Self>, app: &mut App, value: AxisDirection, )
cross_axis_direction.Source§fn axis(self: RenderHandle<Self>, app: &App) -> Axis
fn axis(self: RenderHandle<Self>, app: &App) -> Axis
Source§fn offset(self: RenderHandle<Self>, app: &App) -> AnyViewportOffset
fn offset(self: RenderHandle<Self>, app: &App) -> AnyViewportOffset
Source§fn set_offset(self: RenderHandle<Self>, app: &mut App, value: AnyViewportOffset)
fn set_offset(self: RenderHandle<Self>, app: &mut App, value: AnyViewportOffset)
offset.Source§fn mark_needs_layout_listener(self: RenderHandle<Self>) -> Listener
fn mark_needs_layout_listener(self: RenderHandle<Self>) -> Listener
_offset.addListener(markNeedsLayout) tear-off.Source§fn scroll_cache_extent(self: RenderHandle<Self>, app: &App) -> ScrollCacheExtent
fn scroll_cache_extent(self: RenderHandle<Self>, app: &App) -> ScrollCacheExtent
Source§fn set_scroll_cache_extent(
self: RenderHandle<Self>,
app: &mut App,
value: Option<ScrollCacheExtent>,
)
fn set_scroll_cache_extent( self: RenderHandle<Self>, app: &mut App, value: Option<ScrollCacheExtent>, )
scroll_cache_extent. Read moreSource§fn cache_extent(self: RenderHandle<Self>, app: &App) -> f64
fn cache_extent(self: RenderHandle<Self>, app: &App) -> f64
Use scroll_cache_extent instead.
scroll_cache_extent instead.Source§fn set_cache_extent(self: RenderHandle<Self>, app: &mut App, value: Option<f64>)
fn set_cache_extent(self: RenderHandle<Self>, app: &mut App, value: Option<f64>)
Use set_scroll_cache_extent instead.
set_scroll_cache_extent instead. Read moreSource§fn cache_extent_style(self: RenderHandle<Self>, app: &App) -> CacheExtentStyle
fn cache_extent_style(self: RenderHandle<Self>, app: &App) -> CacheExtentStyle
Use scroll_cache_extent instead.
scroll_cache_extent instead.Source§fn set_cache_extent_style(
self: RenderHandle<Self>,
app: &mut App,
value: CacheExtentStyle,
)
fn set_cache_extent_style( self: RenderHandle<Self>, app: &mut App, value: CacheExtentStyle, )
Use set_scroll_cache_extent instead.
set_scroll_cache_extent instead.Source§fn paint_order(self: RenderHandle<Self>, app: &App) -> SliverPaintOrder
fn paint_order(self: RenderHandle<Self>, app: &App) -> SliverPaintOrder
Source§fn set_paint_order(
self: RenderHandle<Self>,
app: &mut App,
value: SliverPaintOrder,
)
fn set_paint_order( self: RenderHandle<Self>, app: &mut App, value: SliverPaintOrder, )
paint_order.Source§fn clip_behavior(self: RenderHandle<Self>, app: &App) -> Clip
fn clip_behavior(self: RenderHandle<Self>, app: &App) -> Clip
Source§fn set_clip_behavior(self: RenderHandle<Self>, app: &mut App, value: Clip)
fn set_clip_behavior(self: RenderHandle<Self>, app: &mut App, value: Clip)
clip_behavior.Source§fn did_attach(
self: RenderHandle<Self>,
app: &mut App,
owner: Handle<PipelineOwner>,
)
fn did_attach( self: RenderHandle<Self>, app: &mut App, owner: Handle<PipelineOwner>, )
attach override: listens to the offset.Source§fn did_detach(self: RenderHandle<Self>, app: &mut App)
fn did_detach(self: RenderHandle<Self>, app: &mut App)
detach override: stops listening to the offset.Source§fn debug_throw_if_not_checking_intrinsics(self: RenderHandle<Self>) -> bool
fn debug_throw_if_not_checking_intrinsics(self: RenderHandle<Self>) -> bool
debug_checking_intrinsics mode. Read moreSource§fn compute_min_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn compute_min_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
Source§fn compute_max_intrinsic_width(
self: RenderHandle<Self>,
app: &mut App,
height: f64,
) -> f64
fn compute_max_intrinsic_width( self: RenderHandle<Self>, app: &mut App, height: f64, ) -> f64
Source§fn compute_min_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn compute_min_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
Source§fn compute_max_intrinsic_height(
self: RenderHandle<Self>,
app: &mut App,
width: f64,
) -> f64
fn compute_max_intrinsic_height( self: RenderHandle<Self>, app: &mut App, width: f64, ) -> f64
Source§fn layout_child_sequence(
self: RenderHandle<Self>,
app: &mut App,
child: Option<AnyRenderSliver>,
scroll_offset: f64,
overlap: f64,
layout_offset: f64,
remaining_paint_extent: f64,
main_axis_extent: f64,
cross_axis_extent: f64,
growth_direction: GrowthDirection,
advance: &SliverAdvance<Self>,
remaining_cache_extent: f64,
cache_origin: f64,
) -> f64
fn layout_child_sequence( self: RenderHandle<Self>, app: &mut App, child: Option<AnyRenderSliver>, scroll_offset: f64, overlap: f64, layout_offset: f64, remaining_paint_extent: f64, main_axis_extent: f64, cross_axis_extent: f64, growth_direction: GrowthDirection, advance: &SliverAdvance<Self>, remaining_cache_extent: f64, cache_origin: f64, ) -> f64
Source§fn paint(
self: RenderHandle<Self>,
app: &mut App,
context: &mut PaintingContext,
offset: Offset,
)
fn paint( self: RenderHandle<Self>, app: &mut App, context: &mut PaintingContext, offset: Offset, )
paint override.Source§fn dispose(self: RenderHandle<Self>, app: &mut App)
fn dispose(self: RenderHandle<Self>, app: &mut App)
dispose: drop the clip layer handle, then super.dispose().Source§fn paint_contents(
self: RenderHandle<Self>,
app: &mut App,
context: &mut PaintingContext,
offset: Offset,
)
fn paint_contents( self: RenderHandle<Self>, app: &mut App, context: &mut PaintingContext, offset: Offset, )
_paintContents.Source§fn hit_test_children(
self: RenderHandle<Self>,
app: &mut App,
result: &mut BoxHitTestResult<'_>,
position: Offset,
) -> bool
fn hit_test_children( self: RenderHandle<Self>, app: &mut App, result: &mut BoxHitTestResult<'_>, position: Offset, ) -> bool
hitTestChildren override.Source§fn get_offset_to_reveal(
self: RenderHandle<Self>,
app: &App,
target: AnyRenderObject,
alignment: f64,
rect: Option<Rect>,
_axis: Option<Axis>,
) -> RevealedOffset
fn get_offset_to_reveal( self: RenderHandle<Self>, app: &App, target: AnyRenderObject, alignment: f64, rect: Option<Rect>, _axis: Option<Axis>, ) -> RevealedOffset
getOffsetToReveal override.Source§fn compute_absolute_paint_offset(
self: RenderHandle<Self>,
app: &App,
child: AnyRenderSliver,
layout_offset: f64,
growth_direction: GrowthDirection,
) -> Offset
fn compute_absolute_paint_offset( self: RenderHandle<Self>, app: &App, child: AnyRenderSliver, layout_offset: f64, growth_direction: GrowthDirection, ) -> Offset
child should be painted. Read moreSource§fn children_in_paint_order(
self: RenderHandle<Self>,
app: &App,
) -> Vec<AnyRenderSliver>
fn children_in_paint_order( self: RenderHandle<Self>, app: &App, ) -> Vec<AnyRenderSliver>
Source§fn children_in_hit_test_order(
self: RenderHandle<Self>,
app: &App,
) -> Vec<AnyRenderSliver>
fn children_in_hit_test_order( self: RenderHandle<Self>, app: &App, ) -> Vec<AnyRenderSliver>
Source§fn children_last_to_first(
self: RenderHandle<Self>,
app: &App,
) -> Vec<AnyRenderSliver>
fn children_last_to_first( self: RenderHandle<Self>, app: &App, ) -> Vec<AnyRenderSliver>
_childrenLastToFirst.Source§fn show_on_screen(
self: RenderHandle<Self>,
app: &mut App,
descendant: Option<AnyRenderObject>,
rect: Option<Rect>,
duration: Duration,
curve: Rc<dyn Curve>,
)
fn show_on_screen( self: RenderHandle<Self>, app: &mut App, descendant: Option<AnyRenderObject>, rect: Option<Rect>, duration: Duration, curve: Rc<dyn Curve>, )
showOnScreen override.Auto Trait Implementations§
impl !RefUnwindSafe for RenderViewport
impl !Send for RenderViewport
impl !Sync for RenderViewport
impl !UnwindSafe for RenderViewport
impl Freeze for RenderViewport
impl Unpin for RenderViewport
impl UnsafeUnpin for RenderViewport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> ContainerRenderObjectBase for Twhere
T: ContainerRenderObjectMixin,
impl<T> ContainerRenderObjectBase for Twhere
T: ContainerRenderObjectMixin,
Source§fn insert(
self: RenderHandle<Self>,
app: &mut App,
child: Self::ChildType,
after: Option<Self::ChildType>,
)
fn insert( self: RenderHandle<Self>, app: &mut App, child: Self::ChildType, after: Option<Self::ChildType>, )
ContainerRenderObjectMixin.insert.Source§fn remove(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
fn remove(self: RenderHandle<Self>, app: &mut App, child: Self::ChildType)
ContainerRenderObjectMixin.remove.Source§fn remove_all(self: RenderHandle<Self>, app: &mut App)
fn remove_all(self: RenderHandle<Self>, app: &mut App)
ContainerRenderObjectMixin.removeAll.Source§fn move_child(
self: RenderHandle<Self>,
app: &mut App,
child: Self::ChildType,
after: Option<Self::ChildType>,
)
fn move_child( self: RenderHandle<Self>, app: &mut App, child: Self::ChildType, after: Option<Self::ChildType>, )
ContainerRenderObjectMixin.move.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> RenderObjectBase for Twhere
T: RenderObject,
impl<T> RenderObjectBase for Twhere
T: RenderObject,
Source§fn dispose(self: RenderHandle<Self>, app: &mut App)
fn dispose(self: RenderHandle<Self>, app: &mut App)
RenderObject.dispose body: releases the layer handle. An override calls it
last, where Dart writes super.dispose().Source§fn mark_needs_layout(self: RenderHandle<Self>, app: &mut App)
fn mark_needs_layout(self: RenderHandle<Self>, app: &mut App)
RenderObject.markNeedsLayout body; an override calls it where Dart writes
super.markNeedsLayout().Source§fn show_on_screen(
self: RenderHandle<Self>,
app: &mut App,
descendant: Option<AnyRenderObject>,
rect: Option<Rect>,
duration: Duration,
curve: Rc<dyn Curve>,
)
fn show_on_screen( self: RenderHandle<Self>, app: &mut App, descendant: Option<AnyRenderObject>, rect: Option<Rect>, duration: Duration, curve: Rc<dyn Curve>, )
RenderObject.showOnScreen.