From 764953a6430e7707b7cc57f66ccea5b259832b33 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Tue, 31 Mar 2020 17:59:41 -0700 Subject: [PATCH] Fix counterclockwise arc drawing logic --- content/src/outline.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/src/outline.rs b/content/src/outline.rs index be176b1b..e2953743 100644 --- a/content/src/outline.rs +++ b/content/src/outline.rs @@ -420,7 +420,7 @@ impl Contour { direction: ArcDirection) { let mut direction_transform = Transform2F::default(); if direction == ArcDirection::CCW { - chord = chord.reversed(); + chord = chord.scale_xy(vec2f(1.0, -1.0)); direction_transform = Transform2F::from_scale(vec2f(1.0, -1.0)); } @@ -446,7 +446,7 @@ impl Contour { let half_sweep_vector = sweep_vector.halve_angle(); let rotation = Transform2F::from_rotation_vector(half_sweep_vector.rotate_by(vector)); - segment = segment.transform(&(*transform * rotation * direction_transform)); + segment = segment.transform(&(*transform * direction_transform * rotation)); let mut push_segment_flags = PushSegmentFlags::UPDATE_BOUNDS; if segment_index == 0 {