Dynamic scoping

This commit is contained in:
2026-01-24 21:38:45 +01:00
parent 9953e4a0bc
commit 926405a863
2 changed files with 69 additions and 42 deletions
+18 -14
View File
@@ -23,21 +23,25 @@ fn main() {
}
fn app(cx: &Arc<Context>) -> View {
cx.child(
my_component,
Some(Arc::new(|ctx, view| {
let area = ctx.allocate(0, 0, 0, 0);
ctx.draw_view(area, view)
})),
);
{
let scope = cx.scope();
cx.child(
my_component,
Some(Arc::new(|ctx, view| {
let area = ctx.allocate(0, 1, 0, 0);
ctx.draw_view(area, view)
})),
);
scope.child(
my_component,
Some(Arc::new(|ctx, view| {
let area = ctx.allocate(0, 0, 0, 0);
ctx.draw_view(area, view)
})),
);
scope.child(
my_component,
Some(Arc::new(|ctx, view| {
let area = ctx.allocate(0, 1, 0, 0);
ctx.draw_view(area, view)
})),
);
}
Arc::new({
let cx = cx.clone();