Qt 4.8
qbitmap.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 QtGui module 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 ****************************************************************************/
41 
42 #ifndef QBITMAP_H
43 #define QBITMAP_H
44 
45 #include <QtGui/qpixmap.h>
46 
48 
50 
51 QT_MODULE(Gui)
52 
53 class QVariant;
54 
56 {
57 public:
58  QBitmap();
59  QBitmap(const QPixmap &);
60  QBitmap(int w, int h);
61  explicit QBitmap(const QSize &);
62  explicit QBitmap(const QString &fileName, const char *format=0);
63  ~QBitmap();
64 
65  QBitmap &operator=(const QPixmap &);
66  inline void swap(QBitmap &other) { QPixmap::swap(other); } // prevent QBitmap<->QPixmap swaps
67  operator QVariant() const;
68 
69  inline void clear() { fill(Qt::color0); }
70 
71  static QBitmap fromImage(const QImage &image, Qt::ImageConversionFlags flags = Qt::AutoColor);
72  static QBitmap fromData(const QSize &size, const uchar *bits,
74 
75  QBitmap transformed(const QMatrix &) const;
76  QBitmap transformed(const QTransform &matrix) const;
77 #ifdef QT3_SUPPORT
78  inline QT3_SUPPORT_CONSTRUCTOR QBitmap(int w, int h, bool clear);
79  inline QT3_SUPPORT_CONSTRUCTOR QBitmap(const QSize &, bool clear);
80  QT3_SUPPORT_CONSTRUCTOR QBitmap(int w, int h, const uchar *bits, bool isXbitmap=false);
81  QT3_SUPPORT_CONSTRUCTOR QBitmap(const QSize &, const uchar *bits, bool isXbitmap=false);
82  inline QT3_SUPPORT QBitmap xForm(const QMatrix &matrix) const { return transformed(QTransform(matrix)); }
83  QT3_SUPPORT_CONSTRUCTOR QBitmap(const QImage &image) { *this = fromImage(image); }
84  QT3_SUPPORT QBitmap &operator=(const QImage &image) { *this = fromImage(image); return *this; }
85 #endif
86 
88 };
90 
91 #ifdef QT3_SUPPORT
92 inline QBitmap::QBitmap(int w, int h, bool clear)
93  : QPixmap(QSize(w, h), 1)
94 {
95  if (clear) this->clear();
96 }
97 
98 inline QBitmap::QBitmap(const QSize &size, bool clear)
99  : QPixmap(size, 1)
100 {
101  if (clear) this->clear();
102 }
103 #endif
104 
106 
108 
109 #endif // QBITMAP_H
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:92
static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags=Qt::AutoColor)
Converts the given image to a pixmap using the specified flags to control the conversion.
Definition: qpixmap.cpp:2197
Format
The following image formats are available in Qt.
Definition: qimage.h:91
QPixmap & operator=(const QPixmap &)
Assigns the given pixmap to this pixmap and returns a reference to this pixmap.
Definition: qpixmap.cpp:471
QPixmap()
Constructs a null pixmap.
Definition: qpixmap.cpp:174
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
QSize size() const
Returns the size of the pixmap.
Definition: qpixmap.cpp:661
#define QT_MODULE(x)
Definition: qglobal.h:2783
#define QT_BEGIN_HEADER
Definition: qglobal.h:136
The QMatrix class specifies 2D transformations of a coordinate system.
Definition: qmatrix.h:61
#define Q_GUI_EXPORT
Definition: qglobal.h:1450
static void clear(QVariant::Private *d)
Definition: qvariant.cpp:197
QPixmap transformed(const QMatrix &, Qt::TransformationMode mode=Qt::FastTransformation) const
This convenience function loads the matrix into a QTransform and calls the overloaded function...
Definition: qpixmap.cpp:1723
The QString class provides a Unicode character string.
Definition: qstring.h:83
#define Q_DECLARE_SHARED(TYPE)
Definition: qglobal.h:2214
unsigned char uchar
Definition: qglobal.h:994
The QBitmap class provides monochrome (1-bit depth) pixmaps.
Definition: qbitmap.h:55
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
void swap(QBitmap &other)
Swaps bitmap other with this bitmap.
Definition: qbitmap.h:66
QBitmap()
Constructs a null bitmap.
Definition: qbitmap.cpp:106
The QImage class provides a hardware-independent image representation that allows direct access to th...
Definition: qimage.h:87
QExplicitlySharedDataPointer< QPixmapData > DataPtr
Definition: qbitmap.h:87
void fill(const QColor &fillColor=Qt::white)
Fills the pixmap with the given color.
Definition: qpixmap.cpp:1080
The QPixmap class is an off-screen image representation that can be used as a paint device...
Definition: qpixmap.h:71
void clear()
Clears the bitmap, setting all its bits to Qt::color0.
Definition: qbitmap.h:69
void swap(QPixmap &other)
Swaps pixmap other with this pixmap.
Definition: qpixmap.h:90
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:53
#define QT_END_HEADER
Definition: qglobal.h:137
static QString fileName(const QString &fileUrl)
friend class QBitmap
Definition: qpixmap.h:279
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:65