Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_kra_load_visitor.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2002 Patrick Julien <freak@codepimps.org>
3 * SPDX-FileCopyrightText: 2005 C. Boemann <cbo@boemann.dk>
4 * SPDX-FileCopyrightText: 2007 Boudewijn Rempt <boud@valdyas.org>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8#ifndef KIS_KRA_LOAD_VISITOR_H_
9#define KIS_KRA_LOAD_VISITOR_H_
10
11#include <QStringList>
12
13// kritaimage
14#include "kis_types.h"
15#include "kis_node_visitor.h"
16
17#include "kritalibkra_export.h"
18
20class KoStore;
22class KoColorProfile;
24
25class KRITALIBKRA_EXPORT KisKraLoadVisitor : public KisNodeVisitor
26{
27public:
28
29
31 KoStore *store,
32 KoShapeControllerBase *shapeController,
33 QMap<KisNode *, QString> &layerFilenames,
34 QMap<KisNode *, QString> &keyframeFilenames,
35 const QString & name,
36 int syntaxVersion);
37
38public:
39 void setExternalUri(const QString &uri);
40
41 bool visit(KisNode*) override {
42 return true;
43 }
44 bool visit(KisExternalLayer *) override;
45 bool visit(KisPaintLayer *layer) override;
46 bool visit(KisGroupLayer *layer) override;
47 bool visit(KisAdjustmentLayer* layer) override;
48 bool visit(KisGeneratorLayer* layer) override;
49 bool visit(KisCloneLayer *layer) override;
50 bool visit(KisFilterMask *mask) override;
51 bool visit(KisTransformMask *mask) override;
52 bool visit(KisTransparencyMask *mask) override;
53 bool visit(KisSelectionMask *mask) override;
54 bool visit(KisColorizeMask *mask) override;
55
56 QStringList errorMessages() const;
57 QStringList warningMessages() const;
58
59 static QHash<QString, QString> customProfileNameAliasForKra();
60
61private:
62
63 bool loadPaintDevice(KisPaintDeviceSP device, const QString& location);
64
65 template<class DevicePolicy>
66 bool loadPaintDeviceFrame(KisPaintDeviceSP device, const QString &location, DevicePolicy policy);
67
68 bool loadProfile(KisPaintDeviceSP device, const QString& location);
69 bool loadFilterConfiguration(KisFilterConfigurationSP kfc, const QString& location);
70 const KoColorProfile* loadProfile(const QString& location, const QString &colorModelId, const QString &colorDepthId);
71 void fixOldFilterConfigurations(KisFilterConfigurationSP kfc);
72 bool loadMetaData(KisNode* node);
73 void initSelectionForMask(KisMask *mask);
74 bool loadSelection(const QString& location, KisSelectionSP dstSelection);
75 QString getLocation(KisNode* node, const QString& suffix = QString());
76 QString getLocation(const QString &filename, const QString &suffix = QString());
77 void loadNodeKeyframes(KisNode *node);
78
85 void loadDeprecatedFilter(KisFilterConfigurationSP cfg);
86
87private:
91 QString m_uri;
92 QMap<KisNode *, QString> m_layerFilenames;
93 QMap<KisNode *, QString> m_keyframeFilenames;
94 QString m_name;
99 QMap<QString, const KoColorProfile *> m_profileCache;
100};
101
102#endif // KIS_KRA_LOAD_VISITOR_H_
103
QMap< KisNode *, QString > m_keyframeFilenames
KoShapeControllerBase * m_shapeController
QMap< QString, const KoColorProfile * > m_profileCache
QMap< KisNode *, QString > m_layerFilenames
bool visit(KisNode *) override
virtual bool visit(KisNode *node)=0