43 lines
810 B
Rust
43 lines
810 B
Rust
use osui::prelude::*;
|
|
|
|
fn main() -> std::io::Result<()> {
|
|
let screen = Screen::new();
|
|
|
|
app().draw(&screen);
|
|
|
|
screen.run()
|
|
}
|
|
|
|
fn app() -> Rsx {
|
|
rsx! {
|
|
@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(50));
|
|
**count.get() += inc;
|
|
}
|
|
});
|
|
|
|
rsx! {
|
|
@Transform::new().dimensions(40, 3);
|
|
Div {
|
|
@transform! { x: Center, y: Center, width: 5 };
|
|
Div {
|
|
%count
|
|
"{count}"
|
|
} (0x00ff00)
|
|
} (0xff0000)
|
|
}
|
|
}
|