Introduce Tag and State opaque types in iced_pure::widget::tree

This commit is contained in:
Héctor Ramón Jiménez 2022-02-16 15:44:50 +07:00
parent cff891833b
commit 35e9b75e41
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
16 changed files with 101 additions and 197 deletions

View file

@ -9,8 +9,6 @@ use iced_native::{
Alignment, Clipboard, Hasher, Length, Padding, Point, Rectangle, Shell,
};
use std::any::{self, Any};
pub struct Row<'a, Message, Renderer> {
spacing: u16,
padding: Padding,
@ -77,22 +75,14 @@ impl<'a, Message, Renderer> Widget<Message, Renderer>
where
Renderer: iced_native::Renderer,
{
fn tag(&self) -> any::TypeId {
any::TypeId::of::<()>()
}
fn state(&self) -> Box<dyn Any> {
Box::new(())
fn children(&self) -> Vec<Tree> {
self.children.iter().map(Tree::new).collect()
}
fn diff(&self, tree: &mut Tree) {
tree.diff_children(&self.children)
}
fn children_state(&self) -> Vec<Tree> {
self.children.iter().map(Tree::new).collect()
}
fn width(&self) -> Length {
self.width
}