From 3235d70b1bb3e45c3748beb7ae35b26a26904642 Mon Sep 17 00:00:00 2001 From: rr- Date: Fri, 5 Aug 2016 22:20:34 +0200 Subject: [PATCH] client/notes: make content appear at centroids Previously it used the centroid of polygon's bounding box, not the polygon's centroid. --- client/js/controls/post_notes_overlay_control.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/js/controls/post_notes_overlay_control.js b/client/js/controls/post_notes_overlay_control.js index 99855d63..ef9b293c 100644 --- a/client/js/controls/post_notes_overlay_control.js +++ b/client/js/controls/post_notes_overlay_control.js @@ -648,19 +648,19 @@ class PostNotesOverlayControl extends events.EventTarget { this._textNode.querySelector('.wrapper').innerHTML = misc.formatMarkdown(note.text); this._textNode.style.display = 'block'; - const polygonRect = note.polygonNode.getBBox(); const bodyRect = document.body.getBoundingClientRect(); const noteRect = this._textNode.getBoundingClientRect(); const svgRect = this.boundingBox; + const centroid = _getNoteCentroid(note); const x = ( -bodyRect.left + svgRect.left + - svgRect.width * (polygonRect.x + polygonRect.width / 2) - + svgRect.width * centroid.x - noteRect.width / 2); const y = ( -bodyRect.top + svgRect.top + - svgRect.height * (polygonRect.y + polygonRect.height / 2) - + svgRect.height * centroid.y - noteRect.height / 2); this._textNode.style.left = x + 'px'; this._textNode.style.top = y + 'px';