1// Copyright (C) 2017 Klaralvdalens Datakonsult AB (KDAB).
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_ANIMATION_KEYFRAME_P_H
5#define QT3DANIMATION_ANIMATION_KEYFRAME_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 <Qt3DAnimation/qkeyframe.h>
19#include <QtGui/qvector2d.h>
20#include <private/qglobal_p.h>
21
22QT_BEGIN_NAMESPACE
23
24namespace Qt3DAnimation {
25namespace Animation {
26
27struct Keyframe
28{
29 inline bool operator==(const Keyframe &rhs) const
30 {
31 return value == rhs.value
32 && leftControlPoint == rhs.leftControlPoint
33 && rightControlPoint == rhs.rightControlPoint
34 && interpolation == rhs.interpolation;
35 }
36
37 float value; // Value (time is stored separately in FCurve)
38 QVector2D leftControlPoint; // Bezier control point (time, value)
39 QVector2D rightControlPoint; // Bezier control point (time, value)
40 QKeyFrame::InterpolationType interpolation; // Method to use for evaluation between this Keyframe and the next
41};
42
43} // namespace Animation
44} // namespace Qt3DAnimation
45
46QT_END_NAMESPACE
47
48#endif // QT3DANIMATION_ANIMATION_KEYFRAME_P_H
49

source code of qt3d/src/animation/backend/keyframe_p.h