#ifndef QIMAGEIOHANDLER_H
#define QIMAGEIOHANDLER_H
#include <QtCore/qplugin.h>
#include <QtCore/qfactoryinterface.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
struct QImage;
struct QRect;
struct QSize;
struct QImageIOHandlerPrivate;
class QImageIOHandler{
private: inline struct QImageIOHandlerPrivate* d_func();
private: inline struct QImageIOHandlerPrivate const * d_func() const
public: QImageIOHandler();
public: virtual ~QImageIOHandler();
public: void setDevice(class QIODevice* device);
public: class QIODevice* device() const
public: void setFormat(class QByteArray const & format);
public: void setFormat(class QByteArray const & format) const
public: class QByteArray format() const
public: virtual class QByteArray name() const
public: virtual bool canRead() const = 0;
public: virtual bool read(struct QImage* image) = 0;
public: virtual bool write(struct QImage const & image);
public: enum ImageOption{
Size = 0,
ClipRect = 1,
Description = 2,
ScaledClipRect = 3,
ScaledSize = 4,
CompressionRatio = 5,
Gamma = 6,
Quality = 7,
Name = 8,
SubType = 9,
IncrementalReading = 10,
Endianness = 11,
Animation = 12,
BackgroundColor = 13,
};
public: virtual struct QVariant option(enum QImageIOHandler::ImageOption option) const
public: virtual void setOption(enum QImageIOHandler::ImageOption option, struct QVariant const & value);
public: virtual bool supportsOption(enum QImageIOHandler::ImageOption option) const
public: virtual bool jumpToNextImage();
public: virtual bool jumpToImage(int imageNumber);
public: virtual int loopCount() const
public: virtual int imageCount() const
public: virtual int nextImageDelay() const
public: virtual int currentImageNumber() const
public: virtual struct QRect currentImageRect() const
protected: QImageIOHandler(struct QImageIOHandlerPrivate& dd);
protected: struct QImageIOHandlerPrivate* d_ptr;
private: QImageIOHandler(class QImageIOHandler const &);
private: class QImageIOHandler& operator =(class QImageIOHandler const &);
friend struct QImageIOHandlerPrivate;
};
struct QImageIOHandlerFactoryInterface: public QFactoryInterface{
public: virtual class QImageIOHandler* create(class QIODevice* device, class QByteArray const & format = QByteArray::QByteArray()) const = 0;
};
#define QImageIOHandlerFactoryInterface_iid "com.trolltech.Qt.QImageIOHandlerFactoryInterface"
class QImageIOPlugin: public QObject, public QImageIOHandlerFactoryInterface{
public: virtual struct QMetaObject const * metaObject() const
public: virtual void* qt_metacast(char const *);
public: static struct QMetaObject const staticMetaObject;
public: static inline class QString tr(char const * s, char const * c = 0);
public: static inline class QString trUtf8(char const * s, char const * c = 0);
public: static inline class QString tr(char const * s, char const * c, int n);
public: static inline class QString trUtf8(char const * s, char const * c, int n);
public: virtual int qt_metacall(enum QMetaObject::Call, int, void* *);
public: explicit QImageIOPlugin(class QObject* parent = 0);
public: virtual ~QImageIOPlugin();
public: enum Capability{
CanRead = 1,
CanWrite = 2,
CanReadIncremental = 4,
};
public: typedef class QFlags < enum QImageIOPlugin::Capability > Capabilities;
public: virtual class QFlags < enum QImageIOPlugin::Capability > capabilities(class QIODevice* device, class QByteArray const & format) const = 0;
public: virtual class QStringList keys() const = 0;
public: virtual class QImageIOHandler* create(class QIODevice* device, class QByteArray const & format = QByteArray::QByteArray()) const = 0;
};
inline class QFlags < enum QImageIOPlugin::Capability > operator |(enum QImageIOPlugin::Capability f1, class QFlags < enum QImageIOPlugin::Capability > f2);
inline class QFlags < enum QImageIOPlugin::Capability > operator |(enum QImageIOPlugin::Capability f1, enum QImageIOPlugin::Capability f2);
#endif // QIMAGEIOHANDLER_H