Skip to content

Commit 435945b

Browse files
committed
888: use scale factors in polar too for performance
1 parent 94f685f commit 435945b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/plots/polar/polar.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,10 @@ proto.updateMainDrag = function(fullLayout) {
678678
var chw = constants.cornerHalfWidth;
679679
var chl = constants.cornerLen / 2;
680680

681+
var m = gd._fullLayout._inverseTransform;
682+
var scaleX = Math.sqrt(m[0][0] * m[0][0] + m[0][1] * m[0][1]);
683+
var scaleY = Math.sqrt(m[1][0] * m[1][0] + m[1][1] * m[1][1]);
684+
681685
var mainDrag = dragBox.makeDragger(layers, 'path', 'maindrag', 'crosshair');
682686

683687
d3.select(mainDrag)
@@ -838,10 +842,8 @@ proto.updateMainDrag = function(fullLayout) {
838842

839843
function zoomMove(dx, dy) {
840844

841-
var inverse = gd._fullLayout._inverseTransform;
842-
var transformedDelta = Lib.apply3DTransform(inverse)(dx, dy);
843-
dx = transformedDelta[0];
844-
dy = transformedDelta[1];
845+
dx = dx * scaleX;
846+
dy = dy * scaleY;
845847

846848
var x1 = x0 + dx;
847849
var y1 = y0 + dy;

0 commit comments

Comments
 (0)