diff options
| author | Martin Haug <mhaug@live.de> | 2021-12-18 18:04:26 +0100 |
|---|---|---|
| committer | Martin Haug <mhaug@live.de> | 2021-12-26 15:59:24 +0100 |
| commit | b22ce6f8b84e0a75d162feb6f3699e26f86f2453 (patch) | |
| tree | 76c564484d2d020d23ffbb75b133fc8bacae9454 /src/eval | |
| parent | f6c7a8292dc1ab0560408fca9d74505e9d7cf13a (diff) | |
Introduce equal-width columns
Diffstat (limited to 'src/eval')
| -rw-r--r-- | src/eval/node.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/eval/node.rs b/src/eval/node.rs index 34a4f275..d5b67adb 100644 --- a/src/eval/node.rs +++ b/src/eval/node.rs @@ -32,6 +32,8 @@ pub enum Node { Linebreak, /// A paragraph break. Parbreak, + /// A column break. + Colbreak, /// A page break. Pagebreak, /// Plain text. @@ -212,6 +214,14 @@ impl Packer { // paragraph. self.parbreak(Some(styles)); } + Node::Colbreak => { + // Explicit column breaks end the current paragraph and then + // discards the paragraph break. + self.parbreak(None); + self.make_flow_compatible(&styles); + self.flow.children.push(FlowChild::Skip); + self.flow.last.hard(); + } Node::Pagebreak => { // We must set the flow styles after the page break such that an // empty page created by two page breaks in a row has styles at @@ -345,7 +355,7 @@ impl Packer { // Take the flow and erase any styles that will be inherited anyway. let Builder { mut children, styles, .. } = mem::take(&mut self.flow); for child in &mut children { - child.styles_mut().erase(&styles); + child.styles_mut().map(|s| s.erase(&styles)); } let flow = FlowNode(children).pack(); |
