Draft virtual Button, Column, and Text

... as well as a very naive diffing strategy!
This commit is contained in:
Héctor Ramón Jiménez 2022-02-10 21:54:13 +07:00
parent 8f0839e786
commit 5225e0e304
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
15 changed files with 1175 additions and 99 deletions

View file

@ -0,0 +1,21 @@
use crate::Widget;
pub struct Element<Message, Renderer> {
widget: Box<dyn Widget<Message, Renderer>>,
}
impl<Message, Renderer> Element<Message, Renderer> {
pub fn new(widget: impl Widget<Message, Renderer> + 'static) -> Self {
Self {
widget: Box::new(widget),
}
}
pub fn as_widget(&self) -> &dyn Widget<Message, Renderer> {
self.widget.as_ref()
}
pub fn as_widget_mut(&mut self) -> &mut dyn Widget<Message, Renderer> {
self.widget.as_mut()
}
}