summaryrefslogtreecommitdiffstats
path: root/core/src/overlay
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2023-07-27 18:48:06 +0200
committerLibravatar GitHub <noreply@github.com>2023-07-27 18:48:06 +0200
commit18f1ab551be6fe9a603eb07dceddf231c01b5c7f (patch)
treea4fd30a4252c3a1469a618ac4754ee8a6d81a518 /core/src/overlay
parente4b75ec9c76402dda7c6b6631918da240bb1c7ed (diff)
parentcbb5fcc8829e6fbe60f97cad8597c86ffd4f5b1a (diff)
downloadiced-18f1ab551be6fe9a603eb07dceddf231c01b5c7f.tar.gz
iced-18f1ab551be6fe9a603eb07dceddf231c01b5c7f.tar.bz2
iced-18f1ab551be6fe9a603eb07dceddf231c01b5c7f.zip
Merge pull request #1971 from iced-rs/visible-bounds-operation
`visible_bounds` operation for `Container`
Diffstat (limited to 'core/src/overlay')
-rw-r--r--core/src/overlay/element.rs7
-rw-r--r--core/src/overlay/group.rs2
2 files changed, 6 insertions, 3 deletions
diff --git a/core/src/overlay/element.rs b/core/src/overlay/element.rs
index c2134343..29b404b8 100644
--- a/core/src/overlay/element.rs
+++ b/core/src/overlay/element.rs
@@ -172,11 +172,12 @@ where
fn container(
&mut self,
id: Option<&widget::Id>,
+ bounds: Rectangle,
operate_on_children: &mut dyn FnMut(
&mut dyn widget::Operation<T>,
),
) {
- self.operation.container(id, &mut |operation| {
+ self.operation.container(id, bounds, &mut |operation| {
operate_on_children(&mut MapOperation { operation });
});
}
@@ -193,8 +194,10 @@ where
&mut self,
state: &mut dyn widget::operation::Scrollable,
id: Option<&widget::Id>,
+ bounds: Rectangle,
+ translation: Vector,
) {
- self.operation.scrollable(state, id);
+ self.operation.scrollable(state, id, bounds, translation);
}
fn text_input(
diff --git a/core/src/overlay/group.rs b/core/src/overlay/group.rs
index deffaad0..691686cd 100644
--- a/core/src/overlay/group.rs
+++ b/core/src/overlay/group.rs
@@ -138,7 +138,7 @@ where
renderer: &Renderer,
operation: &mut dyn widget::Operation<Message>,
) {
- operation.container(None, &mut |operation| {
+ operation.container(None, layout.bounds(), &mut |operation| {
self.children.iter_mut().zip(layout.children()).for_each(
|(child, layout)| {
child.operate(layout, renderer, operation);