Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qscrollerproperties.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QSCROLLERPROPERTIES_H
6#define QSCROLLERPROPERTIES_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtCore/QScopedPointer>
10#include <QtCore/QMetaType>
11#include <QtCore/QVariant>
12
14
15QT_BEGIN_NAMESPACE
16
17
18class QScroller;
20class QScrollerPropertiesPrivate;
21
22class Q_WIDGETS_EXPORT QScrollerProperties
23{
24public:
25 QScrollerProperties();
26 QScrollerProperties(const QScrollerProperties &sp);
27 QScrollerProperties &operator=(const QScrollerProperties &sp);
28 virtual ~QScrollerProperties();
29
30 bool operator==(const QScrollerProperties &sp) const;
31 bool operator!=(const QScrollerProperties &sp) const;
32
33 static void setDefaultScrollerProperties(const QScrollerProperties &sp);
34 static void unsetDefaultScrollerProperties();
35
36 enum OvershootPolicy
37 {
38 OvershootWhenScrollable,
39 OvershootAlwaysOff,
40 OvershootAlwaysOn
41 };
42
43 enum FrameRates {
44 Standard,
45 Fps60,
46 Fps30,
47 Fps20
48 };
49
50 enum ScrollMetric
51 {
52 MousePressEventDelay, // qreal [s]
53 DragStartDistance, // qreal [m]
54 DragVelocitySmoothingFactor, // qreal [0..1/s] (complex calculation involving time) v = v_new* DASF + v_old * (1-DASF)
55 AxisLockThreshold, // qreal [0..1] atan(|min(dx,dy)|/|max(dx,dy)|)
56
57 ScrollingCurve, // QEasingCurve
58 DecelerationFactor, // slope of the curve
59
60 MinimumVelocity, // qreal [m/s]
61 MaximumVelocity, // qreal [m/s]
62 MaximumClickThroughVelocity, // qreal [m/s]
63
64 AcceleratingFlickMaximumTime, // qreal [s]
65 AcceleratingFlickSpeedupFactor, // qreal [1..]
66
67 SnapPositionRatio, // qreal [0..1]
68 SnapTime, // qreal [s]
69
70 OvershootDragResistanceFactor, // qreal [0..1]
71 OvershootDragDistanceFactor, // qreal [0..1]
72 OvershootScrollDistanceFactor, // qreal [0..1]
73 OvershootScrollTime, // qreal [s]
74
75 HorizontalOvershootPolicy, // enum OvershootPolicy
76 VerticalOvershootPolicy, // enum OvershootPolicy
77 FrameRate, // enum FrameRates
78
79 ScrollMetricCount
80 };
81
82 QVariant scrollMetric(ScrollMetric metric) const;
83 void setScrollMetric(ScrollMetric metric, const QVariant &value);
84
85protected:
86 QScopedPointer<QScrollerPropertiesPrivate> d;
87
88private:
89 QScrollerProperties(QScrollerPropertiesPrivate &dd);
90
91 friend class QScrollerPropertiesPrivate;
92 friend class QScroller;
93 friend class QScrollerPrivate;
94};
95
96QT_END_NAMESPACE
97
98QT_DECL_METATYPE_EXTERN_TAGGED(QScrollerProperties::OvershootPolicy,
99 QScrollerProperties__OvershootPolicy, Q_WIDGETS_EXPORT)
100QT_DECL_METATYPE_EXTERN_TAGGED(QScrollerProperties::FrameRates,
101 QScrollerProperties__FrameRates, Q_WIDGETS_EXPORT)
102
103#endif // QSCROLLERPROPERTIES_H
The QScrollerProperties class stores the settings for a QScroller.
Q_STATIC_LOGGING_CATEGORY(lcAccessibilityCore, "qt.accessibility.core")
QT_REQUIRE_CONFIG(animation)
bool qt_sendSpontaneousEvent(QObject *, QEvent *)
QMatrix4x4 operator*(const QMatrix4x4 &m1, const QMatrix4x4 &m2)
Definition qmatrix4x4.h:609
#define Q_INFINITY
Definition qnumeric.h:94
#define Q_QNAN
Definition qnumeric.h:98
QPointF clampToRect(const QPointF &p, const QRectF &rect)
Definition qscroller.cpp:96
bool operator<=(const QPointF &p, qreal f)
Definition qscroller.cpp:55
int qSign(qreal r)
bool operator>=(const QPointF &p, qreal f)
Definition qscroller.cpp:67
bool operator>(const QPointF &p, qreal f)
Definition qscroller.cpp:73
QMap< QObject *, QScroller * > ScrollerHash
static qreal progressForValue(const QEasingCurve &curve, qreal value)
QPointF operator/(const QPointF &p1, const QPointF &p2)
Definition qscroller.cpp:91
bool operator<(const QPointF &p, qreal f)
Definition qscroller.cpp:61
QPointF qAbs(const QPointF &p)
Definition qscroller.cpp:79
static qreal differentialForProgress(const QEasingCurve &curve, qreal pos)
QScroller * scroller