diff --git a/packages/graphics/src/utils/buildCircle.js b/packages/graphics/src/utils/buildCircle.js index 2630361..00e97f8 100644 --- a/packages/graphics/src/utils/buildCircle.js +++ b/packages/graphics/src/utils/buildCircle.js @@ -52,8 +52,8 @@ for (let i = 0; i < totalSegs; i++) { points.push( - x + (Math.sin(seg * i) * width), - y + (Math.cos(seg * i) * height) + x + (Math.sin(-seg * i) * width), + y + (Math.cos(-seg * i) * height) ); } diff --git a/packages/graphics/src/utils/buildCircle.js b/packages/graphics/src/utils/buildCircle.js index 2630361..00e97f8 100644 --- a/packages/graphics/src/utils/buildCircle.js +++ b/packages/graphics/src/utils/buildCircle.js @@ -52,8 +52,8 @@ for (let i = 0; i < totalSegs; i++) { points.push( - x + (Math.sin(seg * i) * width), - y + (Math.cos(seg * i) * height) + x + (Math.sin(-seg * i) * width), + y + (Math.cos(-seg * i) * height) ); } diff --git a/packages/graphics/src/utils/buildRoundedRectangle.js b/packages/graphics/src/utils/buildRoundedRectangle.js index 356d450..4e4c84b 100644 --- a/packages/graphics/src/utils/buildRoundedRectangle.js +++ b/packages/graphics/src/utils/buildRoundedRectangle.js @@ -26,11 +26,22 @@ points.length = 0; - points.push(x, y + radius); - quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, points); - quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, points); - quadraticBezierCurve(x + width, y + radius, x + width, y, x + width - radius, y, points); - quadraticBezierCurve(x + radius, y, x, y, x, y + radius + 0.0000000001, points); + quadraticBezierCurve(x, y + radius, + x, y, + x + radius, y, + points); + quadraticBezierCurve(x + width - radius, + y, x + width, y, + x + width, y + radius, + points); + quadraticBezierCurve(x + width, y + height - radius, + x + width, y + height, + x + width - radius, y + height, + points); + quadraticBezierCurve(x + radius, y + height, + x, y + height, + x, y + height - radius, + points); // this tiny number deals with the issue that occurs when points overlap and earcut fails to triangulate the item. // TODO - fix this properly, this is not very elegant.. but it works for now.