1
/****************************************************************************
3
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
6
** This file is part of the QtGui module of the Qt Toolkit.
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.
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.
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.
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.
40
****************************************************************************/
45
#include <QtCore/qnamespace.h>
46
#include <QtCore/qrect.h>
47
#include <QtCore/qpoint.h>
48
#include <QtCore/qscopedpointer.h>
49
#include <QtGui/qpixmap.h>
50
#include <QtGui/qimage.h>
51
#include <QtGui/qtextoption.h>
53
#ifndef QT_INCLUDE_COMPAT
54
#include <QtGui/qpolygon.h>
55
#include <QtGui/qpen.h>
56
#include <QtGui/qbrush.h>
57
#include <QtGui/qmatrix.h>
58
#include <QtGui/qtransform.h>
59
#include <QtGui/qfontinfo.h>
60
#include <QtGui/qfontmetrics.h>
73
class QPainterPrivate;
83
class QPainterPrivateDeleter;
85
class Q_GUI_EXPORT QPainter
87
Q_DECLARE_PRIVATE(QPainter)
89
Q_FLAGS(RenderHint RenderHints)
94
TextAntialiasing = 0x02,
95
SmoothPixmapTransform = 0x04,
96
HighQualityAntialiasing = 0x08,
97
NonCosmeticDefaultPen = 0x10,
98
Qt4CompatiblePainting = 0x20
101
Q_DECLARE_FLAGS(RenderHints, RenderHint)
103
class PixmapFragment {
115
static PixmapFragment Q_GUI_EXPORT create(const QPointF &pos, const QRectF &sourceRect,
116
qreal scaleX = 1, qreal scaleY = 1,
117
qreal rotation = 0, qreal opacity = 1);
120
enum PixmapFragmentHint {
124
Q_DECLARE_FLAGS(PixmapFragmentHints, PixmapFragmentHint)
127
explicit QPainter(QPaintDevice *);
130
QPaintDevice *device() const;
132
bool begin(QPaintDevice *);
134
bool isActive() const;
136
void initFrom(const QPaintDevice *device);
138
enum CompositionMode {
139
CompositionMode_SourceOver,
140
CompositionMode_DestinationOver,
141
CompositionMode_Clear,
142
CompositionMode_Source,
143
CompositionMode_Destination,
144
CompositionMode_SourceIn,
145
CompositionMode_DestinationIn,
146
CompositionMode_SourceOut,
147
CompositionMode_DestinationOut,
148
CompositionMode_SourceAtop,
149
CompositionMode_DestinationAtop,
152
//svg 1.2 blend modes
153
CompositionMode_Plus,
154
CompositionMode_Multiply,
155
CompositionMode_Screen,
156
CompositionMode_Overlay,
157
CompositionMode_Darken,
158
CompositionMode_Lighten,
159
CompositionMode_ColorDodge,
160
CompositionMode_ColorBurn,
161
CompositionMode_HardLight,
162
CompositionMode_SoftLight,
163
CompositionMode_Difference,
164
CompositionMode_Exclusion,
167
RasterOp_SourceOrDestination,
168
RasterOp_SourceAndDestination,
169
RasterOp_SourceXorDestination,
170
RasterOp_NotSourceAndNotDestination,
171
RasterOp_NotSourceOrNotDestination,
172
RasterOp_NotSourceXorDestination,
174
RasterOp_NotSourceAndDestination,
175
RasterOp_SourceAndNotDestination,
176
RasterOp_NotSourceOrDestination,
177
RasterOp_SourceOrNotDestination,
178
RasterOp_ClearDestination,
179
RasterOp_SetDestination,
180
RasterOp_NotDestination
182
void setCompositionMode(CompositionMode mode);
183
CompositionMode compositionMode() const;
185
const QFont &font() const;
186
void setFont(const QFont &f);
188
QFontMetrics fontMetrics() const;
189
QFontInfo fontInfo() const;
191
void setPen(const QColor &color);
192
void setPen(const QPen &pen);
193
void setPen(Qt::PenStyle style);
194
const QPen &pen() const;
196
void setBrush(const QBrush &brush);
197
void setBrush(Qt::BrushStyle style);
198
const QBrush &brush() const;
201
void setBackgroundMode(Qt::BGMode mode);
202
Qt::BGMode backgroundMode() const;
204
QPoint brushOrigin() const;
205
inline void setBrushOrigin(int x, int y);
206
inline void setBrushOrigin(const QPoint &);
207
void setBrushOrigin(const QPointF &);
209
void setBackground(const QBrush &bg);
210
const QBrush &background() const;
212
qreal opacity() const;
213
void setOpacity(qreal opacity);
216
QRegion clipRegion() const;
217
QPainterPath clipPath() const;
219
void setClipRect(const QRectF &, Qt::ClipOperation op = Qt::ReplaceClip);
220
void setClipRect(const QRect &, Qt::ClipOperation op = Qt::ReplaceClip);
221
inline void setClipRect(int x, int y, int w, int h, Qt::ClipOperation op = Qt::ReplaceClip);
223
void setClipRegion(const QRegion &, Qt::ClipOperation op = Qt::ReplaceClip);
225
void setClipPath(const QPainterPath &path, Qt::ClipOperation op = Qt::ReplaceClip);
227
void setClipping(bool enable);
228
bool hasClipping() const;
230
QRectF clipBoundingRect() const;
236
void setMatrix(const QMatrix &matrix, bool combine = false);
237
const QMatrix &matrix() const;
238
const QMatrix &deviceMatrix() const;
241
void setTransform(const QTransform &transform, bool combine = false);
242
const QTransform &transform() const;
243
const QTransform &deviceTransform() const;
244
void resetTransform();
246
void setWorldMatrix(const QMatrix &matrix, bool combine = false);
247
const QMatrix &worldMatrix() const;
249
void setWorldTransform(const QTransform &matrix, bool combine = false);
250
const QTransform &worldTransform() const;
252
QMatrix combinedMatrix() const;
253
QTransform combinedTransform() const;
255
void setMatrixEnabled(bool enabled);
256
bool matrixEnabled() const;
258
void setWorldMatrixEnabled(bool enabled);
259
bool worldMatrixEnabled() const;
261
void scale(qreal sx, qreal sy);
262
void shear(qreal sh, qreal sv);
263
void rotate(qreal a);
265
void translate(const QPointF &offset);
266
inline void translate(const QPoint &offset);
267
inline void translate(qreal dx, qreal dy);
269
QRect window() const;
270
void setWindow(const QRect &window);
271
inline void setWindow(int x, int y, int w, int h);
273
QRect viewport() const;
274
void setViewport(const QRect &viewport);
275
inline void setViewport(int x, int y, int w, int h);
277
void setViewTransformEnabled(bool enable);
278
bool viewTransformEnabled() const;
281
void strokePath(const QPainterPath &path, const QPen &pen);
282
void fillPath(const QPainterPath &path, const QBrush &brush);
283
void drawPath(const QPainterPath &path);
285
inline void drawPoint(const QPointF &pt);
286
inline void drawPoint(const QPoint &p);
287
inline void drawPoint(int x, int y);
289
void drawPoints(const QPointF *points, int pointCount);
290
inline void drawPoints(const QPolygonF &points);
291
void drawPoints(const QPoint *points, int pointCount);
292
inline void drawPoints(const QPolygon &points);
294
inline void drawLine(const QLineF &line);
295
inline void drawLine(const QLine &line);
296
inline void drawLine(int x1, int y1, int x2, int y2);
297
inline void drawLine(const QPoint &p1, const QPoint &p2);
298
inline void drawLine(const QPointF &p1, const QPointF &p2);
300
void drawLines(const QLineF *lines, int lineCount);
301
inline void drawLines(const QVector<QLineF> &lines);
302
void drawLines(const QPointF *pointPairs, int lineCount);
303
inline void drawLines(const QVector<QPointF> &pointPairs);
304
void drawLines(const QLine *lines, int lineCount);
305
inline void drawLines(const QVector<QLine> &lines);
306
void drawLines(const QPoint *pointPairs, int lineCount);
307
inline void drawLines(const QVector<QPoint> &pointPairs);
309
inline void drawRect(const QRectF &rect);
310
inline void drawRect(int x1, int y1, int w, int h);
311
inline void drawRect(const QRect &rect);
313
void drawRects(const QRectF *rects, int rectCount);
314
inline void drawRects(const QVector<QRectF> &rectangles);
315
void drawRects(const QRect *rects, int rectCount);
316
inline void drawRects(const QVector<QRect> &rectangles);
318
void drawEllipse(const QRectF &r);
319
void drawEllipse(const QRect &r);
320
inline void drawEllipse(int x, int y, int w, int h);
322
inline void drawEllipse(const QPointF ¢er, qreal rx, qreal ry);
323
inline void drawEllipse(const QPoint ¢er, int rx, int ry);
325
void drawPolyline(const QPointF *points, int pointCount);
326
inline void drawPolyline(const QPolygonF &polyline);
327
void drawPolyline(const QPoint *points, int pointCount);
328
inline void drawPolyline(const QPolygon &polygon);
330
void drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill);
331
inline void drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule = Qt::OddEvenFill);
332
void drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill);
333
inline void drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule = Qt::OddEvenFill);
335
void drawConvexPolygon(const QPointF *points, int pointCount);
336
inline void drawConvexPolygon(const QPolygonF &polygon);
337
void drawConvexPolygon(const QPoint *points, int pointCount);
338
inline void drawConvexPolygon(const QPolygon &polygon);
340
void drawArc(const QRectF &rect, int a, int alen);
341
inline void drawArc(const QRect &, int a, int alen);
342
inline void drawArc(int x, int y, int w, int h, int a, int alen);
344
void drawPie(const QRectF &rect, int a, int alen);
345
inline void drawPie(int x, int y, int w, int h, int a, int alen);
346
inline void drawPie(const QRect &, int a, int alen);
348
void drawChord(const QRectF &rect, int a, int alen);
349
inline void drawChord(int x, int y, int w, int h, int a, int alen);
350
inline void drawChord(const QRect &, int a, int alen);
352
void drawRoundedRect(const QRectF &rect, qreal xRadius, qreal yRadius,
353
Qt::SizeMode mode = Qt::AbsoluteSize);
354
inline void drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius,
355
Qt::SizeMode mode = Qt::AbsoluteSize);
356
inline void drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius,
357
Qt::SizeMode mode = Qt::AbsoluteSize);
359
void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25);
360
inline void drawRoundRect(int x, int y, int w, int h, int = 25, int = 25);
361
inline void drawRoundRect(const QRect &r, int xround = 25, int yround = 25);
363
void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF());
364
inline void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &, int sx=0, int sy=0);
365
inline void drawTiledPixmap(const QRect &, const QPixmap &, const QPoint & = QPoint());
366
#ifndef QT_NO_PICTURE
367
void drawPicture(const QPointF &p, const QPicture &picture);
368
inline void drawPicture(int x, int y, const QPicture &picture);
369
inline void drawPicture(const QPoint &p, const QPicture &picture);
372
void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect);
373
inline void drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect);
374
inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm,
375
int sx, int sy, int sw, int sh);
376
inline void drawPixmap(int x, int y, const QPixmap &pm,
377
int sx, int sy, int sw, int sh);
378
inline void drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr);
379
inline void drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr);
380
void drawPixmap(const QPointF &p, const QPixmap &pm);
381
inline void drawPixmap(const QPoint &p, const QPixmap &pm);
382
inline void drawPixmap(int x, int y, const QPixmap &pm);
383
inline void drawPixmap(const QRect &r, const QPixmap &pm);
384
inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm);
386
void drawPixmapFragments(const PixmapFragment *fragments, int fragmentCount,
387
const QPixmap &pixmap, PixmapFragmentHints hints = 0);
389
void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect,
390
Qt::ImageConversionFlags flags = Qt::AutoColor);
391
inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
392
Qt::ImageConversionFlags flags = Qt::AutoColor);
393
inline void drawImage(const QPointF &p, const QImage &image, const QRectF &sr,
394
Qt::ImageConversionFlags flags = Qt::AutoColor);
395
inline void drawImage(const QPoint &p, const QImage &image, const QRect &sr,
396
Qt::ImageConversionFlags flags = Qt::AutoColor);
397
inline void drawImage(const QRectF &r, const QImage &image);
398
inline void drawImage(const QRect &r, const QImage &image);
399
void drawImage(const QPointF &p, const QImage &image);
400
inline void drawImage(const QPoint &p, const QImage &image);
401
inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0,
402
int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor);
404
void setLayoutDirection(Qt::LayoutDirection direction);
405
Qt::LayoutDirection layoutDirection() const;
407
#if !defined(QT_NO_RAWFONT)
408
void drawGlyphRun(const QPointF &position, const QGlyphRun &glyphRun);
411
void drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText);
412
inline void drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText);
413
inline void drawStaticText(int left, int top, const QStaticText &staticText);
415
void drawText(const QPointF &p, const QString &s);
416
inline void drawText(const QPoint &p, const QString &s);
417
inline void drawText(int x, int y, const QString &s);
419
void drawText(const QPointF &p, const QString &str, int tf, int justificationPadding);
421
void drawText(const QRectF &r, int flags, const QString &text, QRectF *br=0);
422
void drawText(const QRect &r, int flags, const QString &text, QRect *br=0);
423
inline void drawText(int x, int y, int w, int h, int flags, const QString &text, QRect *br=0);
425
void drawText(const QRectF &r, const QString &text, const QTextOption &o = QTextOption());
427
QRectF boundingRect(const QRectF &rect, int flags, const QString &text);
428
QRect boundingRect(const QRect &rect, int flags, const QString &text);
429
inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text);
431
QRectF boundingRect(const QRectF &rect, const QString &text, const QTextOption &o = QTextOption());
433
void drawTextItem(const QPointF &p, const QTextItem &ti);
434
inline void drawTextItem(int x, int y, const QTextItem &ti);
435
inline void drawTextItem(const QPoint &p, const QTextItem &ti);
437
void fillRect(const QRectF &, const QBrush &);
438
inline void fillRect(int x, int y, int w, int h, const QBrush &);
439
void fillRect(const QRect &, const QBrush &);
441
void fillRect(const QRectF &, const QColor &color);
442
inline void fillRect(int x, int y, int w, int h, const QColor &color);
443
void fillRect(const QRect &, const QColor &color);
445
inline void fillRect(int x, int y, int w, int h, Qt::GlobalColor c);
446
inline void fillRect(const QRect &r, Qt::GlobalColor c);
447
inline void fillRect(const QRectF &r, Qt::GlobalColor c);
449
inline void fillRect(int x, int y, int w, int h, Qt::BrushStyle style);
450
inline void fillRect(const QRect &r, Qt::BrushStyle style);
451
inline void fillRect(const QRectF &r, Qt::BrushStyle style);
453
void eraseRect(const QRectF &);
454
inline void eraseRect(int x, int y, int w, int h);
455
inline void eraseRect(const QRect &);
457
void setRenderHint(RenderHint hint, bool on = true);
458
void setRenderHints(RenderHints hints, bool on = true);
459
RenderHints renderHints() const;
460
inline bool testRenderHint(RenderHint hint) const { return renderHints() & hint; }
462
QPaintEngine *paintEngine() const;
464
static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement,
465
const QPoint& offset = QPoint());
466
static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = 0);
467
static void restoreRedirected(const QPaintDevice *device);
469
void beginNativePainting();
470
void endNativePainting();
473
Q_DISABLE_COPY(QPainter)
475
QScopedPointer<QPainterPrivate> d_ptr;
477
friend class QWidget;
478
friend class QFontEngine;
479
friend class QFontEngineBox;
480
friend class QFontEngineFT;
481
friend class QFontEngineMac;
482
friend class QFontEngineWin;
483
friend class QPaintEngine;
484
friend class QPaintEngineExPrivate;
485
friend class QOpenGLPaintEngine;
486
friend class QWin32PaintEngine;
487
friend class QWin32PaintEnginePrivate;
488
friend class QRasterPaintEngine;
489
friend class QAlphaPaintEngine;
490
friend class QPreviewPaintEngine;
491
friend class QTextEngine;
494
Q_DECLARE_OPERATORS_FOR_FLAGS(QPainter::RenderHints)
499
inline void QPainter::drawLine(const QLineF &l)
504
inline void QPainter::drawLine(const QLine &line)
509
inline void QPainter::drawLine(int x1, int y1, int x2, int y2)
511
QLine l(x1, y1, x2, y2);
515
inline void QPainter::drawLine(const QPoint &p1, const QPoint &p2)
521
inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2)
523
drawLine(QLineF(p1, p2));
526
inline void QPainter::drawLines(const QVector<QLineF> &lines)
528
drawLines(lines.constData(), lines.size());
531
inline void QPainter::drawLines(const QVector<QLine> &lines)
533
drawLines(lines.constData(), lines.size());
536
inline void QPainter::drawLines(const QVector<QPointF> &pointPairs)
538
drawLines(pointPairs.constData(), pointPairs.size() / 2);
541
inline void QPainter::drawLines(const QVector<QPoint> &pointPairs)
543
drawLines(pointPairs.constData(), pointPairs.size() / 2);
546
inline void QPainter::drawPolyline(const QPolygonF &polyline)
548
drawPolyline(polyline.constData(), polyline.size());
551
inline void QPainter::drawPolyline(const QPolygon &polyline)
553
drawPolyline(polyline.constData(), polyline.size());
556
inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule)
558
drawPolygon(polygon.constData(), polygon.size(), fillRule);
561
inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule)
563
drawPolygon(polygon.constData(), polygon.size(), fillRule);
566
inline void QPainter::drawConvexPolygon(const QPolygonF &poly)
568
drawConvexPolygon(poly.constData(), poly.size());
571
inline void QPainter::drawConvexPolygon(const QPolygon &poly)
573
drawConvexPolygon(poly.constData(), poly.size());
576
inline void QPainter::drawRect(const QRectF &rect)
581
inline void QPainter::drawRect(int x, int y, int w, int h)
587
inline void QPainter::drawRect(const QRect &r)
592
inline void QPainter::drawRects(const QVector<QRectF> &rects)
594
drawRects(rects.constData(), rects.size());
597
inline void QPainter::drawRects(const QVector<QRect> &rects)
599
drawRects(rects.constData(), rects.size());
602
inline void QPainter::drawPoint(const QPointF &p)
607
inline void QPainter::drawPoint(int x, int y)
613
inline void QPainter::drawPoint(const QPoint &p)
618
inline void QPainter::drawPoints(const QPolygonF &points)
620
drawPoints(points.constData(), points.size());
623
inline void QPainter::drawPoints(const QPolygon &points)
625
drawPoints(points.constData(), points.size());
628
inline void QPainter::drawRoundRect(int x, int y, int w, int h, int xRnd, int yRnd)
630
drawRoundRect(QRectF(x, y, w, h), xRnd, yRnd);
633
inline void QPainter::drawRoundRect(const QRect &rect, int xRnd, int yRnd)
635
drawRoundRect(QRectF(rect), xRnd, yRnd);
638
inline void QPainter::drawRoundedRect(int x, int y, int w, int h, qreal xRadius, qreal yRadius,
641
drawRoundedRect(QRectF(x, y, w, h), xRadius, yRadius, mode);
644
inline void QPainter::drawRoundedRect(const QRect &rect, qreal xRadius, qreal yRadius,
647
drawRoundedRect(QRectF(rect), xRadius, yRadius, mode);
650
inline void QPainter::drawEllipse(int x, int y, int w, int h)
652
drawEllipse(QRect(x, y, w, h));
655
inline void QPainter::drawEllipse(const QPointF ¢er, qreal rx, qreal ry)
657
drawEllipse(QRectF(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry));
660
inline void QPainter::drawEllipse(const QPoint ¢er, int rx, int ry)
662
drawEllipse(QRect(center.x() - rx, center.y() - ry, 2 * rx, 2 * ry));
665
inline void QPainter::drawArc(const QRect &r, int a, int alen)
667
drawArc(QRectF(r), a, alen);
670
inline void QPainter::drawArc(int x, int y, int w, int h, int a, int alen)
672
drawArc(QRectF(x, y, w, h), a, alen);
675
inline void QPainter::drawPie(const QRect &rect, int a, int alen)
677
drawPie(QRectF(rect), a, alen);
680
inline void QPainter::drawPie(int x, int y, int w, int h, int a, int alen)
682
drawPie(QRectF(x, y, w, h), a, alen);
685
inline void QPainter::drawChord(const QRect &rect, int a, int alen)
687
drawChord(QRectF(rect), a, alen);
690
inline void QPainter::drawChord(int x, int y, int w, int h, int a, int alen)
692
drawChord(QRectF(x, y, w, h), a, alen);
695
inline void QPainter::setClipRect(int x, int y, int w, int h, Qt::ClipOperation op)
697
setClipRect(QRect(x, y, w, h), op);
700
inline void QPainter::eraseRect(const QRect &rect)
702
eraseRect(QRectF(rect));
705
inline void QPainter::eraseRect(int x, int y, int w, int h)
707
eraseRect(QRectF(x, y, w, h));
710
inline void QPainter::fillRect(int x, int y, int w, int h, const QBrush &b)
712
fillRect(QRect(x, y, w, h), b);
715
inline void QPainter::fillRect(int x, int y, int w, int h, const QColor &b)
717
fillRect(QRect(x, y, w, h), b);
720
inline void QPainter::fillRect(int x, int y, int w, int h, Qt::GlobalColor c)
722
fillRect(QRect(x, y, w, h), QColor(c));
725
inline void QPainter::fillRect(const QRect &r, Qt::GlobalColor c)
727
fillRect(r, QColor(c));
730
inline void QPainter::fillRect(const QRectF &r, Qt::GlobalColor c)
732
fillRect(r, QColor(c));
735
inline void QPainter::fillRect(int x, int y, int w, int h, Qt::BrushStyle style)
737
fillRect(QRectF(x, y, w, h), QBrush(style));
740
inline void QPainter::fillRect(const QRect &r, Qt::BrushStyle style)
742
fillRect(QRectF(r), QBrush(style));
745
inline void QPainter::fillRect(const QRectF &r, Qt::BrushStyle style)
747
fillRect(r, QBrush(style));
751
inline void QPainter::setBrushOrigin(int x, int y)
753
setBrushOrigin(QPoint(x, y));
756
inline void QPainter::setBrushOrigin(const QPoint &p)
758
setBrushOrigin(QPointF(p));
761
inline void QPainter::drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset)
763
drawTiledPixmap(QRectF(rect), pm, QPointF(offset));
766
inline void QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx, int sy)
768
drawTiledPixmap(QRectF(x, y, w, h), pm, QPointF(sx, sy));
771
inline void QPainter::drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect)
773
drawPixmap(QRectF(targetRect), pixmap, QRectF(sourceRect));
776
inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm)
778
drawPixmap(QPointF(p), pm);
781
inline void QPainter::drawPixmap(const QRect &r, const QPixmap &pm)
783
drawPixmap(QRectF(r), pm, QRectF());
786
inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm)
788
drawPixmap(QPointF(x, y), pm);
791
inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm)
793
drawPixmap(QRectF(x, y, w, h), pm, QRectF());
796
inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm,
797
int sx, int sy, int sw, int sh)
799
drawPixmap(QRectF(x, y, w, h), pm, QRectF(sx, sy, sw, sh));
802
inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm,
803
int sx, int sy, int sw, int sh)
805
drawPixmap(QRectF(x, y, -1, -1), pm, QRectF(sx, sy, sw, sh));
808
inline void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr)
810
drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr);
813
inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr)
815
drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr);
818
inline void QPainter::drawTextItem(int x, int y, const QTextItem &ti)
820
drawTextItem(QPointF(x, y), ti);
823
inline void QPainter::drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
824
Qt::ImageConversionFlags flags)
826
drawImage(QRectF(targetRect), image, QRectF(sourceRect), flags);
829
inline void QPainter::drawImage(const QPointF &p, const QImage &image, const QRectF &sr,
830
Qt::ImageConversionFlags flags)
832
drawImage(QRectF(p.x(), p.y(), -1, -1), image, sr, flags);
835
inline void QPainter::drawImage(const QPoint &p, const QImage &image, const QRect &sr,
836
Qt::ImageConversionFlags flags)
838
drawImage(QRect(p.x(), p.y(), -1, -1), image, sr, flags);
842
inline void QPainter::drawImage(const QRectF &r, const QImage &image)
844
drawImage(r, image, QRect(0, 0, image.width(), image.height()));
847
inline void QPainter::drawImage(const QRect &r, const QImage &image)
849
drawImage(r, image, QRectF(0, 0, image.width(), image.height()));
852
inline void QPainter::drawImage(const QPoint &p, const QImage &image)
854
drawImage(QPointF(p), image);
857
inline void QPainter::drawImage(int x, int y, const QImage &image, int sx, int sy, int sw, int sh,
858
Qt::ImageConversionFlags flags)
860
if (sx == 0 && sy == 0 && sw == -1 && sh == -1 && flags == Qt::AutoColor)
861
drawImage(QPointF(x, y), image);
863
drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags);
866
inline void QPainter::drawStaticText(const QPoint &p, const QStaticText &staticText)
868
drawStaticText(QPointF(p), staticText);
871
inline void QPainter::drawStaticText(int x, int y, const QStaticText &staticText)
873
drawStaticText(QPointF(x, y), staticText);
876
inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti)
878
drawTextItem(QPointF(p), ti);
881
inline void QPainter::drawText(const QPoint &p, const QString &s)
883
drawText(QPointF(p), s);
886
inline void QPainter::drawText(int x, int y, int w, int h, int flags, const QString &str, QRect *br)
888
drawText(QRect(x, y, w, h), flags, str, br);
891
inline void QPainter::drawText(int x, int y, const QString &s)
893
drawText(QPointF(x, y), s);
896
inline QRect QPainter::boundingRect(int x, int y, int w, int h, int flags, const QString &text)
898
return boundingRect(QRect(x, y, w, h), flags, text);
901
inline void QPainter::translate(qreal dx, qreal dy)
903
translate(QPointF(dx, dy));
906
inline void QPainter::translate(const QPoint &offset)
908
translate(offset.x(), offset.y());
911
inline void QPainter::setViewport(int x, int y, int w, int h)
913
setViewport(QRect(x, y, w, h));
916
inline void QPainter::setWindow(int x, int y, int w, int h)
918
setWindow(QRect(x, y, w, h));
921
#ifndef QT_NO_PICTURE
922
inline void QPainter::drawPicture(int x, int y, const QPicture &p)
924
drawPicture(QPoint(x, y), p);
927
inline void QPainter::drawPicture(const QPoint &pt, const QPicture &p)
929
drawPicture(QPointF(pt), p);