From 89c588ab206e5358544d9402fb3b44aeddf634dc Mon Sep 17 00:00:00 2001 From: Jason Barron Date: Thu, 29 Apr 2010 11:41:26 +0200 Subject: Map Symbian touch points to the screen's coordinate system. The 'iPosition' that we receive from the TAdvancedPointerEvent is relative to the origin of the window that received the event, not the screen so it needs to mapped to be correct. Reviewed-by: Bradley T. Hughes --- src/gui/kernel/qapplication_s60.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 7087b47..2bd29fc 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -440,7 +440,7 @@ void QSymbianControl::translateAdvancedPointerEvent(const TAdvancedPointerEvent state |= Qt::TouchPointPrimary; touchPoint.setState(state); - QPointF screenPos = QPointF(event->iPosition.iX, event->iPosition.iY); + QPointF screenPos = qwidget->mapToGlobal(QPoint(event->iPosition.iX, event->iPosition.iY)); touchPoint.setScreenPos(screenPos); touchPoint.setNormalizedPos(QPointF(screenPos.x() / screenGeometry.width(), screenPos.y() / screenGeometry.height())); -- cgit v0.12