diff options
author | Allan Sandfeld Jensen <allan.jensen@digia.com> | 2014-01-13 12:43:48 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-23 18:20:49 +0100 |
commit | c695543f76715f1f7acef32102c325399d0953cf (patch) | |
tree | 5104a7ac9f3f65c2d0151e743089b4afb5dd00ff /src/gui/image/qimage.h | |
parent | 3d7d710424056a3c8a4062da234821acd91ee0af (diff) |
Ref qualified version of QImage::convertToFormat
Add ref qualified versions of QImage::convertToFormat, so that a
temporary QImage can be converted in-place to a format of equal depth.
[ChangeLog][QtGui][QImage]Added rvalue qualified convertToFormat method
for in-place conversion
Change-Id: I2eed5ffd63f5aea4ffa1147bf7607b02a49d9c5d
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
Diffstat (limited to 'src/gui/image/qimage.h')
-rw-r--r-- | src/gui/image/qimage.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/gui/image/qimage.h b/src/gui/image/qimage.h index e8f195c18e..4326d5dbbc 100644 --- a/src/gui/image/qimage.h +++ b/src/gui/image/qimage.h @@ -172,7 +172,19 @@ public: Format format() const; +#if defined(Q_COMPILER_REF_QUALIFIERS) && !defined(QT_COMPILING_QIMAGE_COMPAT_CPP) + QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const & Q_REQUIRED_RESULT + { return convertToFormat_helper(f, flags); } + QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) && Q_REQUIRED_RESULT + { + if (convertToFormat_inplace(f, flags)) + return std::move(*this); + else + return convertToFormat_helper(f, flags); + } +#else QImage convertToFormat(Format f, Qt::ImageConversionFlags flags = Qt::AutoColor) const Q_REQUIRED_RESULT; +#endif QImage convertToFormat(Format f, const QVector<QRgb> &colorTable, Qt::ImageConversionFlags flags = Qt::AutoColor) const Q_REQUIRED_RESULT; int width() const; @@ -313,6 +325,8 @@ protected: QImage rgbSwapped_helper() const; void mirrored_inplace(bool horizontal, bool vertical); void rgbSwapped_inplace(); + QImage convertToFormat_helper(Format format, Qt::ImageConversionFlags flags) const; + bool convertToFormat_inplace(Format format, Qt::ImageConversionFlags flags); private: friend class QWSOnScreenSurface; |