26 #ifndef DIGIKAM_DIMG_PRIVATE_H
27 #define DIGIKAM_DIMG_PRIVATE_H
29 #include "digikam_config.h"
51 #include <QCryptographicHash>
52 #include <QSharedData>
59 #include <QImageReader>
60 #include <QPaintEngine>
65 #include <QScopedPointer>
69 #include <klocalizedstring.h>
94 #define LANCZOS_TABLE_RES 256
100 #define LANCZOS_SUPPORT 2
110 #ifdef LANCZOS_DATA_FLOAT
111 # define LANCZOS_DATA_TYPE float
112 # define LANCZOS_DATA_ONE 1.0
114 # define LANCZOS_DATA_TYPE int
115 # define LANCZOS_DATA_ONE 4096
124 class DIGIKAM_EXPORT DImg::Private :
public QSharedData
135 lanczos_func(nullptr)
142 delete [] lanczos_func;
172 QMultiMap<int, DPluginDImg*> pluginMap;
179 if (plug && ((prio = plug->
canRead(fileInfo, magic)) > 0))
186 pluginMap.insert(prio, plug);
190 if (pluginMap.isEmpty())
195 return pluginMap.first();
200 QMultiMap<int, DPluginDImg*> pluginMap;
202 if (!format.isNull())
209 if (plug && ((prio = plug->
canWrite(format)) > 0))
211 pluginMap.insert(prio, plug);
216 if (pluginMap.isEmpty())
221 return pluginMap.first();
230 else if (name == QLatin1String(
"JPEG"))
234 else if (name == QLatin1String(
"PNG"))
238 else if (name == QLatin1String(
"TIFF"))
242 else if (name == QLatin1String(
"RAW"))
246 else if (name == QLatin1String(
"JPEG2000"))
250 else if (name == QLatin1String(
"PGF"))
254 else if (name == QLatin1String(
"HEIF"))
267 list << QLatin1String(
"format")
268 << QLatin1String(
"isReadOnly")
269 << QLatin1String(
"originalFilePath")
270 << QLatin1String(
"originalSize")
271 << QLatin1String(
"originalImageHistory")
272 << QLatin1String(
"rawDecodingSettings")
273 << QLatin1String(
"rawDecodingFilterAction")
274 << QLatin1String(
"uniqueHash")
275 << QLatin1String(
"uniqueHashV2");
Definition: dimagehistory.h:49
static DPluginDImg * pluginForFormat(const QString &format)
Definition: dimg_p.h:198
static DPluginDImg * pluginForFile(const QFileInfo &fileInfo, bool magic)
Definition: dimg_p.h:170
static QStringList fileOriginAttributes()
Definition: dimg_p.h:264
static DImg::FORMAT loaderNameToFormat(const QString &name)
Definition: dimg_p.h:224
unsigned int height
Definition: dimg_p.h:152
LANCZOS_DATA_TYPE * lanczos_func
Definition: dimg_p.h:155
QMap< QString, QString > embeddedText
Definition: dimg_p.h:159
~Private()
Definition: dimg_p.h:139
bool alpha
Definition: dimg_p.h:148
DImageHistory imageHistory
Definition: dimg_p.h:161
MetaEngineData metaData
Definition: dimg_p.h:157
FORMAT
Definition: dimg.h:66
@ NONE
Definition: dimg.h:71
@ TIFF
Definition: dimg.h:74
@ PNG
Definition: dimg.h:73
@ QIMAGE
QImage or ImageMagick.
Definition: dimg.h:80
@ JP2K
Definition: dimg.h:75
@ RAW
Definition: dimg.h:79
@ JPEG
Definition: dimg.h:72
@ HEIF
Definition: dimg.h:77
@ PGF
Definition: dimg.h:76
bool sixteenBit
Definition: dimg_p.h:149
unsigned char * data
Definition: dimg_p.h:154
unsigned int width
Definition: dimg_p.h:151
Private()
Definition: dimg_p.h:128
IccProfile iccProfile
Definition: dimg_p.h:160
QMap< QString, QVariant > attributes
Definition: dimg_p.h:158
Definition: dplugindimg.h:43
virtual int canWrite(const QString &format) const =0
virtual int canRead(const QFileInfo &fileInfo, bool magic) const =0
static DPluginLoader * instance()
instance: returns the singleton of plugin loader
Definition: dpluginloader.cpp:63
Definition: iccprofile.h:43
uint64_t ullong
Definition: dimg_p.h:118
int64_t llong
Definition: dimg_p.h:119
#define LANCZOS_DATA_TYPE
Definition: dimg_p.h:114
Definition: datefolderview.cpp:43