diff options
Diffstat (limited to 'src/quick/items/qquickflickable_p_p.h')
-rw-r--r-- | src/quick/items/qquickflickable_p_p.h | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/src/quick/items/qquickflickable_p_p.h b/src/quick/items/qquickflickable_p_p.h index a003a69b9f..c748bb9f43 100644 --- a/src/quick/items/qquickflickable_p_p.h +++ b/src/quick/items/qquickflickable_p_p.h @@ -107,8 +107,9 @@ public: , smoothVelocity(fp), atEnd(false), atBeginning(true) , transitionToSet(false) , fixingUp(false), inOvershoot(false), inRebound(false), moving(false), flicking(false) - , dragging(false), extentsChanged(false) + , flickingWhenDragBegan(false), dragging(false), extentsChanged(false) , explicitValue(false), minExtentDirty(true), maxExtentDirty(true) + , contentPositionChangedExternallyDuringDrag(false) , unused(0) {} @@ -119,6 +120,7 @@ public: dragStartOffset = 0; fixingUp = false; inOvershoot = false; + contentPositionChangedExternallyDuringDrag = false; } void markExtentsDirty() { @@ -156,20 +158,22 @@ public: int vTime; QQuickFlickablePrivate::Velocity smoothVelocity; QPODVector<qreal,10> velocityBuffer; - bool atEnd : 1; - bool atBeginning : 1; - bool transitionToSet : 1; - bool fixingUp : 1; - bool inOvershoot : 1; - bool inRebound : 1; - bool moving : 1; - bool flicking : 1; - bool dragging : 1; - bool extentsChanged : 1; - bool explicitValue : 1; - mutable bool minExtentDirty : 1; - mutable bool maxExtentDirty : 1; - uint unused : 19; + uint atEnd : 1; + uint atBeginning : 1; + uint transitionToSet : 1; + uint fixingUp : 1; + uint inOvershoot : 1; + uint inRebound : 1; + uint moving : 1; + uint flicking : 1; + uint flickingWhenDragBegan : 1; + uint dragging : 1; + uint extentsChanged : 1; + uint explicitValue : 1; + mutable uint minExtentDirty : 1; + mutable uint maxExtentDirty : 1; + uint contentPositionChangedExternallyDuringDrag : 1; + uint unused : 17; }; bool flickX(qreal velocity); @@ -195,7 +199,7 @@ public: void setViewportX(qreal x); void setViewportY(qreal y); - qreal overShootDistance(qreal size) const; + qreal overShootDistance(qreal velocity) const; void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &) override; @@ -256,7 +260,7 @@ public: QQuickFlickable::BoundsMovement boundsMovement; QQuickTransition *rebound; - void viewportAxisMoved(AxisData &data, qreal minExtent, qreal maxExtent, qreal vSize, + void viewportAxisMoved(AxisData &data, qreal minExtent, qreal maxExtent, QQuickTimeLineCallback::Callback fixupCallback); void handlePressEvent(QPointerEvent *); @@ -268,6 +272,7 @@ public: const QVector2D &deltas, bool overThreshold, bool momentum, bool velocitySensitiveOverBounds, const QVector2D &velocity); + QVector2D firstPointLocalVelocity(QPointerEvent *event); qint64 computeCurrentTime(QInputEvent *event) const; qreal devicePixelRatio() const; @@ -278,7 +283,7 @@ public: static void data_clear(QQmlListProperty<QObject> *); }; -class QQuickFlickableVisibleArea : public QObject +class Q_QUICK_PRIVATE_EXPORT QQuickFlickableVisibleArea : public QObject { Q_OBJECT |