Qt 4.8
Public Types | Public Functions | List of all members
QImageIOPlugin Class Referenceabstract

The QImageIOPlugin class defines an interface for writing an image format plugin. More...

#include <qimageiohandler.h>

Inheritance diagram for QImageIOPlugin:
QObject QImageIOHandlerFactoryInterface QFactoryInterface QGifPlugin QICOPlugin QJpegPlugin QMngPlugin QSvgPlugin QTgaPlugin QTiffPlugin

Public Types

enum  Capability { CanRead = 0x1, CanWrite = 0x2, CanReadIncremental = 0x4 }
 This enum describes the capabilities of a QImageIOPlugin. More...
 

Public Functions

virtual Capabilities capabilities (QIODevice *device, const QByteArray &format) const =0
 Returns the capabilities on the plugin, based on the data in device and the format format. More...
 
virtual QImageIOHandlercreate (QIODevice *device, const QByteArray &format=QByteArray()) const =0
 Creates and returns a QImageIOHandler subclass, with device and format set. More...
 
virtual QStringList keys () const =0
 Returns the list of image keys this plugin supports. More...
 
 QImageIOPlugin (QObject *parent=0)
 Constructs an image plugin with the given parent. More...
 
virtual ~QImageIOPlugin ()
 Destroys the picture format plugin. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 
- Public Functions inherited from QFactoryInterface
virtual ~QFactoryInterface ()
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QImageIOPlugin class defines an interface for writing an image format plugin.

Note
This class or function is reentrant.

QImageIOPlugin is a factory for creating QImageIOHandler objects, which are used internally by QImageReader and QImageWriter to add support for different image formats to Qt.

Writing an image I/O plugin is achieved by subclassing this base class, reimplementing the pure virtual functions capabilities(), create(), and keys(), and exporting the class with the Q_EXPORT_PLUGIN2() macro. See How to Create Qt Plugins for details.

An image format plugin can support three capabilities: reading (CanRead ), writing (CanWrite ) and incremental reading (CanReadIncremental ). Reimplement capabilities() in you subclass to expose the capabilities of your image format.

create() should create an instance of your QImageIOHandler subclass, with the provided device and format properly set, and return this handler. You must also reimplement keys() so that Qt knows which image formats your plugin supports.

Different plugins can support different capabilities. For example, you may have one plugin that supports reading the GIF format, and another that supports writing. Qt will select the correct plugin for the job, depending on the return value of capabilities(). If several plugins support the same capability, Qt will select one arbitrarily.

See also
QImageIOHandler, {How to Create Qt Plugins}

Definition at line 126 of file qimageiohandler.h.

Enumerations

◆ Capability

This enum describes the capabilities of a QImageIOPlugin.

  • CanRead The plugin can read images.
  • CanWrite The plugin can write images.
  • CanReadIncremental The plugin can read images incrementally.
Enumerator
CanRead 
CanWrite 
CanReadIncremental 

Definition at line 134 of file qimageiohandler.h.

Constructors and Destructors

◆ QImageIOPlugin()

QImageIOPlugin::QImageIOPlugin ( QObject parent = 0)
explicit

Constructs an image plugin with the given parent.

This is invoked automatically by the Q_EXPORT_PLUGIN2() macro.

Definition at line 545 of file qimageiohandler.cpp.

546  : QObject(parent)
547 {
548 }
Q_INVOKABLE QObject(QObject *parent=0)
Constructs an object with parent object parent.
Definition: qobject.cpp:753

◆ ~QImageIOPlugin()

QImageIOPlugin::~QImageIOPlugin ( )
virtual

Destroys the picture format plugin.

You never have to call this explicitly. Qt destroys a plugin automatically when it is no longer used.

Definition at line 556 of file qimageiohandler.cpp.

557 {
558 }

Functions

◆ capabilities()

QImageIOPlugin::capabilities ( QIODevice device,
const QByteArray format 
) const
pure virtual

Returns the capabilities on the plugin, based on the data in device and the format 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 CanRead . If format is "bmp" and the handler supports both reading and writing, this function should return CanRead | CanWrite .

Implemented in QGifPlugin, QMngPlugin, QSvgPlugin, QICOPlugin, QJpegPlugin, QTgaPlugin, and QTiffPlugin.

Referenced by createReadHandlerHelper(), if(), QImageWriter::supportedImageFormats(), and QImageReader::supportedImageFormats().

◆ create()

QImageIOHandler * QImageIOPlugin::create ( QIODevice device,
const QByteArray format = QByteArray() 
) const
pure virtual

Creates and returns a QImageIOHandler subclass, with device and format set.

The format must come from the list returned by keys(). Format names are case sensitive.

See also
keys()

Implements QImageIOHandlerFactoryInterface.

Implemented in QGifPlugin, QMngPlugin, QSvgPlugin, QICOPlugin, QJpegPlugin, QTgaPlugin, and QTiffPlugin.

Referenced by createReadHandlerHelper(), and if().

◆ keys()

QImageIOPlugin::keys ( ) const
pure virtual

Returns the list of image keys this plugin supports.

These keys are usually the names of the image formats that are implemented in the plugin (e.g., "jpg" or "gif").

See also
capabilities()

Implements QFactoryInterface.

Implemented in QGifPlugin, QMngPlugin, QTgaPlugin, QTiffPlugin, QSvgPlugin, QICOPlugin, and QJpegPlugin.


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