Qt 4.8
qpaintengine_pic_p.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 QPAINTENGINE_PIC_P_H
43 #define QPAINTENGINE_PIC_P_H
44 
45 //
46 // W A R N I N G
47 // -------------
48 //
49 // This file is not part of the Qt API. It exists for the convenience
50 // of QAbstractItemModel*. This header file may change from version
51 // to version without notice, or even be removed.
52 //
53 // We mean it.
54 //
55 //
56 
57 #include "QtGui/qpaintengine.h"
58 
59 #ifndef QT_NO_PICTURE
60 
62 
64 class QBuffer;
65 
67 {
69 public:
72 
73  bool begin(QPaintDevice *pdev);
74  bool end();
75 
76  void updateState(const QPaintEngineState &state);
77 
78  void updatePen(const QPen &pen);
79  void updateBrush(const QBrush &brush);
80  void updateBrushOrigin(const QPointF &origin);
81  void updateFont(const QFont &font);
82  void updateBackground(Qt::BGMode bgmode, const QBrush &bgBrush);
83  void updateMatrix(const QTransform &matrix);
84  void updateClipRegion(const QRegion &region, Qt::ClipOperation op);
85  void updateClipPath(const QPainterPath &path, Qt::ClipOperation op);
86  void updateRenderHints(QPainter::RenderHints hints);
88  void updateClipEnabled(bool enabled);
89  void updateOpacity(qreal opacity);
90 
91  void drawEllipse(const QRectF &rect);
92  void drawPath(const QPainterPath &path);
93  void drawPolygon(const QPointF *points, int numPoints, PolygonDrawMode mode);
94 #ifdef Q_NO_USING_KEYWORD
95  inline void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
96  { QPaintEngine::drawPolygon(points, pointCount, mode); }
97 #else
99 #endif
100 
101  void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr);
102  void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s);
103  void drawImage(const QRectF &r, const QImage &image, const QRectF &sr,
104  Qt::ImageConversionFlags flags = Qt::AutoColor);
105  void drawTextItem(const QPointF &p, const QTextItem &ti);
106 
107  Type type() const { return Picture; }
108 
109 protected:
111 
112 private:
114 
115  void writeCmdLength(int pos, const QRectF &r, bool corr);
116 };
117 
119 
120 #endif // QT_NO_PICTURE
121 
122 #endif // QPAINTENGINE_PIC_P_H
void updateState(const QPaintEngineState &state)
Reimplement this function to update the state of a paint engine.
void updateOpacity(qreal opacity)
double qreal
Definition: qglobal.h:1193
#define QT_END_NAMESPACE
This macro expands to.
Definition: qglobal.h:90
CompositionMode
Defines the modes supported for digital image compositing.
Definition: qpainter.h:138
The QPainterPath class provides a container for painting operations, enabling graphical shapes to be ...
Definition: qpainterpath.h:67
Type type() const
Reimplement this function to return the paint engine Type.
QPaintEngineState * state
Definition: qpaintengine.h:239
void updateBackground(Qt::BGMode bgmode, const QBrush &bgBrush)
void drawImage(const QRectF &r, const QImage &image, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor)
Reimplement this function to draw the part of the image specified by the sr rectangle in the given re...
The QPointF class defines a point in the plane using floating point precision.
Definition: qpoint.h:214
void drawPixmap(const QRectF &r, const QPixmap &pm, const QRectF &sr)
Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r...
void updateBrush(const QBrush &brush)
#define Q_DISABLE_COPY(Class)
Disables the use of copy constructors and assignment operators for the given Class.
Definition: qglobal.h:2523
The QBuffer class provides a QIODevice interface for a QByteArray.
Definition: qbuffer.h:57
The QPen class defines how a QPainter should draw lines and outlines of shapes.
Definition: qpen.h:64
void updatePen(const QPen &pen)
void updateFont(const QFont &font)
#define QT_BEGIN_NAMESPACE
This macro expands to.
Definition: qglobal.h:89
The QRectF class defines a rectangle in the plane using floating point precision. ...
Definition: qrect.h:511
void updateClipEnabled(bool enabled)
void drawPolygon(const QPointF *points, int numPoints, PolygonDrawMode mode)
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
The QImage class provides a hardware-independent image representation that allows direct access to th...
Definition: qimage.h:87
virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode)
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
The QRegion class specifies a clip region for a painter.
Definition: qregion.h:68
The QPaintEngine class provides an abstract definition of how QPainter draws to a given device on a g...
Definition: qpaintengine.h:90
void drawTextItem(const QPointF &p, const QTextItem &ti)
This function draws the text item textItem at position p.
void updateMatrix(const QTransform &matrix)
void drawTiledPixmap(const QRectF &r, const QPixmap &pixmap, const QPointF &s)
Reimplement this function to draw the pixmap in the given rect, starting at the given p...
The QBrush class defines the fill pattern of shapes drawn by QPainter.
Definition: qbrush.h:76
void updateCompositionMode(QPainter::CompositionMode cmode)
The QFont class specifies a font used for drawing text.
Definition: qfont.h:64
The QPoint class defines a point in the plane using integer precision.
Definition: qpoint.h:53
void updateClipRegion(const QRegion &region, Qt::ClipOperation op)
The QPixmap class is an off-screen image representation that can be used as a paint device...
Definition: qpixmap.h:71
void drawPath(const QPainterPath &path)
The default implementation ignores the path and does nothing.
The QPaintEngineState class provides information about the active paint engine's current state...
Definition: qpaintengine.h:289
#define Q_DECLARE_PRIVATE(Class)
Definition: qglobal.h:2467
void updateClipPath(const QPainterPath &path, Qt::ClipOperation op)
void updateBrushOrigin(const QPointF &origin)
The QTextItem class provides all the information required to draw text in a custom paint engine...
Definition: qpaintengine.h:68
void drawEllipse(const QRectF &rect)
Reimplement this function to draw the largest ellipse that can be contained within rectangle rect...
bool begin(QPaintDevice *pdev)
Reimplement this function to initialise your paint engine when painting is to start on the paint devi...
BGMode
Definition: qnamespace.h:588
#define enabled
bool end()
Reimplement this function to finish painting on the current paint device.
void updateRenderHints(QPainter::RenderHints hints)
The QTransform class specifies 2D transformations of a coordinate system.
Definition: qtransform.h:65
ClipOperation
Definition: qnamespace.h:1495
void writeCmdLength(int pos, const QRectF &r, bool corr)