refactored flex

This commit is contained in:
2025-07-29 17:44:10 +02:00
parent e2d7c1ef91
commit de9039dbaf
5 changed files with 94 additions and 135 deletions
+34 -9
View File
@@ -1,4 +1,11 @@
use osui::{elements::div::Div, frontend::Rsx, rsx, style::Transform, Screen};
use osui::{
elements::{div::Div, flex::FlexCol},
frontend::Rsx,
rsx,
state::use_state,
style::Transform,
Screen,
};
fn main() -> std::io::Result<()> {
let screen = Screen::new();
@@ -10,15 +17,33 @@ fn main() -> std::io::Result<()> {
fn app() -> Rsx {
rsx! {
@Transform::new();
@Transform::center();
FlexCol {
test => (1)
test => (3)
} (0x0000ff, 4)
}
}
fn test(inc: i32) -> Rsx {
let count = use_state(0);
std::thread::spawn({
let count = count.clone();
move || loop {
std::thread::sleep(std::time::Duration::from_millis(300));
**count.get() += inc;
}
});
rsx! {
@Transform::new().dimensions(40, 3);
Div {
@Transform::center().dimensions(40, 3);
@Transform::center().dimensions(8, 1);
Div {
@Transform::center().dimensions(8, 1);
Div {
"hello"
} (0x00ff00)
} (0xff0000)
} (0x0000ff)
%count
"{count}"
} (0x00ff00)
} (0xff0000)
}
}