diff options
| author | Emmanuel Lesueur <48604057+Emm54321@users.noreply.github.com> | 2025-02-26 19:07:29 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2025-02-26 21:21:15 +0100 |
| commit | 59569cbf6172ae8f2159e794c2ee26d3d36713df (patch) | |
| tree | c5f1b9607bf6d7dcb96bb3495b858d9514d289d6 | |
| parent | d04f014fc6fef4a1a4031d1f1f00b5cbd4599c05 (diff) | |
Fix curve with multiple non-closed components. (#5963)
| -rw-r--r-- | crates/typst-layout/src/shapes.rs | 1 | ||||
| -rw-r--r-- | tests/ref/curve-multiple-non-closed.png | bin | 0 -> 85 bytes | |||
| -rw-r--r-- | tests/suite/visualize/curve.typ | 10 |
3 files changed, 11 insertions, 0 deletions
diff --git a/crates/typst-layout/src/shapes.rs b/crates/typst-layout/src/shapes.rs index 21d0a518..7ab41e9d 100644 --- a/crates/typst-layout/src/shapes.rs +++ b/crates/typst-layout/src/shapes.rs @@ -284,6 +284,7 @@ impl<'a> CurveBuilder<'a> { self.last_point = point; self.last_control_from = point; self.is_started = true; + self.is_empty = true; } /// Add a line segment. diff --git a/tests/ref/curve-multiple-non-closed.png b/tests/ref/curve-multiple-non-closed.png Binary files differnew file mode 100644 index 00000000..f4332e36 --- /dev/null +++ b/tests/ref/curve-multiple-non-closed.png diff --git a/tests/suite/visualize/curve.typ b/tests/suite/visualize/curve.typ index f98f634a..14a1c0cc 100644 --- a/tests/suite/visualize/curve.typ +++ b/tests/suite/visualize/curve.typ @@ -38,6 +38,16 @@ curve.close(mode: "smooth"), ) +--- curve-multiple-non-closed --- +#curve( + stroke: 2pt, + curve.line((20pt, 0pt)), + curve.move((0pt, 10pt)), + curve.line((20pt, 10pt)), + curve.move((0pt, 20pt)), + curve.line((20pt, 20pt)), +) + --- curve-line --- #curve( fill: purple, |
