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
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:
56 QPicture(QPicturePrivate &data);
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
74
75/*****************************************************************************
76 QPicture stream functions
77 *****************************************************************************/
78
79#ifndef QT_NO_DATASTREAM
80Q_GUI_EXPORT QDataStream &operator<<(QDataStream &, const QPicture &);
81Q_GUI_EXPORT QDataStream &operator>>(QDataStream &, QPicture &);
82#endif
83
84#endif // QT_NO_PICTURE
85
86QT_END_NAMESPACE
87
88#endif // QPICTURE_H
\inmodule QtCore\reentrant
Definition qdatastream.h:50
void updateOpacity(qreal opacity)
void drawImage(const QRectF &r, const QImage &image, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor) override
Reimplement this function to draw the part of the image specified by the sr rectangle in the given re...
void updateMatrix(const QTransform &matrix)
void updatePen(const QPen &pen)
void drawPolygon(const QPointF *points, int numPoints, PolygonDrawMode mode) override
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
void updateClipRegion(const QRegion &region, Qt::ClipOperation op)
void drawPath(const QPainterPath &path) override
The default implementation ignores the path and does nothing.
void drawTextItem(const QPointF &p, const QTextItem &ti) override
This function draws the text item textItem at position p.
QPicturePaintEngine(QPaintEnginePrivate &dptr)
void updateBrushOrigin(const QPointF &origin)
void updateFont(const QFont &font)
void updateCompositionMode(QPainter::CompositionMode cmode)
void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s) override
Reimplement this function to draw the pixmap in the given rect, starting at the given p.
void updateClipEnabled(bool enabled)
void updateState(const QPaintEngineState &state) override
Reimplement this function to update the state of a paint engine.
bool end() override
Reimplement this function to finish painting on the current paint device.
void updateBrush(const QBrush &brush)
void drawEllipse(const QRectF &rect) override
Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
void updateClipPath(const QPainterPath &path, Qt::ClipOperation op)
void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr) override
Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r.
void updateRenderHints(QPainter::RenderHints hints)
void updateBackground(Qt::BGMode bgmode, const QBrush &bgBrush)
Type type() const override
Reimplement this function to return the paint engine \l{Type}.
bool begin(QPaintDevice *pdev) override
Reimplement this function to initialise your paint engine when painting is to start on the paint devi...
The QPicture class is a paint device that records and replays QPainter commands.
Definition qpicture.h:19
The QPolygonF class provides a list of points using floating point precision.
Definition qpolygon.h:96
#define SERIALIZE_CMD(c)