diff options
author | 2020-07-28 18:07:46 +0300 | |
---|---|---|
committer | 2021-02-15 19:37:46 +0300 | |
commit | a19f89d3a6af2804f2ac4e30f6d639b56a9bebfd (patch) | |
tree | 313320abe39ade1214723521b6a5aff56ad2edef /native/src/user_interface.rs | |
parent | 4de164dcc7bc3524c8b20f9c734bc1a4ae4c83bc (diff) | |
download | iced-a19f89d3a6af2804f2ac4e30f6d639b56a9bebfd.tar.gz iced-a19f89d3a6af2804f2ac4e30f6d639b56a9bebfd.tar.bz2 iced-a19f89d3a6af2804f2ac4e30f6d639b56a9bebfd.zip |
feat(native): add Tooltip widget
Diffstat (limited to '')
-rw-r--r-- | native/src/user_interface.rs | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/native/src/user_interface.rs b/native/src/user_interface.rs index 7a64ac59..996bdd30 100644 --- a/native/src/user_interface.rs +++ b/native/src/user_interface.rs @@ -198,8 +198,11 @@ where messages: &mut Vec<Message>, ) -> Vec<event::Status> { let (base_cursor, overlay_statuses) = if let Some(mut overlay) = - self.root.overlay(Layout::new(&self.base.layout)) - { + self.root.overlay( + Layout::new(&self.base.layout), + self.overlay.as_ref().map(|l| l.layout.bounds()), + cursor_position, + ) { let layer = Self::overlay_layer( self.overlay.take(), self.bounds, @@ -334,9 +337,11 @@ where ) -> Renderer::Output { let viewport = Rectangle::with_size(self.bounds); - let overlay = if let Some(mut overlay) = - self.root.overlay(Layout::new(&self.base.layout)) - { + let overlay = if let Some(mut overlay) = self.root.overlay( + Layout::new(&self.base.layout), + self.overlay.as_ref().map(|l| l.layout.bounds()), + cursor_position, + ) { let layer = Self::overlay_layer( self.overlay.take(), self.bounds, @@ -351,6 +356,7 @@ where &Renderer::Defaults::default(), Layout::new(&layer.layout), cursor_position, + &viewport, ); self.overlay = Some(layer); |