diff options
author | 2023-07-27 01:02:28 +0200 | |
---|---|---|
committer | 2023-07-27 01:04:18 +0200 | |
commit | e2ba7ece83f141c149659747977147392df008f4 (patch) | |
tree | 5fa04524d0ca95c6289c4d5962af7a97098ec811 /core/src/element.rs | |
parent | e29754f32d03efc4b075e9b63cc554d128bc2ccf (diff) | |
download | iced-e2ba7ece83f141c149659747977147392df008f4.tar.gz iced-e2ba7ece83f141c149659747977147392df008f4.tar.bz2 iced-e2ba7ece83f141c149659747977147392df008f4.zip |
Introduce `visible_bounds` operation for `Container`
Diffstat (limited to 'core/src/element.rs')
-rw-r--r-- | core/src/element.rs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/core/src/element.rs b/core/src/element.rs index b9b76247..d2c6358b 100644 --- a/core/src/element.rs +++ b/core/src/element.rs @@ -5,7 +5,9 @@ use crate::overlay; use crate::renderer; use crate::widget; use crate::widget::tree::{self, Tree}; -use crate::{Clipboard, Color, Layout, Length, Rectangle, Shell, Widget}; +use crate::{ + Clipboard, Color, Layout, Length, Rectangle, Shell, Vector, Widget, +}; use std::any::Any; use std::borrow::Borrow; @@ -325,11 +327,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 }); }); } @@ -346,8 +349,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( |