From: GiWoong Kim Date: Thu, 15 Oct 2015 09:47:07 +0000 (+0900) Subject: multi-touch: improved re-touch decision for touch point X-Git-Tag: Tizen_Studio_1.3_Release_p2.3.2~224 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fb6f0a8a01d448fc3104f3fd050d4dbef3688cdd;p=sdk%2Femulator%2Fqemu.git multi-touch: improved re-touch decision for touch point To get more precise distincion for re-touch points, shape of decision region need to change to circular from rectangle. It makes reduce a gap between mouse event area(decision region) and point appearance. Change-Id: I6e47a0d3a8c1bd45ba0df124cf744573fffe41dd Signed-off-by: GiWoong Kim --- diff --git a/tizen/src/ui/input/multitouchtracker.cpp b/tizen/src/ui/input/multitouchtracker.cpp index edb6ce8d7a..690424e83b 100644 --- a/tizen/src/ui/input/multitouchtracker.cpp +++ b/tizen/src/ui/input/multitouchtracker.cpp @@ -27,10 +27,7 @@ * */ -#include -#include -#include -#include +#include #include "qt5_supplement.h" #include "multitouchtracker.h" @@ -166,7 +163,14 @@ TouchPoint *MultiTouchTracker::searchTouchPoint(QPoint targetPos) targetPos.x() < point->getHostPos().x() + pointRadius && targetPos.y() >= point->getHostPos().y() - pointRadius && targetPos.y() < point->getHostPos().y() + pointRadius) { - return point; + + /* more precise distinction with circular region */ + qreal distance = qSqrt( + qPow(targetPos.x() - point->getHostPos().x(), 2) + + qPow(targetPos.y() - point->getHostPos().y(), 2)); + if (distance <= pointRadius) { + return point; + } } } }