Krita Source Code Documentation
Loading...
Searching...
No Matches
EllipseShapeFactory.cpp
Go to the documentation of this file.
1
/* This file is part of the KDE project
2
* SPDX-FileCopyrightText: 2006 Thorsten Zachmann <zachmann@kde.org>
3
*
4
* SPDX-License-Identifier: LGPL-2.0-or-later
5
*/
6
7
#include "
EllipseShapeFactory.h
"
8
#include "
EllipseShape.h
"
9
#include "
EllipseShapeConfigWidget.h
"
10
#include <
KoShapeStroke.h
>
11
#include <
KoXmlNS.h
>
12
#include <
KoGradientBackground.h
>
13
#include <
KoShapeLoadingContext.h
>
14
15
#include <
KoIcon.h
>
16
#include <klocalizedstring.h>
17
18
#include "
kis_pointer_utils.h
"
19
20
EllipseShapeFactory::EllipseShapeFactory
()
21
:
KoShapeFactoryBase
(
EllipseShapeId
, i18n(
"Ellipse"
))
22
{
23
setToolTip
(i18n(
"An ellipse"
));
24
setIconName
(
koIconNameCStr
(
"ellipse-shape"
));
25
setFamily
(
"geometric"
);
26
setLoadingPriority
(1);
27
28
QList<QPair<QString, QStringList>
> elementNamesList;
29
elementNamesList.append(qMakePair(QString(
KoXmlNS::draw
),
QStringList
(
"circle"
)));
30
elementNamesList.append(qMakePair(QString(
KoXmlNS::draw
),
QStringList
(
"ellipse"
)));
31
elementNamesList.append(qMakePair(QString(
KoXmlNS::svg
),
QStringList
(
"circle"
)));
32
elementNamesList.append(qMakePair(QString(
KoXmlNS::svg
),
QStringList
(
"ellipse"
)));
33
elementNamesList.append(qMakePair(QString(
KoXmlNS::svg
),
QStringList
(
"sodipodi:arc"
)));
34
elementNamesList.append(qMakePair(QString(
KoXmlNS::svg
),
QStringList
(
"krita:arc"
)));
35
setXmlElements
(elementNamesList);
36
}
37
38
KoShape
*
EllipseShapeFactory::createDefaultShape
(
KoDocumentResourceManager
*)
const
39
{
40
EllipseShape
*ellipse =
new
EllipseShape
();
41
42
ellipse->
setStroke
(
toQShared
(
new
KoShapeStroke
(1.0)));
43
ellipse->
setShapeId
(
KoPathShapeId
);
44
45
QRadialGradient *gradient =
new
QRadialGradient(QPointF(0.5, 0.5), 0.5, QPointF(0.25, 0.25));
46
gradient->setCoordinateMode(QGradient::ObjectBoundingMode);
47
gradient->setColorAt(0.0, Qt::white);
48
gradient->setColorAt(1.0, Qt::green);
49
ellipse->
setBackground
(
QSharedPointer<KoGradientBackground>
(
new
KoGradientBackground
(gradient)));
50
51
return
ellipse;
52
}
53
54
bool
EllipseShapeFactory::supports
(
const
QDomElement &e,
KoShapeLoadingContext
&context)
const
55
{
56
Q_UNUSED(context);
57
return
(e.localName() ==
"ellipse"
|| e.localName() ==
"circle"
)
58
&& e.namespaceURI() ==
KoXmlNS::draw
;
59
}
60
61
QList<KoShapeConfigWidgetBase *>
EllipseShapeFactory::createShapeOptionPanels
()
62
{
63
QList<KoShapeConfigWidgetBase *>
panels;
64
panels.append(
new
EllipseShapeConfigWidget
());
65
return
panels;
66
}
EllipseShapeConfigWidget.h
EllipseShapeFactory.h
EllipseShape.h
EllipseShapeId
#define EllipseShapeId
Definition
EllipseShape.h:14
QStringList
QList< QString > QStringList
Definition
KisQStringListFwd.h:18
KoGradientBackground.h
KoIcon.h
KoPathShapeId
#define KoPathShapeId
Definition
KoPathShape.h:20
KoShapeLoadingContext.h
KoShapeStroke.h
KoXmlNS.h
EllipseShapeConfigWidget
Definition
EllipseShapeConfigWidget.h:17
EllipseShapeFactory::supports
bool supports(const QDomElement &e, KoShapeLoadingContext &context) const override
Definition
EllipseShapeFactory.cpp:54
EllipseShapeFactory::createShapeOptionPanels
QList< KoShapeConfigWidgetBase * > createShapeOptionPanels() override
Definition
EllipseShapeFactory.cpp:61
EllipseShapeFactory::EllipseShapeFactory
EllipseShapeFactory()
constructor
Definition
EllipseShapeFactory.cpp:20
EllipseShapeFactory::createDefaultShape
KoShape * createDefaultShape(KoDocumentResourceManager *documentResources=0) const override
Definition
EllipseShapeFactory.cpp:38
EllipseShape
Definition
EllipseShape.h:23
KoDocumentResourceManager
Definition
KoDocumentResourceManager.cpp:20
KoGradientBackground
A gradient shape background.
Definition
KoGradientBackground.h:20
KoShapeFactoryBase
Definition
KoShapeFactoryBase.cpp:32
KoShapeFactoryBase::setFamily
void setFamily(const QString &family)
Definition
KoShapeFactoryBase.cpp:123
KoShapeFactoryBase::setToolTip
void setToolTip(const QString &tooltip)
Definition
KoShapeFactoryBase.cpp:113
KoShapeFactoryBase::setLoadingPriority
void setLoadingPriority(int priority)
Definition
KoShapeFactoryBase.cpp:138
KoShapeFactoryBase::setIconName
void setIconName(const char *iconName)
Definition
KoShapeFactoryBase.cpp:118
KoShapeFactoryBase::setXmlElements
void setXmlElements(const QList< QPair< QString, QStringList > > &elementNamesList)
Definition
KoShapeFactoryBase.cpp:149
KoShapeLoadingContext
Definition
KoShapeLoadingContext.cpp:30
KoShapeStroke
Definition
KoShapeStroke.cpp:37
KoShape
Definition
KoShape.h:92
KoShape::setStroke
virtual void setStroke(KoShapeStrokeModelSP stroke)
Definition
KoShape.cpp:1081
KoShape::setBackground
virtual void setBackground(QSharedPointer< KoShapeBackground > background)
Definition
KoShape.cpp:918
KoShape::setShapeId
void setShapeId(const QString &id)
Definition
KoShape.cpp:1062
KoXmlNS::svg
static const QString svg
Definition
KoXmlNS.h:39
KoXmlNS::draw
static const QString draw
Definition
KoXmlNS.h:27
QList
Definition
KisQStringListFwd.h:16
QSharedPointer
Definition
KoCanvasResourceProvider.h:20
koIconNameCStr
#define koIconNameCStr(name)
Definition
kis_icon.h:28
kis_pointer_utils.h
toQShared
QSharedPointer< T > toQShared(T *ptr)
Definition
kis_pointer_utils.h:19
plugins
flake
pathshapes
ellipse
EllipseShapeFactory.cpp
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52