Skip to content

Commit 09c24d6

Browse files
committed
Fix: properly follow scale when moving axes with the mouse
So the mouse always keeps the same coordinates during the move
1 parent c431ed2 commit 09c24d6

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/GraphDraw/interactivegraph.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -341,11 +341,11 @@ void InteractiveGraph::scaleView(const QRect &refSheetRect)
341341

342342
pixelRatio = window()->effectiveDevicePixelRatio();
343343

344-
inversePixelRatioTransform.reset();
345-
inversePixelRatioTransform.scale(1./pixelRatio, 1./pixelRatio);
344+
inverseScaledTransform.reset();
345+
inverseScaledTransform.scale(1./totalScaleFactor*pixelRatio, 1./totalScaleFactor*pixelRatio);
346346

347347
qDebug() << "Painter scaled back window (before scaling): "
348-
<< inversePixelRatioTransform.mapRect(painter->window());
348+
<< inverseScaledTransform.mapRect(painter->window());
349349

350350
qDebug() << "Pixel ratio: " << pixelRatio;
351351

@@ -401,7 +401,7 @@ void InteractiveGraph::mousePressEvent(QMouseEvent *event)
401401

402402
if (moveType != NOTHING)
403403
{
404-
lastMousePos = inversePixelRatioTransform.map(event->pos());
404+
lastMousePos = inverseScaledTransform.map(event->pos());
405405
event->accept();
406406
}
407407
}
@@ -423,7 +423,7 @@ void InteractiveGraph::mouseMoveEvent(QMouseEvent *event)
423423
else
424424
setCursor(Qt::ArrowCursor);
425425

426-
lastMousePos = inverseWorldTransform.map(event->pos());
426+
lastMousePos = inverseScaledTransform.map(event->pos());
427427
}
428428
else
429429
{
@@ -455,7 +455,7 @@ void InteractiveGraph::mouseMoveEvent(QMouseEvent *event)
455455
update();
456456
};
457457

458-
QPoint pos = inversePixelRatioTransform.map(event->pos());
458+
QPoint pos = inverseScaledTransform.map(event->pos());
459459

460460
qDebug() << "Graph size: " << size();
461461
qDebug() << "Mouse position: " << pos;

src/GraphDraw/interactivegraph.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public slots:
103103
ZeSizeSettings sizeSettings;
104104
ZeZoomSettings zoomSettings;
105105

106-
QTransform worldTransform, inverseWorldTransform, inversePixelRatioTransform;
106+
QTransform worldTransform, inverseWorldTransform, inverseScaledTransform;
107107

108108
QRectF relFigRect;
109109
QRect topLeft, topRight, top, left, right, bottom, bottomLeft, bottomRight;

0 commit comments

Comments
 (0)