diff options
author | 2020-04-14 12:11:10 +0200 | |
---|---|---|
committer | 2020-07-08 10:34:14 +0200 | |
commit | c901f40fd6c5aa39f4dc056b2b59bc7133b287e6 (patch) | |
tree | ef71165b0c0958e517ccac0e234cbb20aa385afa /native/src/overlay.rs | |
parent | 5c4f5ae5ecb36703a95cafb2cd58692529c9466d (diff) | |
download | iced-c901f40fd6c5aa39f4dc056b2b59bc7133b287e6.tar.gz iced-c901f40fd6c5aa39f4dc056b2b59bc7133b287e6.tar.bz2 iced-c901f40fd6c5aa39f4dc056b2b59bc7133b287e6.zip |
Introduce `Widget::overlay` :tada:
Diffstat (limited to 'native/src/overlay.rs')
-rw-r--r-- | native/src/overlay.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/native/src/overlay.rs b/native/src/overlay.rs new file mode 100644 index 00000000..d34432a4 --- /dev/null +++ b/native/src/overlay.rs @@ -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>, + ) { + } +} |