Cocoa: Use new 10.7 mouse wheel API.
authorMorten Johan Sorvig <morten.sorvig@nokia.com>
Mon, 12 Dec 2011 09:55:37 +0000 (10:55 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 14 Dec 2011 08:27:04 +0000 (09:27 +0100)
Silence "deprecated" warnings. Use the old API
on 10.6.

Change-Id: I0cfa3a083108618023b491589a85ddfc268f990b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
src/plugins/platforms/cocoa/qnsview.mm

index a0a5a2e..82b4e54 100644 (file)
@@ -337,9 +337,20 @@ static QTouchDevice *touchDevice = 0;
         // It looks like 1/4 degrees per pixel behaves most native.
         // (NB: Qt expects the unit for delta to be 8 per degree):
         const int pixelsToDegrees = 2; // 8 * 1/4
-        deltaX = [theEvent deviceDeltaX] * pixelsToDegrees;
-        deltaY = [theEvent deviceDeltaY] * pixelsToDegrees;
-        deltaZ = [theEvent deviceDeltaZ] * pixelsToDegrees;
+
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
+        if ([theEvent respondsToSelector:@selector(scrollingDeltaX)]) {
+            deltaX = [theEvent scrollingDeltaX] * pixelsToDegrees;
+            deltaY = [theEvent scrollingDeltaY] * pixelsToDegrees;
+            //  scrollingDeltaZ API is missing.
+        } else
+#endif
+        {
+            deltaX = [theEvent deviceDeltaX] * pixelsToDegrees;
+            deltaY = [theEvent deviceDeltaY] * pixelsToDegrees;
+            deltaZ = [theEvent deviceDeltaZ] * pixelsToDegrees;
+        }
+
     } else {
         // carbonEventKind == kEventMouseWheelMoved
         // Remove acceleration, and use either -120 or 120 as delta: