// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only #ifndef QIMAGEREADER_H #define QIMAGEREADER_H #include #include #include #include #include QT_BEGIN_NAMESPACE class QColor; class QIODevice; class QRect; class QSize; class QImageReaderPrivate; class Q_GUI_EXPORT QImageReader { Q_DECLARE_TR_FUNCTIONS(QImageReader) public: enum ImageReaderError { UnknownError, FileNotFoundError, DeviceError, UnsupportedFormatError, InvalidDataError }; QImageReader(); explicit QImageReader(QIODevice *device, const QByteArray &format = QByteArray()); explicit QImageReader(const QString &fileName, const QByteArray &format = QByteArray()); ~QImageReader(); void setFormat(const QByteArray &format); QByteArray format() const; void setAutoDetectImageFormat(bool enabled); bool autoDetectImageFormat() const; void setDecideFormatFromContent(bool ignored); bool decideFormatFromContent() const; void setDevice(QIODevice *device); QIODevice *device() const; void setFileName(const QString &fileName); QString fileName() const; QSize size() const; QImage::Format imageFormat() const; QStringList textKeys() const; QString text(const QString &key) const; void setClipRect(const QRect &rect); QRect clipRect() const; void setScaledSize(const QSize &size); QSize scaledSize() const; void setQuality(int quality); int quality() const; void setScaledClipRect(const QRect &rect); QRect scaledClipRect() const; void setBackgroundColor(const QColor &color); QColor backgroundColor() const; bool supportsAnimation() const; QImageIOHandler::Transformations transformation() const; void setAutoTransform(bool enabled); bool autoTransform() const; QByteArray subType() const; QList supportedSubTypes() const; bool canRead() const; QImage read(); bool read(QImage *image); bool jumpToNextImage(); bool jumpToImage(int imageNumber); int loopCount() const; int imageCount() const; int nextImageDelay() const; int currentImageNumber() const; QRect currentImageRect() const; ImageReaderError error() const; QString errorString() const; bool supportsOption(QImageIOHandler::ImageOption option) const; static QByteArray imageFormat(const QString &fileName); static QByteArray imageFormat(QIODevice *device); static QList supportedImageFormats(); static QList supportedMimeTypes(); static QList imageFormatsForMimeType(const QByteArray &mimeType); static int allocationLimit(); static void setAllocationLimit(int mbLimit); private: Q_DISABLE_COPY(QImageReader) QImageReaderPrivate *d; }; QT_END_NAMESPACE #endif // QIMAGEREADER_H