diff options
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/image/qimageiohandler.cpp | 39 | ||||
-rw-r--r-- | src/gui/image/qimageiohandler.h | 10 |
2 files changed, 13 insertions, 36 deletions
diff --git a/src/gui/image/qimageiohandler.cpp b/src/gui/image/qimageiohandler.cpp index 153412fb29..c58642988e 100644 --- a/src/gui/image/qimageiohandler.cpp +++ b/src/gui/image/qimageiohandler.cpp @@ -171,9 +171,9 @@ 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 \l{How to Create Qt Plugins} for details. + base class, reimplementing the pure virtual functions capabilities() + and create(), and exporting the class with the + Q_PLUGIN_METADATA() macro. See \l{How to Create Qt Plugins} for details. An image format plugin can support three capabilities: reading (\l CanRead), writing (\l CanWrite) and \e incremental reading (\l @@ -182,8 +182,15 @@ 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. + 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: + + \code + { "Keys": [ "jpg", "jpeg" ] } + \endcode Different plugins can support different capabilities. For example, you may have one plugin that supports reading the GIF format, and @@ -205,17 +212,6 @@ \value CanReadIncremental The plugin can read images incrementally. */ -/*! - \class QImageIOHandlerFactoryInterface - \brief The QImageIOHandlerFactoryInterface class provides the factory - interface for QImageIOPlugin. - \reentrant - - \internal - - \sa QImageIOPlugin -*/ - #include "qimageiohandler.h" #include <qbytearray.h> @@ -547,17 +543,6 @@ QImageIOPlugin::~QImageIOPlugin() */ /*! - \fn QImageIOPlugin::keys() const - - 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"). - - \sa capabilities() -*/ - -/*! \fn QImageIOHandler *QImageIOPlugin::create(QIODevice *device, const QByteArray &format) const Creates and returns a QImageIOHandler subclass, with \a device diff --git a/src/gui/image/qimageiohandler.h b/src/gui/image/qimageiohandler.h index 0252ec02cc..16784504b6 100644 --- a/src/gui/image/qimageiohandler.h +++ b/src/gui/image/qimageiohandler.h @@ -114,18 +114,11 @@ private: Q_DISABLE_COPY(QImageIOHandler) }; -struct Q_GUI_EXPORT QImageIOHandlerFactoryInterface : public QFactoryInterface -{ - virtual QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const = 0; -}; - #define QImageIOHandlerFactoryInterface_iid "org.qt-project.Qt.QImageIOHandlerFactoryInterface" -Q_DECLARE_INTERFACE(QImageIOHandlerFactoryInterface, QImageIOHandlerFactoryInterface_iid) -class Q_GUI_EXPORT QImageIOPlugin : public QObject, public QImageIOHandlerFactoryInterface +class Q_GUI_EXPORT QImageIOPlugin : public QObject { Q_OBJECT - Q_INTERFACES(QImageIOHandlerFactoryInterface:QFactoryInterface) public: explicit QImageIOPlugin(QObject *parent = 0); virtual ~QImageIOPlugin(); @@ -138,7 +131,6 @@ public: Q_DECLARE_FLAGS(Capabilities, Capability) virtual Capabilities capabilities(QIODevice *device, const QByteArray &format) const = 0; - virtual QStringList keys() const = 0; virtual QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const = 0; }; |