diff options
author | Bjørn Erik Nilsen <bjorn.nilsen@nokia.com> | 2011-09-19 18:47:20 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-19 18:56:32 +0200 |
commit | 3803111692b58bd0bb96878d8e2442a38e16b8ef (patch) | |
tree | be206ee765307205cf35669ee38d9e5de8556d6d /src/plugins | |
parent | 4a34b671f8f423fd4904e3947a3590d2088fb438 (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.mm | 4 | ||||
-rw-r--r-- | src/plugins/platforms/cocoa/qmultitouch_mac.mm | 3 |
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) |