summaryrefslogtreecommitdiffstats
path: root/native/src/overlay/group.rs
diff options
context:
space:
mode:
authorLibravatar Cory Forsstrom <cforsstrom18@gmail.com>2023-01-17 11:12:10 -0800
committerLibravatar Cory Forsstrom <cforsstrom18@gmail.com>2023-01-17 11:12:10 -0800
commit3ab679725526bd095cc1a160705312b16c408b92 (patch)
tree15822dd3684c6f5d1892eb5b15385157dbf72f08 /native/src/overlay/group.rs
parentb2a3a85acb2a0722e90c46b70d574f1d676da9d1 (diff)
downloadiced-3ab679725526bd095cc1a160705312b16c408b92.tar.gz
iced-3ab679725526bd095cc1a160705312b16c408b92.tar.bz2
iced-3ab679725526bd095cc1a160705312b16c408b92.zip
New method to determine if overlay contains cursor
This is needed for "container" overlay's such as `Group` which should only consider it's childrens layouts and not it's own when determining if the cursor is captured by the overlay.
Diffstat (limited to 'native/src/overlay/group.rs')
-rw-r--r--native/src/overlay/group.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/native/src/overlay/group.rs b/native/src/overlay/group.rs
index f894f911..96d10c19 100644
--- a/native/src/overlay/group.rs
+++ b/native/src/overlay/group.rs
@@ -151,6 +151,19 @@ where
)
});
}
+
+ fn contains_cursor(
+ &self,
+ layout: Layout<'_>,
+ cursor_position: Point,
+ ) -> bool {
+ self.children
+ .iter()
+ .zip(layout.children())
+ .any(|(child, layout)| {
+ child.contains_cursor(layout, cursor_position)
+ })
+ }
}
impl<'a, Message, Renderer> From<Group<'a, Message, Renderer>>