Coverage Report

Created: 2026-04-01 07:24

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/qtbase/src/gui/animation/qguivariantanimation.cpp
Line
Count
Source
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
0
{
18
0
    return QColor(qBound(0,_q_interpolate(f.red(), t.red(), progress),255),
19
0
                  qBound(0,_q_interpolate(f.green(), t.green(), progress),255),
20
0
                  qBound(0,_q_interpolate(f.blue(), t.blue(), progress),255),
21
0
                  qBound(0,_q_interpolate(f.alpha(), t.alpha(), progress),255));
22
0
}
23
24
template<> Q_INLINE_TEMPLATE QQuaternion _q_interpolate(const QQuaternion &f,const QQuaternion &t, qreal progress)
25
0
{
26
0
    return QQuaternion::slerp(f, t, progress);
27
0
}
28
29
void qRegisterGuiGetInterpolator()
30
50
{
31
50
    qRegisterAnimationInterpolator<QColor>(_q_interpolateVariant<QColor>);
32
50
    qRegisterAnimationInterpolator<QVector2D>(_q_interpolateVariant<QVector2D>);
33
50
    qRegisterAnimationInterpolator<QVector3D>(_q_interpolateVariant<QVector3D>);
34
50
    qRegisterAnimationInterpolator<QVector4D>(_q_interpolateVariant<QVector4D>);
35
50
    qRegisterAnimationInterpolator<QQuaternion>(_q_interpolateVariant<QQuaternion>);
36
50
}
37
Q_CONSTRUCTOR_FUNCTION(qRegisterGuiGetInterpolator)
38
39
static void qUnregisterGuiGetInterpolator()
40
0
{
41
    // casts required by Sun CC 5.5
42
0
    qRegisterAnimationInterpolator<QColor>(
43
0
        (QVariant (*)(const QColor &, const QColor &, qreal))nullptr);
44
0
    qRegisterAnimationInterpolator<QVector2D>(
45
0
        (QVariant (*)(const QVector2D &, const QVector2D &, qreal))nullptr);
46
0
    qRegisterAnimationInterpolator<QVector3D>(
47
0
        (QVariant (*)(const QVector3D &, const QVector3D &, qreal))nullptr);
48
0
    qRegisterAnimationInterpolator<QVector4D>(
49
0
        (QVariant (*)(const QVector4D &, const QVector4D &, qreal))nullptr);
50
0
    qRegisterAnimationInterpolator<QQuaternion>(
51
0
        (QVariant (*)(const QQuaternion &, const QQuaternion &, qreal))nullptr);
52
0
}
53
Q_DESTRUCTOR_FUNCTION(qUnregisterGuiGetInterpolator)
54
55
QT_END_NAMESPACE