Struct Embedded
pub struct Embedded<W>where
W: Widget,{ /* private fields */ }Expand description
A widget laid out and driven by the widget that owns it.
Implementations§
§impl<W> Embedded<W>where
W: Widget + 'static,
impl<W> Embedded<W>where
W: Widget + 'static,
pub fn new(widget: W) -> Embedded<W>
pub fn filling(self) -> Embedded<W>
pub fn filling(self) -> Embedded<W>
The child takes exactly the rectangle it is laid out in, rather than its content’s height: a viewport of its own (a terminal, a viewer) that scrolls inside the rectangle the owner gives it.
pub fn set_transform(&mut self, transform: Affine)
pub fn set_transform(&mut self, transform: Affine)
Place the child’s own space in the owner’s: layout rectangles are in
the child’s space, and it is drawn, hit and its caret reported
through transform (a slide’s text box scaled onto the canvas).
pub fn set_text_color(&mut self, color: Option<AlphaColor<Srgb>>)
pub fn set_text_color(&mut self, color: Option<AlphaColor<Srgb>>)
Paint the child’s text in color rather than the theme’s (a text
box coloured by its slide).
pub fn ime_cursor_rect(&self) -> Option<Rect>
pub fn ime_cursor_rect(&self) -> Option<Rect>
Where the child’s caret is, in the owner’s space, for the input method’s candidate window.
pub fn widget_mut(&mut self) -> &mut W
pub fn widget_mut(&mut self) -> &mut W
The hosted widget, mutably.
pub fn rect(&self) -> Rect
pub fn rect(&self) -> Rect
Where the widget was last laid out, at the height it wanted, in the owner’s space.
pub fn layout(
&mut self,
rect: Rect,
theme: &Theme,
text: &mut TextRenderer,
) -> f64
pub fn layout( &mut self, rect: Rect, theme: &Theme, text: &mut TextRenderer, ) -> f64
Lay the widget out at rect’s width and origin, as tall as its
content wants (at least rect’s height); returns that height.
pub fn draw(
&mut self,
scene: &mut Scene,
transform: Affine,
text: &mut TextRenderer,
theme: &Theme,
presence: &PresenceCtx,
)
pub fn draw( &mut self, scene: &mut Scene, transform: Affine, text: &mut TextRenderer, theme: &Theme, presence: &PresenceCtx, )
Paint the widget where it was last laid out.
pub fn draw_overlay(
&mut self,
scene: &mut Scene,
transform: Affine,
text: &mut TextRenderer,
theme: &Theme,
presence: &PresenceCtx,
)
pub fn draw_overlay( &mut self, scene: &mut Scene, transform: Affine, text: &mut TextRenderer, theme: &Theme, presence: &PresenceCtx, )
Paint what the widget floats over everything (its menus, a link’s
popover). Call from the owner’s own draw_overlay, so it lands in the
window’s top layer, above the rest of the owner’s paint.
pub fn handle_event(
&mut self,
event: &WindowEvent,
scale_factor: f64,
modifiers: &Modifiers,
state: &mut Edits<'_>,
path: &ExId,
handled: &mut bool,
)
pub fn handle_event( &mut self, event: &WindowEvent, scale_factor: f64, modifiers: &Modifiers, state: &mut Edits<'_>, path: &ExId, handled: &mut bool, )
Route one window event to the widget.
pub fn take_focus_request(&mut self) -> bool
pub fn take_focus_request(&mut self) -> bool
Whether the child asked for keyboard focus (a press on a field)
since the last call. The owner takes the host’s focus in response
(*ctx.focus_target = Some(ctx.node_id)) and keeps routing keys and
the input method to the child.
pub fn sync(&mut self, state: &AutoCommit, path: &ExId)
pub fn sync(&mut self, state: &AutoCommit, path: &ExId)
Bring the widget up to date with the document.
Auto Trait Implementations§
impl<W> Freeze for Embedded<W>
impl<W> !RefUnwindSafe for Embedded<W>
impl<W> !Send for Embedded<W>
impl<W> !Sync for Embedded<W>
impl<W> Unpin for Embedded<W>
impl<W> UnsafeUnpin for Embedded<W>
impl<W> !UnwindSafe for Embedded<W>
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> 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> 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