4#ifndef QQUICKFLICKABLE_P_P_H
5#define QQUICKFLICKABLE_P_P_H
22#include <QtQml/qqml.h>
23#include <QtCore/qdatetime.h>
24#include "qplatformdefs.h"
26#include <private/qquicktimeline_p_p.h>
27#include <private/qquickanimation_p_p.h>
28#include <private/qquicktransitionmanager_p_p.h>
29#include <private/qpodvector_p.h>
66 , viewSize(-1), lastPos(0), previousDragDelta(0), velocity(0), startMargin(0), endMargin(0)
67 , origin(0), overshoot(0)
69 , continuousFlickVelocity(0), velocityTime(), vTime(0)
70 , smoothVelocity(
fp), atEnd(
false), atBeginning(true)
71 , transitionToSet(
false)
74 , explicitValue(
false), minExtentDirty(true), maxExtentDirty(true)
75 , contentPositionChangedExternallyDuringDrag(
false)
82 velocityBuffer.clear();
86 contentPositionChangedExternallyDuringDrag =
false;
90 minExtentDirty =
true;
91 maxExtentDirty =
true;
92 extentsChanged =
true;
97 transitionToSet =
false;
100 void addVelocitySample(
qreal v,
qreal maxVelocity);
101 void updateVelocity();
147 void flickingStarted(
bool flickingH,
bool flickingV);
151 virtual void fixup(AxisData &
data,
qreal minExtent,
qreal maxExtent);
152 void adjustContentPos(AxisData &
data,
qreal toPos);
153 void resetTimeline(AxisData &
data);
154 void clearTimeline();
156 void updateBeginningEnd();
160 void clearDelayedPress();
161 void replayDelayedPress();
163 void setViewportX(
qreal x);
164 void setViewportY(
qreal y);
166 qreal overShootDistance(
qreal velocity)
const;
170 void draggingStarting();
171 void draggingEnding();
173 bool isViewMoving()
const;
175 void cancelInteraction();
218 static void fixupY_callback(
void *);
219 static void fixupX_callback(
void *);
221 void updateVelocity();
237 void maybeBeginDrag(
qint64 currentTimestamp,
const QPointF &pressPosn);
239 const QVector2D &deltas,
bool overThreshold,
bool momentum,
240 bool velocitySensitiveOverBounds,
const QVector2D &velocity);
244 qreal devicePixelRatio()
const;
257 Q_PROPERTY(
qreal xPosition READ xPosition NOTIFY xPositionChanged FINAL)
258 Q_PROPERTY(
qreal yPosition READ yPosition NOTIFY yPositionChanged FINAL)
259 Q_PROPERTY(
qreal widthRatio READ widthRatio NOTIFY widthRatioChanged FINAL)
260 Q_PROPERTY(
qreal heightRatio READ heightRatio NOTIFY heightRatioChanged FINAL)
267 qreal xPosition()
const;
268 qreal widthRatio()
const;
269 qreal yPosition()
const;
270 qreal heightRatio()
const;
272 void updateVisible();
Type
This enum type defines the valid event types in Qt.
\inmodule QtCore\reentrant
A base class for pointer events.
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
virtual bool wantsPointerEvent(const QPointerEvent *)
qreal initialWheelFlickDistance
QQuickFlickable::BoundsMovement boundsMovement
QQuickTransition * rebound
static QQuickFlickablePrivate * get(QQuickFlickable *o)
QQuickFlickable::FlickableDirection flickableDirection
QVector2D accumulatedWheelPixelDelta
QQuickTimeLine velocityTimeline
QPointerEvent * delayedPressEvent
QQuickFlickableVisibleArea * visibleArea
QQuickFlickable::BoundsBehavior boundsBehavior
QBasicTimer delayedPressTimer
void yPositionChanged(qreal yPosition)
void heightRatioChanged(qreal heightRatio)
void widthRatioChanged(qreal widthRatio)
void xPositionChanged(qreal xPosition)
virtual void itemGeometryChanged(QQuickItem *, QQuickGeometryChange, const QRectF &)
static void data_clear(QQmlListProperty< QObject > *)
void init(QQuickItem *parent)
static qsizetype data_count(QQmlListProperty< QObject > *)
\qmlproperty list<QtObject> QtQuick::Item::data \qmldefault
static QObject * data_at(QQmlListProperty< QObject > *, qsizetype)
virtual void addPointerHandler(QQuickPointerHandler *h)
static void data_append(QQmlListProperty< QObject > *, QObject *)
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
The QQuickTimeLineValue class provides a value that can be modified by QQuickTimeLine.
virtual void setValue(qreal v)
Set the current value.
The QQuickTimeLine class provides a timeline for controlling animations.
\inmodule QtCore\reentrant
The QVector2D class represents a vector or vertex in 2D space.
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]
GLint GLint GLint GLint GLint x
[0]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLfloat GLfloat GLfloat GLfloat h
#define QML_DECLARE_TYPE(TYPE)
#define QML_ADDED_IN_VERSION(MAJOR, MINOR)
uint flickingWhenDragBegan
AxisData(QQuickFlickablePrivate *fp, void(QQuickFlickablePrivate::*func)(qreal))
QQuickFlickableReboundTransition * transitionToBounds
uint contentPositionChangedExternallyDuringDrag
QPODVector< qreal, 10 > velocityBuffer
qreal continuousFlickVelocity
QQuickFlickablePrivate::Velocity smoothVelocity
QQuickTimeLineValueProxy< QQuickFlickablePrivate > move
QElapsedTimer velocityTime
QQuickFlickablePrivate * parent
void setValue(qreal v) override
Set the current value.
Velocity(QQuickFlickablePrivate *p)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent