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<'_>
impl LayoutCtx<'_>
sourcepub fn skip_child(&self, child: &mut WidgetPod<impl Widget>)
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<'_>
impl LayoutCtx<'_>
sourcepub fn submit_action(&mut self, action: Action)
pub fn submit_action(&mut self, action: Action)
Submit an Action
.
Note: Actions are still a WIP feature.
sourcepub fn run_in_background(
&mut self,
_background_task: impl FnOnce(WorkerCtx<'_>) + Send + 'static
)
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.
sourcepub fn compute_in_background<T: Any + Send>(
&mut self,
_background_task: impl FnOnce(WorkerCtx<'_>) -> T + Send + 'static
) -> PromiseToken<T>
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.
sourcepub fn request_timer(&mut self, _deadline: Duration) -> TimerToken
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<'_>
impl LayoutCtx<'_>
sourcepub fn set_paint_insets(&mut self, insets: impl Into<Insets>)
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
.
sourcepub fn set_baseline_offset(&mut self, baseline: f64)
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.
sourcepub fn place_child(&mut self, child: &mut WidgetPod<impl Widget>, origin: Point)
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(...)
.
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> AsAny for Twhere
T: Any,
impl<T> AsAny for Twhere
T: Any,
source§fn as_dyn_any(&self) -> &(dyn Any + 'static)
fn as_dyn_any(&self) -> &(dyn Any + 'static)
source§fn as_mut_dyn_any(&mut self) -> &mut (dyn Any + 'static)
fn as_mut_dyn_any(&mut self) -> &mut (dyn Any + 'static)
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§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
.source§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
.source§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.source§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.