Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qquicktimeline_p_p.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
4#ifndef QQUICKTIMELINE_H
5#define QQUICKTIMELINE_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtCore/QObject>
19#include <private/qtquickglobal_p.h>
20#include "private/qabstractanimationjob_p.h"
21
23
24class QEasingCurve;
29class Q_QUICK_PRIVATE_EXPORT QQuickTimeLine : public QObject, QAbstractAnimationJob
30{
32public:
33 QQuickTimeLine(QObject *parent = nullptr);
35
36 enum SyncMode { LocalSync, GlobalSync };
37 SyncMode syncMode() const;
38 void setSyncMode(SyncMode);
39
40 void pause(QQuickTimeLineObject &, int);
41 void callback(const QQuickTimeLineCallback &);
43
44 int accel(QQuickTimeLineValue &, qreal velocity, qreal accel);
45 int accel(QQuickTimeLineValue &, qreal velocity, qreal accel, qreal maxDistance);
46 int accelDistance(QQuickTimeLineValue &, qreal velocity, qreal distance);
47
48 void move(QQuickTimeLineValue &, qreal destination, int time = 500);
49 void move(QQuickTimeLineValue &, qreal destination, const QEasingCurve &, int time = 500);
50 void moveBy(QQuickTimeLineValue &, qreal change, int time = 500);
51 void moveBy(QQuickTimeLineValue &, qreal change, const QEasingCurve &, int time = 500);
52
53 void sync();
54 void setSyncPoint(int);
55 int syncPoint() const;
56
57 void sync(QQuickTimeLineValue &);
59
61
62 void complete();
63 void clear();
64 bool isActive() const;
65
66 int time() const;
67
68 int duration() const override;
70 void updated();
71 void completed();
72
73protected:
74 void updateCurrentTime(int) override;
75 void debugAnimation(QDebug d) const override;
76
77private:
80 friend struct QQuickTimeLinePrivate;
82};
83
85{
86public:
88 virtual ~QQuickTimeLineObject();
89
90protected:
91 friend class QQuickTimeLine;
92 friend struct QQuickTimeLinePrivate;
94};
95
97{
98public:
100
101 virtual qreal value() const { return _v; }
102 virtual void setValue(qreal v) { _v = v; }
103
104 QQuickTimeLine *timeLine() const { return _t; }
105
106 operator qreal() const { return _v; }
108private:
109 friend class QQuickTimeLine;
111 qreal _v;
112};
113
115{
116public:
117 typedef void (*Callback)(void *);
118
122
124 QQuickTimeLineObject *callbackObject() const;
125
126private:
128 Callback d0;
129 void *d1;
131};
132
133template<class T>
135{
136public:
137 QQuickTimeLineValueProxy(T *cls, void (T::*func)(qreal), qreal v = 0.)
138 : QQuickTimeLineValue(v), _class(cls), _setFunctionReal(func), _setFunctionInt(nullptr)
139 {
140 Q_ASSERT(_class);
141 }
142
143 QQuickTimeLineValueProxy(T *cls, void (T::*func)(int), qreal v = 0.)
144 : QQuickTimeLineValue(v), _class(cls), _setFunctionReal(nullptr), _setFunctionInt(func)
145 {
146 Q_ASSERT(_class);
147 }
148
149 void setValue(qreal v) override
150 {
152 if (_setFunctionReal) (_class->*_setFunctionReal)(v);
153 else if (_setFunctionInt) (_class->*_setFunctionInt)((int)v);
154 }
155
156private:
157 T *_class;
158 void (T::*_setFunctionReal)(qreal);
159 void (T::*_setFunctionInt)(int);
160};
161
163
164#endif
bool isActive
virtual void debugAnimation(QDebug d) const
virtual void updateCurrentTime(int)
\inmodule QtCore
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:90
QQuickTimeLineValueProxy(T *cls, void(T::*func)(qreal), qreal v=0.)
void setValue(qreal v) override
Set the current value.
QQuickTimeLineValueProxy(T *cls, void(T::*func)(int), qreal v=0.)
The QQuickTimeLineValue class provides a value that can be modified by QQuickTimeLine.
QQuickTimeLineValue(qreal v=0.)
Construct a new QQuickTimeLineValue with an initial value.
QQuickTimeLine * timeLine() const
If a QQuickTimeLine is operating on this value, return a pointer to it, otherwise return null.
QQuickTimeLineValue & operator=(qreal v)
virtual qreal value() const
Return the current value.
virtual void setValue(qreal v)
Set the current value.
The QQuickTimeLine class provides a timeline for controlling animations.
void updated()
Emitted each time the timeline modifies QQuickTimeLineValues.
b clear()
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char * destination
GLboolean GLboolean GLboolean b
GLsizei const GLfloat * v
[13]
GLsizei GLsizei GLfloat distance
GLboolean reset
GLenum func
Definition qopenglext.h:663
QT_BEGIN_NAMESPACE typedef void(* Callback)(QQmlNotifierEndpoint *, void **)
#define Q_ASSERT(cond)
Definition qrandom.cpp:47
#define Q_AUTOTEST_EXPORT
#define Q_OBJECT
#define Q_SIGNALS
double qreal
Definition qtypes.h:92
QFuture< QSet< QChar > > set
[10]
settings setValue("DataPump/bgcolor", color)
settings remove("monkey")
QObject::connect nullptr
QDate d1(1995, 5, 17)
[0]
QDate d2(1995, 5, 20)
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent