Close all subpaths right before filling them.

Closes #269.
This commit is contained in:
Patrick Walton 2020-03-27 14:50:02 -07:00
parent c258616bad
commit 7b53cc6731
2 changed files with 7 additions and 0 deletions

View File

@ -226,6 +226,11 @@ impl Outline {
self.push_contour(ContourRectClipper::new(clip_rect, contour).clip());
}
}
#[inline]
pub fn close_all_contours(&mut self) {
self.contours.iter_mut().for_each(|contour| contour.close());
}
}
impl Debug for Outline {

View File

@ -138,6 +138,7 @@ impl Scene {
outline = Outline::new();
} else {
outline = (*original_outline).clone();
outline.close_all_contours();
outline.clip_against_polygon(clip_polygon);
outline.apply_perspective(perspective);
@ -147,6 +148,7 @@ impl Scene {
_ => {
// TODO(pcwalton): Short circuit.
outline = (*original_outline).clone();
outline.close_all_contours();
if options.transform.is_2d() || options.subpixel_aa_enabled {
let mut transform = match options.transform {
PreparedRenderTransform::Transform2D(transform) => transform,