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 QT3DANIMATION_QKEYFRAMEANIMATION_P_H
5#define QT3DANIMATION_QKEYFRAMEANIMATION_P_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 for the convenience
12// of other Qt classes. 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 <private/qobject_p.h>
19#include <Qt3DAnimation/qkeyframeanimation.h>
20#include <private/qabstractanimation_p.h>
21
22#include <QtGui/qquaternion.h>
23
24QT_BEGIN_NAMESPACE
25
26namespace Qt3DAnimation {
27
28class QKeyframeAnimationPrivate : public QAbstractAnimationPrivate
29{
30public:
31 QKeyframeAnimationPrivate();
32
33 void calculateFrame(float position);
34
35 QList<float> m_framePositions;
36 QList<Qt3DCore::QTransform *> m_keyframes;
37 Qt3DCore::QTransform *m_target;
38 QEasingCurve m_easing;
39 QString m_animationName;
40 QString m_targetName;
41 float m_minposition;
42 float m_maxposition;
43 QKeyframeAnimation::RepeatMode m_startMode;
44 QKeyframeAnimation::RepeatMode m_endMode;
45 QVector3D m_baseScale;
46 QVector3D m_baseTranslation;
47 QQuaternion m_baseRotation;
48 QMetaObject::Connection m_positionConnection;
49
50 Q_DECLARE_PUBLIC(QKeyframeAnimation)
51};
52
53} // Qt3DAnimation
54
55QT_END_NAMESPACE
56
57#endif // QT3DANIMATION_QKEYFRAMEANIMATION_P_H
58

source code of qt3d/src/animation/frontend/qkeyframeanimation_p.h