Skip to main content

Overlay

Trait Overlay 

pub trait Overlay<Message, Theme, Renderer> {
    // Required method
    fn draw(
        &self,
        renderer: &mut Renderer,
        theme: &Theme,
        style: &Style,
        cursor: Cursor,
    );

    // Provided methods
    fn operate(&mut self, _renderer: &Renderer, _operation: &mut dyn Operation) { ... }
    fn update(
        &mut self,
        _event: &Event,
        _cursor: Cursor,
        _renderer: &Renderer,
        _shell: &mut Shell<'_, Message>,
    ) { ... }
    fn mouse_interaction(
        &self,
        _cursor: Cursor,
        _renderer: &Renderer,
    ) -> Interaction { ... }
    fn overlay<'a>(
        &'a mut self,
        _renderer: &Renderer,
    ) -> Vec<Element<'a, Message, Theme, Renderer>> { ... }
    fn index(&self) -> f32 { ... }
}
Available on crate feature advanced only.
Expand description

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

Required Methods§

fn draw( &self, renderer: &mut Renderer, theme: &Theme, style: &Style, cursor: Cursor, )

Draws the Overlay using the associated Renderer.

Implementors are expected to call Renderer::with_layer themselves, so that their contents are properly clipped.

Provided Methods§

fn operate(&mut self, _renderer: &Renderer, _operation: &mut dyn Operation)

Applies a widget::Operation to the Overlay.

fn update( &mut self, _event: &Event, _cursor: Cursor, _renderer: &Renderer, _shell: &mut Shell<'_, Message>, )

Processes a runtime Event.

By default, it does nothing.

fn mouse_interaction( &self, _cursor: Cursor, _renderer: &Renderer, ) -> Interaction

Returns the current mouse::Interaction of the Overlay.

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

fn overlay<'a>( &'a mut self, _renderer: &Renderer, ) -> Vec<Element<'a, Message, Theme, Renderer>>

Returns the nested overlays of the Overlay.

fn index(&self) -> f32

The index of the overlay.

Overlays with a higher index will be rendered on top of overlays with a lower index.

By default, it returns 1.0.

Implementors§