From 019af8ddbf96680ffcee2b3407819e90575760cb Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 16 Feb 2022 17:07:25 +0700 Subject: Add `overlay` support in `iced_pure` and port `PickList` :tada: --- pure/src/overlay.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 pure/src/overlay.rs (limited to 'pure/src/overlay.rs') diff --git a/pure/src/overlay.rs b/pure/src/overlay.rs new file mode 100644 index 00000000..b009fde8 --- /dev/null +++ b/pure/src/overlay.rs @@ -0,0 +1,21 @@ +use crate::Tree; + +use iced_native::Layout; + +pub use iced_native::overlay::*; + +pub fn from_children<'a, Message, Renderer>( + children: &'a mut [crate::Element<'_, Message, Renderer>], + tree: &'a mut Tree, + layout: Layout<'_>, + renderer: &Renderer, +) -> Option> { + children + .iter_mut() + .zip(&mut tree.children) + .zip(layout.children()) + .filter_map(|((child, state), layout)| { + child.as_widget_mut().overlay(state, layout, renderer) + }) + .next() +} -- cgit 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 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'pure/src/overlay.rs') 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() } -- cgit From d7100fd2597da82d97eaf196d50573ea64f3f8ff Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 16 Mar 2022 17:37:19 +0700 Subject: Export widget modules in `iced_pure` ... and fix collisions with the new `helpers` --- pure/src/overlay.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pure/src/overlay.rs') diff --git a/pure/src/overlay.rs b/pure/src/overlay.rs index 72415634..c87dfce8 100644 --- a/pure/src/overlay.rs +++ b/pure/src/overlay.rs @@ -1,4 +1,4 @@ -use crate::Tree; +use crate::widget::Tree; use iced_native::Layout; -- cgit