diff options
author | 2023-07-27 18:48:06 +0200 | |
---|---|---|
committer | 2023-07-27 18:48:06 +0200 | |
commit | 18f1ab551be6fe9a603eb07dceddf231c01b5c7f (patch) | |
tree | a4fd30a4252c3a1469a618ac4754ee8a6d81a518 /core/src/overlay | |
parent | e4b75ec9c76402dda7c6b6631918da240bb1c7ed (diff) | |
parent | cbb5fcc8829e6fbe60f97cad8597c86ffd4f5b1a (diff) | |
download | iced-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.rs | 7 | ||||
-rw-r--r-- | core/src/overlay/group.rs | 2 |
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); |