fixed a bug with anticlockwise arcs

This commit is contained in:
Thomas Friedel 2018-02-06 11:33:20 +01:00
parent e5bdee1d67
commit 9b5004d6b9

View file

@ -95,10 +95,17 @@ func (cv *Canvas) Arc(x, y, radius, startAngle, endAngle float32, anticlockwise
if step > 0.8 {
step = 0.8
}
if anticlockwise {
for a := startAngle; a > endAngle; a -= step {
s, c := fmath.Sincos(a)
cv.LineTo(x+radius*c, y+radius*s)
}
} else {
for a := startAngle; a < endAngle; a += step {
s, c := fmath.Sincos(a)
cv.LineTo(x+radius*c, y+radius*s)
}
}
s, c := fmath.Sincos(endAngle)
cv.LineTo(x+radius*c, y+radius*s)
}