![]() |
Qt 6.x
The Qt SDK
|
#include <qicnshandler_p.h>
Public Member Functions | |
QICNSHandler () | |
bool | canRead () const override |
Returns true if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false . | |
bool | read (QImage *image) override |
Read an image from the device, and stores it in image. | |
bool | write (const QImage &image) override |
Writes the image image to the assigned device. | |
bool | supportsOption (ImageOption option) const override |
Returns true if the QImageIOHandler supports the option option; otherwise returns false . | |
QVariant | option (ImageOption option) const override |
Returns the value assigned to option as a QVariant. | |
int | imageCount () const override |
For image formats that support animation, this function returns the number of images in the animation. | |
bool | jumpToImage (int imageNumber) override |
For image formats that support animation, this function jumps to the image whose sequence number is imageNumber. | |
bool | jumpToNextImage () override |
For image formats that support animation, this function jumps to the next image. | |
![]() | |
QImageIOHandler () | |
Constructs a QImageIOHandler object. | |
virtual | ~QImageIOHandler () |
Destructs the QImageIOHandler object. | |
void | setDevice (QIODevice *device) |
Sets the device of the QImageIOHandler to device. | |
QIODevice * | device () const |
Returns the device currently assigned to the QImageIOHandler. | |
void | setFormat (const QByteArray &format) |
Sets the format of the QImageIOHandler to format. | |
void | setFormat (const QByteArray &format) const |
Sets the format of the QImageIOHandler to format. | |
QByteArray | format () const |
Returns the format that is currently assigned to QImageIOHandler. | |
virtual bool | canRead () const =0 |
Returns true if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false . | |
virtual bool | read (QImage *image)=0 |
Read an image from the device, and stores it in image. | |
virtual bool | write (const QImage &image) |
Writes the image image to the assigned device. | |
virtual QVariant | option (ImageOption option) const |
Returns the value assigned to option as a QVariant. | |
virtual void | setOption (ImageOption option, const QVariant &value) |
Sets the option option with the value value. | |
virtual bool | supportsOption (ImageOption option) const |
Returns true if the QImageIOHandler supports the option option; otherwise returns false . | |
virtual bool | jumpToNextImage () |
For image formats that support animation, this function jumps to the next image. | |
virtual bool | jumpToImage (int imageNumber) |
For image formats that support animation, this function jumps to the image whose sequence number is imageNumber. | |
virtual int | loopCount () const |
For image formats that support animation, this function returns the number of times the animation should loop. | |
virtual int | imageCount () const |
For image formats that support animation, this function returns the number of images in the animation. | |
virtual int | nextImageDelay () const |
For image formats that support animation, this function returns the number of milliseconds to wait until reading the next image. | |
virtual int | currentImageNumber () const |
For image formats that support animation, this function returns the sequence number of the current image in the animation. | |
virtual QRect | currentImageRect () const |
Returns the rect of the current image. | |
Static Public Member Functions | |
static bool | canRead (QIODevice *device) |
![]() | |
static bool | allocateImage (QSize size, QImage::Format format, QImage *image) |
Definition at line 90 of file qicnshandler_p.h.
QICNSHandler::QICNSHandler | ( | ) |
Definition at line 626 of file qicnshandler.cpp.
|
overridevirtual |
Returns true
if an image can be read from the device (i.e., the image format is supported, the device can be read from and the initial header information suggests that the image can be read); otherwise returns false
.
When reimplementing canRead(), make sure that the I/O device (device()) is left in its original state (e.g., by using peek() rather than read()).
Implements QImageIOHandler.
Definition at line 649 of file qicnshandler.cpp.
References canRead(), QImageIOHandler::device(), QByteArrayLiteral, and QImageIOHandler::setFormat().
Referenced by canRead(), and QICNSPlugin::capabilities().
|
static |
Definition at line 631 of file qicnshandler.cpp.
References QImageIOHandler::device(), QIODevice::isReadable(), QIODevice::isSequential(), QIODevice::peek(), QByteArrayLiteral, and qWarning.
|
overridevirtual |
For image formats that support animation, this function returns the number of images in the animation.
If the image format does not support animation, or if it is unable to determine the number of images, 0 is returned.
The default implementation returns 1 if canRead() returns true
; otherwise 0 is returned.
Reimplemented from QImageIOHandler.
Definition at line 799 of file qicnshandler.cpp.
References QList< T >::size().
Referenced by jumpToImage(), and option().
|
overridevirtual |
For image formats that support animation, this function jumps to the image whose sequence number is imageNumber.
The next call to read() will attempt to read this image.
The default implementation does nothing, and returns false
.
Reimplemented from QImageIOHandler.
Definition at line 807 of file qicnshandler.cpp.
References imageCount().
Referenced by jumpToNextImage().
|
overridevirtual |
For image formats that support animation, this function jumps to the next image.
The default implementation does nothing, and returns false
.
Reimplemented from QImageIOHandler.
Definition at line 816 of file qicnshandler.cpp.
References jumpToImage().
|
overridevirtual |
Returns the value assigned to option as a QVariant.
The type of the value depends on the option. For example, option(Size) returns a QSize variant.
Reimplemented from QImageIOHandler.
Definition at line 782 of file qicnshandler.cpp.
References QList< T >::at(), icon, imageCount(), nameFromOSType(), QImageIOHandler::SubType, and supportsOption().
|
overridevirtual |
Read an image from the device, and stores it in image.
Returns true
if the image is successfully read; otherwise returns false.
For image formats that support incremental loading, and for animation formats, the image handler can assume that image points to the previous frame.
Implements QImageIOHandler.
Definition at line 662 of file qicnshandler.cpp.
References QList< T >::at(), QDataStream::BigEndian, QByteArray::constData(), ICNSEntry::Depth32bit, ICNSEntry::Depth4bit, ICNSEntry::Depth8bit, ICNSEntry::DepthMono, QImageIOHandler::device(), QImage::fromData(), icon, ICNSEntry::JP2, nameFromOSType(), ICNSEntry::PNG, qMin(), qWarning, ICNSEntry::RawIcon, read(), read32bitIcon(), readMask(), ICNSEntry::RLE24, and QList< T >::size().
Referenced by read().
|
overridevirtual |
Returns true
if the QImageIOHandler supports the option option; otherwise returns false
.
For example, if the QImageIOHandler supports the \l Size option, supportsOption(Size) must return true.
Reimplemented from QImageIOHandler.
Definition at line 777 of file qicnshandler.cpp.
References QImageIOHandler::SubType.
Referenced by option().
|
overridevirtual |
Writes the image image to the assigned device.
Returns true
on success; otherwise returns false
.
The default implementation does nothing, and simply returns false
.
Reimplemented from QImageIOHandler.
Definition at line 724 of file qicnshandler.cpp.
References QByteArray::constData(), QImageIOHandler::device(), ICNSBlockHeaderSize, Qt::IgnoreAspectRatio, imageData, isBlockHeaderValid(), QIODevice::isWritable(), ICNSBlockHeader::length, nameForCompressedIcon(), nameToOSType(), QDataStream::Ok, ICNSBlockHeader::ostype, qMax(), qMin(), QByteArray::size(), Qt::SmoothTransformation, ICNSBlockHeader::TypeIcns, ICNSBlockHeader::TypeToc, and QIODeviceBase::WriteOnly.