diff --git a/library/src/layout/grid.rs b/library/src/layout/grid.rs index d488430f2..da8c4fcad 100644 --- a/library/src/layout/grid.rs +++ b/library/src/layout/grid.rs @@ -321,7 +321,7 @@ impl<'a, 'v> GridLayouter<'a, 'v> { let rcols = vec![Abs::zero(); cols.len()]; let lrows = vec![]; - // We use the regions for auto row measurement. Since at that moment, + // We use these regions for auto row measurement. Since at that moment, // columns are already sized, we can enable horizontal expansion. let mut regions = regions.clone(); regions.expand = Axes::new(true, false); diff --git a/library/src/visualize/shape.rs b/library/src/visualize/shape.rs index e6cb55f50..c0c81bf5f 100644 --- a/library/src/visualize/shape.rs +++ b/library/src/visualize/shape.rs @@ -556,7 +556,7 @@ fn layout( // Pad the child. let child = child.clone().padded(inset.map(|side| side.map(Length::from))); - let mut pod = Regions::one(regions.first, regions.base, regions.expand); + let pod = Regions::one(regions.first, regions.base, regions.expand); frame = child.layout(vt, styles, pod)?.into_frame(); // Relayout with full expansion into square region to make sure @@ -571,8 +571,8 @@ fn layout( desired.min(regions.first.x).min(regions.first.y) }; - pod.first = Size::splat(length); - pod.expand = Axes::splat(true); + let size = Size::splat(length); + let pod = Regions::one(size, size, Axes::splat(true)); frame = child.layout(vt, styles, pod)?.into_frame(); } } else { diff --git a/tests/ref/bugs/square-base.png b/tests/ref/bugs/square-base.png new file mode 100644 index 000000000..290ee54e5 Binary files /dev/null and b/tests/ref/bugs/square-base.png differ diff --git a/tests/ref/visualize/shape-square.png b/tests/ref/visualize/shape-square.png index 3d81f2ed7..e8433a568 100644 Binary files a/tests/ref/visualize/shape-square.png and b/tests/ref/visualize/shape-square.png differ diff --git a/tests/typ/bugs/square-base.typ b/tests/typ/bugs/square-base.typ new file mode 100644 index 000000000..d8339c1ac --- /dev/null +++ b/tests/typ/bugs/square-base.typ @@ -0,0 +1,5 @@ +// Test that square sets correct base for its content. + +--- +#set page(height: 80pt) +#square(width: 40%, rect(width: 60%, height: 80%))