summaryrefslogtreecommitdiff
path: root/library/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2023-06-08 10:20:24 +0200
committerLaurenz <laurmaedje@gmail.com>2023-06-08 10:20:24 +0200
commit10ae0a2c2b54ee1dc1119de528fd209eea5284b4 (patch)
treed17f758f81481f4ab2550bba287ed21e81542af6 /library/src
parent4e5cc61599e58b93ea67a7ebd4e5da8550e571e0 (diff)
Fix line alignment
Fixes #1398. How this works for the other shapes is a hack, but the line was missing from that hack.
Diffstat (limited to 'library/src')
-rw-r--r--library/src/layout/flow.rs6
-rw-r--r--library/src/layout/mod.rs4
2 files changed, 7 insertions, 3 deletions
diff --git a/library/src/layout/flow.rs b/library/src/layout/flow.rs
index cd713c68..627ea988 100644
--- a/library/src/layout/flow.rs
+++ b/library/src/layout/flow.rs
@@ -6,7 +6,8 @@ use super::{
use crate::meta::{FootnoteElem, FootnoteEntry};
use crate::prelude::*;
use crate::visualize::{
- CircleElem, EllipseElem, ImageElem, PathElem, PolygonElem, RectElem, SquareElem,
+ CircleElem, EllipseElem, ImageElem, LineElem, PathElem, PolygonElem, RectElem,
+ SquareElem,
};
/// Arrange spacing, paragraphs and block-level elements into a flow.
@@ -45,7 +46,8 @@ impl Layout for FlowElem {
layouter.layout_spacing(vt, elem, styles)?;
} else if let Some(elem) = child.to::<ParElem>() {
layouter.layout_par(vt, elem, styles)?;
- } else if child.is::<RectElem>()
+ } else if child.is::<LineElem>()
+ || child.is::<RectElem>()
|| child.is::<SquareElem>()
|| child.is::<EllipseElem>()
|| child.is::<CircleElem>()
diff --git a/library/src/layout/mod.rs b/library/src/layout/mod.rs
index 9b6ba204..de791525 100644
--- a/library/src/layout/mod.rs
+++ b/library/src/layout/mod.rs
@@ -58,7 +58,8 @@ use crate::prelude::*;
use crate::shared::BehavedBuilder;
use crate::text::{LinebreakElem, SmartQuoteElem, SpaceElem, TextElem};
use crate::visualize::{
- CircleElem, EllipseElem, ImageElem, PathElem, PolygonElem, RectElem, SquareElem,
+ CircleElem, EllipseElem, ImageElem, LineElem, PathElem, PolygonElem, RectElem,
+ SquareElem,
};
/// Hook up all layout definitions.
@@ -248,6 +249,7 @@ fn realize_block<'a>(
styles: StyleChain<'a>,
) -> SourceResult<(Content, StyleChain<'a>)> {
if content.can::<dyn Layout>()
+ && !content.is::<LineElem>()
&& !content.is::<RectElem>()
&& !content.is::<SquareElem>()
&& !content.is::<EllipseElem>()