From 5225e0e304bf5b407977e549c48ce9dea26b8c40 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Thu, 10 Feb 2022 21:54:13 +0700 Subject: Draft virtual `Button`, `Column`, and `Text` ... as well as a very naive diffing strategy! --- virtual/src/element.rs | 37 ------------------------------------- 1 file changed, 37 deletions(-) delete mode 100644 virtual/src/element.rs (limited to 'virtual/src/element.rs') diff --git a/virtual/src/element.rs b/virtual/src/element.rs deleted file mode 100644 index ecdb0677..00000000 --- a/virtual/src/element.rs +++ /dev/null @@ -1,37 +0,0 @@ -use crate::Widget; - -pub struct Element { - widget: Box>, -} - -impl Element { - pub fn new(widget: impl Descriptor + 'static) -> Self { - Self { - widget: Box::new(widget), - } - } -} - -pub trait Descriptor { - fn tag(&self) -> std::any::TypeId; - - fn build(&self) -> Box>; - - fn children(&self) -> &[Element]; - - fn clone(&self) -> Box>; -} - -impl Clone for Box> { - fn clone(&self) -> Self { - self.as_ref().clone() - } -} - -impl Clone for Element { - fn clone(&self) -> Self { - Element { - widget: self.widget.clone(), - } - } -} -- cgit