diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-03-01 09:01:12 +0100 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-09 10:29:23 +0100 |
commit | 86abc878832db67da87b9fe34faa4bc8d71446b0 (patch) | |
tree | 712447ed71125435496a81480e0830f78db26033 /src/gui/kernel | |
parent | 73a5ce5195bc27acf02d787787a69ec493c037c2 (diff) |
{QTouchEvent,QWindowSystemInterface}::TouchPoint: replace QList<QPointF> with QVector
QPointF is in the category of types for which QList
is needlessly inefficient (elements are copy-constructed
onto the heap and held through pointers). Use a vector
instead. This is consistent with the QPainter API.
Change-Id: Ie3d6647e05b40a33a7bb0598cbbcde4676e00836
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r-- | src/gui/kernel/qevent.cpp | 7 | ||||
-rw-r--r-- | src/gui/kernel/qevent.h | 4 | ||||
-rw-r--r-- | src/gui/kernel/qevent_p.h | 2 | ||||
-rw-r--r-- | src/gui/kernel/qwindowsysteminterface_qpa.h | 2 |
4 files changed, 8 insertions, 7 deletions
diff --git a/src/gui/kernel/qevent.cpp b/src/gui/kernel/qevent.cpp index 7b84f4a982..adf5f66679 100644 --- a/src/gui/kernel/qevent.cpp +++ b/src/gui/kernel/qevent.cpp @@ -3863,10 +3863,11 @@ QTouchEvent::TouchPoint::InfoFlags QTouchEvent::TouchPoint::flags() const } /*! + \since 5.0 Returns the raw, unfiltered positions for the touch point. The positions are in native screen coordinates. To get local coordinates you can use mapFromGlobal() of the QWindow returned by QTouchEvent::window(). - \note Returns an empty list if the touch device's capabilities do not include QTouchDevice::RawPositions. + \note Returns an empty vector if the touch device's capabilities do not include QTouchDevice::RawPositions. \note Native screen coordinates refer to the native orientation of the screen which, in case of mobile devices, is typically portrait. This means that on systems capable of screen orientation @@ -3875,7 +3876,7 @@ QTouchEvent::TouchPoint::InfoFlags QTouchEvent::TouchPoint::flags() const \sa QTouchDevice::capabilities(), device(), window() */ -QList<QPointF> QTouchEvent::TouchPoint::rawScreenPositions() const +QVector<QPointF> QTouchEvent::TouchPoint::rawScreenPositions() const { return d->rawScreenPositions; } @@ -4033,7 +4034,7 @@ void QTouchEvent::TouchPoint::setVelocity(const QVector2D &v) } /*! \internal */ -void QTouchEvent::TouchPoint::setRawScreenPositions(const QList<QPointF> &positions) +void QTouchEvent::TouchPoint::setRawScreenPositions(const QVector<QPointF> &positions) { if (d->ref.load() != 1) d = d->detach(); diff --git a/src/gui/kernel/qevent.h b/src/gui/kernel/qevent.h index 7c871b0dda..a7dce43f72 100644 --- a/src/gui/kernel/qevent.h +++ b/src/gui/kernel/qevent.h @@ -753,7 +753,7 @@ public: qreal pressure() const; QVector2D velocity() const; InfoFlags flags() const; - QList<QPointF> rawScreenPositions() const; + QVector<QPointF> rawScreenPositions() const; // internal void setId(int id); @@ -776,7 +776,7 @@ public: void setPressure(qreal pressure); void setVelocity(const QVector2D &v); void setFlags(InfoFlags flags); - void setRawScreenPositions(const QList<QPointF> &positions); + void setRawScreenPositions(const QVector<QPointF> &positions); private: QTouchEventTouchPointPrivate *d; diff --git a/src/gui/kernel/qevent_p.h b/src/gui/kernel/qevent_p.h index 3f354c14e4..4c639f4eef 100644 --- a/src/gui/kernel/qevent_p.h +++ b/src/gui/kernel/qevent_p.h @@ -107,7 +107,7 @@ public: qreal pressure; QVector2D velocity; QTouchEvent::TouchPoint::InfoFlags flags; - QList<QPointF> rawScreenPositions; + QVector<QPointF> rawScreenPositions; }; class QFileOpenEventPrivate diff --git a/src/gui/kernel/qwindowsysteminterface_qpa.h b/src/gui/kernel/qwindowsysteminterface_qpa.h index 6dae11ea81..040f62e763 100644 --- a/src/gui/kernel/qwindowsysteminterface_qpa.h +++ b/src/gui/kernel/qwindowsysteminterface_qpa.h @@ -98,7 +98,7 @@ public: Qt::TouchPointState state; //Qt::TouchPoint{Pressed|Moved|Stationary|Released} QVector2D velocity; // in screen coordinate system, pixels / seconds QTouchEvent::TouchPoint::InfoFlags flags; - QList<QPointF> rawPositions; // in screen coordinates + QVector<QPointF> rawPositions; // in screen coordinates }; static void registerTouchDevice(QTouchDevice *device); |