Struct masonry::LayoutCtx

source ·
pub struct LayoutCtx<'a> { /* private fields */ }
Expand description

A context provided to layout handling methods of widgets.

As of now, the main service provided is access to a factory for creating text layout objects, which are likely to be useful during widget layout.

Implementations§

source§

impl LayoutCtx<'_>

source

pub fn widget_id(&self) -> WidgetId

get the WidgetId of the current widget.

source

pub fn skip_child(&self, child: &mut WidgetPod<impl Widget>)

Skip iterating over the given child.

Normally, container widgets are supposed to iterate over each of their child widgets in their methods. By default, the framework treats not doing so as a mistake, and panics if debug assertions are on.

This tells the framework that a child was deliberately skipped.

source§

impl LayoutCtx<'_>

source

pub fn submit_action(&mut self, action: Action)

Submit an Action.

Note: Actions are still a WIP feature.

source

pub fn run_in_background( &mut self, _background_task: impl FnOnce(WorkerCtx<'_>) + Send + 'static )

Run the provided function in the background.

The function takes a [WorkerCtx] which it can use to communicate with the main thread.

source

pub fn compute_in_background<T: Any + Send>( &mut self, _background_task: impl FnOnce(WorkerCtx<'_>) -> T + Send + 'static ) -> PromiseToken<T>

Run the provided function in the background, and send its result once it’s done.

The function takes a [WorkerCtx] which it can use to communicate with the main thread.

Once the function returns, an Event::PromiseResult is emitted with the return value.

source

pub fn request_timer(&mut self, _deadline: Duration) -> TimerToken

Request a timer event.

The return value is a token, which can be used to associate the request with the event.

source§

impl LayoutCtx<'_>

source

pub fn set_paint_insets(&mut self, insets: impl Into<Insets>)

Set explicit paint Insets for this widget.

You are not required to set explicit paint bounds unless you need to paint outside of your layout bounds. In this case, the argument should be an Insets struct that indicates where your widget needs to overpaint, relative to its bounds.

For more information, see WidgetPod::paint_insets.

source

pub fn set_baseline_offset(&mut self, baseline: f64)

Set an explicit baseline position for this widget.

The baseline position is used to align widgets that contain text, such as buttons, labels, and other controls. It may also be used by other widgets that are opinionated about how they are aligned relative to neighbouring text, such as switches or checkboxes.

The provided value should be the distance from the bottom of the widget to the baseline.

source

pub fn place_child(&mut self, child: &mut WidgetPod<impl Widget>, origin: Point)

Set the position of a child widget, in the paren’t coordinate space. This will also implicitly change “hot” status and affect the parent’s display rect.

Container widgets must call this method with each non-stashed child in their layout method, after calling child.layout(...).

source§

impl LayoutCtx<'_>

source

pub fn font_ctx(&mut self) -> &mut FontContext

Auto Trait Implementations§

§

impl<'a> Freeze for LayoutCtx<'a>

§

impl<'a> !RefUnwindSafe for LayoutCtx<'a>

§

impl<'a> !Send for LayoutCtx<'a>

§

impl<'a> !Sync for LayoutCtx<'a>

§

impl<'a> Unpin for LayoutCtx<'a>

§

impl<'a> !UnwindSafe for LayoutCtx<'a>

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> AsAny for T
where T: Any,

source§

fn as_dyn_any(&self) -> &(dyn Any + 'static)

Return self.
source§

fn as_mut_dyn_any(&mut self) -> &mut (dyn Any + 'static)

Return self.
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> Downcast<T> for T

source§

fn downcast(&self) -> &T

source§

impl<T> Downcast for T
where T: Any,

source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

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> Same for T

§

type Output = T

Should always be Self
source§

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

§

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>,

§

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.
source§

impl<T> Upcast<T> for T

source§

fn upcast(&self) -> Option<&T>

source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> ErasedDestructor for T
where T: 'static,

source§

impl<T> MaybeSendSync for T