[−][src]Trait iced_native::overlay::Overlay
An interactive component that can be displayed on top of other widgets.
Required methods
fn layout(&self, renderer: &Renderer, bounds: Size, position: Point) -> Node
Returns the layout Node
of the Overlay
.
This Node
is used by the runtime to compute the Layout
of the
user interface.
fn draw(
&self,
renderer: &mut Renderer,
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point
) -> Renderer::Output
&self,
renderer: &mut Renderer,
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point
) -> Renderer::Output
Draws the Overlay
using the associated Renderer
.
fn hash_layout(&self, state: &mut Hasher, position: Point)
Computes the layout hash of the Overlay
.
The produced hash is used by the runtime to decide if the Layout
needs to be recomputed between frames. Therefore, to ensure maximum
efficiency, the hash should only be affected by the properties of the
Overlay
that can affect layouting.
For example, the Text
widget does not hash its color property, as
its value cannot affect the overall Layout
of the user interface.
Provided methods
fn on_event(
&mut self,
_event: Event,
_layout: Layout<'_>,
_cursor_position: Point,
_messages: &mut Vec<Message>,
_renderer: &Renderer,
_clipboard: Option<&dyn Clipboard>
)
&mut self,
_event: Event,
_layout: Layout<'_>,
_cursor_position: Point,
_messages: &mut Vec<Message>,
_renderer: &Renderer,
_clipboard: Option<&dyn Clipboard>
)
Processes a runtime Event
.
It receives:
- an
Event
describing user interaction - the computed
Layout
of theOverlay
- the current cursor position
- a mutable
Message
list, allowing theOverlay
to produce new messages based on user interaction. - the
Renderer
- a
Clipboard
, if available
By default, it does nothing.