diff options
Diffstat (limited to 'src/eval/node.rs')
| -rw-r--r-- | src/eval/node.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/eval/node.rs b/src/eval/node.rs index 5653beff..a04fe84b 100644 --- a/src/eval/node.rs +++ b/src/eval/node.rs @@ -36,6 +36,8 @@ pub enum Node { Inline(PackedNode), /// A block node. Block(PackedNode), + /// A page node. + Page(PackedNode), /// A sequence of nodes (which may themselves contain sequences). Sequence(Vec<(Self, Styles)>), } @@ -214,6 +216,14 @@ impl Packer { Node::Block(block) => { self.push_block(block.styled(styles)); } + Node::Page(flow) => { + if self.top { + self.pagebreak(); + self.pages.push(PageNode { child: flow, styles }); + } else { + self.push_block(flow.styled(styles)); + } + } Node::Sequence(list) => { // For a list of nodes, we apply the list's styles to each node // individually. |
