Trait iced_native::overlay::Overlay
source · pub trait Overlay<Message, Renderer>where
Renderer: Renderer,{
// Required methods
fn layout(&self, renderer: &Renderer, bounds: Size, position: Point) -> Node;
fn draw(
&self,
renderer: &mut Renderer,
theme: &Renderer::Theme,
style: &Style,
layout: Layout<'_>,
cursor_position: Point
);
// Provided methods
fn operate(
&mut self,
_layout: Layout<'_>,
_renderer: &Renderer,
_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(
&self,
_layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
_renderer: &Renderer
) -> Interaction { ... }
fn is_over(&self, layout: Layout<'_>, cursor_position: Point) -> bool { ... }
}
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<Message>
)
fn operate( &mut self, _layout: Layout<'_>, _renderer: &Renderer, _operation: &mut dyn Operation<Message> )
Applies a widget::Operation
to the Overlay
.
sourcefn on_event(
&mut self,
_event: Event,
_layout: Layout<'_>,
_cursor_position: Point,
_renderer: &Renderer,
_clipboard: &mut dyn Clipboard,
_shell: &mut Shell<'_, Message>
) -> Status
fn on_event( &mut self, _event: Event, _layout: Layout<'_>, _cursor_position: Point, _renderer: &Renderer, _clipboard: &mut dyn Clipboard, _shell: &mut Shell<'_, Message> ) -> Status
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.
sourcefn mouse_interaction(
&self,
_layout: Layout<'_>,
_cursor_position: Point,
_viewport: &Rectangle,
_renderer: &Renderer
) -> Interaction
fn mouse_interaction( &self, _layout: Layout<'_>, _cursor_position: Point, _viewport: &Rectangle, _renderer: &Renderer ) -> Interaction
Returns the current mouse::Interaction
of the Overlay
.
By default, it returns mouse::Interaction::Idle
.