Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgStyleParser.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2002-2003, 2005 Rob Buis <buis@kde.org>
3 * SPDX-FileCopyrightText: 2005-2006 Tim Beaulen <tbscope@gmail.com>
4 * SPDX-FileCopyrightText: 2005, 2007-2009 Jan Hambrecht <jaham@gmx.net>
5 *
6 * SPDX-License-Identifier: LGPL-2.0-or-later
7 */
8
9#ifndef SVGSTYLEPARSER_H
10#define SVGSTYLEPARSER_H
11
12#include "kritaflake_export.h"
13#include <QMap>
14#include <QGradient>
15
16#include <QDomDocument>
17
18typedef QMap<QString, QString> SvgStyles;
19
22class QColor;
23class QGradient;
24
25
26class KRITAFLAKE_EXPORT SvgStyleParser
27{
28public:
29 explicit SvgStyleParser(SvgLoadingContext &context);
31
33 void parseStyle(const SvgStyles &styles, const bool inheritByDefault = false);
34
36 void parseFont(const SvgStyles &styles);
37
39 bool parseColor(QColor &, const QString &);
40
41 QPair<qreal, QColor> parseColorStop(const QDomElement&, SvgGraphicsContext* context, qreal& previousOffset);
42
44 void parseColorStops(QGradient *, const QDomElement &, SvgGraphicsContext *context, const QGradientStops &defaultStops);
45
47 SvgStyles collectStyles(const QDomElement &);
48
50 SvgStyles mergeStyles(const SvgStyles &, const SvgStyles &);
51
53 SvgStyles mergeStyles(const QDomElement &, const QDomElement &);
54
55 SvgStyles parseOneCssStyle(const QString &style, const QStringList &interestingAttributes);
56private:
57
59 void parsePA(SvgGraphicsContext *, const QString &, const QString &);
60
62 QString inheritedAttribute(const QString &attributeName, const QDomElement &e);
63
64 class Private;
65 Private * const d;
66};
67
68#endif // SVGSTYLEPARSER_H
QMap< QString, QString > SvgStyles
Contains data used for loading svg.
Private *const d