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
14
#include "
KoColorTransferFunctions.h
"
15
#include "
kis_types.h
"
16
#include "
kis_global.h
"
17
#include "
kis_annotation.h
"
18
#include <kritaui_export.h>
19
#include <
KisImportExportErrorCode.h
>
20
21
class
KoStore
;
22
class
KisDocument
;
23
class
KoColorSpace
;
24
25
26
namespace
KisMetaData
27
{
28
class
Filter
;
29
class
Store
;
30
}
31
32
struct
KisPNGOptions
{
33
KisPNGOptions
()
34
:
compression
(0)
35
,
interlace
(false)
36
,
alpha
(true)
37
,
exif
(true)
38
,
iptc
(true)
39
,
xmp
(true)
40
,
tryToSaveAsIndexed
(true)
41
,
forceSRGB
(false)
42
,
storeMetaData
(false)
43
,
storeAuthor
(false)
44
,
storeColorSpaceInfo
(true)
45
,
writeCicpIfPossible
(false)
46
,
floatingPointConversion
(
ConversionPolicy
::
KeepTheSame
)
47
,
convertFloatToRec2020
(false)
48
,
storeExtraColorChunks
(false)
49
,
transparencyFillColor
(Qt::white)
50
,
downsample
(false)
51
{}
52
53
int
compression
;
54
bool
interlace
;
55
bool
alpha
;
56
bool
exif
;
57
bool
iptc
;
58
bool
xmp
;
59
bool
tryToSaveAsIndexed
;
60
bool
forceSRGB
;
61
bool
storeMetaData
;
62
bool
storeAuthor
;
63
bool
storeColorSpaceInfo
;
64
bool
writeCicpIfPossible
;
65
ConversionPolicy
floatingPointConversion
;
66
bool
convertFloatToRec2020
;
67
bool
storeExtraColorChunks
;
68
QList<const KisMetaData::Filter*>
filters
;
69
QColor
transparencyFillColor
;
70
bool
downsample
;
// Converts to 8 bit on export
71
};
72
76
// XXX_PROGRESS (pass KoUpdater to the png converter)
77
class
KRITAUI_EXPORT
KisPNGConverter
:
public
QObject
78
{
79
Q_OBJECT
80
public
:
86
KisPNGConverter
(
KisDocument
*doc,
bool
batchMode =
false
);
87
~KisPNGConverter
()
override
;
88
public
:
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
127
public
Q_SLOTS:
128
virtual
void
cancel();
129
private
:
130
void
progress(png_structp png_ptr, png_uint_32 row_number,
int
pass);
131
private
:
132
png_uint_32
m_max_row
;
133
KisImageSP
m_image
;
134
KisDocument
*
m_doc
;
135
bool
m_stop
;
136
bool
m_batchMode
;
137
QString
m_path
;
138
};
139
140
#endif
KisImportExportErrorCode.h
KoColorTransferFunctions.h
ConversionPolicy
ConversionPolicy
Definition
KoColorTransferFunctions.h:36
LinearizePolicy::KeepTheSame
@ KeepTheSame
Filter
Definition
Filter.h:31
KisDocument
Definition
KisDocument.cpp:296
KisImportExportErrorCode
Definition
KisImportExportErrorCode.h:110
KisMetaData::Store
Definition
kis_meta_data_store.h:27
KisPNGConverter
Definition
kis_png_converter.h:78
KisPNGConverter::m_image
KisImageSP m_image
Definition
kis_png_converter.h:133
KisPNGConverter::m_max_row
png_uint_32 m_max_row
Definition
kis_png_converter.h:132
KisPNGConverter::m_path
QString m_path
Definition
kis_png_converter.h:137
KisPNGConverter::m_doc
KisDocument * m_doc
Definition
kis_png_converter.h:134
KisPNGConverter::m_batchMode
bool m_batchMode
Definition
kis_png_converter.h:136
KisPNGConverter::m_stop
bool m_stop
Definition
kis_png_converter.h:135
KisSharedPtr< KisPaintDevice >
KoColorSpace
Definition
KoColorSpace.h:78
KoStore
Definition
KoStore.h:26
QList
Definition
KisQStringListFwd.h:16
kis_annotation.h
This file is part of the Krita application in calligra.
kis_global.h
kis_types.h
vKisAnnotationSP_it
vKisAnnotationSP::iterator vKisAnnotationSP_it
Definition
kis_types.h:181
KisMetaData
Definition
kis_image.h:50
KisPNGOptions
Definition
kis_png_converter.h:32
KisPNGOptions::downsample
bool downsample
Definition
kis_png_converter.h:70
KisPNGOptions::storeExtraColorChunks
bool storeExtraColorChunks
Definition
kis_png_converter.h:67
KisPNGOptions::iptc
bool iptc
Definition
kis_png_converter.h:57
KisPNGOptions::storeColorSpaceInfo
bool storeColorSpaceInfo
Definition
kis_png_converter.h:63
KisPNGOptions::floatingPointConversion
ConversionPolicy floatingPointConversion
Definition
kis_png_converter.h:65
KisPNGOptions::filters
QList< const KisMetaData::Filter * > filters
Definition
kis_png_converter.h:68
KisPNGOptions::compression
int compression
Definition
kis_png_converter.h:53
KisPNGOptions::forceSRGB
bool forceSRGB
Definition
kis_png_converter.h:60
KisPNGOptions::writeCicpIfPossible
bool writeCicpIfPossible
Definition
kis_png_converter.h:64
KisPNGOptions::exif
bool exif
Definition
kis_png_converter.h:56
KisPNGOptions::convertFloatToRec2020
bool convertFloatToRec2020
Definition
kis_png_converter.h:66
KisPNGOptions::alpha
bool alpha
Definition
kis_png_converter.h:55
KisPNGOptions::interlace
bool interlace
Definition
kis_png_converter.h:54
KisPNGOptions::storeMetaData
bool storeMetaData
Definition
kis_png_converter.h:61
KisPNGOptions::xmp
bool xmp
Definition
kis_png_converter.h:58
KisPNGOptions::tryToSaveAsIndexed
bool tryToSaveAsIndexed
Definition
kis_png_converter.h:59
KisPNGOptions::transparencyFillColor
QColor transparencyFillColor
Definition
kis_png_converter.h:69
KisPNGOptions::KisPNGOptions
KisPNGOptions()
Definition
kis_png_converter.h:33
KisPNGOptions::storeAuthor
bool storeAuthor
Definition
kis_png_converter.h:62
Store
Definition
kis_meta_data_store.cc:26
libs
ui
kis_png_converter.h
Generated at
2026-08-31 02:30:03+02:00
from
Krita
branch
master
, commit
7d4746aba9610501232b573fd3f032030ed26498