summaryrefslogtreecommitdiffstats
path: root/src/plugins/imageformats/macheif
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/imageformats/macheif')
-rw-r--r--src/plugins/imageformats/macheif/qmacheifhandler.cpp30
-rw-r--r--src/plugins/imageformats/macheif/qmacheifhandler.h7
2 files changed, 12 insertions, 25 deletions
diff --git a/src/plugins/imageformats/macheif/qmacheifhandler.cpp b/src/plugins/imageformats/macheif/qmacheifhandler.cpp
index 7c63e52..385d5e2 100644
--- a/src/plugins/imageformats/macheif/qmacheifhandler.cpp
+++ b/src/plugins/imageformats/macheif/qmacheifhandler.cpp
@@ -43,22 +43,8 @@
QT_BEGIN_NAMESPACE
-class QMacHeifHandlerPrivate
-{
- Q_DECLARE_PUBLIC(QMacHeifHandler)
- Q_DISABLE_COPY(QMacHeifHandlerPrivate)
-public:
- QMacHeifHandlerPrivate(QMacHeifHandler *q_ptr)
- : writeQuality(-1), q_ptr(q_ptr)
- {}
-
- int writeQuality;
- QMacHeifHandler *q_ptr;
-};
-
-
QMacHeifHandler::QMacHeifHandler()
- : d_ptr(new QMacHeifHandlerPrivate(this))
+ : d(new QIIOFHelper(this))
{
}
@@ -90,28 +76,30 @@ bool QMacHeifHandler::canRead() const
bool QMacHeifHandler::read(QImage *image)
{
- return QIIOFHelpers::readImage(this, image);
+ return d->readImage(image);
}
bool QMacHeifHandler::write(const QImage &image)
{
- return QIIOFHelpers::writeImage(this, image, QStringLiteral("public.heic"));
+ return d->writeImage(image, QStringLiteral("public.heic"));
}
QVariant QMacHeifHandler::option(ImageOption option) const
{
- return QVariant();
+ return d->imageProperty(option);
}
void QMacHeifHandler::setOption(ImageOption option, const QVariant &value)
{
- Q_UNUSED(option)
- Q_UNUSED(value)
+ d->setOption(option, value);
}
bool QMacHeifHandler::supportsOption(ImageOption option) const
{
- return false;
+ return option == Quality
+ || option == Size
+ || option == ImageTransformation
+ || option == TransformedByDefault;
}
QT_END_NAMESPACE
diff --git a/src/plugins/imageformats/macheif/qmacheifhandler.h b/src/plugins/imageformats/macheif/qmacheifhandler.h
index 6e94a59..cf63de8 100644
--- a/src/plugins/imageformats/macheif/qmacheifhandler.h
+++ b/src/plugins/imageformats/macheif/qmacheifhandler.h
@@ -49,13 +49,13 @@ class QImage;
class QByteArray;
class QIODevice;
class QVariant;
-class QMacHeifHandlerPrivate;
+class QIIOFHelper;
class QMacHeifHandler : public QImageIOHandler
{
public:
QMacHeifHandler();
- ~QMacHeifHandler();
+ ~QMacHeifHandler() override;
bool canRead() const override;
bool read(QImage *image) override;
@@ -67,8 +67,7 @@ public:
static bool canRead(QIODevice *iod);
private:
- Q_DECLARE_PRIVATE(QMacHeifHandler)
- QScopedPointer<QMacHeifHandlerPrivate> d_ptr;
+ QScopedPointer<QIIOFHelper> d;
};
QT_END_NAMESPACE