MCPcopy Create free account
hub / github.com/Serial-Studio/Serial-Studio / wheelEvent

Method wheelEvent

app/src/UI/Widgets/Plot3D.cpp:1109–1123  ·  view source on GitHub ↗

* @brief Handles mouse wheel events to worldScale in or out of the 3D plot. */

Source from the content-addressed store, hash-verified

1107 * @brief Handles mouse wheel events to worldScale in or out of the 3D plot.
1108 */
1109void Widgets::Plot3D::wheelEvent(QWheelEvent* event)
1110{
1111 if (event->angleDelta().y() != 0) {
1112 event->accept();
1113
1114 const bool isTouchpad =
1115 !event->pixelDelta().isNull() || event->source() == Qt::MouseEventSynthesizedBySystem;
1116 const double zoomFactor = isTouchpad ? 1.05 : 1.06;
1117 constexpr double kInv120 = 1.0 / 120.0;
1118 const double delta = -event->angleDelta().y() * kInv120;
1119 const double factor = qPow(zoomFactor, -delta);
1120
1121 setWorldScale(worldScale() * factor);
1122 }
1123}
1124
1125/**
1126 * @brief Handles mouse movement events to rotate or pan the 3D camera.

Callers

nothing calls this directly

Calls 2

acceptMethod · 0.80
sourceMethod · 0.45

Tested by

no test coverage detected