pub trait Overlay<Message, Renderer>where
    Renderer: Renderer,
{ fn layout(&self, renderer: &Renderer, bounds: Size, position: Point) -> Node; fn draw(
        renderer: &mut Renderer,
        theme: &Renderer::Theme,
        style: &Style,
        layout: Layout<'_>,
        cursor_position: Point
    ); fn operate(
        &mut self,
        _layout: Layout<'_>,
        _operation: &mut dyn Operation<Message>
    ) { ... } fn on_event(
        &mut self,
        _event: Event,
        _layout: Layout<'_>,
        _cursor_position: Point,
        _renderer: &Renderer,
        _clipboard: &mut dyn Clipboard,
        _shell: &mut Shell<'_, Message>
    ) -> Status { ... } fn mouse_interaction(
        _layout: Layout<'_>,
        _cursor_position: Point,
        _viewport: &Rectangle,
        _renderer: &Renderer
    ) -> Interaction { ... } }
Expand description

An interactive component that can be displayed on top of other widgets.

Required Methods§

Returns the layout Node of the Overlay.

This Node is used by the runtime to compute the Layout of the user interface.

Draws the Overlay using the associated Renderer.

Provided Methods§

Applies a widget::Operation to the Overlay.

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.

Returns the current mouse::Interaction of the Overlay.

By default, it returns mouse::Interaction::Idle.