blob: 337ba6613d7757421bd8c50891fa82fca6f228a7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
// Copyright (C) 2016 Klaralvdalens Datakonsult AB (KDAB).
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QT3DANIMATION_QABSTRACTCLIPANIMATOR_H
#define QT3DANIMATION_QABSTRACTCLIPANIMATOR_H
#include <Qt3DAnimation/qt3danimation_global.h>
#include <Qt3DAnimation/qchannelmapper.h>
#include <Qt3DAnimation/qclock.h>
#include <Qt3DCore/qcomponent.h>
QT_BEGIN_NAMESPACE
namespace Qt3DAnimation {
class QAnimationClip;
class QAbstractClipAnimatorPrivate;
class Q_3DANIMATIONSHARED_EXPORT QAbstractClipAnimator : public Qt3DCore::QComponent
{
Q_OBJECT
Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged)
Q_PROPERTY(int loops READ loopCount WRITE setLoopCount NOTIFY loopCountChanged)
Q_PROPERTY(Qt3DAnimation::QChannelMapper *channelMapper READ channelMapper WRITE setChannelMapper NOTIFY channelMapperChanged)
Q_PROPERTY(Qt3DAnimation::QClock *clock READ clock WRITE setClock NOTIFY clockChanged)
Q_PROPERTY(float normalizedTime READ normalizedTime WRITE setNormalizedTime NOTIFY normalizedTimeChanged)
public:
enum Loops { Infinite = -1 };
Q_ENUM(Loops)
~QAbstractClipAnimator();
bool isRunning() const;
Qt3DAnimation::QChannelMapper *channelMapper() const;
int loopCount() const;
Qt3DAnimation::QClock *clock() const;
float normalizedTime() const;
public Q_SLOTS:
void setRunning(bool running);
void setChannelMapper(Qt3DAnimation::QChannelMapper *channelMapper);
void setLoopCount(int loops);
void setClock(Qt3DAnimation::QClock *clock);
void setNormalizedTime(float timeFraction);
void start();
void stop();
Q_SIGNALS:
void runningChanged(bool running);
void channelMapperChanged(Qt3DAnimation::QChannelMapper *channelMapper);
void loopCountChanged(int loops);
void clockChanged(Qt3DAnimation::QClock *clock);
void normalizedTimeChanged(float index);
protected:
explicit QAbstractClipAnimator(Qt3DCore::QNode *parent = nullptr);
QAbstractClipAnimator(QAbstractClipAnimatorPrivate &dd, Qt3DCore::QNode *parent = nullptr);
private:
Q_DECLARE_PRIVATE(QAbstractClipAnimator)
};
} // namespace Qt3DAnimation
QT_END_NAMESPACE
#endif // QT3DANIMATION_QABSTRACTCLIPANIMATOR_H
|