summaryrefslogtreecommitdiffstats
path: root/native/src/user_interface.rs
diff options
context:
space:
mode:
authorLibravatar Yusuf Bera Ertan <y.bera003.06@protonmail.com>2020-07-28 18:07:46 +0300
committerLibravatar Yusuf Bera Ertan <y.bera003.06@protonmail.com>2021-02-15 19:37:46 +0300
commita19f89d3a6af2804f2ac4e30f6d639b56a9bebfd (patch)
tree313320abe39ade1214723521b6a5aff56ad2edef /native/src/user_interface.rs
parent4de164dcc7bc3524c8b20f9c734bc1a4ae4c83bc (diff)
downloadiced-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.rs16
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);