Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgGradientHelper.cpp
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2007, 2009 Jan Hambrecht <jaham@gmx.net>
3 * SPDX-FileCopyrightText: 2010 Thorsten Zachmann <zachmann@kde.org>
4 *
5 * SPDX-License-Identifier: LGPL-2.0-or-later
6 */
7
8#include "SvgGradientHelper.h"
9
10#include <QConicalGradient>
11#include <QLinearGradient>
12#include <QRadialGradient>
13
14#include <cmath>
15#include <KoFlake.h>
16
18 : m_gradient(new QGradient())
19 , m_meshgradient(new SvgMeshGradient)
20 , m_gradientUnits(KoFlake::ObjectBoundingBox)
21{
22}
23
27
29 : m_gradient(KoFlake::cloneGradient(other.m_gradient.data()))
30 , m_meshgradient(new SvgMeshGradient(*other.m_meshgradient))
31 , m_gradientUnits(other.m_gradientUnits)
32 , m_gradientTransform(other.m_gradientTransform)
33{
34}
35
37{
38 if (this == &rhs)
39 return *this;
40
45
46 return *this;
47}
48
53
58
59QGradient * SvgGradientHelper::gradient() const
60{
61 return m_gradient.data();
62}
63
65{
66 m_gradient.reset(g);
67}
68
73
74QScopedPointer<SvgMeshGradient>& SvgGradientHelper::meshgradient()
75{
76 return m_meshgradient;
77}
78
80{
81 return m_meshgradient->isValid();
82}
83
85{
87}
88
89void SvgGradientHelper::setTransform(const QTransform &transform)
90{
92}
93
94QGradient::Spread SvgGradientHelper::spreadMode() const
95{
96 return m_gradient->spread();
97}
98
99void SvgGradientHelper::setSpreadMode(const QGradient::Spread &spreadMode)
100{
101 m_gradient->setSpread(spreadMode);
102}
QGradient * gradient() const
Returns the gradient.
QTransform m_gradientTransform
KoFlake::CoordinateSystem gradientUnits() const
Returns gradient units type.
bool isMeshGradient() const
void setSpreadMode(const QGradient::Spread &spreadMode)
void setMeshGradient(SvgMeshGradient *g)
Sets the meshgradient.
QScopedPointer< QGradient > m_gradient
void setGradient(QGradient *g)
Sets the gradient.
QScopedPointer< SvgMeshGradient > m_meshgradient
QGradient::Spread spreadMode() const
KoFlake::CoordinateSystem m_gradientUnits
void setGradientUnits(KoFlake::CoordinateSystem units)
Sets the gradient units type.
QTransform transform() const
Returns the gradient transformation.
void setTransform(const QTransform &transform)
Sets the gradient transformation.
SvgGradientHelper & operator=(const SvgGradientHelper &rhs)
Assignment operator.
QScopedPointer< SvgMeshGradient > & meshgradient()
Returns the meshgradient.
KRITAFLAKE_EXPORT QGradient * cloneGradient(const QGradient *gradient)
clones the given gradient
Definition KoFlake.cpp:17