8#include <QtGui/qtguiglobal.h>
9#include <QtCore/qiodevice.h>
10#include <QtCore/qshareddata.h>
11#include <QtCore/qstringlist.h>
12#include <QtGui/qpaintdevice.h>
19class Q_GUI_EXPORT
QPicture :
public QPaintDevice
21 Q_DECLARE_PRIVATE(QPicture)
23 explicit QPicture(
int formatVersion = -1);
24 QPicture(
const QPicture &);
29 int devType()
const override;
31 const char* data()
const;
32 virtual void setData(
const char* data, uint size);
34 bool play(QPainter *p);
36 bool load(QIODevice *dev);
37 bool load(
const QString &fileName);
38 bool save(QIODevice *dev);
39 bool save(
const QString &fileName);
41 QRect boundingRect()
const;
42 void setBoundingRect(
const QRect &r);
44 QPicture& operator=(
const QPicture &p);
45 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QPicture)
46 inline void swap(QPicture &other)
noexcept
47 { d_ptr.swap(other.d_ptr); }
49 bool isDetached()
const;
51 friend Q_GUI_EXPORT QDataStream &operator<<(QDataStream &in,
const QPicture &p);
52 friend Q_GUI_EXPORT QDataStream &operator>>(QDataStream &in, QPicture &p);
54 QPaintEngine *paintEngine()
const override;
57 QPicture(QPicturePrivate &data);
59 int metric(PaintDeviceMetric m)
const override;
62 bool exec(QPainter *p, QDataStream &ds,
int i);
64 QExplicitlySharedDataPointer<QPicturePrivate> d_ptr;
65 friend class QPicturePaintEngine;
66 friend class QAlphaPaintEngine;
67 friend class QPreviewPaintEngine;
70 typedef QExplicitlySharedDataPointer<QPicturePrivate> DataPtr;
71 inline DataPtr &data_ptr() {
return d_ptr; }
77
78
80#ifndef QT_NO_DATASTREAM
81Q_GUI_EXPORT
QDataStream &operator<<(QDataStream &,
const QPicture &);
82Q_GUI_EXPORT
QDataStream &operator>>(QDataStream &, QPicture &);
\inmodule QtCore\reentrant
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 ®ion, 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.
The QPolygonF class provides a list of points using floating point precision.
Combined button and popup list for selecting options.