1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3#ifndef QTICOHANDLER_H
4#define QTICOHANDLER_H
5
6#include <QtGui/QImageIOHandler>
7
8QT_BEGIN_NAMESPACE
9
10class ICOReader;
11class QtIcoHandler: public QImageIOHandler
12{
13public:
14 QtIcoHandler(QIODevice *device);
15 virtual ~QtIcoHandler();
16
17 bool canRead() const override;
18 bool read(QImage *image) override;
19 bool write(const QImage &image) override;
20
21 int imageCount() const override;
22 bool jumpToImage(int imageNumber) override;
23 bool jumpToNextImage() override;
24
25 static bool canRead(QIODevice *device);
26
27 bool supportsOption(ImageOption option) const override;
28 QVariant option(ImageOption option) const override;
29
30private:
31 int m_currentIconIndex;
32 ICOReader *m_pICOReader;
33
34};
35
36QT_END_NAMESPACE
37
38#endif /* QTICOHANDLER_H */
39
40

source code of qtbase/src/plugins/imageformats/ico/qicohandler.h