Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QBmpHandler Class Reference

#include <qbmphandler_p.h>

+ Inheritance diagram for QBmpHandler:
+ Collaboration diagram for QBmpHandler:

Public Types

enum  InternalFormat { DibFormat , BmpFormat }
 
- Public Types inherited from QImageIOHandler
enum  ImageOption {
  Size , ClipRect , Description , ScaledClipRect ,
  ScaledSize , CompressionRatio , Gamma , Quality ,
  Name , SubType , IncrementalReading , Endianness ,
  Animation , BackgroundColor , ImageFormat , SupportedSubTypes ,
  OptimizedWrite , ProgressiveScanWrite , ImageTransformation
}
 This enum describes the different options supported by QImageIOHandler. More...
 
enum  Transformation {
  TransformationNone = 0 , TransformationMirror = 1 , TransformationFlip = 2 , TransformationRotate180 = TransformationMirror | TransformationFlip ,
  TransformationRotate90 = 4 , TransformationMirrorAndRotate90 = TransformationMirror | TransformationRotate90 , TransformationFlipAndRotate90 = TransformationFlip | TransformationRotate90 , TransformationRotate270 = TransformationRotate180 | TransformationRotate90
}
 

Public Member Functions

 QBmpHandler (InternalFormat fmt=BmpFormat)
 
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.
 
QVariant option (ImageOption option) const override
 Returns the value assigned to option as a QVariant.
 
void setOption (ImageOption option, const QVariant &value) override
 Sets the option option with the value value.
 
bool supportsOption (ImageOption option) const override
 Returns true if the QImageIOHandler supports the option option; otherwise returns false.
 
- Public Member Functions inherited from QImageIOHandler
 QImageIOHandler ()
 Constructs a QImageIOHandler object.
 
virtual ~QImageIOHandler ()
 Destructs the QImageIOHandler object.
 
void setDevice (QIODevice *device)
 Sets the device of the QImageIOHandler to device.
 
QIODevicedevice () 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 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 Public Member Functions inherited from QImageIOHandler
static bool allocateImage (QSize size, QImage::Format format, QImage *image)
 

Additional Inherited Members

- Protected Member Functions inherited from QImageIOHandler
 QImageIOHandler (QImageIOHandlerPrivate &dd)
 
- Protected Attributes inherited from QImageIOHandler
QScopedPointer< QImageIOHandlerPrivated_ptr
 

Detailed Description

Definition at line 67 of file qbmphandler_p.h.

Member Enumeration Documentation

◆ InternalFormat

Enumerator
DibFormat 
BmpFormat 

Definition at line 70 of file qbmphandler_p.h.

Constructor & Destructor Documentation

◆ QBmpHandler()

QBmpHandler::QBmpHandler ( InternalFormat fmt = BmpFormat)
explicit

Definition at line 671 of file qbmphandler.cpp.

Member Function Documentation

◆ canRead() [1/2]

bool QBmpHandler::canRead ( ) const
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()).

See also
read(), QIODevice::peek()

Implements QImageIOHandler.

Definition at line 704 of file qbmphandler.cpp.

References BmpFormat, canRead(), QImageIOHandler::device(), and QImageIOHandler::setFormat().

Referenced by canRead(), and createReadHandlerHelper().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ canRead() [2/2]

bool QBmpHandler::canRead ( QIODevice * device)
static

Definition at line 717 of file qbmphandler.cpp.

References QImageIOHandler::device(), head(), QIODevice::peek(), qstrncmp(), and qWarning.

+ Here is the call graph for this function:

◆ option()

QVariant QBmpHandler::option ( ImageOption option) const
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.

See also
setOption(), supportsOption()

Reimplemented from QImageIOHandler.

Definition at line 864 of file qbmphandler.cpp.

References BMP_INFOHDR::biAlphaMask, BMP_INFOHDR::biBitCount, BMP_INFOHDR::biCompression, BMP_INFOHDR::biHeight, BMP_INFOHDR::biSize, BMP_INFOHDR::biWidth, BMP_ALPHABITFIELDS, BMP_BITFIELDS, BMP_WIN4, QImageIOHandler::format(), QImage::Format_ARGB32, QImage::Format_Indexed8, QImage::Format_Mono, and QImage::Format_RGB32.

+ Here is the call graph for this function:

◆ read()

bool QBmpHandler::read ( QImage * image)
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.

See also
canRead()

Implements QImageIOHandler.

Definition at line 731 of file qbmphandler.cpp.

References BMP_FILEHDR::bfOffBits, BMP_INFOHDR::biBitCount, BMP_INFOHDR::biCompression, BMP_INFOHDR::biSize, BMP_INFOHDR::biSizeImage, BMP_ALPHABITFIELDS, BMP_BITFIELDS, BMP_FILEHDR_SIZE, BmpFormat, d, QImageIOHandler::device(), QDataStream::LittleEndian, qWarning, and read_dib_body().

+ Here is the call graph for this function:

◆ setOption()

void QBmpHandler::setOption ( ImageOption option,
const QVariant & value )
overridevirtual

Sets the option option with the value value.

See also
option(), ImageOption

Reimplemented from QImageIOHandler.

Definition at line 899 of file qbmphandler.cpp.

References Q_UNUSED.

◆ supportsOption()

bool QBmpHandler::supportsOption ( ImageOption option) const
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.

See also
setOption(), option()

Reimplemented from QImageIOHandler.

Definition at line 858 of file qbmphandler.cpp.

References QImageIOHandler::ImageFormat.

◆ write()

bool QBmpHandler::write ( const QImage & image)
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 786 of file qbmphandler.cpp.

References BMP_FILEHDR_SIZE, BMP_WIN, d, QImageIOHandler::device(), DibFormat, QImage::Format_Alpha8, QImage::Format_ARGB32, QImage::Format_Grayscale8, QImage::Format_Indexed8, QImage::Format_Mono, QImage::Format_MonoLSB, QImage::Format_RGB32, QDataStream::LittleEndian, and qt_write_dib().

+ Here is the call graph for this function:

The documentation for this class was generated from the following files: