diff options
Diffstat (limited to 'src/plugins/imageformats')
23 files changed, 107 insertions, 139 deletions
diff --git a/src/plugins/imageformats/dds/main.cpp b/src/plugins/imageformats/dds/main.cpp index 0c1db67..837a570 100644 --- a/src/plugins/imageformats/dds/main.cpp +++ b/src/plugins/imageformats/dds/main.cpp @@ -53,8 +53,8 @@ class QDDSPlugin : public QImageIOPlugin Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "dds.json") public: - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; QImageIOPlugin::Capabilities QDDSPlugin::capabilities(QIODevice *device, const QByteArray &format) const diff --git a/src/plugins/imageformats/dds/qddshandler.cpp b/src/plugins/imageformats/dds/qddshandler.cpp index 1d6a178..3a44b51 100644 --- a/src/plugins/imageformats/dds/qddshandler.cpp +++ b/src/plugins/imageformats/dds/qddshandler.cpp @@ -996,7 +996,8 @@ static QImage readA2W10V10U10(QDataStream &s, quint32 width, quint32 height) quint8 b = qint8((tmp & 0x000003ff) >> 0 >> 2) + 128; quint8 a = 0xff * ((tmp & 0xc0000000) >> 30) / 3; // dunno why we should swap b and r here - line[x] = qRgba(b, g, r, a); + std::swap(b, r); + line[x] = qRgba(r, g, b, a); } } @@ -1373,7 +1374,9 @@ static int formatByName(const QByteArray &name) } QDDSHandler::QDDSHandler() : + m_header(), m_format(FormatA8R8G8B8), + m_header10(), m_currentImage(0), m_scanState(ScanNotScanned) { diff --git a/src/plugins/imageformats/dds/qddshandler.h b/src/plugins/imageformats/dds/qddshandler.h index ad383e8..665bd16 100644 --- a/src/plugins/imageformats/dds/qddshandler.h +++ b/src/plugins/imageformats/dds/qddshandler.h @@ -53,18 +53,18 @@ class QDDSHandler : public QImageIOHandler public: QDDSHandler(); - QByteArray name() const; + QByteArray name() const override; - bool canRead() const; - bool read(QImage *image); - bool write(const QImage &image); + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; - QVariant option(QImageIOHandler::ImageOption option) const; - void setOption(ImageOption option, const QVariant &value); - bool supportsOption(QImageIOHandler::ImageOption option) const; + QVariant option(QImageIOHandler::ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(QImageIOHandler::ImageOption option) const override; - int imageCount() const; - bool jumpToImage(int imageNumber); + int imageCount() const override; + bool jumpToImage(int imageNumber) override; static bool canRead(QIODevice *device); diff --git a/src/plugins/imageformats/icns/main.cpp b/src/plugins/imageformats/icns/main.cpp index abe78eb..d25d884 100644 --- a/src/plugins/imageformats/icns/main.cpp +++ b/src/plugins/imageformats/icns/main.cpp @@ -52,8 +52,8 @@ class QICNSPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "icns.json") public: - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; QImageIOPlugin::Capabilities QICNSPlugin::capabilities(QIODevice *device, const QByteArray &format) const diff --git a/src/plugins/imageformats/icns/qicnshandler_p.h b/src/plugins/imageformats/icns/qicnshandler_p.h index 2ac975b..84c7bf1 100644 --- a/src/plugins/imageformats/icns/qicnshandler_p.h +++ b/src/plugins/imageformats/icns/qicnshandler_p.h @@ -128,18 +128,18 @@ class QICNSHandler : public QImageIOHandler public: QICNSHandler(); - bool canRead() const; - bool read(QImage *image); - bool write(const QImage &image); + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; - QByteArray name() const; + QByteArray name() const override; - bool supportsOption(ImageOption option) const; - QVariant option(ImageOption option) const; + bool supportsOption(ImageOption option) const override; + QVariant option(ImageOption option) const override; - int imageCount() const; - bool jumpToImage(int imageNumber); - bool jumpToNextImage(); + int imageCount() const override; + bool jumpToImage(int imageNumber) override; + bool jumpToNextImage() override; static bool canRead(QIODevice *device); diff --git a/src/plugins/imageformats/imageformats.pro b/src/plugins/imageformats/imageformats.pro index 24f5f84..118d7ea 100644 --- a/src/plugins/imageformats/imageformats.pro +++ b/src/plugins/imageformats/imageformats.pro @@ -1,6 +1,6 @@ TEMPLATE = subdirs SUBDIRS = \ - dds \ +# dds \ icns \ tga \ tiff \ diff --git a/src/plugins/imageformats/jp2/main.cpp b/src/plugins/imageformats/jp2/main.cpp index 888a101..a1f1281 100644 --- a/src/plugins/imageformats/jp2/main.cpp +++ b/src/plugins/imageformats/jp2/main.cpp @@ -56,16 +56,10 @@ class QJp2Plugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "jp2.json") public: - QStringList keys() const; - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; -QStringList QJp2Plugin::keys() const -{ - return QStringList() << QLatin1String("jp2") << QLatin1String("j2k"); -} - QImageIOPlugin::Capabilities QJp2Plugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "jp2" || format == "j2k") diff --git a/src/plugins/imageformats/jp2/qjp2handler_p.h b/src/plugins/imageformats/jp2/qjp2handler_p.h index 0264a9e..e81ec9e 100644 --- a/src/plugins/imageformats/jp2/qjp2handler_p.h +++ b/src/plugins/imageformats/jp2/qjp2handler_p.h @@ -56,15 +56,15 @@ class QJp2Handler : public QImageIOHandler { public: QJp2Handler(); - virtual ~QJp2Handler(); + ~QJp2Handler(); static bool canRead(QIODevice *iod, QByteArray *subType); - virtual bool canRead() const; - virtual bool read(QImage *image); - virtual bool write(const QImage &image); - virtual QVariant option(ImageOption option) const; - virtual void setOption(ImageOption option, const QVariant &value); - virtual bool supportsOption(ImageOption option) const; - virtual QByteArray name() const; + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(ImageOption option) const override; + QByteArray name() const override; private: Q_DECLARE_PRIVATE(QJp2Handler) diff --git a/src/plugins/imageformats/macjp2/main.cpp b/src/plugins/imageformats/macjp2/main.cpp index 95f7175..08b497e 100644 --- a/src/plugins/imageformats/macjp2/main.cpp +++ b/src/plugins/imageformats/macjp2/main.cpp @@ -49,16 +49,10 @@ class QMacJp2Plugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "macjp2.json") public: - QStringList keys() const; - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; -QStringList QMacJp2Plugin::keys() const -{ - return QStringList() << QStringLiteral("jp2"); -} - QImageIOPlugin::Capabilities QMacJp2Plugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "jp2") diff --git a/src/plugins/imageformats/macjp2/qiiofhelpers.cpp b/src/plugins/imageformats/macjp2/qiiofhelpers.cpp index 99903b0..c894932 100644 --- a/src/plugins/imageformats/macjp2/qiiofhelpers.cpp +++ b/src/plugins/imageformats/macjp2/qiiofhelpers.cpp @@ -74,7 +74,7 @@ static off_t cbSkipForward(void *info, off_t count) } else { char *buf = new char[count]; res = dev->read(buf, count); - delete buf; + delete[] buf; } return qMax(qint64(0), res); } diff --git a/src/plugins/imageformats/macjp2/qmacjp2handler.h b/src/plugins/imageformats/macjp2/qmacjp2handler.h index 3706d98..bf0496d 100644 --- a/src/plugins/imageformats/macjp2/qmacjp2handler.h +++ b/src/plugins/imageformats/macjp2/qmacjp2handler.h @@ -55,15 +55,15 @@ class QMacJp2Handler : public QImageIOHandler { public: QMacJp2Handler(); - virtual ~QMacJp2Handler(); + ~QMacJp2Handler(); - bool canRead() const Q_DECL_OVERRIDE; - bool read(QImage *image) Q_DECL_OVERRIDE; - bool write(const QImage &image) Q_DECL_OVERRIDE; - QVariant option(ImageOption option) const Q_DECL_OVERRIDE; - void setOption(ImageOption option, const QVariant &value) Q_DECL_OVERRIDE; - bool supportsOption(ImageOption option) const Q_DECL_OVERRIDE; - QByteArray name() const Q_DECL_OVERRIDE; + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(ImageOption option) const override; + QByteArray name() const override; static bool canRead(QIODevice *iod); diff --git a/src/plugins/imageformats/mng/main.cpp b/src/plugins/imageformats/mng/main.cpp index 0941141..5e5b0a3 100644 --- a/src/plugins/imageformats/mng/main.cpp +++ b/src/plugins/imageformats/mng/main.cpp @@ -58,16 +58,10 @@ class QMngPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "mng.json") public: - QStringList keys() const; - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; -QStringList QMngPlugin::keys() const -{ - return QStringList() << QLatin1String("mng"); -} - QImageIOPlugin::Capabilities QMngPlugin::capabilities(QIODevice *device, const QByteArray &format) const { if (format == "mng") diff --git a/src/plugins/imageformats/mng/qmnghandler_p.h b/src/plugins/imageformats/mng/qmnghandler_p.h index 252e238..0f9a207 100644 --- a/src/plugins/imageformats/mng/qmnghandler_p.h +++ b/src/plugins/imageformats/mng/qmnghandler_p.h @@ -56,20 +56,20 @@ class QMngHandler : public QImageIOHandler public: QMngHandler(); ~QMngHandler(); - virtual bool canRead() const; - virtual QByteArray name() const; - virtual bool read(QImage *image); - virtual bool write(const QImage &image); - virtual int currentImageNumber() const; - virtual int imageCount() const; - virtual bool jumpToImage(int imageNumber); - virtual bool jumpToNextImage(); - virtual int loopCount() const; - virtual int nextImageDelay() const; + bool canRead() const override; + QByteArray name() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; + int currentImageNumber() const override; + int imageCount() const override; + bool jumpToImage(int imageNumber) override; + bool jumpToNextImage() override; + int loopCount() const override; + int nextImageDelay() const override; static bool canRead(QIODevice *device); - virtual QVariant option(ImageOption option) const; - virtual void setOption(ImageOption option, const QVariant & value); - virtual bool supportsOption(ImageOption option) const; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant & value) override; + bool supportsOption(ImageOption option) const override; private: Q_DECLARE_PRIVATE(QMngHandler) diff --git a/src/plugins/imageformats/tga/main.cpp b/src/plugins/imageformats/tga/main.cpp index bb80283..22fd3be 100644 --- a/src/plugins/imageformats/tga/main.cpp +++ b/src/plugins/imageformats/tga/main.cpp @@ -56,9 +56,8 @@ class QTgaPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "tga.json") public: - Capabilities capabilities(QIODevice * device, const QByteArray & format) const; - QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const; - QStringList keys() const; + Capabilities capabilities(QIODevice * device, const QByteArray & format) const override; + QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const override; }; QImageIOPlugin::Capabilities QTgaPlugin::capabilities(QIODevice *device, const QByteArray &format) const @@ -84,11 +83,6 @@ QImageIOHandler* QTgaPlugin::create(QIODevice *device, const QByteArray &format) return tgaHandler; } -QStringList QTgaPlugin::keys() const -{ - return QStringList() << QLatin1String("tga"); -} - QT_END_NAMESPACE #include "main.moc" diff --git a/src/plugins/imageformats/tga/qtgafile.cpp b/src/plugins/imageformats/tga/qtgafile.cpp index 355b8a1..14a7a74 100644 --- a/src/plugins/imageformats/tga/qtgafile.cpp +++ b/src/plugins/imageformats/tga/qtgafile.cpp @@ -52,13 +52,13 @@ struct TgaReader struct Tga16Reader : public TgaReader { ~Tga16Reader() {} - QRgb operator()(QIODevice *s) const + QRgb operator()(QIODevice *s) const override { char ch1, ch2; if (s->getChar(&ch1) && s->getChar(&ch2)) { quint16 d = (int(ch1) & 0xFF) | ((int(ch2) & 0xFF) << 8); QRgb result = (d & 0x8000) ? 0xFF000000 : 0x00000000; - result |= (d & 0x7C00 << 6) | (d & 0x03E0 << 3) | (d & 0x001F); + result |= ((d & 0x7C00) << 6) | ((d & 0x03E0) << 3) | (d & 0x001F); return result; } else { return 0; @@ -68,7 +68,7 @@ struct Tga16Reader : public TgaReader struct Tga24Reader : public TgaReader { - QRgb operator()(QIODevice *s) const + QRgb operator()(QIODevice *s) const override { char r, g, b; if (s->getChar(&b) && s->getChar(&g) && s->getChar(&r)) @@ -80,7 +80,7 @@ struct Tga24Reader : public TgaReader struct Tga32Reader : public TgaReader { - QRgb operator()(QIODevice *s) const + QRgb operator()(QIODevice *s) const override { char r, g, b, a; if (s->getChar(&b) && s->getChar(&g) && s->getChar(&r) && s->getChar(&a)) diff --git a/src/plugins/imageformats/tga/qtgahandler.h b/src/plugins/imageformats/tga/qtgahandler.h index 757f187..5ef7e02 100644 --- a/src/plugins/imageformats/tga/qtgahandler.h +++ b/src/plugins/imageformats/tga/qtgahandler.h @@ -52,16 +52,16 @@ public: QTgaHandler(); ~QTgaHandler(); - bool canRead() const; - bool read(QImage *image); + bool canRead() const override; + bool read(QImage *image) override; - QByteArray name() const; + QByteArray name() const override; static bool canRead(QIODevice *device); - QVariant option(ImageOption option) const; - void setOption(ImageOption option, const QVariant &value); - bool supportsOption(ImageOption option) const; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(ImageOption option) const override; private: mutable QTgaFile *tga; diff --git a/src/plugins/imageformats/tiff/main.cpp b/src/plugins/imageformats/tiff/main.cpp index e16b178..915f47e 100644 --- a/src/plugins/imageformats/tiff/main.cpp +++ b/src/plugins/imageformats/tiff/main.cpp @@ -55,9 +55,8 @@ class QTiffPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "tiff.json") public: - Capabilities capabilities(QIODevice * device, const QByteArray & format) const; - QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const; - QStringList keys() const; + Capabilities capabilities(QIODevice * device, const QByteArray & format) const override; + QImageIOHandler * create(QIODevice * device, const QByteArray & format = QByteArray()) const override; }; QImageIOPlugin::Capabilities QTiffPlugin::capabilities(QIODevice *device, const QByteArray &format) const @@ -85,11 +84,6 @@ QImageIOHandler* QTiffPlugin::create(QIODevice *device, const QByteArray &format return tiffHandler; } -QStringList QTiffPlugin::keys() const -{ - return QStringList() << QLatin1String("tiff") << QLatin1String("tif"); -} - QT_END_NAMESPACE #include "main.moc" diff --git a/src/plugins/imageformats/tiff/qtiffhandler_p.h b/src/plugins/imageformats/tiff/qtiffhandler_p.h index be2c753..f362a90 100644 --- a/src/plugins/imageformats/tiff/qtiffhandler_p.h +++ b/src/plugins/imageformats/tiff/qtiffhandler_p.h @@ -51,17 +51,17 @@ class QTiffHandler : public QImageIOHandler public: QTiffHandler(); - bool canRead() const Q_DECL_OVERRIDE; - bool read(QImage *image) Q_DECL_OVERRIDE; - bool write(const QImage &image) Q_DECL_OVERRIDE; + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; - QByteArray name() const Q_DECL_OVERRIDE; + QByteArray name() const override; static bool canRead(QIODevice *device); - QVariant option(ImageOption option) const Q_DECL_OVERRIDE; - void setOption(ImageOption option, const QVariant &value) Q_DECL_OVERRIDE; - bool supportsOption(ImageOption option) const Q_DECL_OVERRIDE; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(ImageOption option) const override; enum Compression { NoCompression = 0, diff --git a/src/plugins/imageformats/wbmp/main.cpp b/src/plugins/imageformats/wbmp/main.cpp index 819808e..45da0ca 100644 --- a/src/plugins/imageformats/wbmp/main.cpp +++ b/src/plugins/imageformats/wbmp/main.cpp @@ -55,9 +55,8 @@ class QWbmpPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "wbmp.json") public: - QStringList keys() const; - QImageIOPlugin::Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + QImageIOPlugin::Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; QImageIOPlugin::Capabilities QWbmpPlugin::capabilities(QIODevice *device, const QByteArray &format) const @@ -89,11 +88,6 @@ QImageIOHandler * QWbmpPlugin::create(QIODevice *device, const QByteArray &forma return handler; } -QStringList QWbmpPlugin::keys() const -{ - return QStringList() << QLatin1String("wbmp"); -} - QT_END_NAMESPACE #include "main.moc" diff --git a/src/plugins/imageformats/wbmp/qwbmphandler_p.h b/src/plugins/imageformats/wbmp/qwbmphandler_p.h index 437d794..3856fc4 100644 --- a/src/plugins/imageformats/wbmp/qwbmphandler_p.h +++ b/src/plugins/imageformats/wbmp/qwbmphandler_p.h @@ -61,14 +61,14 @@ class QWbmpHandler : public QImageIOHandler { public: QWbmpHandler(QIODevice *device); - virtual ~QWbmpHandler(); + ~QWbmpHandler(); - bool canRead() const; - bool read(QImage *image); - bool write(const QImage &image); + bool canRead() const override; + bool read(QImage *image) override; + bool write(const QImage &image) override; - QVariant option(ImageOption option) const; - bool supportsOption(ImageOption option) const; + QVariant option(ImageOption option) const override; + bool supportsOption(ImageOption option) const override; static bool canRead(QIODevice *device); diff --git a/src/plugins/imageformats/webp/main.cpp b/src/plugins/imageformats/webp/main.cpp index 6aa34e6..064f3ab 100644 --- a/src/plugins/imageformats/webp/main.cpp +++ b/src/plugins/imageformats/webp/main.cpp @@ -58,8 +58,8 @@ class QWebpPlugin : public QImageIOPlugin Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QImageIOHandlerFactoryInterface" FILE "webp.json") public: - Capabilities capabilities(QIODevice *device, const QByteArray &format) const; - QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const; + Capabilities capabilities(QIODevice *device, const QByteArray &format) const override; + QImageIOHandler *create(QIODevice *device, const QByteArray &format = QByteArray()) const override; }; QWebpPlugin::Capabilities QWebpPlugin::capabilities(QIODevice *device, const QByteArray &format) const diff --git a/src/plugins/imageformats/webp/qwebphandler.cpp b/src/plugins/imageformats/webp/qwebphandler.cpp index a59e6bd..0bd89f6 100644 --- a/src/plugins/imageformats/webp/qwebphandler.cpp +++ b/src/plugins/imageformats/webp/qwebphandler.cpp @@ -51,6 +51,7 @@ QWebpHandler::QWebpHandler() : m_lossless(false), m_quality(75), m_scanState(ScanNotScanned), + m_features(), m_loop(0), m_frameCount(0), m_demuxer(NULL), diff --git a/src/plugins/imageformats/webp/qwebphandler_p.h b/src/plugins/imageformats/webp/qwebphandler_p.h index 36dfed7..99a7c21 100644 --- a/src/plugins/imageformats/webp/qwebphandler_p.h +++ b/src/plugins/imageformats/webp/qwebphandler_p.h @@ -56,23 +56,23 @@ public: ~QWebpHandler(); public: - QByteArray name() const; + QByteArray name() const override; - bool canRead() const; - bool read(QImage *image); + bool canRead() const override; + bool read(QImage *image) override; static bool canRead(QIODevice *device); - bool write(const QImage &image); - QVariant option(ImageOption option) const; - void setOption(ImageOption option, const QVariant &value); - bool supportsOption(ImageOption option) const; + bool write(const QImage &image) override; + QVariant option(ImageOption option) const override; + void setOption(ImageOption option, const QVariant &value) override; + bool supportsOption(ImageOption option) const override; - int imageCount() const; - int currentImageNumber() const; - QRect currentImageRect() const; - int loopCount() const; - int nextImageDelay() const; + int imageCount() const override; + int currentImageNumber() const override; + QRect currentImageRect() const override; + int loopCount() const override; + int nextImageDelay() const override; private: bool ensureScanned() const; |