diff options
| author | Martin Haug <mhaug@live.de> | 2022-06-04 12:57:45 +0200 |
|---|---|---|
| committer | Martin Haug <mhaug@live.de> | 2022-06-04 12:57:45 +0200 |
| commit | 4640585fbdf72df993dbed46799844aa78996cce (patch) | |
| tree | 38a09389885a61068970441d6d27178a2ae4f115 /src/model/layout.rs | |
| parent | a937462491a63f5cff3551b5bb8bc45fb350f0b6 (diff) | |
First iteration of outline items
Diffstat (limited to 'src/model/layout.rs')
| -rw-r--r-- | src/model/layout.rs | 11 |
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(); |
