Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_png_converter.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005, 2007 Cyrille Berger <cberger@cberger.net>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef _KIS_PNG_CONVERTER_H_
8#define _KIS_PNG_CONVERTER_H_
9
10#include <png.h>
11
12#include <QColor>
13
15#include "kis_types.h"
16#include "kis_global.h"
17#include "kis_annotation.h"
18#include <kritaui_export.h>
20
21class KoStore;
22class KisDocument;
23class KoColorSpace;
24
25
26namespace KisMetaData
27{
28class Filter;
29class Store;
30}
31
72
76// XXX_PROGRESS (pass KoUpdater to the png converter)
77class KRITAUI_EXPORT KisPNGConverter : public QObject
78{
79 Q_OBJECT
80public:
86 KisPNGConverter(KisDocument *doc, bool batchMode = false);
87 ~KisPNGConverter() override;
88public:
94 KisImportExportErrorCode buildImage(const QString &filename);
99 KisImportExportErrorCode buildImage(QIODevice* iod);
112 KisImportExportErrorCode buildFile(const QString &filename, const QRect &imageRect, const qreal xRes, const qreal yRes, KisPaintDeviceSP device, vKisAnnotationSP_it annotationsStart, vKisAnnotationSP_it annotationsEnd, KisPNGOptions options, KisMetaData::Store* metaData);
113 KisImportExportErrorCode buildFile(QIODevice*, const QRect &imageRect, const qreal xRes, const qreal yRes, KisPaintDeviceSP device, vKisAnnotationSP_it annotationsStart, vKisAnnotationSP_it annotationsEnd, KisPNGOptions options, KisMetaData::Store* metaData);
117 KisImageSP image();
118
123 static bool saveDeviceToStore(const QString &filename, const QRect &imageRect, const qreal xRes, const qreal yRes, KisPaintDeviceSP dev, KoStore *store, KisMetaData::Store* metaData = 0);
124
125 static bool isColorSpaceSupported(const KoColorSpace *cs);
126
127public Q_SLOTS:
128 virtual void cancel();
129private:
130 void progress(png_structp png_ptr, png_uint_32 row_number, int pass);
131private:
132 png_uint_32 m_max_row;
135 bool m_stop;
137 QString m_path;
138};
139
140#endif
KisDocument * m_doc
This file is part of the Krita application in calligra.
vKisAnnotationSP::iterator vKisAnnotationSP_it
Definition kis_types.h:181
ConversionPolicy floatingPointConversion
QList< const KisMetaData::Filter * > filters
QColor transparencyFillColor