[][src]Trait iced_native::overlay::Overlay

pub trait Overlay<Message, Renderer> where
    Renderer: Renderer
{ fn layout(&self, renderer: &Renderer, bounds: Size, position: Point) -> Node;
fn draw(
        &self,
        renderer: &mut Renderer,
        defaults: &Renderer::Defaults,
        layout: Layout<'_>,
        cursor_position: Point
    ) -> Renderer::Output;
fn hash_layout(&self, state: &mut Hasher, position: Point); fn on_event(
        &mut self,
        _event: Event,
        _layout: Layout<'_>,
        _cursor_position: Point,
        _messages: &mut Vec<Message>,
        _renderer: &Renderer,
        _clipboard: Option<&dyn Clipboard>
    ) { ... } }

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

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.

Loading content...

Provided methods

fn on_event(
    &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 the Overlay
  • the current cursor position
  • a mutable Message list, allowing the Overlay to produce new messages based on user interaction.
  • the Renderer
  • a Clipboard, if available

By default, it does nothing.

Loading content...

Implementors

Loading content...