Improved frontend

This commit is contained in:
2025-07-28 15:22:17 +02:00
parent 211b5aa95c
commit 5c2c5ba46b
4 changed files with 38 additions and 11 deletions
+13 -2
View File
@@ -5,14 +5,25 @@ use crate::{state::DependencyHandler, widget::WidgetLoad, Screen};
pub struct Rsx(
pub Vec<(
Box<dyn FnMut() -> WidgetLoad + Send + Sync>,
Vec<std::sync::Arc<dyn DependencyHandler>>,
Vec<Box<dyn DependencyHandler>>,
)>,
);
impl Rsx {
pub fn draw(self, screen: &Arc<Screen>) {
for i in self.0 {
screen.draw_box(i.0);
let w = screen.draw_box(i.0);
for d in i.1 {
w.dependency_box(d);
}
}
}
pub fn create_element<F: FnMut() -> WidgetLoad + Send + Sync + 'static>(
&mut self,
load: F,
dependencies: Vec<Box<dyn DependencyHandler>>,
) {
self.0.push((Box::new(load), dependencies));
}
}