summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorBjørn Erik Nilsen <bjorn.nilsen@nokia.com>2011-09-19 18:47:20 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-19 18:56:32 +0200
commit3803111692b58bd0bb96878d8e2442a38e16b8ef (patch)
treebe206ee765307205cf35669ee38d9e5de8556d6d /src/plugins
parent4a34b671f8f423fd4904e3947a3590d2088fb438 (diff)
Cocoa platform plugin: Reduce multitouch area to be one pixel.
Mac only support multitouch points, hence width/height 1. Also add comment about performance related to multitouch events. Change-Id: I307261492366e361e17f9edf446f456c07c87a22 Reviewed-on: http://codereview.qt-project.org/5162 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Bjørn Erik Nilsen <bjorn.nilsen@nokia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/cocoa/qcocoawindow.mm4
-rw-r--r--src/plugins/platforms/cocoa/qmultitouch_mac.mm3
2 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 00016cb9d1..0c0a3ea73e 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -90,7 +90,9 @@ QCocoaWindow::QCocoaWindow(QWindow *tlw)
m_contentView = [[QNSView alloc] initWithQWindow:tlw];
- // Accept touch events by default.
+ // ### Accept touch events by default.
+ // Beware that enabling touch events has a negative impact on the overall performance.
+ // We probably need a QWindowSystemInterface API to enable/disable touch events.
[m_contentView setAcceptsTouchEvents:YES];
setGeometry(tlw->geometry());
diff --git a/src/plugins/platforms/cocoa/qmultitouch_mac.mm b/src/plugins/platforms/cocoa/qmultitouch_mac.mm
index 33ca282009..f44c6a301e 100644
--- a/src/plugins/platforms/cocoa/qmultitouch_mac.mm
+++ b/src/plugins/platforms/cocoa/qmultitouch_mac.mm
@@ -91,7 +91,8 @@ void QCocoaTouch::updateTouchData(NSTouch *nstouch, NSTouchPhase phase)
float ppiX = (qnpos.x() - _trackpadReferencePos.x()) * dsize.width;
float ppiY = (qnpos.y() - _trackpadReferencePos.y()) * dsize.height;
QPointF relativePos = _trackpadReferencePos - QPointF(ppiX, ppiY);
- _touchPoint.area = QRectF(_screenReferencePos - relativePos, QSize(dsize.width, dsize.height));
+ // Mac does not support area touch, only points, hence set width/height to 1.
+ _touchPoint.area = QRectF(_screenReferencePos - relativePos, QSize(1, 1));
}
QCocoaTouch *QCocoaTouch::findQCocoaTouch(NSTouch *nstouch)