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§
§impl<T, W> ClipBox<T, W>
impl<T, W> ClipBox<T, W>
pub fn constrain_vertical(self, constrain: bool) -> ClipBox<T, W>
pub fn constrain_vertical(self, constrain: bool) -> ClipBox<T, W>
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.
pub fn constrain_horizontal(self, constrain: bool) -> ClipBox<T, W>
pub fn constrain_horizontal(self, constrain: bool) -> ClipBox<T, W>
Builder-style method for deciding whether to constrain the child horizontally.
The default is false
. See constrain_vertical
for more details.
pub fn content_must_fill(self, must_fill: bool) -> ClipBox<T, W>
pub fn content_must_fill(self, must_fill: bool) -> ClipBox<T, W>
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
.
pub fn viewport_origin(&self) -> Point
pub fn viewport_origin(&self) -> Point
Returns the origin of the viewport rectangle.
pub 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
.
pub fn content_size(&self) -> Size
pub fn content_size(&self) -> Size
Returns the size of the child widget.
pub 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.
pub 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.
pub 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.
§impl<T, W> ClipBox<T, W>where
W: Widget<T>,
impl<T, W> ClipBox<T, W>where W: Widget<T>,
pub fn managed(child: W) -> ClipBox<T, W>
pub fn managed(child: W) -> ClipBox<T, W>
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.
pub fn unmanaged(child: W) -> ClipBox<T, W>
pub fn unmanaged(child: W) -> ClipBox<T, W>
Creates a new unmanaged ClipBox
wrapping child
.
This method should be used when you are using ClipBox
in the widget tree directly.
pub fn pan_by<C>(&mut self, ctx: &mut C, delta: Vec2) -> boolwhere
C: ChangeCtx,
pub fn pan_by<C>(&mut self, ctx: &mut C, delta: Vec2) -> boolwhere C: ChangeCtx,
Pans by delta
units.
Returns true
if the scroll offset has changed.
pub fn pan_to_visible<C>(&mut self, ctx: &mut C, region: Rect) -> boolwhere
C: ChangeCtx,
pub fn pan_to_visible<C>(&mut self, ctx: &mut C, region: Rect) -> boolwhere C: ChangeCtx,
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.
pub fn pan_to_on_axis<C>(&mut self, ctx: &mut C, axis: Axis, position: f64) -> boolwhere
C: ChangeCtx,
pub fn pan_to_on_axis<C>(&mut self, ctx: &mut C, axis: Axis, position: f64) -> boolwhere C: ChangeCtx,
Pan to this position on a particular axis.
Returns true
if the scroll offset has changed.
pub fn with_port<C, F>(&mut self, ctx: &mut C, f: F) -> boolwhere
C: ChangeCtx,
F: FnOnce(&mut C, &mut Viewport),
pub fn with_port<C, F>(&mut self, ctx: &mut C, f: F) -> boolwhere C: ChangeCtx, F: FnOnce(&mut C, &mut Viewport),
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.
Trait Implementations§
§impl<T, W> Widget<T> for ClipBox<T, W>where
T: Data,
W: Widget<T>,
impl<T, W> Widget<T> for ClipBox<T, W>where T: Data, W: Widget<T>,
§fn event(
&mut self,
ctx: &mut EventCtx<'_, '_>,
event: &Event,
data: &mut T,
env: &Env
)
fn event( &mut self, ctx: &mut EventCtx<'_, '_>, event: &Event, data: &mut T, env: &Env )
§fn lifecycle(
&mut self,
ctx: &mut LifeCycleCtx<'_, '_>,
event: &LifeCycle,
data: &T,
env: &Env
)
fn lifecycle( &mut self, ctx: &mut LifeCycleCtx<'_, '_>, event: &LifeCycle, data: &T, env: &Env )
§fn layout(
&mut self,
ctx: &mut LayoutCtx<'_, '_>,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> Size
fn layout( &mut self, ctx: &mut LayoutCtx<'_, '_>, bc: &BoxConstraints, data: &T, env: &Env ) -> Size
§fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, data: &T, env: &Env)
fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, data: &T, env: &Env)
§fn compute_max_intrinsic(
&mut self,
axis: Axis,
ctx: &mut LayoutCtx<'_, '_>,
bc: &BoxConstraints,
data: &T,
env: &Env
) -> f64
fn compute_max_intrinsic( &mut self, axis: Axis, ctx: &mut LayoutCtx<'_, '_>, bc: &BoxConstraints, data: &T, env: &Env ) -> f64
Auto Trait Implementations§
impl<T, W> !RefUnwindSafe for ClipBox<T, W>
impl<T, W> !Send for ClipBox<T, W>
impl<T, W> !Sync for ClipBox<T, W>
impl<T, W> Unpin for ClipBox<T, W>where T: Unpin, W: Unpin,
impl<T, W> !UnwindSafe for ClipBox<T, W>
Blanket Implementations§
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> RoundFrom<T> for T
impl<T> RoundFrom<T> for T
§fn round_from(x: T) -> T
fn round_from(x: T) -> T
§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,
§fn round_into(self) -> U
fn round_into(self) -> U
§impl<T, W> TestWidgetExt<T> for Wwhere
T: Data,
W: Widget<T> + 'static,
impl<T, W> TestWidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,
§impl<T, W> WidgetExt<T> for Wwhere
T: Data,
W: Widget<T> + 'static,
impl<T, W> WidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,
§fn align_left(self) -> Align<T>
fn align_left(self) -> Align<T>
Align
widget, configured to align left.§fn align_right(self) -> Align<T>
fn align_right(self) -> Align<T>
Align
widget, configured to align right.§fn align_vertical(self, align: UnitPoint) -> Align<T>
fn align_vertical(self, align: UnitPoint) -> Align<T>
Align
widget, configured to align vertically.§fn align_horizontal(self, align: UnitPoint) -> Align<T>
fn align_horizontal(self, align: UnitPoint) -> Align<T>
Align
widget, configured to align horizontally.§fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
SizedBox
with an explicit width.§fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
SizedBox
with an explicit height.§fn fix_size(
self,
width: impl Into<KeyOrValue<f64>>,
height: impl Into<KeyOrValue<f64>>
) -> SizedBox<T>
fn fix_size( self, width: impl Into<KeyOrValue<f64>>, height: impl Into<KeyOrValue<f64>> ) -> SizedBox<T>
SizedBox
with an explicit width and height§fn expand_width(self) -> SizedBox<T>
fn expand_width(self) -> SizedBox<T>
§fn expand_height(self) -> SizedBox<T>
fn expand_height(self) -> SizedBox<T>
§fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
§fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
§fn border(
self,
color: impl Into<KeyOrValue<Color>>,
width: impl Into<KeyOrValue<f64>>
) -> Container<T>
fn border( self, color: impl Into<KeyOrValue<Color>>, width: impl Into<KeyOrValue<f64>> ) -> Container<T>
§fn controller<C>(self, controller: C) -> ControllerHost<Self, C>where
C: Controller<T, Self>,
fn controller<C>(self, controller: C) -> ControllerHost<Self, C>where C: Controller<T, Self>,
Controller
.§fn on_added(
self,
f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static
) -> ControllerHost<Self, Added<T, Self>>
fn on_added( self, f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static ) -> ControllerHost<Self, Added<T, Self>>
§fn on_click(
self,
f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static
) -> ControllerHost<Self, Click<T>>
fn on_click( self, f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static ) -> ControllerHost<Self, Click<T>>
§fn debug_paint_layout(self) -> EnvScope<T, Self>
fn debug_paint_layout(self) -> EnvScope<T, Self>
layout
Rect
s of this widget and its children.§fn debug_widget_id(self) -> EnvScope<T, Self>
fn debug_widget_id(self) -> EnvScope<T, Self>
WidgetId
s for this widget and its children, when hot. Read more§fn debug_invalidation(self) -> DebugInvalidation<T, Self>
fn debug_invalidation(self) -> DebugInvalidation<T, Self>
§fn debug_widget(self) -> EnvScope<T, Self>
fn debug_widget(self) -> EnvScope<T, Self>
DEBUG_WIDGET
env variable for this widget (and its descendants). Read more§fn with_id(self, id: WidgetId) -> IdentityWrapper<Self>
fn with_id(self, id: WidgetId) -> IdentityWrapper<Self>
§fn disabled_if(
self,
disabled_if: impl Fn(&T, &Env) -> bool + 'static
) -> DisabledIf<T, Self>
fn disabled_if( self, disabled_if: impl Fn(&T, &Env) -> bool + 'static ) -> DisabledIf<T, Self>
DisabledIf
widget. Read more