[TD]use QGraphicsView anchor for zoom

This commit is contained in:
wandererfan
2022-09-15 10:07:04 -04:00
committed by WandererFan
parent bcbf1dc67b
commit bb6812a0f9
2 changed files with 1 additions and 8 deletions

View File

@@ -287,13 +287,9 @@ void QGVNavStyle::handleWheelEvent(QWheelEvent *event)
void QGVNavStyle::zoom(double factor)
{
QPoint center = getViewer()->viewport()->rect().center();
setAnchor();
getViewer()->scale(factor,
factor);
QPoint newCenter = getViewer()->viewport()->rect().center();
QPoint change = newCenter - center;
getViewer()->translate(change.x(), change.y());
m_zoomPending = false;
}

View File

@@ -47,14 +47,12 @@ void QGVNavStyleTouchpad::handleKeyPressEvent(QKeyEvent *event)
{
// Q_UNUSED(event)
if (event->key() == Qt::Key_PageUp) {
setAnchor();
zoom(1.0 + zoomStep);
event->accept();
return;
}
if (event->key() == Qt::Key_PageDown) {
setAnchor();
zoom(1.0 - zoomStep);
event->accept();
return;
@@ -101,7 +99,6 @@ void QGVNavStyleTouchpad::handleMouseMoveEvent(QMouseEvent *event)
QGuiApplication::keyboardModifiers().testFlag(Qt::ShiftModifier) ) {
//if control and shift are down, then we are zooming
if (zoomingActive) {
setAnchor();
zoom(mouseZoomFactor(event->pos()));
} else {
startZoom(event->pos());