Krita Source Code Documentation
Loading...
Searching...
No Matches
KisImportExportFilter.h
Go to the documentation of this file.
1/*
2 This file is part of the Calligra libraries
3
4 SPDX-FileCopyrightText: 2001 Werner Trobin <trobin@kde.org>
5 SPDX-FileCopyrightText: 2002 Werner Trobin <trobin@kde.org>
6
7 SPDX-License-Identifier: LGPL-2.0-or-later
8*/
9
10#ifndef KIS_IMPORT_EXPORT_FILTER_H
11#define KIS_IMPORT_EXPORT_FILTER_H
12
13#include <QObject>
14#include <QIODevice>
15#include <QMap>
16#include <QPointer>
17#include <QString>
18#include <QPair>
19#include <QList>
20#include <KoID.h>
22#include <kis_types.h>
23#include <KisExportCheckBase.h>
24
25class KoUpdater;
26class KisDocument;
27class KisConfigWidget;
29
30#include "kritaui_export.h"
32
53class KRITAUI_EXPORT KisImportExportFilter : public QObject
54{
55 Q_OBJECT
56public:
57 static const QString ImageContainsTransparencyTag;
58 static const QString ColorModelIDTag;
59 static const QString ColorDepthIDTag;
60 static const QString sRGBTag;
61 static const QString HDRTag;
62 static const QString CICPPrimariesTag;
63 static const QString CICPTransferCharacteristicsTag;
64public:
65
66 ~KisImportExportFilter() override;
67
68 void setBatchMode(bool batchmode);
69 void setImportUserFeedBackInterface(KisImportUserFeedbackInterface *interface);
70 void setFilename(const QString &filename);
71 void setRealFilename(const QString &filename);
72 void setMimeType(const QString &mime);
73 void setUpdater(QPointer<KoUpdater> updater);
75
85 virtual KisImportExportErrorCode convert(KisDocument *document, QIODevice *io, KisPropertiesConfigurationSP configuration = 0) = 0;
86
93 virtual KisPropertiesConfigurationSP defaultConfiguration(const QByteArray& from = "", const QByteArray& to = "") const;
94
101 KisPropertiesConfigurationSP lastSavedConfiguration(const QByteArray &from = "", const QByteArray &to = "") const;
102
111 virtual KisConfigWidget *createConfigurationWidget(QWidget *parent, const QByteArray& from = "", const QByteArray& to = "") const;
112
117 virtual QMap<QString, KisExportCheckBase*> exportChecks();
118
125 virtual bool exportSupportsGuides() const;
126
128 virtual bool supportsIO() const { return true; }
129
131 virtual QString verify(const QString &fileName) const;
132
133protected:
137 KisImportExportFilter(QObject *parent = 0);
138
139 QString filename() const;
140 QString realFilename() const;
141 bool batchMode() const;
143 QByteArray mimeType() const;
144
145 void setProgress(int value);
146 virtual void initializeCapabilities();
147 void addCapability(KisExportCheckBase *capability);
148 void addSupportedColorModels(QList<QPair<KoID, KoID> > supportedColorModels, const QString &name, KisExportCheckBase::Level level = KisExportCheckBase::PARTIALLY);
149
150 QString verifyZiPBasedFiles(const QString &fileName, const QStringList &filesToCheck) const;
151
152private:
153
156
157 class Private;
158 Private *const d;
159
160};
161
162#endif
float value(const T *src, size_t ch)
The KisExportCheckBase class defines the interface of the individual checks of an export filter's cap...
The base class for import and export filters.
KisImportExportFilter(const KisImportExportFilter &rhs)
KisImportUserFeedbackInterface * importUserFeedBackInterface() const
QString realFilename() const
static const QString ColorDepthIDTag
static const QString ColorModelIDTag
QString filename() const
static const QString CICPTransferCharacteristicsTag
static const QString CICPPrimariesTag
KisImportExportFilter & operator=(const KisImportExportFilter &rhs)
virtual bool supportsIO() const
Override and return false for the filters that use a library that cannot handle file handles,...
static const QString ImageContainsTransparencyTag
QPointer< KoUpdater > updater()
static const QString sRGBTag
static const QString HDRTag
virtual KisImportExportErrorCode convert(KisDocument *document, QIODevice *io, KisPropertiesConfigurationSP configuration=0)=0