summaryrefslogtreecommitdiffstats
path: root/src/plugins/imageformats/webp/qwebphandler_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/imageformats/webp/qwebphandler_p.h')
-rw-r--r--src/plugins/imageformats/webp/qwebphandler_p.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/plugins/imageformats/webp/qwebphandler_p.h b/src/plugins/imageformats/webp/qwebphandler_p.h
index 05e614a..36dfed7 100644
--- a/src/plugins/imageformats/webp/qwebphandler_p.h
+++ b/src/plugins/imageformats/webp/qwebphandler_p.h
@@ -40,17 +40,20 @@
#ifndef QWEBPHANDLER_P_H
#define QWEBPHANDLER_P_H
+#include <QtGui/qcolor.h>
+#include <QtGui/qimage.h>
#include <QtGui/qimageiohandler.h>
#include <QtCore/qbytearray.h>
#include <QtCore/qsize.h>
#include "webp/decode.h"
+#include "webp/demux.h"
class QWebpHandler : public QImageIOHandler
{
public:
QWebpHandler();
- ~QWebpHandler() {}
+ ~QWebpHandler();
public:
QByteArray name() const;
@@ -65,8 +68,15 @@ public:
void setOption(ImageOption option, const QVariant &value);
bool supportsOption(ImageOption option) const;
+ int imageCount() const;
+ int currentImageNumber() const;
+ QRect currentImageRect() const;
+ int loopCount() const;
+ int nextImageDelay() const;
+
private:
bool ensureScanned() const;
+ bool ensureDemuxer();
private:
enum ScanState {
@@ -79,6 +89,14 @@ private:
int m_quality;
mutable ScanState m_scanState;
WebPBitstreamFeatures m_features;
+ int m_loop;
+ int m_frameCount;
+ QColor m_bgColor;
+ QByteArray m_rawData;
+ WebPData m_webpData;
+ WebPDemuxer *m_demuxer;
+ WebPIterator m_iter;
+ QImage *m_composited; // For animation frames composition
};
#endif // WEBPHANDLER_H