rsx component

This commit is contained in:
2025-07-28 15:32:11 +02:00
parent a79617e219
commit 26c112bdb2
2 changed files with 5 additions and 2 deletions
+3 -1
View File
@@ -137,7 +137,9 @@ macro_rules! rsx {
#[macro_export]
macro_rules! rsx_inner {
($r:expr, $(%$dep:ident)* $(@$comp:expr;)* $s:literal $($rest:tt)*) => {
$r.create_element({ $(let $dep = $dep.clone();)* move || $crate::widget::WidgetLoad::new(format!($s)) }, vec![$(Box::new($dep.clone())),*]);
$r.create_element({ $(let $dep = $dep.clone();)* move || {
$crate::widget::WidgetLoad::new(format!($s)) $(.component($comp))*
} }, vec![$(Box::new($dep.clone())),*]);
$crate::rsx_inner!{ $r, $($rest)* };
};
($r:expr,) => {};
+2 -1
View File
@@ -1,4 +1,4 @@
use osui::{rsx, state::use_state, Screen};
use osui::{rsx, state::use_state, style::Transform, Screen};
fn main() -> std::io::Result<()> {
let screen = Screen::new();
@@ -6,6 +6,7 @@ fn main() -> std::io::Result<()> {
rsx! {
%count
@Transform::center();
"{count}"
}
.draw(&screen);