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/widget/element.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 virtual/src/widget/element.rs (limited to 'virtual/src/widget/element.rs') diff --git a/virtual/src/widget/element.rs b/virtual/src/widget/element.rs new file mode 100644 index 00000000..5e40d488 --- /dev/null +++ b/virtual/src/widget/element.rs @@ -0,0 +1,21 @@ +use crate::Widget; + +pub struct Element { + widget: Box>, +} + +impl Element { + pub fn new(widget: impl Widget + 'static) -> Self { + Self { + widget: Box::new(widget), + } + } + + pub fn as_widget(&self) -> &dyn Widget { + self.widget.as_ref() + } + + pub fn as_widget_mut(&mut self) -> &mut dyn Widget { + self.widget.as_mut() + } +} -- cgit