pub struct ZStack<T> { /* private fields */ }
Expand description
A container that stacks its children on top of each other.
The container has a baselayer which has the lowest z-index and determines the size of the container.
Implementations§
Source§impl<T: Data> ZStack<T>
impl<T: Data> ZStack<T>
Sourcepub fn new(base_layer: impl Widget<T> + 'static) -> Self
pub fn new(base_layer: impl Widget<T> + 'static) -> Self
Creates a new ZStack with a baselayer.
The baselayer is used by the ZStack to determine its own size.
Examples found in repository?
45fn build_root_widget() -> impl Widget<State> {
46 ZStack::new(
47 Button::from_label(Label::dynamic(|state: &State, _| {
48 format!(
49 "Very large button with text! Count up (currently {})",
50 state.counter
51 )
52 }))
53 .on_click(|_, state: &mut State, _| state.counter += 1),
54 )
55 .with_child(
56 Button::new("Reset").on_click(|_, state: &mut State, _| state.counter = 0),
57 Vec2::new(1.0, 1.0),
58 Vec2::ZERO,
59 UnitPoint::LEFT,
60 Vec2::new(10.0, 0.0),
61 )
62}
Sourcepub fn with_child(
self,
child: impl Widget<T> + 'static,
relative_size: Vec2,
absolute_size: Vec2,
position: UnitPoint,
offset: Vec2,
) -> Self
pub fn with_child( self, child: impl Widget<T> + 'static, relative_size: Vec2, absolute_size: Vec2, position: UnitPoint, offset: Vec2, ) -> Self
Builder-style method to add a new child to the Z-Stack.
The child is added directly above the base layer.
relative_size
is the space the child is allowed to take up relative to its parent. The
values are between 0 and 1.
absolute_size
is a fixed amount of pixels added to relative_size
.
position
is the alignment of the child inside the remaining space of its parent.
offset
is a fixed amount of pixels added to position
.
Examples found in repository?
45fn build_root_widget() -> impl Widget<State> {
46 ZStack::new(
47 Button::from_label(Label::dynamic(|state: &State, _| {
48 format!(
49 "Very large button with text! Count up (currently {})",
50 state.counter
51 )
52 }))
53 .on_click(|_, state: &mut State, _| state.counter += 1),
54 )
55 .with_child(
56 Button::new("Reset").on_click(|_, state: &mut State, _| state.counter = 0),
57 Vec2::new(1.0, 1.0),
58 Vec2::ZERO,
59 UnitPoint::LEFT,
60 Vec2::new(10.0, 0.0),
61 )
62}
Sourcepub fn with_centered_child(self, child: impl Widget<T> + 'static) -> Self
pub fn with_centered_child(self, child: impl Widget<T> + 'static) -> Self
Builder-style method to add a new child to the Z-Stack.
The child is added directly above the base layer, is positioned in the center and has no size constraints.
Sourcepub fn with_aligned_child(
self,
child: impl Widget<T> + 'static,
alignment: UnitPoint,
) -> Self
pub fn with_aligned_child( self, child: impl Widget<T> + 'static, alignment: UnitPoint, ) -> Self
Builder-style method to add a new child to the Z-Stack.
The child is added directly above the base layer, uses the given alignment and has no size constraints.
Trait Implementations§
Source§impl<T: Data> Widget<T> for ZStack<T>
impl<T: Data> Widget<T> for ZStack<T>
Source§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, )
Source§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, )
Source§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
Source§fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, data: &T, env: &Env)
fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, data: &T, env: &Env)
Source§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> Freeze for ZStack<T>
impl<T> !RefUnwindSafe for ZStack<T>
impl<T> !Send for ZStack<T>
impl<T> !Sync for ZStack<T>
impl<T> Unpin for ZStack<T>where
T: Unpin,
impl<T> !UnwindSafe for ZStack<T>
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
Source§fn round_into(self) -> U
fn round_into(self) -> U
Source§impl<T, W> TestWidgetExt<T> for W
impl<T, W> TestWidgetExt<T> for W
Source§impl<T, W> WidgetExt<T> for W
impl<T, W> WidgetExt<T> for W
Source§fn align_left(self) -> Align<T>
fn align_left(self) -> Align<T>
Align
widget, configured to align left.Source§fn align_right(self) -> Align<T>
fn align_right(self) -> Align<T>
Align
widget, configured to align right.Source§fn align_vertical(self, align: UnitPoint) -> Align<T>
fn align_vertical(self, align: UnitPoint) -> Align<T>
Align
widget, configured to align vertically.Source§fn align_horizontal(self, align: UnitPoint) -> Align<T>
fn align_horizontal(self, align: UnitPoint) -> Align<T>
Align
widget, configured to align horizontally.Source§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.Source§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.Source§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 heightSource§fn expand_width(self) -> SizedBox<T>
fn expand_width(self) -> SizedBox<T>
Source§fn expand_height(self) -> SizedBox<T>
fn expand_height(self) -> SizedBox<T>
Source§fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
Source§fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
Source§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>
Source§fn controller<C: Controller<T, Self>>(
self,
controller: C,
) -> ControllerHost<Self, C>
fn controller<C: Controller<T, Self>>( self, controller: C, ) -> ControllerHost<Self, C>
Controller
.Source§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>>
Source§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>>
Source§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.Source§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 moreSource§fn debug_invalidation(self) -> DebugInvalidation<T, Self>
fn debug_invalidation(self) -> DebugInvalidation<T, Self>
Source§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 moreSource§fn with_id(self, id: WidgetId) -> IdentityWrapper<Self>
fn with_id(self, id: WidgetId) -> IdentityWrapper<Self>
Source§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