Krita Source Code Documentation
Loading...
Searching...
No Matches
SvgLoadingContext.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 * SPDX-FileCopyrightText: 2011 Jan Hambrecht <jaham@gmx.net>
3 *
4 * SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6
7#ifndef SVGLOADINGCONTEXT_H
8#define SVGLOADINGCONTEXT_H
9
10#include <functional>
11#include <QStringList>
12#include <QDomDocument>
13#include <QScopedPointer>
14#include <KoSvgTextProperties.h>
15
16#include "kritaflake_export.h"
17
19class SvgStyleParser;
21class KoShape;
22class KoColorProfile;
23
25class KRITAFLAKE_EXPORT SvgLoadingContext
26{
27public:
28 explicit SvgLoadingContext(KoDocumentResourceManager *documentResourceManager);
30
32 SvgGraphicsContext *currentGC() const;
33
35 SvgGraphicsContext *pushGraphicsContext(const QDomElement &element = QDomElement(), bool inherit = true);
36
38 void popGraphicsContext();
39
41 void setInitialXmlBaseDir(const QString &baseDir);
42
44 QString xmlBaseDir() const;
45
47 QString absoluteFilePath(const QString &href);
48
49 QString relativeFilePath(const QString &href);
50
52 int nextZIndex();
53
55 void registerShape(const QString &id, KoShape *shape);
56
58 KoShape* shapeById(const QString &id);
59
61 void addDefinition(const QDomElement &element);
62
64 QDomElement definition(const QString &id) const;
65
67 bool hasDefinition(const QString &id) const;
68
70 void addStyleSheet(const QDomElement &styleSheet);
71
73 QStringList matchingCssStyles(const QDomElement &element) const;
74
77
79 void parseProfile(const QDomElement &element);
80
82 QHash<QString, const KoColorProfile*> profiles();
83
85 KoSvgTextProperties resolvedProperties() const;
86
87 bool isRootContext() const;
88
89 typedef std::function<QByteArray(const QString&)> FileFetcherFunc;
90 void setFileFetcher(FileFetcherFunc func);
91
92 QByteArray fetchExternalFile(const QString &url);
93
94private:
95 class Private;
96 QScopedPointer<Private> d;
97};
98
99#endif // SVGLOADINGCONTEXT_H
Contains data used for loading svg.
std::function< QByteArray(const QString &) FileFetcherFunc)
SvgStyleParser & styleParser()
Returns a style parser to parse styles.
QScopedPointer< Private > d
QHash< QString, const KoColorProfile * > profiles()
Return the profiles in the context.