Refactored the widget system #11

This commit is contained in:
2025-08-01 16:10:56 -05:00
parent af5428a2f3
commit 45db1fb774
6 changed files with 254 additions and 91 deletions
+11 -26
View File
@@ -2,33 +2,18 @@ use osui::prelude::*;
fn main() -> std::io::Result<()> {
let screen = Screen::new();
let count = use_state(0);
app().draw(&screen);
rsx! {
%count // Dependency of count
"Count: {count}"
}
.draw(&screen);
std::thread::spawn(move || loop {
**count.get() += 1;
std::thread::sleep(std::time::Duration::from_millis(100));
});
screen.run()
}
fn app() -> Rsx {
rsx! {
@Transform::new().padding(3, 3);
@Style { background: Background::RoundedOutline(0xff0000), foreground: None };
Div {
@Transform::new().padding(1, 1);
@Style { background: Background::RoundedOutline(0x00ff00), foreground: None };
FlexCol {
@Transform::new().padding(1, 1);
"Hello, World!"
@Transform::new().padding(1, 1);
"Hello, World!"
@Transform::new().padding(1, 1);
"Hello, World!"
@Transform::new().padding(1, 1);
"Hello, World!"
@Transform::new().padding(1, 1);
"Hello, World!"
@Transform::new().padding(1, 1);
"Hello, World!"
} (2)
}
}
}