From 231b96e5cff47a78b94ffa95d04f0f5955aefab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20d=27Herbais=20de=20Thun?= Date: Wed, 13 Dec 2023 12:44:28 +0100 Subject: Make layout account for transforms (#2555) --- tests/ref/layout/transform-layout.png | Bin 0 -> 42107 bytes tests/typ/layout/transform-layout.typ | 58 ++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 tests/ref/layout/transform-layout.png create mode 100644 tests/typ/layout/transform-layout.typ (limited to 'tests') diff --git a/tests/ref/layout/transform-layout.png b/tests/ref/layout/transform-layout.png new file mode 100644 index 00000000..576824f0 Binary files /dev/null and b/tests/ref/layout/transform-layout.png differ diff --git a/tests/typ/layout/transform-layout.typ b/tests/typ/layout/transform-layout.typ new file mode 100644 index 00000000..ce6dc930 --- /dev/null +++ b/tests/typ/layout/transform-layout.typ @@ -0,0 +1,58 @@ +// Test layout transformations + +--- +// Test that rotation impact layout. +#set page(width: 200pt) +#set rotate(reflow: true) + +#let one(angle) = box(fill: aqua, rotate(angle)[Test Text]) +#for angle in range(0, 360, step: 15) { + one(angle * 1deg) +} + +--- +// Test relative sizing in rotated boxes. +#set page(width: 200pt, height: 200pt) +#set text(size: 32pt) +#let rotated(body) = box(rotate( + 90deg, + box(stroke: 0.5pt, height: 20%, clip: true, body) +)) + +#set rotate(reflow: false) +Hello #rotated[World]!\ + +#set rotate(reflow: true) +Hello #rotated[World]! + +--- +// Test that scaling impact layout. +#set page(width: 200pt) +#set text(size: 32pt) +#let scaled(body) = box(scale( + x: 20%, + y: 40%, + body +)) + +#set scale(reflow: false) +Hello #scaled[World]! + +#set scale(reflow: true) +Hello #scaled[World]! + +--- +// Test relative sizing in scaled boxes. +#set page(width: 200pt, height: 200pt) +#set text(size: 32pt) +#let scaled(body) = box(scale( + x: 60%, + y: 40%, + box(stroke: 0.5pt, width: 30%, clip: true, body) +)) + +#set scale(reflow: false) +Hello #scaled[World]!\ + +#set scale(reflow: true) +Hello #scaled[World]! -- cgit v1.2.3