zng_layout::context

Struct LAYOUT

source
pub struct LAYOUT;
Expand description

Current layout context.

Only available in measure and layout methods.

Implementations§

source§

impl LAYOUT

source

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.

source

pub fn with_root_context<R>( &self, pass_id: LayoutPassId, metrics: LayoutMetrics, f: impl FnOnce() -> R, ) -> R

Calls f in a new layout pass.

source

pub fn with_context<R>( &self, metrics: LayoutMetrics, f: impl FnOnce() -> R, ) -> R

Calls f in a new layout context.

source

pub fn with_no_context<R>(&self, f: impl FnOnce() -> R) -> R

Calls f without a layout context.

source

pub fn metrics(&self) -> LayoutMetrics

Gets the context metrics.

source

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.

source

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.

source

pub fn constraints(&self) -> PxConstraints2d

Current size constraints.

source

pub fn z_constraints(&self) -> PxConstraints

Current perspective constraints.

source

pub fn constraints_for(&self, axis: LayoutAxis) -> PxConstraints

Current length constraints for the given axis.

source

pub fn with_constraints<R>( &self, constraints: PxConstraints2d, f: impl FnOnce() -> R, ) -> R

Calls f with the constraints in context.

source

pub fn with_z_constraints<R>( &self, constraints: PxConstraints, f: impl FnOnce() -> R, ) -> R

Calls f with the constraints for perspective in context.

source

pub fn with_constraints_for<R>( &self, axis: LayoutAxis, constraints: PxConstraints, f: impl FnOnce() -> R, ) -> R

Calls f with the constraints in context.

source

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.

source

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.

source

pub fn inline_constraints(&self) -> Option<InlineConstraints>

Current inline constraints.

source

pub fn with_no_inline<R>(&self, f: impl FnOnce() -> R) -> R

Calls f with no inline constraints.

source

pub fn root_font_size(&self) -> Px

Root font size.

source

pub fn font_size(&self) -> Px

Current font size.

source

pub fn with_font_size<R>(&self, font_size: Px, f: impl FnOnce() -> R) -> R

Calls f with font_size in the context.

source

pub fn viewport(&self) -> PxSize

Current viewport size.

source

pub fn viewport_min(&self) -> Px

Current smallest dimension of the viewport.

source

pub fn viewport_max(&self) -> Px

Current largest dimension of the viewport.

source

pub fn viewport_for(&self, axis: LayoutAxis) -> Px

Current viewport length for the given axis.

source

pub fn with_viewport<R>(&self, viewport: PxSize, f: impl FnOnce() -> R) -> R

Calls f with viewport in the context.

source

pub fn scale_factor(&self) -> Factor

Current scale factor.

source

pub fn with_scale_factor<R>( &self, scale_factor: Factor, f: impl FnOnce() -> R, ) -> R

Calls f with scale_factor in the context.

source

pub fn screen_ppi(&self) -> Ppi

Current screen PPI.

source

pub fn with_screen_ppi<R>(&self, screen_ppi: Ppi, f: impl FnOnce() -> R) -> R

Calls f with screen_ppi in the context.

source

pub fn direction(&self) -> LayoutDirection

Current layout direction.

source

pub fn with_direction<R>( &self, direction: LayoutDirection, f: impl FnOnce() -> R, ) -> R

Calls f with direction in the context.

source

pub fn leftover(&self) -> Size2D<Option<Px>, ()>

Context leftover length for the widget, given the Length::Leftover value it communicated to the parent.

source

pub fn leftover_for(&self, axis: LayoutAxis) -> Option<Px>

Context leftover length for the given axis.

source

pub fn with_leftover<R>( &self, width: Option<Px>, height: Option<Px>, f: impl FnOnce() -> R, ) -> R

Calls f with leftover set to with and height.

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> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more