From 4640585fbdf72df993dbed46799844aa78996cce Mon Sep 17 00:00:00 2001 From: Martin Haug Date: Sat, 4 Jun 2022 12:57:45 +0200 Subject: First iteration of outline items --- src/model/layout.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/model/layout.rs') diff --git a/src/model/layout.rs b/src/model/layout.rs index b0247258..b4151c04 100644 --- a/src/model/layout.rs +++ b/src/model/layout.rs @@ -232,7 +232,16 @@ impl Layout for LayoutNode { let at = ctx.pins.cursor(); let entry = StyleEntry::Barrier(Barrier::new(node.id())); - let result = node.0.layout(ctx, regions, entry.chain(&styles)); + let mut result = node.0.layout(ctx, regions, entry.chain(&styles)); + + if let Some(role) = styles.role() { + result = result.map(|mut frames| { + for frame in frames.iter_mut() { + Arc::make_mut(frame).apply_role(role); + } + frames + }); + } let fresh = ctx.pins.from(at); let dirty = ctx.pins.dirty.get(); -- cgit v1.2.3