From c8b7e9cceeb97081a15c4cb532988aa5366d8ec7 Mon Sep 17 00:00:00 2001 From: Azgaar Date: Sat, 18 Sep 2021 15:01:33 +0300 Subject: [PATCH] markers - round coords on zoom --- main.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/main.js b/main.js index 6037e5ca..2690346b 100644 --- a/main.js +++ b/main.js @@ -2,7 +2,7 @@ // https://github.com/Azgaar/Fantasy-Map-Generator "use strict"; -const version = "1.661"; // generator version +const version = "1.662"; // generator version document.title += " v" + version; // Switches to disable/enable logging features @@ -493,15 +493,12 @@ function invokeActiveZooming() { // rescale map markers if (+markers.attr("rescale") && markers.style("display") !== "none") { markers.selectAll("use").each(function () { - const x = +this.dataset.x, - y = +this.dataset.y, - desired = +this.dataset.size; - const size = Math.max(desired * 5 + 25 / scale, 1); - d3.select(this) - .attr("x", x - size / 2) - .attr("y", y - size) - .attr("width", size) - .attr("height", size); + const {x, y, size} = this.dataset; + const actualSize = Math.max(rn(size * 5 + 25 / scale, 2), 1); + const actualX = rn(Number(x) - actualSize / 2, 2); + const actualY = rn(Number(y) - actualSize, 2); + + d3.select(this).attr("x", actualX).attr("y", actualY).attr("width", actualSize).attr("height", actualSize); }); }