summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBzero <lolo-b@posteo.net>2024-09-02 14:56:08 +0200
committerGitHub <noreply@github.com>2024-09-02 12:56:08 +0000
commit95740ac2ab350a194949251febe758914072d803 (patch)
treed5cc5f5000a8cc7f9ff53f6cbea5e3de6f0a5394 /tests
parent799eb8004eeafd758ed53c79c4e1ce34afb268dd (diff)
Add a skew function (#4803)
Diffstat (limited to 'tests')
-rw-r--r--tests/ref/transform-skew-both-axes.pngbin0 -> 1679 bytes
-rw-r--r--tests/ref/transform-skew-origin.pngbin0 -> 487 bytes
-rw-r--r--tests/ref/transform-skew-relative-sizing.pngbin0 -> 819 bytes
-rw-r--r--tests/ref/transform-skew.pngbin0 -> 878 bytes
-rw-r--r--tests/suite/layout/transform.typ50
5 files changed, 50 insertions, 0 deletions
diff --git a/tests/ref/transform-skew-both-axes.png b/tests/ref/transform-skew-both-axes.png
new file mode 100644
index 00000000..da9cf5eb
--- /dev/null
+++ b/tests/ref/transform-skew-both-axes.png
Binary files differ
diff --git a/tests/ref/transform-skew-origin.png b/tests/ref/transform-skew-origin.png
new file mode 100644
index 00000000..4f4c4b08
--- /dev/null
+++ b/tests/ref/transform-skew-origin.png
Binary files differ
diff --git a/tests/ref/transform-skew-relative-sizing.png b/tests/ref/transform-skew-relative-sizing.png
new file mode 100644
index 00000000..41496d17
--- /dev/null
+++ b/tests/ref/transform-skew-relative-sizing.png
Binary files differ
diff --git a/tests/ref/transform-skew.png b/tests/ref/transform-skew.png
new file mode 100644
index 00000000..76bee82a
--- /dev/null
+++ b/tests/ref/transform-skew.png
Binary files differ
diff --git a/tests/suite/layout/transform.typ b/tests/suite/layout/transform.typ
index 3604b72f..fde5edfd 100644
--- a/tests/suite/layout/transform.typ
+++ b/tests/suite/layout/transform.typ
@@ -115,3 +115,53 @@ Hello #scaled[World]!
#scale(x: auto, y: 50pt, reflow: true, cylinder)
#scale(x: 100pt, y: auto, reflow: true, cylinder)
#scale(x: 150%, y: auto, reflow: true, cylinder)
+
+--- transform-skew ---
+// Test skewing along one axis.
+#set page(width: 100pt, height: 60pt)
+#set text(size: 12pt)
+#let skewed(body) = box(skew(ax: -30deg, body))
+
+#set skew(reflow: false)
+Hello #skewed[World]!
+
+#set skew(reflow: true)
+Hello #skewed[World]!
+
+--- transform-skew-both-axes ---
+// Test skewing along both axes.
+#set page(width: 100pt, height: 250pt)
+#set text(size: 12pt)
+#let skewed(angle) = box(skew(ax: 30deg, ay: angle)[Some Text])
+
+#set skew(reflow: true)
+#for angle in range(-30, 31, step: 10) {
+ skewed(angle * 1deg)
+}
+
+--- transform-skew-origin ---
+// Test setting skewing origin.
+#set page(width: 100pt, height:40pt)
+#set text(spacing: 20pt)
+#let square = square.with(width: 8pt)
+#let skew-square(origin) = box(place(square(stroke: gray))
+ + place(skew(ax: -30deg, ay: -30deg, origin: origin, square())))
+#skew-square(center+horizon)
+#skew-square(bottom+left)
+#skew-square(top+right)
+#skew-square(horizon+right)
+
+--- transform-skew-relative-sizing ---
+// Test relative sizing in skewed boxes.
+#set page(width: 100pt, height: 60pt)
+#set text(size: 12pt)
+#let skewed(body) = box(skew(
+ ax: 30deg,
+ box(stroke: 0.5pt, width: 30%, clip: true, body)
+))
+
+#set skew(reflow: false)
+Hello #skewed[World]!\
+
+#set skew(reflow: true)
+Hello #skewed[World]!