Struct zng_layout::context::LAYOUT
source · 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: PxSize,
f: impl FnOnce() -> PxSize
) -> PxSize
pub fn with_sub_size( &self, removed: PxSize, f: impl FnOnce() -> PxSize ) -> PxSize
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: PxSize, f: impl FnOnce() -> PxSize) -> PxSize
pub fn with_add_size(&self, added: PxSize, f: impl FnOnce() -> PxSize) -> PxSize
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: PxSize, f: impl FnOnce() -> R) -> R
pub fn with_viewport<R>(&self, viewport: PxSize, 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.