diff options
-rw-r--r-- | src/declarative/graphicsitems/qmlgraphicsflickable.cpp | 14 | ||||
-rw-r--r-- | src/declarative/graphicsitems/qmlgraphicsflickable_p_p.h | 7 |
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; |