pub struct ClipBox<T, W> { /* private fields */ }
Expand description
A widget exposing a rectangular view into its child, which can be used as a building block for widgets that scroll their child.
Implementations§
source§impl<T, W> ClipBox<T, W>
impl<T, W> ClipBox<T, W>
sourcepub fn constrain_vertical(self, constrain: bool) -> Self
pub fn constrain_vertical(self, constrain: bool) -> Self
Builder-style method for deciding whether to constrain the child vertically.
The default is false
.
This setting affects how a ClipBox
lays out its child.
- When it is
false
(the default), the child does not receive any upper bound on its height: the idea is that the child can be as tall as it wants, and the viewport will somehow get moved around to see all of it. - When it is
true
, the viewport’s maximum height will be passed down as an upper bound on the height of the child, and the viewport will set its own height to be the same as its child’s height.
sourcepub fn constrain_horizontal(self, constrain: bool) -> Self
pub fn constrain_horizontal(self, constrain: bool) -> Self
Builder-style method for deciding whether to constrain the child horizontally.
The default is false
. See constrain_vertical
for more details.
sourcepub fn content_must_fill(self, must_fill: bool) -> Self
pub fn content_must_fill(self, must_fill: bool) -> Self
Builder-style method to set whether the child must fill the view.
If false
(the default) there is no minimum constraint on the child’s
size. If true
, the child is passed the same minimum constraints as
the ClipBox
.
sourcepub fn viewport_origin(&self) -> Point
pub fn viewport_origin(&self) -> Point
Returns the origin of the viewport rectangle.
sourcepub fn viewport_size(&self) -> Size
pub fn viewport_size(&self) -> Size
Returns the size of the rectangular viewport into the child widget.
To get the position of the viewport, see viewport_origin
.
sourcepub fn content_size(&self) -> Size
pub fn content_size(&self) -> Size
Returns the size of the child widget.
sourcepub fn set_constrain_horizontal(&mut self, constrain: bool)
pub fn set_constrain_horizontal(&mut self, constrain: bool)
Set whether to constrain the child horizontally.
See constrain_vertical
for more details.
sourcepub fn set_constrain_vertical(&mut self, constrain: bool)
pub fn set_constrain_vertical(&mut self, constrain: bool)
Set whether to constrain the child vertically.
See constrain_vertical
for more details.
sourcepub fn set_content_must_fill(&mut self, must_fill: bool)
pub fn set_content_must_fill(&mut self, must_fill: bool)
Set whether the child’s size must be greater than or equal the size of
the ClipBox
.
See content_must_fill
for more details.
source§impl<T, W: Widget<T>> ClipBox<T, W>
impl<T, W: Widget<T>> ClipBox<T, W>
sourcepub fn managed(child: W) -> Self
pub fn managed(child: W) -> Self
Creates a new ClipBox
wrapping child
.
This method should only be used when creating your own widget, which uses ClipBox
internally.
ClipBox
will forward SCROLL_TO_VIEW
notifications to its parent unchanged.
In this case the parent has to handle said notification itself. By default the ClipBox
will filter out SCROLL_TO_VIEW
notifications which refer to areas not visible.
sourcepub fn unmanaged(child: W) -> Self
pub fn unmanaged(child: W) -> Self
Creates a new unmanaged ClipBox
wrapping child
.
This method should be used when you are using ClipBox
in the widget tree directly.
sourcepub fn pan_by<C: ChangeCtx>(&mut self, ctx: &mut C, delta: Vec2) -> bool
pub fn pan_by<C: ChangeCtx>(&mut self, ctx: &mut C, delta: Vec2) -> bool
Pans by delta
units.
Returns true
if the scroll offset has changed.
sourcepub fn pan_to_visible<C: ChangeCtx>(&mut self, ctx: &mut C, region: Rect) -> bool
pub fn pan_to_visible<C: ChangeCtx>(&mut self, ctx: &mut C, region: Rect) -> bool
Pans the minimal distance to show the region
.
If the target region is larger than the viewport, we will display the portion that fits, prioritizing the portion closest to the origin.
sourcepub fn pan_to_on_axis<C: ChangeCtx>(
&mut self,
ctx: &mut C,
axis: Axis,
position: f64
) -> bool
pub fn pan_to_on_axis<C: ChangeCtx>( &mut self, ctx: &mut C, axis: Axis, position: f64 ) -> bool
Pan to this position on a particular axis.
Returns true
if the scroll offset has changed.
sourcepub fn with_port<C: ChangeCtx, F: FnOnce(&mut C, &mut Viewport)>(
&mut self,
ctx: &mut C,
f: F
) -> bool
pub fn with_port<C: ChangeCtx, F: FnOnce(&mut C, &mut Viewport)>( &mut self, ctx: &mut C, f: F ) -> bool
Modify the ClipBox
’s viewport rectangle with a closure.
The provided callback function can modify its argument, and when it is
done then this ClipBox
will be modified to have the new viewport rectangle.