summaryrefslogtreecommitdiff
path: root/src/model/layout.rs
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2022-06-04 12:57:45 +0200
committerMartin Haug <mhaug@live.de>2022-06-04 12:57:45 +0200
commit4640585fbdf72df993dbed46799844aa78996cce (patch)
tree38a09389885a61068970441d6d27178a2ae4f115 /src/model/layout.rs
parenta937462491a63f5cff3551b5bb8bc45fb350f0b6 (diff)
First iteration of outline items
Diffstat (limited to 'src/model/layout.rs')
-rw-r--r--src/model/layout.rs11
1 files changed, 10 insertions, 1 deletions
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();