Introduce Widget::overlay 🎉

This commit is contained in:
Héctor Ramón Jiménez 2020-04-14 12:11:10 +02:00
parent 5c4f5ae5ec
commit c901f40fd6
25 changed files with 80 additions and 32 deletions

33
native/src/overlay.rs Normal file
View file

@ -0,0 +1,33 @@
use crate::{layout, Clipboard, Event, Hasher, Layout, Point};
pub trait Overlay<Message, Renderer>
where
Renderer: crate::Renderer,
{
fn layout(
&self,
renderer: &Renderer,
limits: &layout::Limits,
) -> layout::Node;
fn draw(
&self,
renderer: &mut Renderer,
defaults: &Renderer::Defaults,
layout: Layout<'_>,
cursor_position: Point,
) -> Renderer::Output;
fn hash_layout(&self, state: &mut Hasher);
fn on_event(
&mut self,
_event: Event,
_layout: Layout<'_>,
_cursor_position: Point,
_messages: &mut Vec<Message>,
_renderer: &Renderer,
_clipboard: Option<&dyn Clipboard>,
) {
}
}