summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable.cpp14
-rw-r--r--src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h7
2 files changed, 18 insertions, 3 deletions
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
index ed70b14..ba17115 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp
@@ -152,7 +152,9 @@ void QmlGraphicsFlickableVisibleArea::updateVisible()
QmlGraphicsFlickablePrivate::QmlGraphicsFlickablePrivate()
- : viewport(new QmlGraphicsItem), _moveX(viewport, &QmlGraphicsItem::setX), _moveY(viewport, &QmlGraphicsItem::setY)
+ : viewport(new QmlGraphicsItem)
+ , _moveX(this, &QmlGraphicsFlickablePrivate::setRoundedViewportX)
+ , _moveY(this, &QmlGraphicsFlickablePrivate::setRoundedViewportY)
, vWidth(-1), vHeight(-1), overShoot(true), flicked(false), moving(false), stealMouse(false)
, pressed(false), atXEnd(false), atXBeginning(true), atYEnd(false), atYBeginning(true)
, interactive(true), deceleration(500), maxVelocity(2000), reportedVelocitySmoothing(100)
@@ -828,6 +830,16 @@ void QmlGraphicsFlickablePrivate::clearDelayedPress()
}
}
+void QmlGraphicsFlickablePrivate::setRoundedViewportX(qreal x)
+{
+ viewport->setX(qRound(x));
+}
+
+void QmlGraphicsFlickablePrivate::setRoundedViewportY(qreal y)
+{
+ viewport->setY(qRound(y));
+}
+
void QmlGraphicsFlickable::timerEvent(QTimerEvent *event)
{
Q_D(QmlGraphicsFlickable);
diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h b/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
index b19a08c..d59a9e4 100644
--- a/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
+++ b/src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h
@@ -82,10 +82,13 @@ public:
void captureDelayedPress(QGraphicsSceneMouseEvent *event);
void clearDelayedPress();
+ void setRoundedViewportX(qreal x);
+ void setRoundedViewportY(qreal y);
+
public:
QmlGraphicsItem *viewport;
- QmlTimeLineValueProxy<QmlGraphicsItem> _moveX;
- QmlTimeLineValueProxy<QmlGraphicsItem> _moveY;
+ QmlTimeLineValueProxy<QmlGraphicsFlickablePrivate> _moveX;
+ QmlTimeLineValueProxy<QmlGraphicsFlickablePrivate> _moveY;
QmlTimeLine timeline;
qreal vWidth;
qreal vHeight;