pub struct LAYOUT;
Expand description
Current layout context.
Only available in measure and layout methods.
Implementations§
source§impl LAYOUT
impl LAYOUT
sourcepub fn pass_id(&self) -> LayoutPassId
pub fn pass_id(&self) -> LayoutPassId
Gets the current window layout pass.
Widgets can be layout more then once per window layout pass, you can use this ID to identify such cases.
sourcepub fn with_root_context<R>(
&self,
pass_id: LayoutPassId,
metrics: LayoutMetrics,
f: impl FnOnce() -> R,
) -> R
pub fn with_root_context<R>( &self, pass_id: LayoutPassId, metrics: LayoutMetrics, f: impl FnOnce() -> R, ) -> R
Calls f
in a new layout pass.
sourcepub fn with_context<R>(
&self,
metrics: LayoutMetrics,
f: impl FnOnce() -> R,
) -> R
pub fn with_context<R>( &self, metrics: LayoutMetrics, f: impl FnOnce() -> R, ) -> R
Calls f
in a new layout context.
sourcepub fn with_no_context<R>(&self, f: impl FnOnce() -> R) -> R
pub fn with_no_context<R>(&self, f: impl FnOnce() -> R) -> R
Calls f
without a layout context.
sourcepub fn metrics(&self) -> LayoutMetrics
pub fn metrics(&self) -> LayoutMetrics
Gets the context metrics.
sourcepub fn capture_metrics_use<R>(&self, f: impl FnOnce() -> R) -> (LayoutMask, R)
pub fn capture_metrics_use<R>(&self, f: impl FnOnce() -> R) -> (LayoutMask, R)
Capture all layout metrics used in f
.
Note that the captured mask is not propagated to the current context, you can use register_metrics_use
to propagate
the returned mask.
sourcepub fn register_metrics_use(&self, uses: LayoutMask)
pub fn register_metrics_use(&self, uses: LayoutMask)
Register that the node layout depends on these contextual values.
Note that the value methods already register by the LayoutMetrics
getter methods.
sourcepub fn constraints(&self) -> PxConstraints2d
pub fn constraints(&self) -> PxConstraints2d
Current size constraints.
sourcepub fn z_constraints(&self) -> PxConstraints
pub fn z_constraints(&self) -> PxConstraints
Current perspective constraints.
sourcepub fn constraints_for(&self, axis: LayoutAxis) -> PxConstraints
pub fn constraints_for(&self, axis: LayoutAxis) -> PxConstraints
Current length constraints for the given axis.
sourcepub fn with_constraints<R>(
&self,
constraints: PxConstraints2d,
f: impl FnOnce() -> R,
) -> R
pub fn with_constraints<R>( &self, constraints: PxConstraints2d, f: impl FnOnce() -> R, ) -> R
Calls f
with the constraints
in context.
sourcepub fn with_z_constraints<R>(
&self,
constraints: PxConstraints,
f: impl FnOnce() -> R,
) -> R
pub fn with_z_constraints<R>( &self, constraints: PxConstraints, f: impl FnOnce() -> R, ) -> R
Calls f
with the constraints
for perspective in context.
sourcepub fn with_constraints_for<R>(
&self,
axis: LayoutAxis,
constraints: PxConstraints,
f: impl FnOnce() -> R,
) -> R
pub fn with_constraints_for<R>( &self, axis: LayoutAxis, constraints: PxConstraints, f: impl FnOnce() -> R, ) -> R
Calls f
with the constraints
in context.
sourcepub fn with_sub_size(
&self,
removed: Size2D<Px, Px>,
f: impl FnOnce() -> Size2D<Px, Px>,
) -> Size2D<Px, Px>
pub fn with_sub_size( &self, removed: Size2D<Px, Px>, f: impl FnOnce() -> Size2D<Px, Px>, ) -> Size2D<Px, Px>
Runs a function f
in a context that has its max size subtracted by removed
and its final size added by removed
.
sourcepub fn with_add_size(
&self,
added: Size2D<Px, Px>,
f: impl FnOnce() -> Size2D<Px, Px>,
) -> Size2D<Px, Px>
pub fn with_add_size( &self, added: Size2D<Px, Px>, f: impl FnOnce() -> Size2D<Px, Px>, ) -> Size2D<Px, Px>
Runs a function f
in a layout context that has its max size added by added
and its final size subtracted by added
.
sourcepub fn inline_constraints(&self) -> Option<InlineConstraints>
pub fn inline_constraints(&self) -> Option<InlineConstraints>
Current inline constraints.
sourcepub fn with_no_inline<R>(&self, f: impl FnOnce() -> R) -> R
pub fn with_no_inline<R>(&self, f: impl FnOnce() -> R) -> R
Calls f
with no inline constraints.
sourcepub fn root_font_size(&self) -> Px
pub fn root_font_size(&self) -> Px
Root font size.
sourcepub fn with_font_size<R>(&self, font_size: Px, f: impl FnOnce() -> R) -> R
pub fn with_font_size<R>(&self, font_size: Px, f: impl FnOnce() -> R) -> R
Calls f
with font_size
in the context.
sourcepub fn viewport_min(&self) -> Px
pub fn viewport_min(&self) -> Px
Current smallest dimension of the viewport.
sourcepub fn viewport_max(&self) -> Px
pub fn viewport_max(&self) -> Px
Current largest dimension of the viewport.
sourcepub fn viewport_for(&self, axis: LayoutAxis) -> Px
pub fn viewport_for(&self, axis: LayoutAxis) -> Px
Current viewport length for the given axis.
sourcepub fn with_viewport<R>(
&self,
viewport: Size2D<Px, Px>,
f: impl FnOnce() -> R,
) -> R
pub fn with_viewport<R>( &self, viewport: Size2D<Px, Px>, f: impl FnOnce() -> R, ) -> R
Calls f
with viewport
in the context.
sourcepub fn scale_factor(&self) -> Factor
pub fn scale_factor(&self) -> Factor
Current scale factor.
sourcepub fn with_scale_factor<R>(
&self,
scale_factor: Factor,
f: impl FnOnce() -> R,
) -> R
pub fn with_scale_factor<R>( &self, scale_factor: Factor, f: impl FnOnce() -> R, ) -> R
Calls f
with scale_factor
in the context.
sourcepub fn screen_ppi(&self) -> Ppi
pub fn screen_ppi(&self) -> Ppi
Current screen PPI.
sourcepub fn with_screen_ppi<R>(&self, screen_ppi: Ppi, f: impl FnOnce() -> R) -> R
pub fn with_screen_ppi<R>(&self, screen_ppi: Ppi, f: impl FnOnce() -> R) -> R
Calls f
with screen_ppi
in the context.
sourcepub fn direction(&self) -> LayoutDirection
pub fn direction(&self) -> LayoutDirection
Current layout direction.
sourcepub fn with_direction<R>(
&self,
direction: LayoutDirection,
f: impl FnOnce() -> R,
) -> R
pub fn with_direction<R>( &self, direction: LayoutDirection, f: impl FnOnce() -> R, ) -> R
Calls f
with direction
in the context.
sourcepub fn leftover(&self) -> Size2D<Option<Px>, ()>
pub fn leftover(&self) -> Size2D<Option<Px>, ()>
Context leftover length for the widget, given the Length::Leftover
value it communicated to the parent.
sourcepub fn leftover_for(&self, axis: LayoutAxis) -> Option<Px>
pub fn leftover_for(&self, axis: LayoutAxis) -> Option<Px>
Context leftover length for the given axis.
Auto Trait Implementations§
impl Freeze for LAYOUT
impl RefUnwindSafe for LAYOUT
impl Send for LAYOUT
impl Sync for LAYOUT
impl Unpin for LAYOUT
impl UnwindSafe for LAYOUT
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<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more