From cce4cde98b68f15075b18c6011e1a56861094938 Mon Sep 17 00:00:00 2001 From: Smie Date: Sat, 21 Jan 2017 13:12:50 -0700 Subject: [PATCH] Corrects Circle tool for even dimensions. --- src/js/tools/drawing/Circle.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/js/tools/drawing/Circle.js b/src/js/tools/drawing/Circle.js index 787ec700..a41f302e 100644 --- a/src/js/tools/drawing/Circle.js +++ b/src/js/tools/drawing/Circle.js @@ -29,6 +29,8 @@ var coords = pskl.PixelUtils.getOrderedRectangleCoordinates(x0, y0, x1, y1); var xC = Math.round((coords.x0 + coords.x1) / 2); var yC = Math.round((coords.y0 + coords.y1) / 2); + var evenX = (coords.x0 + coords.x1) % 2; + var evenY = (coords.y0 + coords.y1) % 2; var rX = coords.x1 - xC; var rY = coords.y1 - yC; @@ -54,9 +56,9 @@ r < rX * rY / Math.sqrt(rY * rY * Math.pow(Math.cos(angle), 2) + rX * rX * Math.pow(Math.sin(angle), 2)) + 0.5) { pixels.push([xC + x, yC + y]); - pixels.push([xC - x, yC + y]); - pixels.push([xC + x, yC - y]); - pixels.push([xC - x, yC - y]); + pixels.push([xC - x - evenX, yC + y]); + pixels.push([xC + x, yC - y - evenY]); + pixels.push([xC - x - evenX, yC - y - evenY]); } } }