Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qddshandler.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// Copyright (C) 2016 Ivan Komissarov.
3// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5#ifndef QDDSHANDLER_H
6#define QDDSHANDLER_H
7
8#include <QtGui/qimageiohandler.h>
9#include "ddsheader.h"
10
11#ifndef QT_NO_DATASTREAM
12
14
16{
17public:
19
20 bool canRead() const override;
21 bool read(QImage *image) override;
22 bool write(const QImage &image) override;
23
24 QVariant option(QImageIOHandler::ImageOption option) const override;
25 void setOption(ImageOption option, const QVariant &value) override;
26 bool supportsOption(QImageIOHandler::ImageOption option) const override;
27
28 int imageCount() const override;
29 bool jumpToImage(int imageNumber) override;
30
31 static bool canRead(QIODevice *device);
32
33private:
34 bool ensureScanned() const;
35 bool verifyHeader(const DDSHeader &dds) const;
36
37private:
38 enum ScanState {
39 ScanError = -1,
40 ScanNotScanned = 0,
41 ScanSuccess = 1,
42 };
43
44 DDSHeader m_header;
45 int m_format;
46 DDSHeaderDX10 m_header10;
47 int m_currentImage;
48 mutable ScanState m_scanState;
49};
50
51QT_END_NAMESPACE
52
53#endif // QT_NO_DATASTREAM
54
55#endif // QDDSHANDLER_H
bool canRead() const override
Returns true if an image can be read from the device (i.e., the image format is supported,...
static bool canRead(QIODevice *device)
QVariant option(QImageIOHandler::ImageOption option) const override
Returns the value assigned to option as a QVariant.
int imageCount() const override
For image formats that support animation, this function returns the number of images in the animation...
void setOption(ImageOption option, const QVariant &value) override
Sets the option option with the value value.
bool read(QImage *image) override
Read an image from the device, and stores it in image.
bool jumpToImage(int imageNumber) override
For image formats that support animation, this function jumps to the image whose sequence number is i...
bool supportsOption(QImageIOHandler::ImageOption option) const override
Returns true if the QImageIOHandler supports the option option; otherwise returns false.
bool write(const QImage &image) override
Writes the image image to the assigned device.
QImageIOHandler * create(QIODevice *device, const QByteArray &format=QByteArray()) const override
Creates and returns a QImageIOHandler subclass, with device and format set.
Definition main.cpp:41