summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/ios/quiview.mm15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/plugins/platforms/ios/quiview.mm b/src/plugins/platforms/ios/quiview.mm
index 96144fbb5ee..734105a6443 100644
--- a/src/plugins/platforms/ios/quiview.mm
+++ b/src/plugins/platforms/ios/quiview.mm
@@ -378,24 +378,21 @@ inline ulong getTimeStamp(UIEvent *event)
(localViewPosition - localViewPositionI);
qreal pressure = cTouch.force / cTouch.maximumPossibleForce;
// azimuth unit vector: +x to the right, +y going downwards
- CGVector azimuth = [cTouch azimuthUnitVectorInView: self];
- // azimuthAngle given in radians, zero when the stylus points towards +x axis; converted to degrees with 0 pointing straight up
- qreal azimuthAngle = qRadiansToDegrees([cTouch azimuthAngleInView: self]) + 90;
+ CGVector azimuth = [cTouch azimuthUnitVectorInView:self];
// altitudeAngle given in radians, pi / 2 is with the stylus perpendicular to the iPad, smaller values mean more tilted, but never negative.
// Convert to degrees with zero being perpendicular.
qreal altitudeAngle = 90 - qRadiansToDegrees(cTouch.altitudeAngle);
+ qreal xTilt = qBound(-60.0, altitudeAngle * azimuth.dx, 60.0);
+ qreal yTilt = qBound(-60.0, altitudeAngle * azimuth.dy, 60.0);
qCDebug(lcQpaTablet) << i << ":" << timeStamp << localViewPosition << pressure << state << "azimuth" << azimuth.dx << azimuth.dy
- << "angle" << azimuthAngle << "altitude" << cTouch.altitudeAngle
- << "xTilt" << qBound(-60.0, altitudeAngle * azimuth.dx, 60.0) << "yTilt" << qBound(-60.0, altitudeAngle * azimuth.dy, 60.0);
+ << "altitude" << cTouch.altitudeAngle << "xTilt" << xTilt << "yTilt" << yTilt;
QWindowSystemInterface::handleTabletEvent(self.platformWindow->window(), timeStamp,
// device, local, global
iosIntegration->pencilDevice(), localViewPosition, globalScreenPosition,
// buttons
state == QEventPoint::State::Released ? Qt::NoButton : Qt::LeftButton,
- // pressure, xTilt, yTilt
- pressure, qBound(-60.0, altitudeAngle * azimuth.dx, 60.0), qBound(-60.0, altitudeAngle * azimuth.dy, 60.0),
- // tangentialPressure, rotation, z, modifiers
- 0, 0, 0, Qt::NoModifier);
+ // pressure, xTilt, yTilt, tangentialPressure, rotation, z, modifiers
+ pressure, xTilt, yTilt, 0, 0, 0, Qt::NoModifier);
++i;
}
}