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
59private:
60
61 bool loadPaintDevice(KisPaintDeviceSP device, const QString& location);
62
63 template<class DevicePolicy>
64 bool loadPaintDeviceFrame(KisPaintDeviceSP device, const QString &location, DevicePolicy policy);
65
66 bool loadProfile(KisPaintDeviceSP device, const QString& location);
67 bool loadFilterConfiguration(KisFilterConfigurationSP kfc, const QString& location);
68 const KoColorProfile* loadProfile(const QString& location, const QString &colorModelId, const QString &colorDepthId);
69 void fixOldFilterConfigurations(KisFilterConfigurationSP kfc);
70 bool loadMetaData(KisNode* node);
71 void initSelectionForMask(KisMask *mask);
72 bool loadSelection(const QString& location, KisSelectionSP dstSelection);
73 QString getLocation(KisNode* node, const QString& suffix = QString());
74 QString getLocation(const QString &filename, const QString &suffix = QString());
75 void loadNodeKeyframes(KisNode *node);
76
83 void loadDeprecatedFilter(KisFilterConfigurationSP cfg);
84
85private:
89 QString m_uri;
90 QMap<KisNode *, QString> m_layerFilenames;
91 QMap<KisNode *, QString> m_keyframeFilenames;
92 QString m_name;
97 QMap<QString, const KoColorProfile *> m_profileCache;
98};
99
100#endif // KIS_KRA_LOAD_VISITOR_H_
101
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