pub trait Overlay<Message, Theme, Renderer>where
    Renderer: Renderer,{
    // Required methods
    fn layout(&mut self, renderer: &Renderer, bounds: Size) -> Node;
    fn draw(
        &self,
        renderer: &mut Renderer,
        theme: &Theme,
        style: &Style,
        layout: Layout<'_>,
        cursor: Cursor,
    );
    // Provided methods
    fn operate(
        &mut self,
        _layout: Layout<'_>,
        _renderer: &Renderer,
        _operation: &mut dyn Operation,
    ) { ... }
    fn update(
        &mut self,
        _event: &Event,
        _layout: Layout<'_>,
        _cursor: Cursor,
        _renderer: &Renderer,
        _clipboard: &mut dyn Clipboard,
        _shell: &mut Shell<'_, Message>,
    ) { ... }
    fn mouse_interaction(
        &self,
        _layout: Layout<'_>,
        _cursor: Cursor,
        _renderer: &Renderer,
    ) -> Interaction { ... }
    fn overlay<'a>(
        &'a mut self,
        _layout: Layout<'a>,
        _renderer: &Renderer,
    ) -> Option<Element<'a, Message, Theme, Renderer>> { ... }
    fn index(&self) -> f32 { ... }
}Expand description
An interactive component that can be displayed on top of other widgets.
Required Methods§
Provided Methods§
Sourcefn operate(
    &mut self,
    _layout: Layout<'_>,
    _renderer: &Renderer,
    _operation: &mut dyn Operation,
)
 
fn operate( &mut self, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation, )
Applies a widget::Operation to the Overlay.
Sourcefn update(
    &mut self,
    _event: &Event,
    _layout: Layout<'_>,
    _cursor: Cursor,
    _renderer: &Renderer,
    _clipboard: &mut dyn Clipboard,
    _shell: &mut Shell<'_, Message>,
)
 
fn update( &mut self, _event: &Event, _layout: Layout<'_>, _cursor: Cursor, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, _shell: &mut Shell<'_, Message>, )
Processes a runtime Event.
It receives:
- an Eventdescribing user interaction
- the computed Layoutof theOverlay
- the current cursor position
- a mutable Messagelist, allowing theOverlayto produce new messages based on user interaction.
- the Renderer
- a Clipboard, if available
By default, it does nothing.
Sourcefn mouse_interaction(
    &self,
    _layout: Layout<'_>,
    _cursor: Cursor,
    _renderer: &Renderer,
) -> Interaction
 
fn mouse_interaction( &self, _layout: Layout<'_>, _cursor: Cursor, _renderer: &Renderer, ) -> Interaction
Returns the current mouse::Interaction of the Overlay.
By default, it returns mouse::Interaction::None.