QtBase  v6.3.1
qbitmap.h
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
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 The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/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 3 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL3 included in the
21 ** packaging of this file. Please review the following information to
22 ** ensure the GNU Lesser General Public License version 3 requirements
23 ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24 **
25 ** GNU General Public License Usage
26 ** Alternatively, this file may be used under the terms of the GNU
27 ** General Public License version 2.0 or (at your option) the GNU General
28 ** Public license version 3 or any later version approved by the KDE Free
29 ** Qt Foundation. The licenses are as published by the Free Software
30 ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31 ** included in the packaging of this file. Please review the following
32 ** information to ensure the GNU General Public License requirements will
33 ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34 ** https://www.gnu.org/licenses/gpl-3.0.html.
35 **
36 ** $QT_END_LICENSE$
37 **
38 ****************************************************************************/
39 
40 #ifndef QBITMAP_H
41 #define QBITMAP_H
42 
43 #include <QtGui/qtguiglobal.h>
44 #include <QtGui/qpixmap.h>
45 
47 
48 
49 class QVariant;
50 
51 class Q_GUI_EXPORT QBitmap : public QPixmap
52 {
53 public:
54  QBitmap();
55 #if QT_DEPRECATED_SINCE(6, 0)
56  QT_DEPRECATED_VERSION_X_6_0("Use fromPixmap instead.") explicit QBitmap(const QPixmap &);
57 #endif
58  QBitmap(int w, int h);
59  explicit QBitmap(const QSize &);
60  explicit QBitmap(const QString &fileName, const char *format = nullptr);
61  ~QBitmap() override;
62 
63 #if QT_DEPRECATED_SINCE(6, 0)
64  QT_DEPRECATED_VERSION_X_6_0("Use fromPixmap instead.") QBitmap &operator=(const QPixmap &);
65 #endif
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 fromImage(QImage &&image, Qt::ImageConversionFlags flags = Qt::AutoColor);
73  static QBitmap fromData(const QSize &size, const uchar *bits,
75  static QBitmap fromPixmap(const QPixmap &pixmap);
76 
77  QBitmap transformed(const QTransform &matrix) const;
78 
80 };
82 
84 
85 #endif // QBITMAP_H
The QBitmap class provides monochrome (1-bit depth) pixmaps.
Definition: qbitmap.h:52
void clear()
Definition: qbitmap.h:69
QExplicitlySharedDataPointer< QPlatformPixmap > DataPtr
Definition: qbitmap.h:79
void swap(QBitmap &other)
Definition: qbitmap.h:66
~QBitmap() override
The QImage class provides a hardware-independent image representation that allows direct access to th...
Definition: qimage.h:73
Format
Definition: qimage.h:77
@ Format_MonoLSB
Definition: qimage.h:80
The QPixmap class is an off-screen image representation that can be used as a paint device.
Definition: qpixmap.h:63
void swap(QPixmap &other) noexcept
Definition: qpixmap.h:79
friend class QBitmap
Definition: qpixmap.h:170
QPixmap transformed(const QTransform &, Qt::TransformationMode mode=Qt::FastTransformation) const
Definition: qpixmap.cpp:1169
void fill(const QColor &fillColor=Qt::white)
Definition: qpixmap.cpp:883
static QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags=Qt::AutoColor)
Definition: qpixmap.cpp:1474
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:55
The QString class provides a Unicode character string.
Definition: qstring.h:388
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:56
The QVariant class acts like a union for the most common Qt data types.
Definition: qvariant.h:95
auto it unsigned count const
Definition: hb-iter.hh:848
@ AutoColor
Definition: qnamespace.h:503
@ color0
Definition: qnamespace.h:59
Definition: image.cpp:51
QT_BEGIN_INCLUDE_NAMESPACE typedef unsigned char uchar
Definition: qglobal.h:332
#define QT_DEPRECATED_VERSION_X_6_0(text)
Definition: qglobal.h:444
GLfloat GLfloat GLfloat w
[0]
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLbitfield flags
GLint GLsizei GLsizei GLenum format
GLfloat GLfloat GLfloat GLfloat h
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const void * bits
Definition: qopenglext.h:6904
GLuint GLenum matrix
Definition: qopenglext.h:11564
#define Q_DECLARE_SHARED(TYPE)
Definition: qtypeinfo.h:197
QSharedPointer< T > other(t)
[5]
widget render & pixmap