summaryrefslogtreecommitdiffstats
path: root/src/gui/image
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/image')
-rw-r--r--src/gui/image/qimage.cpp7
-rw-r--r--src/gui/image/qimageiohandler.cpp40
-rw-r--r--src/gui/image/qimagewriter.cpp2
-rw-r--r--src/gui/image/qpixmap.cpp2
4 files changed, 35 insertions, 16 deletions
diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp
index 234742e6b9..0916826529 100644
--- a/src/gui/image/qimage.cpp
+++ b/src/gui/image/qimage.cpp
@@ -2324,7 +2324,7 @@ static bool convert_RGB_to_RGB16_inplace(QImageData *data, Qt::ImageConversionFl
static void convert_ARGB_PM_to_ARGB(QImageData *dest, const QImageData *src, Qt::ImageConversionFlags)
{
Q_ASSERT(src->format == QImage::Format_ARGB32_Premultiplied || src->format == QImage::Format_RGBA8888_Premultiplied);
- Q_ASSERT(dest->format == QImage::Format_ARGB32 || src->format == QImage::Format_RGBA8888);
+ Q_ASSERT(dest->format == QImage::Format_ARGB32 || dest->format == QImage::Format_RGBA8888);
Q_ASSERT(src->width == dest->width);
Q_ASSERT(src->height == dest->height);
@@ -3853,6 +3853,9 @@ static InPlace_Image_Converter inplace_converter_map[QImage::NImageFormats][QIma
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}, // Format_RGB444
{
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ }, // Format_ARGB4444_Premultiplied
+ {
0,
0,
0,
@@ -3989,7 +3992,7 @@ void qGamma_correct_back_to_linear_cs(QImage *image)
The specified image conversion \a flags control how the image data
is handled during the conversion process.
- \sa {QImage#Image Format}{Image Format}
+ \sa {Image Formats}
*/
QImage QImage::convertToFormat(Format format, Qt::ImageConversionFlags flags) const
{
diff --git a/src/gui/image/qimageiohandler.cpp b/src/gui/image/qimageiohandler.cpp
index 04e3213c53..d67b22c31e 100644
--- a/src/gui/image/qimageiohandler.cpp
+++ b/src/gui/image/qimageiohandler.cpp
@@ -187,11 +187,15 @@
return this handler.
The json metadata file for the plugin needs to contain information
- about the image formats the plugins supports. For a jpeg plugin, this
- could e.g. look as follows:
+ about the image formats the plugins supports, together with the
+ corresponding MIME types (one for each format). For a jpeg plugin, this
+ could, for example, look as follows:
\code
- { "Keys": [ "jpg", "jpeg" ] }
+ {
+ "Keys": [ "jpg", "jpeg" ],
+ "MimeTypes": [ "image/jpeg", "image/jpeg" ]
+ }
\endcode
Different plugins can support different capabilities. For example,
@@ -537,23 +541,33 @@ QImageIOPlugin::~QImageIOPlugin()
/*! \fn QImageIOPlugin::capabilities(QIODevice *device, const QByteArray &format) const
- Returns the capabilities on the plugin, based on the data in \a
- device and the format \a format. For example, if the
- QImageIOHandler supports the BMP format, and the data in the
- device starts with the characters "BM", this function should
- return \l CanRead. If \a format is "bmp" and the handler supports
- both reading and writing, this function should return \l CanRead |
- \l CanWrite.
+ Returns the capabilities of the plugin, based on the data in \a
+ device and the format \a format. If \a device is \c 0, it should
+ simply report whether the format can be read or written. Otherwise,
+ it should attempt to determine whether the given format (or any
+ format supported by the plugin if \a format is empty) can be read
+ from or written to \a device. It should do this without changing
+ the state of \a device (typically by using QIODevice::peek()).
+
+ For example, if the QImageIOPlugin supports the BMP format, \a format
+ is either empty or \c "bmp", and the data in the device starts with the
+ characters \c "BM", this function should return \l CanRead. If \a format
+ is \c "bmp", \a device is \c 0 and the handler supports both reading and
+ writing, this function should return \l CanRead | \l CanWrite.
+
+ Format names are always given in lower case.
*/
/*!
\fn QImageIOHandler *QImageIOPlugin::create(QIODevice *device, const QByteArray &format) const
Creates and returns a QImageIOHandler subclass, with \a device
- and \a format set. The \a format must come from the list returned by keys().
- Format names are case sensitive.
+ and \a format set. The \a format must come from the values listed
+ in the \c "Keys" entry in the plugin metadata, or be empty. If it is
+ empty, the data in \a device must have been recognized by the
+ capabilities() method (with a likewise empty format).
- \sa keys()
+ Format names are always given in lower case.
*/
#endif // QT_NO_IMAGEFORMATPLUGIN
diff --git a/src/gui/image/qimagewriter.cpp b/src/gui/image/qimagewriter.cpp
index e4065724be..900093b51b 100644
--- a/src/gui/image/qimagewriter.cpp
+++ b/src/gui/image/qimagewriter.cpp
@@ -772,7 +772,9 @@ QList<QByteArray> QImageWriter::supportedImageFormats()
QList<QByteArray> QImageWriter::supportedMimeTypes()
{
QSet<QByteArray> mimeTypes;
+#ifndef QT_NO_IMAGEFORMAT_BMP
mimeTypes << "image/bmp";
+#endif
#ifndef QT_NO_IMAGEFORMAT_PPM
mimeTypes << "image/x-portable-bitmap";
mimeTypes << "image/x-portable-graymap";
diff --git a/src/gui/image/qpixmap.cpp b/src/gui/image/qpixmap.cpp
index 5f51358eb2..a620d34553 100644
--- a/src/gui/image/qpixmap.cpp
+++ b/src/gui/image/qpixmap.cpp
@@ -73,7 +73,7 @@ QT_BEGIN_NAMESPACE
static bool qt_pixmap_thread_test()
{
if (!QCoreApplication::instance()) {
- qFatal("QPixmap: Must construct a QApplication before a QPaintDevice");
+ qFatal("QPixmap: Must construct a QGuiApplication before a QPixmap");
return false;
}