Qt 4.8
qgifhandler_p.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the plugins of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia. For licensing terms and
14 ** conditions see http://qt.digia.com/licensing. For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights. These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file. Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ** WARNING:
41 ** A separate license from Unisys may be required to use the gif
42 ** reader. See http://www.unisys.com/about__unisys/lzw/
43 ** for information from Unisys
44 **
45 ****************************************************************************/
46 
47 #ifndef QGIFHANDLER_P_H
48 #define QGIFHANDLER_P_H
49 
50 #include <QtGui/qimageiohandler.h>
51 #include <QtGui/qimage.h>
52 #include <QtCore/qbytearray.h>
53 
55 
56 class QGIFFormat;
58 {
59 public:
60  QGifHandler();
61  ~QGifHandler();
62 
63  bool canRead() const;
64  bool read(QImage *image);
65  bool write(const QImage &image);
66 
67  QByteArray name() const;
68 
69  static bool canRead(QIODevice *device);
70 
72  void setOption(ImageOption option, const QVariant &value);
73  bool supportsOption(ImageOption option) const;
74 
75  int imageCount() const;
76  int loopCount() const;
77  int nextImageDelay() const;
78  int currentImageNumber() const;
79 
80 private:
81  bool imageIsComing() const;
84  mutable QByteArray buffer;
85  mutable QImage lastImage;
86 
87  mutable int nextDelay;
88  mutable int loopCnt;
91  mutable bool scanIsCached;
92 };
93 
95 
96 #endif // QGIFHANDLER_P_H
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
bool canRead() const
Returns true if an image can be read from the device (i.
QVariant option(ImageOption option) const
Returns the value assigned to option as a QVariant.
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
QString fileName
Definition: qgifhandler_p.h:83
int currentImageNumber() const
For image formats that support animation, this function returns the sequence number of the current im...
void setOption(ImageOption option, const QVariant &value)
Sets the option option with the value value.
bool read(QImage *image)
Read an image from the device, and stores it in image.
The QByteArray class provides an array of bytes.
Definition: qbytearray.h:135
int imageCount() const
For image formats that support animation, this function returns the number of images in the animation...
The QString class provides a Unicode character string.
Definition: qstring.h:83
QImage lastImage
Definition: qgifhandler_p.h:85
bool write(const QImage &image)
Writes the image image to the assigned device.
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
ImageOption
This enum describes the different options supported by QImageIOHandler.
QVector< QSize > imageSizes
Definition: qgifhandler_p.h:90
bool supportsOption(ImageOption option) const
Returns true if the QImageIOHandler supports the option option; otherwise returns false...
The QImage class provides a hardware-independent image representation that allows direct access to th...
Definition: qimage.h:87
QByteArray name() const
Use format() instead.
The QImageIOHandler class defines the common image I/O interface for all image formats in Qt...
int loopCount() const
For image formats that support animation, this function returns the number of times the animation sho...
bool scanIsCached
Definition: qgifhandler_p.h:91
QIODevice * device() const
Returns the device currently assigned to the QImageIOHandler.
int nextImageDelay() const
For image formats that support animation, this function returns the number of milliseconds to wait un...
bool imageIsComing() const
The QIODevice class is the base interface class of all I/O devices in Qt.
Definition: qiodevice.h:66
QGIFFormat * gifFormat
Definition: qgifhandler_p.h:82
QByteArray buffer
Definition: qgifhandler_p.h:84