diff options
Diffstat (limited to 'pure/src/widget/element.rs')
-rw-r--r-- | pure/src/widget/element.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/pure/src/widget/element.rs b/pure/src/widget/element.rs index 2a137d40..d905b924 100644 --- a/pure/src/widget/element.rs +++ b/pure/src/widget/element.rs @@ -1,4 +1,5 @@ -use crate::widget::{Tree, Widget}; +use crate::widget::tree::{self, Tree}; +use crate::widget::Widget; use iced_native::event::{self, Event}; use iced_native::layout::{self, Layout}; @@ -6,8 +7,6 @@ use iced_native::mouse; use iced_native::renderer; use iced_native::{Clipboard, Hasher, Length, Point, Rectangle, Shell}; -use std::any::{self, Any}; - pub struct Element<'a, Message, Renderer> { widget: Box<dyn Widget<Message, Renderer> + 'a>, } @@ -66,20 +65,20 @@ where A: 'a, B: 'a, { - fn tag(&self) -> any::TypeId { + fn tag(&self) -> tree::Tag { self.widget.tag() } - fn state(&self) -> Box<dyn Any> { + fn state(&self) -> tree::State { self.widget.state() } - fn diff(&self, tree: &mut Tree) { - self.widget.diff(tree) + fn children(&self) -> Vec<Tree> { + self.widget.children() } - fn children_state(&self) -> Vec<Tree> { - self.widget.children_state() + fn diff(&self, tree: &mut Tree) { + self.widget.diff(tree) } fn width(&self) -> Length { |