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
qsvgcsseasing.cpp
Go to the documentation of this file.
1
// Copyright (C) 2025 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
5
6
#
include
"qsvgcsseasing_p.h"
7
#
include
<
QtCore
/
qmath
.
h
>
8
#
include
<
QtCore
/
qminmax
.
h
>
9
10
QT_BEGIN_NAMESPACE
11
12
QSvgCssEasing::QSvgCssEasing(QSvgCssValues::EasingFunction easingFunction)
13
: m_easingFunction(easingFunction)
14
{
15
}
16
17
QSvgCssEasing::~QSvgCssEasing()
18
=
default
;
19
20
QSvgCssValues::EasingFunction QSvgCssEasing::easingFunction()
const
21
{
22
return
m_easingFunction;
23
}
24
25
QSvgCssCubicBezierEasing::QSvgCssCubicBezierEasing(QSvgCssValues::EasingFunction easingFunction,
26
QPointF c1, QPointF c2)
27
: QSvgCssEasing(easingFunction)
28
, m_c1(c1)
29
, m_c2(c2)
30
{
31
m_easingCurve.setType(QEasingCurve::BezierSpline);
32
m_easingCurve.addCubicBezierSegment(c1, c2, QPointF(1, 1));
33
}
34
35
QSvgCssCubicBezierEasing::~QSvgCssCubicBezierEasing()
36
=
default
;
37
38
qreal QSvgCssCubicBezierEasing::progress(qreal t)
const
39
{
40
return
m_easingCurve.valueForProgress(t);
41
}
42
43
QPointF QSvgCssCubicBezierEasing::c1()
const
44
{
45
return
m_c1;
46
}
47
48
QPointF QSvgCssCubicBezierEasing::c2()
const
49
{
50
return
m_c2;
51
}
52
53
QSvgCssStepsEasing::QSvgCssStepsEasing(quint32 stops, QSvgCssValues::StepPosition position)
54
: QSvgCssEasing(QSvgCssValues::EasingFunction::Steps)
55
, m_stops(qMax(quint32(1), stops))
56
, m_stepPosition(position)
57
{
58
}
59
60
QSvgCssStepsEasing::~QSvgCssStepsEasing()
61
=
default
;
62
63
qreal QSvgCssStepsEasing::progress(qreal t)
const
64
{
65
const
qreal incr = 1.0 / m_stops;
66
const
qreal interval = (m_stepPosition == QSvgCssValues::StepPosition::JumpEnd) ?
67
qFloor(t / incr) : qCeil(t / incr);
68
69
return
interval * incr;
70
}
71
72
QSvgCssValues::StepPosition QSvgCssStepsEasing::stepPosition()
const
73
{
74
return
m_stepPosition;
75
}
76
77
quint32 QSvgCssStepsEasing::stops()
const
78
{
79
return
m_stops;
80
}
81
82
QT_END_NAMESPACE
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtsvg
src
svg
css
animation
qsvgcsseasing.cpp
Generated on
for Qt by
1.18.0