Draft virtual Button, Column, and Text
... as well as a very naive diffing strategy!
This commit is contained in:
parent
8f0839e786
commit
5225e0e304
15 changed files with 1175 additions and 99 deletions
21
virtual/src/widget/element.rs
Normal file
21
virtual/src/widget/element.rs
Normal 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()
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue