From 0ee675cb0975cc7c19df77f88245f0402169fb0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergi=20Mart=C3=ADnez?= Date: Tue, 5 May 2020 18:42:14 +0200 Subject: [PATCH] Same increment for arc filling and path The current calculation of radial increment is different for arc filling and drawing, making it very different in case of a low `curveStepCount` This change copies the increment calculation from drawing to filling for a better adjustment. --- src/renderer.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer.ts b/src/renderer.ts index b19ccc9..c2c92c0 100644 --- a/src/renderer.ts +++ b/src/renderer.ts @@ -201,7 +201,7 @@ export function patternFillArc(x: number, y: number, width: number, height: numb strt = 0; stp = Math.PI * 2; } - const increment = (stp - strt) / o.curveStepCount; + const increment = Math.min(Math.PI / o.curveStepCount, (stp - strt) / 2); const points: Point[] = []; for (let angle = strt; angle <= stp; angle = angle + increment) { points.push([cx + rx * Math.cos(angle), cy + ry * Math.sin(angle)]); @@ -449,4 +449,4 @@ function _bezierTo(x1: number, y1: number, x2: number, y2: number, x: number, y: }); } return ops; -} \ No newline at end of file +}