diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2014-04-26 14:27:04 +0400 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2014-08-05 17:23:12 +0200 |
commit | c0ba249a48fd85ee8e047ff47448a4ed32d6cd91 (patch) | |
tree | 327e2c08c5c406de78bd5e77010e65425c99b2e7 /src/gui/image/qimagewriter.cpp | |
parent | 5097e310305beaa27d6b87699a04c43e598b6688 (diff) |
Add SubType setters/getters and SupportedSubTypes option.
SubType can be used to determine an internal format of an image such as
pixel format and/or compression algorithms.
Change-Id: Icf296d54bb509e4e2bdb70544df678fc53f57c79
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Diffstat (limited to 'src/gui/image/qimagewriter.cpp')
-rw-r--r-- | src/gui/image/qimagewriter.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/gui/image/qimagewriter.cpp b/src/gui/image/qimagewriter.cpp index c003e56573..b31e312a76 100644 --- a/src/gui/image/qimagewriter.cpp +++ b/src/gui/image/qimagewriter.cpp @@ -259,6 +259,7 @@ public: float gamma; QString description; QString text; + QByteArray subType; // error QImageWriter::ImageWriterError imageWriterError; @@ -518,6 +519,47 @@ float QImageWriter::gamma() const } /*! + \since 5.4 + + This is an image format specific function that sets the + subtype of the image to \a type. Subtype can be used by + a handler to determine which format it should use while + saving the image. + + For example, saving an image in DDS format with A8R8G8R8 subtype: + + \snippet code/src_gui_image_qimagewriter.cpp 3 +*/ +void QImageWriter::setSubType(const QByteArray &type) +{ + d->subType = type; +} + +/*! + \since 5.4 + + Returns the subtype of the image. + + \sa setSubType() +*/ +QByteArray QImageWriter::subType() const +{ + return d->subType; +} + +/*! + \since 5.4 + + Returns the list of subtypes supported by an image. +*/ +QList<QByteArray> QImageWriter::supportedSubTypes() const +{ + if (!supportsOption(QImageIOHandler::SupportedSubTypes)) + return QList<QByteArray>(); + return d->handler->option(QImageIOHandler::SupportedSubTypes).value< QList<QByteArray> >(); +} + +/*! \obsolete Use setText() instead. @@ -618,6 +660,8 @@ bool QImageWriter::write(const QImage &image) d->handler->setOption(QImageIOHandler::Gamma, d->gamma); if (!d->description.isEmpty() && d->handler->supportsOption(QImageIOHandler::Description)) d->handler->setOption(QImageIOHandler::Description, d->description); + if (!d->subType.isEmpty() && d->handler->supportsOption(QImageIOHandler::SubType)) + d->handler->setOption(QImageIOHandler::SubType, d->subType); if (!d->handler->write(image)) return false; |