Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qpicture.h
Go to the documentation of this file.
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
4#ifndef QPICTURE_H
5#define QPICTURE_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qiodevice.h>
9#include <QtCore/qshareddata.h>
10#include <QtCore/qstringlist.h>
11#include <QtGui/qpaintdevice.h>
12
14
15#ifndef QT_NO_PICTURE
16
17class QPicturePrivate;
18class Q_GUI_EXPORT QPicture : public QPaintDevice
19{
20 Q_DECLARE_PRIVATE(QPicture)
21public:
22 explicit QPicture(int formatVersion = -1);
23 QPicture(const QPicture &);
24 ~QPicture();
25
26 bool isNull() const;
27
28 int devType() const override;
29 uint size() const;
30 const char* data() const;
31 virtual void setData(const char* data, uint size);
32
33 bool play(QPainter *p);
34
35 bool load(QIODevice *dev);
36 bool load(const QString &fileName);
37 bool save(QIODevice *dev);
38 bool save(const QString &fileName);
39
40 QRect boundingRect() const;
41 void setBoundingRect(const QRect &r);
42
43 QPicture& operator=(const QPicture &p);
44 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QPicture)
45 inline void swap(QPicture &other) noexcept
46 { d_ptr.swap(other.d_ptr); }
47 void detach();
48 bool isDetached() const;
49
50 friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &in, const QPicture &p);
51 friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &in, QPicture &p);
52
53 QPaintEngine *paintEngine() const override;
54
55protected:
57
58 int metric(PaintDeviceMetric m) const override;
59
60private:
61 bool exec(QPainter *p, QDataStream &ds, int i);
62
63 QExplicitlySharedDataPointer<QPicturePrivate> d_ptr;
64 friend class QPicturePaintEngine;
65 friend class QAlphaPaintEngine;
66 friend class QPreviewPaintEngine;
67
68public:
69 typedef QExplicitlySharedDataPointer<QPicturePrivate> DataPtr;
70 inline DataPtr &data_ptr() { return d_ptr; }
71};
72
73Q_DECLARE_SHARED(QPicture)
74
75/*****************************************************************************
76 QPicture stream functions
77 *****************************************************************************/
78
79#ifndef QT_NO_DATASTREAM
80Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QPicture &);
82#endif
83
84#endif // QT_NO_PICTURE
85
87
88#endif // QPICTURE_H
\inmodule QtCore\reentrant
Definition qdatastream.h:46
\inmodule QtCore \reentrant
Definition qiodevice.h:34
\inmodule QtGui
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
The QPicture class is a paint device that records and replays QPainter commands.
Definition qpicture.h:19
DataPtr & data_ptr()
Definition qpicture.h:70
QExplicitlySharedDataPointer< QPicturePrivate > DataPtr
Definition qpicture.h:69
\inmodule QtCore\reentrant
Definition qrect.h:30
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
p1 load("image.bmp")
Combined button and popup list for selecting options.
const GLfloat * m
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLboolean r
[2]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLuint in
GLfloat GLfloat p
[1]
static const QRectF boundingRect(const QPointF *points, int pointCount)
Q_GUI_EXPORT QDataStream & operator<<(QDataStream &, const QPicture &)
Q_GUI_EXPORT QDataStream & operator>>(QDataStream &, QPicture &)
unsigned int uint
Definition qtypes.h:34
QDataStream & operator<<(QDataStream &out, const MyClass &myObj)
[4]
QDataStream & operator>>(QDataStream &in, MyClass &myObj)
mimeData setData("text/csv", csvData)
QSharedPointer< T > other(t)
[5]
this swap(other)
dialog exec()