Dynamic Widget system
This commit is contained in:
+3
-8
@@ -1,14 +1,10 @@
|
||||
use std::sync::Arc;
|
||||
|
||||
use crate::{
|
||||
dependency::{Dependency, DependencyHandler},
|
||||
widget::{Element, Widget},
|
||||
Screen,
|
||||
};
|
||||
use crate::{state::DependencyHandler, widget::WidgetLoad, Screen};
|
||||
|
||||
pub struct Rsx(
|
||||
pub Vec<(
|
||||
Box<dyn FnMut() -> Box<dyn Element> + Send + Sync>,
|
||||
Box<dyn FnMut() -> WidgetLoad + Send + Sync>,
|
||||
Vec<std::sync::Arc<dyn DependencyHandler>>,
|
||||
)>,
|
||||
);
|
||||
@@ -16,8 +12,7 @@ pub struct Rsx(
|
||||
impl Rsx {
|
||||
pub fn draw(self, screen: &Arc<Screen>) {
|
||||
for i in self.0 {
|
||||
let d = Dependency::from(i.0, i.1);
|
||||
screen.draw_widget(Widget::new(Box::new(d)));
|
||||
screen.draw_box(i.0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user