Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qguivariantanimation.cpp
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
#
include
<
QtGui
/
qtguiglobal
.
h
>
5
6
#
include
<
QtCore
/
qvariantanimation
.
h
>
7
#
include
<
private
/
qvariantanimation_p
.
h
>
8
#
include
<
QtGui
/
qcolor
.
h
>
9
#
include
<
QtGui
/
qvector2d
.
h
>
10
#
include
<
QtGui
/
qvector3d
.
h
>
11
#
include
<
QtGui
/
qvector4d
.
h
>
12
#
include
<
QtGui
/
qquaternion
.
h
>
13
14
QT_BEGIN_NAMESPACE
15
16
template
<> Q_INLINE_TEMPLATE QColor _q_interpolate(
const
QColor &f,
const
QColor &t, qreal progress)
17
{
18
return
QColor(qBound(0,_q_interpolate(f.red(), t.red(), progress),255),
19
qBound(0,_q_interpolate(f.green(), t.green(), progress),255),
20
qBound(0,_q_interpolate(f.blue(), t.blue(), progress),255),
21
qBound(0,_q_interpolate(f.alpha(), t.alpha(), progress),255));
22
}
23
24
template
<> Q_INLINE_TEMPLATE QQuaternion _q_interpolate(
const
QQuaternion &f,
const
QQuaternion &t, qreal progress)
25
{
26
return
QQuaternion::slerp(f, t, progress);
27
}
28
29
void
qRegisterGuiGetInterpolator
()
30
{
31
qRegisterAnimationInterpolator<QColor>(_q_interpolateVariant<QColor>);
32
qRegisterAnimationInterpolator<QVector2D>(_q_interpolateVariant<QVector2D>);
33
qRegisterAnimationInterpolator<QVector3D>(_q_interpolateVariant<QVector3D>);
34
qRegisterAnimationInterpolator<QVector4D>(_q_interpolateVariant<QVector4D>);
35
qRegisterAnimationInterpolator<QQuaternion>(_q_interpolateVariant<QQuaternion>);
36
}
37
Q_CONSTRUCTOR_FUNCTION(qRegisterGuiGetInterpolator)
38
39
static
void
qUnregisterGuiGetInterpolator
()
40
{
41
// casts required by Sun CC 5.5
42
qRegisterAnimationInterpolator<QColor>(
43
(QVariant (*)(
const
QColor &,
const
QColor &, qreal))
nullptr
);
44
qRegisterAnimationInterpolator<QVector2D>(
45
(QVariant (*)(
const
QVector2D &,
const
QVector2D &, qreal))
nullptr
);
46
qRegisterAnimationInterpolator<QVector3D>(
47
(QVariant (*)(
const
QVector3D &,
const
QVector3D &, qreal))
nullptr
);
48
qRegisterAnimationInterpolator<QVector4D>(
49
(QVariant (*)(
const
QVector4D &,
const
QVector4D &, qreal))
nullptr
);
50
qRegisterAnimationInterpolator<QQuaternion>(
51
(QVariant (*)(
const
QQuaternion &,
const
QQuaternion &, qreal))
nullptr
);
52
}
53
Q_DESTRUCTOR_FUNCTION(qUnregisterGuiGetInterpolator)
54
55
QT_END_NAMESPACE
qRegisterGuiGetInterpolator
void qRegisterGuiGetInterpolator()
Definition
qguivariantanimation.cpp:29
qUnregisterGuiGetInterpolator
static void qUnregisterGuiGetInterpolator()
Definition
qguivariantanimation.cpp:39
qtbase
src
gui
animation
qguivariantanimation.cpp
Generated on
for Qt by
1.18.0