From da45b6c1627935bff5334d213096c4e78972af46 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 17 Feb 2022 19:08:54 +0700 Subject: Implement `pure::Component` in `iced_lazy` --- pure/src/overlay.rs | 6 +++--- pure/src/widget.rs | 4 ++-- pure/src/widget/button.rs | 4 ++-- pure/src/widget/column.rs | 4 ++-- pure/src/widget/container.rs | 4 ++-- pure/src/widget/pick_list.rs | 2 +- pure/src/widget/row.rs | 4 ++-- pure/src/widget/scrollable.rs | 4 ++-- pure/src/widget/space.rs | 7 ++----- 9 files changed, 18 insertions(+), 21 deletions(-) (limited to 'pure') diff --git a/pure/src/overlay.rs b/pure/src/overlay.rs index b009fde8..72415634 100644 --- a/pure/src/overlay.rs +++ b/pure/src/overlay.rs @@ -5,17 +5,17 @@ use iced_native::Layout; pub use iced_native::overlay::*; pub fn from_children<'a, Message, Renderer>( - children: &'a mut [crate::Element<'_, Message, Renderer>], + children: &'a [crate::Element<'_, Message, Renderer>], tree: &'a mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { children - .iter_mut() + .iter() .zip(&mut tree.children) .zip(layout.children()) .filter_map(|((child, state), layout)| { - child.as_widget_mut().overlay(state, layout, renderer) + child.as_widget().overlay(state, layout, renderer) }) .next() } diff --git a/pure/src/widget.rs b/pure/src/widget.rs index 62f9d95b..a12d6fad 100644 --- a/pure/src/widget.rs +++ b/pure/src/widget.rs @@ -1,4 +1,5 @@ pub mod image; +pub mod tree; mod button; mod checkbox; @@ -14,7 +15,6 @@ mod space; mod text; mod text_input; mod toggler; -mod tree; pub use button::Button; pub use checkbox::Checkbox; @@ -104,7 +104,7 @@ pub trait Widget { } fn overlay<'a>( - &'a mut self, + &'a self, _state: &'a mut Tree, _layout: Layout<'_>, _renderer: &Renderer, diff --git a/pure/src/widget/button.rs b/pure/src/widget/button.rs index f5e78933..2ed67a9c 100644 --- a/pure/src/widget/button.rs +++ b/pure/src/widget/button.rs @@ -209,12 +209,12 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { - self.content.as_widget_mut().overlay( + self.content.as_widget().overlay( &mut tree.children[0], layout.children().next().unwrap(), renderer, diff --git a/pure/src/widget/column.rs b/pure/src/widget/column.rs index 1f025335..698d7e9c 100644 --- a/pure/src/widget/column.rs +++ b/pure/src/widget/column.rs @@ -219,12 +219,12 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { - overlay::from_children(&mut self.children, tree, layout, renderer) + overlay::from_children(&self.children, tree, layout, renderer) } } diff --git a/pure/src/widget/container.rs b/pure/src/widget/container.rs index 8ad6a064..c8f0b3a2 100644 --- a/pure/src/widget/container.rs +++ b/pure/src/widget/container.rs @@ -240,12 +240,12 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { - self.content.as_widget_mut().overlay( + self.content.as_widget().overlay( &mut tree.children[0], layout.children().next().unwrap(), renderer, diff --git a/pure/src/widget/pick_list.rs b/pure/src/widget/pick_list.rs index 324950e1..9dc847ee 100644 --- a/pure/src/widget/pick_list.rs +++ b/pure/src/widget/pick_list.rs @@ -212,7 +212,7 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, _renderer: &Renderer, diff --git a/pure/src/widget/row.rs b/pure/src/widget/row.rs index 29128589..1c574d51 100644 --- a/pure/src/widget/row.rs +++ b/pure/src/widget/row.rs @@ -205,12 +205,12 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { - overlay::from_children(&mut self.children, tree, layout, renderer) + overlay::from_children(&self.children, tree, layout, renderer) } } diff --git a/pure/src/widget/scrollable.rs b/pure/src/widget/scrollable.rs index 8a206a6c..bbda50e5 100644 --- a/pure/src/widget/scrollable.rs +++ b/pure/src/widget/scrollable.rs @@ -233,13 +233,13 @@ where } fn overlay<'b>( - &'b mut self, + &'b self, tree: &'b mut Tree, layout: Layout<'_>, renderer: &Renderer, ) -> Option> { self.content - .as_widget_mut() + .as_widget() .overlay( &mut tree.children[0], layout.children().next().unwrap(), diff --git a/pure/src/widget/space.rs b/pure/src/widget/space.rs index d7394398..e0c9c285 100644 --- a/pure/src/widget/space.rs +++ b/pure/src/widget/space.rs @@ -4,15 +4,13 @@ use iced_native::event::{self, Event}; use iced_native::layout::{self, Layout}; use iced_native::mouse; use iced_native::renderer; -use iced_native::text; use iced_native::{Clipboard, Hasher, Length, Point, Rectangle, Shell}; pub use iced_native::widget::Space; impl<'a, Message, Renderer> Widget for Space where - Message: Clone, - Renderer: text::Renderer, + Renderer: iced_native::Renderer, { fn width(&self) -> Length { >::width(self) @@ -98,8 +96,7 @@ where impl<'a, Message, Renderer> Into> for Space where - Message: 'a + Clone, - Renderer: text::Renderer + 'a, + Renderer: iced_native::Renderer + 'a, { fn into(self) -> Element<'a, Message, Renderer> { Element::new(self) -- cgit