From 7bfdafb7b15d33a06465a0c1f6d5f74f349ad5b5 Mon Sep 17 00:00:00 2001 From: Sebastien Binet Date: Sun, 3 Jan 2021 12:14:37 +0000 Subject: [PATCH] gpu: handle closure test for stroked path Signed-off-by: Sebastien Binet --- gpu/stroke.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gpu/stroke.go b/gpu/stroke.go index 031252f2..d75ef325 100644 --- a/gpu/stroke.go +++ b/gpu/stroke.go @@ -232,6 +232,20 @@ func (qs strokeQuads) offset(hw float32, stroke clip.StrokeStyle) (rhs, lhs stro } func (qs *strokeQuads) close() { + p0 := (*qs)[len(*qs)-1].quad.To + p1 := (*qs)[0].quad.From + + if p1 == p0 { + return + } + + *qs = append(*qs, strokeQuad{ + quad: ops.Quad{ + From: p0, + Ctrl: p0.Add(p1).Mul(0.5), + To: p1, + }, + }) } // ccw returns whether the path is counter-clockwise.