summaryrefslogtreecommitdiffstats
path: root/lazy
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-12-22 14:32:25 +0100
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2022-12-22 14:32:25 +0100
commit5f2ec138d7b6793f781aab16ec59e0224ac4edef (patch)
treeecd41b861f0ff38736373f532ee2c7d2664dd420 /lazy
parent0e9c1ab192279d1a3a88815080e043f434aa380e (diff)
downloadiced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.tar.gz
iced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.tar.bz2
iced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.zip
Implement `Widget::operate` for `Responsive`
Diffstat (limited to 'lazy')
-rw-r--r--lazy/src/responsive.rs25
1 files changed, 24 insertions, 1 deletions
diff --git a/lazy/src/responsive.rs b/lazy/src/responsive.rs
index 5e1b5dff..945c935a 100644
--- a/lazy/src/responsive.rs
+++ b/lazy/src/responsive.rs
@@ -3,8 +3,8 @@ use iced_native::layout::{self, Layout};
use iced_native::mouse;
use iced_native::overlay;
use iced_native::renderer;
-use iced_native::widget::horizontal_space;
use iced_native::widget::tree::{self, Tree};
+use iced_native::widget::{self, horizontal_space};
use iced_native::{
Clipboard, Element, Length, Point, Rectangle, Shell, Size, Widget,
};
@@ -142,6 +142,29 @@ where
layout::Node::new(limits.max())
}
+ fn operate(
+ &self,
+ tree: &mut Tree,
+ layout: Layout<'_>,
+ renderer: &Renderer,
+ operation: &mut dyn widget::Operation<Message>,
+ ) {
+ let state = tree.state.downcast_mut::<State>();
+ let mut content = self.content.borrow_mut();
+
+ content.resolve(
+ &mut state.tree.borrow_mut(),
+ renderer,
+ layout,
+ &self.view,
+ |tree, renderer, layout, element| {
+ element
+ .as_widget()
+ .operate(tree, layout, renderer, operation);
+ },
+ );
+ }
+
fn on_event(
&mut self,
tree: &mut Tree,