summaryrefslogtreecommitdiff
path: root/src/library/layout/stack.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2022-06-08 19:31:07 +0200
committerGitHub <noreply@github.com>2022-06-08 19:31:07 +0200
commitcd5a14bc240b21f8f538ff7fc1d116d23611d6c5 (patch)
treef4b8a7e8a941f8653d5061d2f7acc0bfd8d92b13 /src/library/layout/stack.rs
parentb905048d4bb497252028df6d21b525fefb6b64c3 (diff)
parent72d3f3fffabe6872eb7839585bea925b89aac6a4 (diff)
Merge pull request #75 from typst/semantics
Frame Role and PDF outline
Diffstat (limited to 'src/library/layout/stack.rs')
-rw-r--r--src/library/layout/stack.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/library/layout/stack.rs b/src/library/layout/stack.rs
index 828ff8e3..9c2cbccd 100644
--- a/src/library/layout/stack.rs
+++ b/src/library/layout/stack.rs
@@ -194,7 +194,12 @@ impl<'a> StackLayouter<'a> {
let frames = node.layout(ctx, &self.regions, styles)?;
let len = frames.len();
- for (i, frame) in frames.into_iter().enumerate() {
+ for (i, mut frame) in frames.into_iter().enumerate() {
+ // Set the generic block role.
+ if frame.role().map_or(true, Role::is_weak) {
+ Arc::make_mut(&mut frame).apply_role(Role::GenericBlock);
+ }
+
// Grow our size, shrink the region and save the frame for later.
let size = frame.size.to_gen(self.axis);
self.used.main += size.main;