diff options
| author | 2022-12-22 14:32:25 +0100 | |
|---|---|---|
| committer | 2022-12-22 14:32:25 +0100 | |
| commit | 5f2ec138d7b6793f781aab16ec59e0224ac4edef (patch) | |
| tree | ecd41b861f0ff38736373f532ee2c7d2664dd420 /lazy | |
| parent | 0e9c1ab192279d1a3a88815080e043f434aa380e (diff) | |
| download | iced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.tar.gz iced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.tar.bz2 iced-5f2ec138d7b6793f781aab16ec59e0224ac4edef.zip  | |
Implement `Widget::operate` for `Responsive`
Diffstat (limited to '')
| -rw-r--r-- | lazy/src/responsive.rs | 25 | 
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,  | 
