Skip to content

Commit 3556a89

Browse files
committed
zoom toward pointer position
1 parent cca52cd commit 3556a89

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/gui/circuitView/viewManager/viewManager.cpp

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,17 @@
66
bool ViewManager::zoom(const Event* event) {
77
const DeltaEvent* deltaEvent = event->cast<DeltaEvent>();
88
if (!deltaEvent) return false;
9+
10+
// adjust zoom level
911
viewHeight *= std::pow(2.f, -deltaEvent->getDelta());
1012
applyLimits();
13+
14+
// keep pointer position the same
15+
FPosition newPointerPosition = viewToGrid(pointerViewPosition);
16+
FVector pointerChange = newPointerPosition - pointerPosition;
17+
viewCenter -= pointerChange;
18+
applyLimits();
19+
1120
viewChanged();
1221
return true;
1322
}

0 commit comments

Comments
 (0)