00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QPAINTER_H
00025 #define QPAINTER_H
00026
00027 #include <QtCore/qnamespace.h>
00028 #include <QtCore/qrect.h>
00029 #include <QtCore/qpoint.h>
00030 #include <QtGui/qpixmap.h>
00031 #include <QtGui/qimage.h>
00032 #include <QtGui/qtextoption.h>
00033 #include <QtGui/qdrawutil.h>
00034
00035 #ifndef QT_INCLUDE_COMPAT
00036 #include <QtGui/qpolygon.h>
00037 #include <QtGui/qpen.h>
00038 #include <QtGui/qbrush.h>
00039 #include <QtGui/qmatrix.h>
00040 #include <QtGui/qfontinfo.h>
00041 #include <QtGui/qfontmetrics.h>
00042 #endif
00043
00044 QT_BEGIN_HEADER
00045
00046 QT_MODULE(Gui)
00047
00048 class QBrush;
00049 class QFontInfo;
00050 class QFontMetrics;
00051 class QPaintDevice;
00052 class QPainterPath;
00053 class QPainterPrivate;
00054 class QPen;
00055 class QPolygon;
00056 class QTextItem;
00057 class QMatrix;
00058
00059 class Q_GUI_EXPORT QPainter
00060 {
00061 Q_DECLARE_PRIVATE(QPainter)
00062 Q_GADGET
00063 Q_FLAGS(RenderHint RenderHints)
00064
00065 public:
00066 enum RenderHint {
00067 Antialiasing = 0x01,
00068 TextAntialiasing = 0x02,
00069 SmoothPixmapTransform = 0x04
00070 };
00071
00072 Q_DECLARE_FLAGS(RenderHints, RenderHint)
00073
00074 QPainter();
00075 explicit QPainter(QPaintDevice *);
00076 ~QPainter();
00077
00078 QPaintDevice *device() const;
00079
00080 bool begin(QPaintDevice *);
00081 bool end();
00082 bool isActive() const;
00083
00084 void initFrom(const QWidget *widget);
00085
00086 enum CompositionMode {
00087 CompositionMode_SourceOver,
00088 CompositionMode_DestinationOver,
00089 CompositionMode_Clear,
00090 CompositionMode_Source,
00091 CompositionMode_Destination,
00092 CompositionMode_SourceIn,
00093 CompositionMode_DestinationIn,
00094 CompositionMode_SourceOut,
00095 CompositionMode_DestinationOut,
00096 CompositionMode_SourceAtop,
00097 CompositionMode_DestinationAtop,
00098 CompositionMode_Xor
00099 };
00100 void setCompositionMode(CompositionMode mode);
00101 CompositionMode compositionMode() const;
00102
00103 const QFont &font() const;
00104 void setFont(const QFont &f);
00105
00106 QFontMetrics fontMetrics() const;
00107 QFontInfo fontInfo() const;
00108
00109 void setPen(const QColor &color);
00110 void setPen(const QPen &pen);
00111 void setPen(Qt::PenStyle style);
00112 const QPen &pen() const;
00113
00114 void setBrush(const QBrush &brush);
00115 void setBrush(Qt::BrushStyle style);
00116 const QBrush &brush() const;
00117
00118
00119 void setBackgroundMode(Qt::BGMode mode);
00120 Qt::BGMode backgroundMode() const;
00121
00122 QPoint brushOrigin() const;
00123 inline void setBrushOrigin(int x, int y);
00124 inline void setBrushOrigin(const QPoint &);
00125 void setBrushOrigin(const QPointF &);
00126
00127 void setBackground(const QBrush &bg);
00128 const QBrush &background() const;
00129
00130 qreal opacity() const;
00131 void setOpacity(qreal opacity);
00132
00133
00134 QRegion clipRegion() const;
00135 QPainterPath clipPath() const;
00136
00137 void setClipRect(const QRectF &, Qt::ClipOperation op = Qt::ReplaceClip);
00138 #ifdef QT_EXPERIMENTAL_REGIONS
00139 void setClipRect(const QRect &, Qt::ClipOperation op = Qt::ReplaceClip);
00140 #else
00141 inline void setClipRect(const QRect &, Qt::ClipOperation op = Qt::ReplaceClip);
00142 #endif
00143 inline void setClipRect(int x, int y, int w, int h, Qt::ClipOperation op = Qt::ReplaceClip);
00144
00145 void setClipRegion(const QRegion &, Qt::ClipOperation op = Qt::ReplaceClip);
00146
00147 void setClipPath(const QPainterPath &path, Qt::ClipOperation op = Qt::ReplaceClip);
00148
00149 void setClipping(bool enable);
00150 bool hasClipping() const;
00151
00152 void save();
00153 void restore();
00154
00155
00156 void setMatrix(const QMatrix &matrix, bool combine = false);
00157 const QMatrix &matrix() const;
00158 const QMatrix &deviceMatrix() const;
00159 void resetMatrix();
00160
00161 void setWorldMatrix(const QMatrix &matrix, bool combine = false);
00162 const QMatrix &worldMatrix() const;
00163
00164 QMatrix combinedMatrix() const;
00165
00166 void setMatrixEnabled(bool enabled);
00167 bool matrixEnabled() const;
00168
00169 void setWorldMatrixEnabled(bool enabled);
00170 bool worldMatrixEnabled() const;
00171
00172 void scale(qreal sx, qreal sy);
00173 void shear(qreal sh, qreal sv);
00174 void rotate(qreal a);
00175
00176 void translate(const QPointF &offset);
00177 inline void translate(const QPoint &offset);
00178 inline void translate(qreal dx, qreal dy);
00179
00180 QRect window() const;
00181 void setWindow(const QRect &window);
00182 inline void setWindow(int x, int y, int w, int h);
00183
00184 QRect viewport() const;
00185 void setViewport(const QRect &viewport);
00186 inline void setViewport(int x, int y, int w, int h);
00187
00188 void setViewTransformEnabled(bool enable);
00189 bool viewTransformEnabled() const;
00190
00191
00192 void strokePath(const QPainterPath &path, const QPen &pen);
00193 void fillPath(const QPainterPath &path, const QBrush &brush);
00194 void drawPath(const QPainterPath &path);
00195
00196 inline void drawPoint(const QPointF &pt);
00197 inline void drawPoint(const QPoint &p);
00198 inline void drawPoint(int x, int y);
00199
00200 void drawPoints(const QPointF *points, int pointCount);
00201 inline void drawPoints(const QPolygonF &points);
00202 void drawPoints(const QPoint *points, int pointCount);
00203 inline void drawPoints(const QPolygon &points);
00204
00205 inline void drawLine(const QLineF &line);
00206 inline void drawLine(const QLine &line);
00207 inline void drawLine(int x1, int y1, int x2, int y2);
00208 inline void drawLine(const QPoint &p1, const QPoint &p2);
00209 inline void drawLine(const QPointF &p1, const QPointF &p2);
00210
00211 void drawLines(const QLineF *lines, int lineCount);
00212 inline void drawLines(const QVector<QLineF> &lines);
00213 void drawLines(const QPointF *pointPairs, int lineCount);
00214 inline void drawLines(const QVector<QPointF> &pointPairs);
00215 void drawLines(const QLine *lines, int lineCount);
00216 inline void drawLines(const QVector<QLine> &lines);
00217 void drawLines(const QPoint *pointPairs, int lineCount);
00218 inline void drawLines(const QVector<QPoint> &pointPairs);
00219
00220 inline void drawRect(const QRectF &rect);
00221 inline void drawRect(int x1, int y1, int w, int h);
00222 inline void drawRect(const QRect &rect);
00223
00224 void drawRects(const QRectF *rects, int rectCount);
00225 inline void drawRects(const QVector<QRectF> &rectangles);
00226 void drawRects(const QRect *rects, int rectCount);
00227 inline void drawRects(const QVector<QRect> &rectangles);
00228
00229 void drawEllipse(const QRectF &r);
00230 void drawEllipse(const QRect &r);
00231 inline void drawEllipse(int x, int y, int w, int h);
00232
00233 void drawPolyline(const QPointF *points, int pointCount);
00234 inline void drawPolyline(const QPolygonF &polyline);
00235 void drawPolyline(const QPoint *points, int pointCount);
00236 inline void drawPolyline(const QPolygon &polygon);
00237
00238 void drawPolygon(const QPointF *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill);
00239 inline void drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule = Qt::OddEvenFill);
00240 void drawPolygon(const QPoint *points, int pointCount, Qt::FillRule fillRule = Qt::OddEvenFill);
00241 inline void drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule = Qt::OddEvenFill);
00242
00243 void drawConvexPolygon(const QPointF *points, int pointCount);
00244 inline void drawConvexPolygon(const QPolygonF &polygon);
00245 void drawConvexPolygon(const QPoint *points, int pointCount);
00246 inline void drawConvexPolygon(const QPolygon &polygon);
00247
00248 void drawArc(const QRectF &rect, int a, int alen);
00249 inline void drawArc(const QRect &, int a, int alen);
00250 inline void drawArc(int x, int y, int w, int h, int a, int alen);
00251
00252 void drawPie(const QRectF &rect, int a, int alen);
00253 inline void drawPie(int x, int y, int w, int h, int a, int alen);
00254 inline void drawPie(const QRect &, int a, int alen);
00255
00256 void drawChord(const QRectF &rect, int a, int alen);
00257 inline void drawChord(int x, int y, int w, int h, int a, int alen);
00258 inline void drawChord(const QRect &, int a, int alen);
00259
00260 void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25);
00261 inline void drawRoundRect(int x, int y, int w, int h, int = 25, int = 25);
00262 inline void drawRoundRect(const QRect &r, int xround = 25, int yround = 25);
00263
00264 void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF());
00265 inline void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &, int sx=0, int sy=0);
00266 inline void drawTiledPixmap(const QRect &, const QPixmap &, const QPoint & = QPoint());
00267 #ifndef QT_NO_PICTURE
00268 void drawPicture(const QPointF &p, const QPicture &picture);
00269 inline void drawPicture(int x, int y, const QPicture &picture);
00270 inline void drawPicture(const QPoint &p, const QPicture &picture);
00271 #endif
00272
00273 void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect);
00274 inline void drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect);
00275 inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm,
00276 int sx, int sy, int sw, int sh);
00277 inline void drawPixmap(int x, int y, const QPixmap &pm,
00278 int sx, int sy, int sw, int sh);
00279 inline void drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr);
00280 inline void drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr);
00281 inline void drawPixmap(const QPointF &p, const QPixmap &pm);
00282 inline void drawPixmap(const QPoint &p, const QPixmap &pm);
00283 inline void drawPixmap(int x, int y, const QPixmap &pm);
00284 inline void drawPixmap(const QRect &r, const QPixmap &pm);
00285 inline void drawPixmap(int x, int y, int w, int h, const QPixmap &pm);
00286
00287 void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect,
00288 Qt::ImageConversionFlags flags = Qt::AutoColor);
00289 inline void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
00290 Qt::ImageConversionFlags flags = Qt::AutoColor);
00291 inline void drawImage(const QPointF &p, const QImage &image, const QRectF &sr,
00292 Qt::ImageConversionFlags flags = Qt::AutoColor);
00293 inline void drawImage(const QPoint &p, const QImage &image, const QRect &sr,
00294 Qt::ImageConversionFlags flags = Qt::AutoColor);
00295 inline void drawImage(const QRectF &r, const QImage &image);
00296 inline void drawImage(const QRect &r, const QImage &image);
00297 inline void drawImage(const QPointF &p, const QImage &image);
00298 inline void drawImage(const QPoint &p, const QImage &image);
00299 inline void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0,
00300 int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor);
00301
00302 void setLayoutDirection(Qt::LayoutDirection direction);
00303 Qt::LayoutDirection layoutDirection() const;
00304
00305 void drawText(const QPointF &p, const QString &s);
00306 inline void drawText(const QPoint &p, const QString &s);
00307 inline void drawText(int x, int y, const QString &s);
00308
00309 void drawText(const QRectF &r, int flags, const QString &text, QRectF *br=0);
00310 void drawText(const QRect &r, int flags, const QString &text, QRect *br=0);
00311 inline void drawText(int x, int y, int w, int h, int flags, const QString &text, QRect *br=0);
00312
00313 void drawText(const QRectF &r, const QString &text, const QTextOption &o = QTextOption());
00314
00315 QRectF boundingRect(const QRectF &rect, int flags, const QString &text);
00316 QRect boundingRect(const QRect &rect, int flags, const QString &text);
00317 inline QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text);
00318
00319 QRectF boundingRect(const QRectF &rect, const QString &text, const QTextOption &o = QTextOption());
00320
00321 void drawTextItem(const QPointF &p, const QTextItem &ti);
00322 inline void drawTextItem(int x, int y, const QTextItem &ti);
00323 inline void drawTextItem(const QPoint &p, const QTextItem &ti);
00324
00325 void fillRect(const QRectF &, const QBrush &);
00326 inline void fillRect(int x, int y, int w, int h, const QBrush &);
00327 void fillRect(const QRect &, const QBrush &);
00328
00329 void eraseRect(const QRectF &);
00330 inline void eraseRect(int x, int y, int w, int h);
00331 inline void eraseRect(const QRect &);
00332
00333 void setRenderHint(RenderHint hint, bool on = true);
00334 void setRenderHints(RenderHints hints, bool on = true);
00335 RenderHints renderHints() const;
00336
00337 QPaintEngine *paintEngine() const;
00338
00339 static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement,
00340 const QPoint& offset = QPoint());
00341 static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = 0);
00342 static void restoreRedirected(const QPaintDevice *device);
00343
00344 #ifdef QT3_SUPPORT
00345
00346 inline QT3_SUPPORT void setBackgroundColor(const QColor &color) { setBackground(color); }
00347 inline QT3_SUPPORT const QColor &backgroundColor() const { return background().color(); }
00348
00349 inline QT3_SUPPORT void drawText(int x, int y, const QString &s, int pos, int len)
00350 { drawText(x, y, s.mid(pos, len)); }
00351 inline QT3_SUPPORT void drawText(const QPoint &p, const QString &s, int pos, int len)
00352 { drawText(p, s.mid(pos, len)); }
00353 inline QT3_SUPPORT void drawText(int x, int y, const QString &s, int len)
00354 { drawText(x, y, s.left(len)); }
00355 inline QT3_SUPPORT void drawText(const QPoint &p, const QString &s, int len)
00356 { drawText(p, s.left(len)); }
00357 inline QT3_SUPPORT void drawText(const QRect &r, int flags, const QString &str, int len, QRect *br=0)
00358 { drawText(r, flags, str.left(len), br); }
00359 inline QT3_SUPPORT void drawText(int x, int y, int w, int h, int flags, const QString &text, int len, QRect *br=0)
00360 { drawText(QRect(x, y, w, h), flags, text.left(len), br); }
00361 inline QT3_SUPPORT QRect boundingRect(const QRect &rect, int flags, const QString &text, int len)
00362 { return boundingRect(rect, flags, text.left(len)); }
00363 inline QT3_SUPPORT QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text, int len)
00364 { return boundingRect(QRect(x, y, w, h), flags, text.left(len)); }
00365
00366 inline QT3_SUPPORT bool begin(QPaintDevice *pdev, const QWidget *init)
00367 { bool ret = begin(pdev); initFrom(init); return ret; }
00368 QT3_SUPPORT void drawPoints(const QPolygon &pa, int index, int npoints = -1)
00369 { drawPoints(pa.constData() + index, npoints == -1 ? pa.size() - index : npoints); }
00370
00371 QT3_SUPPORT void drawCubicBezier(const QPolygon &pa, int index = 0);
00372
00373 QT3_SUPPORT void drawLineSegments(const QPolygon &points, int index = 0, int nlines = -1);
00374
00375 inline QT3_SUPPORT void drawPolyline(const QPolygon &pa, int index, int npoints = -1)
00376 { drawPolyline(pa.constData() + index, npoints == -1 ? pa.size() - index : npoints); }
00377
00378 inline QT3_SUPPORT void drawPolygon(const QPolygon &pa, bool winding, int index = 0, int npoints = -1)
00379 { drawPolygon(pa.constData() + index, npoints == -1 ? pa.size() - index : npoints,
00380 winding ? Qt::WindingFill : Qt::OddEvenFill); }
00381
00382 inline QT3_SUPPORT void drawPolygon(const QPolygonF &polygon, bool winding, int index = 0,
00383 int npoints = -1)
00384 { drawPolygon(polygon.constData() + index, npoints == -1 ? polygon.size() - index : npoints,
00385 winding ? Qt::WindingFill : Qt::OddEvenFill); }
00386
00387 inline QT3_SUPPORT void drawConvexPolygon(const QPolygonF &polygon, int index, int npoints = -1)
00388 { drawConvexPolygon(polygon.constData() + index, npoints == -1 ? polygon.size() - index : npoints); }
00389 inline QT3_SUPPORT void drawConvexPolygon(const QPolygon &pa, int index, int npoints = -1)
00390 { drawConvexPolygon(pa.constData() + index, npoints == -1 ? pa.size() - index : npoints); }
00391
00392 static inline QT3_SUPPORT void redirect(QPaintDevice *pdev, QPaintDevice *replacement)
00393 { setRedirected(pdev, replacement); }
00394 static inline QT3_SUPPORT QPaintDevice *redirect(QPaintDevice *pdev)
00395 { return const_cast<QPaintDevice*>(redirected(pdev)); }
00396
00397 inline QT3_SUPPORT void setWorldXForm(bool enabled) { setMatrixEnabled(enabled); }
00398 inline QT3_SUPPORT bool hasWorldXForm() const { return matrixEnabled(); }
00399 inline QT3_SUPPORT void resetXForm() { resetMatrix(); }
00400
00401 inline QT3_SUPPORT void setViewXForm(bool enabled) { setViewTransformEnabled(enabled); }
00402 inline QT3_SUPPORT bool hasViewXForm() const { return viewTransformEnabled(); }
00403
00404 QT3_SUPPORT void map(int x, int y, int *rx, int *ry) const;
00405 QT3_SUPPORT QPoint xForm(const QPoint &) const;
00406 QT3_SUPPORT QRect xForm(const QRect &) const;
00407 QT3_SUPPORT QPolygon xForm(const QPolygon &) const;
00408 QT3_SUPPORT QPolygon xForm(const QPolygon &, int index, int npoints) const;
00409 QT3_SUPPORT QPoint xFormDev(const QPoint &) const;
00410 QT3_SUPPORT QRect xFormDev(const QRect &) const;
00411 QT3_SUPPORT QPolygon xFormDev(const QPolygon &) const;
00412 QT3_SUPPORT QPolygon xFormDev(const QPolygon &, int index, int npoints) const;
00413 QT3_SUPPORT qreal translationX() const;
00414 QT3_SUPPORT qreal translationY() const;
00415 #endif
00416
00417 private:
00418 Q_DISABLE_COPY(QPainter)
00419 friend class Q3Painter;
00420
00421 QPainterPrivate *d_ptr;
00422
00423 friend class QFontEngine;
00424 friend class QFontEngineBox;
00425 friend class QFontEngineFT;
00426 friend class QFontEngineMac;
00427 friend class QFontEngineWin;
00428 friend class QFontEngineXLFD;
00429 friend class QWSManager;
00430 friend class QPaintEngine;
00431 friend class QX11PaintEngine;
00432 friend class QX11PaintEnginePrivate;
00433 friend class QWin32PaintEngine;
00434 friend class QWin32PaintEnginePrivate;
00435 };
00436
00437 Q_DECLARE_OPERATORS_FOR_FLAGS(QPainter::RenderHints)
00438
00439
00440
00441
00442 inline void QPainter::drawLine(const QLineF &l)
00443 {
00444 drawLines(&l, 1);
00445 }
00446
00447 inline void QPainter::drawLine(const QLine &line)
00448 {
00449 drawLines(&line, 1);
00450 }
00451
00452 inline void QPainter::drawLine(int x1, int y1, int x2, int y2)
00453 {
00454 QLine l(x1, y1, x2, y2);
00455 drawLines(&l, 1);
00456 }
00457
00458 inline void QPainter::drawLine(const QPoint &p1, const QPoint &p2)
00459 {
00460 QLine l(p1, p2);
00461 drawLines(&l, 1);
00462 }
00463
00464 inline void QPainter::drawLine(const QPointF &p1, const QPointF &p2)
00465 {
00466 drawLine(QLineF(p1, p2));
00467 }
00468
00469 inline void QPainter::drawLines(const QVector<QLineF> &lines)
00470 {
00471 drawLines(lines.constData(), lines.size());
00472 }
00473
00474 inline void QPainter::drawLines(const QVector<QLine> &lines)
00475 {
00476 drawLines(lines.constData(), lines.size());
00477 }
00478
00479 inline void QPainter::drawLines(const QVector<QPointF> &pointPairs)
00480 {
00481 drawLines(pointPairs.constData(), pointPairs.size() / 2);
00482 }
00483
00484 inline void QPainter::drawLines(const QVector<QPoint> &pointPairs)
00485 {
00486 drawLines(pointPairs.constData(), pointPairs.size() / 2);
00487 }
00488
00489 inline void QPainter::drawPolyline(const QPolygonF &polyline)
00490 {
00491 drawPolyline(polyline.constData(), polyline.size());
00492 }
00493
00494 inline void QPainter::drawPolyline(const QPolygon &polyline)
00495 {
00496 drawPolyline(polyline.constData(), polyline.size());
00497 }
00498
00499 inline void QPainter::drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule)
00500 {
00501 drawPolygon(polygon.constData(), polygon.size(), fillRule);
00502 }
00503
00504 inline void QPainter::drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule)
00505 {
00506 drawPolygon(polygon.constData(), polygon.size(), fillRule);
00507 }
00508
00509 inline void QPainter::drawConvexPolygon(const QPolygonF &poly)
00510 {
00511 drawConvexPolygon(poly.constData(), poly.size());
00512 }
00513
00514 inline void QPainter::drawConvexPolygon(const QPolygon &poly)
00515 {
00516 drawConvexPolygon(poly.constData(), poly.size());
00517 }
00518
00519 inline void QPainter::drawRect(const QRectF &rect)
00520 {
00521 drawRects(&rect, 1);
00522 }
00523
00524 inline void QPainter::drawRect(int x, int y, int w, int h)
00525 {
00526 QRect r(x, y, w, h);
00527 drawRects(&r, 1);
00528 }
00529
00530 inline void QPainter::drawRect(const QRect &r)
00531 {
00532 drawRects(&r, 1);
00533 }
00534
00535 inline void QPainter::drawRects(const QVector<QRectF> &rects)
00536 {
00537 drawRects(rects.constData(), rects.size());
00538 }
00539
00540 inline void QPainter::drawRects(const QVector<QRect> &rects)
00541 {
00542 drawRects(rects.constData(), rects.size());
00543 }
00544
00545 inline void QPainter::drawPoint(const QPointF &p)
00546 {
00547 drawPoints(&p, 1);
00548 }
00549
00550 inline void QPainter::drawPoint(int x, int y)
00551 {
00552 QPoint p(x, y);
00553 drawPoints(&p, 1);
00554 }
00555
00556 inline void QPainter::drawPoint(const QPoint &p)
00557 {
00558 drawPoints(&p, 1);
00559 }
00560
00561 inline void QPainter::drawPoints(const QPolygonF &points)
00562 {
00563 drawPoints(points.constData(), points.size());
00564 }
00565
00566 inline void QPainter::drawPoints(const QPolygon &points)
00567 {
00568 drawPoints(points.constData(), points.size());
00569 }
00570
00571 inline void QPainter::drawRoundRect(int x, int y, int w, int h, int xRnd, int yRnd)
00572 {
00573 drawRoundRect(QRectF(x, y, w, h), xRnd, yRnd);
00574 }
00575
00576 inline void QPainter::drawRoundRect(const QRect &rect, int xRnd, int yRnd)
00577 {
00578 drawRoundRect(QRectF(rect), xRnd, yRnd);
00579 }
00580
00581 inline void QPainter::drawEllipse(int x, int y, int w, int h)
00582 {
00583 drawEllipse(QRect(x, y, w, h));
00584 }
00585
00586 inline void QPainter::drawArc(const QRect &r, int a, int alen)
00587 {
00588 drawArc(QRectF(r), a, alen);
00589 }
00590
00591 inline void QPainter::drawArc(int x, int y, int w, int h, int a, int alen)
00592 {
00593 drawArc(QRectF(x, y, w, h), a, alen);
00594 }
00595
00596 inline void QPainter::drawPie(const QRect &rect, int a, int alen)
00597 {
00598 drawPie(QRectF(rect), a, alen);
00599 }
00600
00601 inline void QPainter::drawPie(int x, int y, int w, int h, int a, int alen)
00602 {
00603 drawPie(QRectF(x, y, w, h), a, alen);
00604 }
00605
00606 inline void QPainter::drawChord(const QRect &rect, int a, int alen)
00607 {
00608 drawChord(QRectF(rect), a, alen);
00609 }
00610
00611 inline void QPainter::drawChord(int x, int y, int w, int h, int a, int alen)
00612 {
00613 drawChord(QRectF(x, y, w, h), a, alen);
00614 }
00615
00616 inline void QPainter::setClipRect(int x, int y, int w, int h, Qt::ClipOperation op)
00617 {
00618 #ifdef QT_EXPERIMENTAL_REGIONS
00619 setClipRect(QRect(x, y, w, h), op);
00620 #else
00621 setClipRect(QRectF(x, y, w, h), op);
00622 #endif
00623 }
00624
00625 #ifndef QT_EXPERIMENTAL_REGIONS
00626 inline void QPainter::setClipRect(const QRect &rect, Qt::ClipOperation op)
00627 {
00628 setClipRect(QRectF(rect), op);
00629 }
00630 #endif
00631
00632 inline void QPainter::eraseRect(const QRect &rect)
00633 {
00634 eraseRect(QRectF(rect));
00635 }
00636
00637 inline void QPainter::eraseRect(int x, int y, int w, int h)
00638 {
00639 eraseRect(QRectF(x, y, w, h));
00640 }
00641
00642 inline void QPainter::fillRect(int x, int y, int w, int h, const QBrush &b)
00643 {
00644 fillRect(QRect(x, y, w, h), b);
00645 }
00646
00647 inline void QPainter::setBrushOrigin(int x, int y)
00648 {
00649 setBrushOrigin(QPoint(x, y));
00650 }
00651
00652 inline void QPainter::setBrushOrigin(const QPoint &p)
00653 {
00654 setBrushOrigin(QPointF(p));
00655 }
00656
00657 inline void QPainter::drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset)
00658 {
00659 drawTiledPixmap(QRectF(rect), pm, QPointF(offset));
00660 }
00661
00662 inline void QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx, int sy)
00663 {
00664 drawTiledPixmap(QRectF(x, y, w, h), pm, QPointF(sx, sy));
00665 }
00666
00667 inline void QPainter::drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect)
00668 {
00669 drawPixmap(QRectF(targetRect), pixmap, QRectF(sourceRect));
00670 }
00671
00672 inline void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm)
00673 {
00674 drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, QRectF());
00675 }
00676
00677 inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm)
00678 {
00679 drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, QRectF());
00680 }
00681
00682 inline void QPainter::drawPixmap(const QRect &r, const QPixmap &pm)
00683 {
00684 drawPixmap(QRectF(r), pm, QRectF());
00685 }
00686
00687 inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm)
00688 {
00689 drawPixmap(QRectF(x, y, -1, -1), pm, QRectF());
00690 }
00691
00692 inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm)
00693 {
00694 drawPixmap(QRectF(x, y, w, h), pm, QRectF());
00695 }
00696
00697 inline void QPainter::drawPixmap(int x, int y, int w, int h, const QPixmap &pm,
00698 int sx, int sy, int sw, int sh)
00699 {
00700 drawPixmap(QRectF(x, y, w, h), pm, QRectF(sx, sy, sw, sh));
00701 }
00702
00703 inline void QPainter::drawPixmap(int x, int y, const QPixmap &pm,
00704 int sx, int sy, int sw, int sh)
00705 {
00706 drawPixmap(QRectF(x, y, -1, -1), pm, QRectF(sx, sy, sw, sh));
00707 }
00708
00709 inline void QPainter::drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr)
00710 {
00711 drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr);
00712 }
00713
00714 inline void QPainter::drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr)
00715 {
00716 drawPixmap(QRectF(p.x(), p.y(), -1, -1), pm, sr);
00717 }
00718
00719 inline void QPainter::drawTextItem(int x, int y, const QTextItem &ti)
00720 {
00721 drawTextItem(QPointF(x, y), ti);
00722 }
00723
00724 inline void QPainter::drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect,
00725 Qt::ImageConversionFlags flags)
00726 {
00727 drawImage(QRectF(targetRect), image, QRectF(sourceRect), flags);
00728 }
00729
00730 inline void QPainter::drawImage(const QPointF &p, const QImage &image, const QRectF &sr,
00731 Qt::ImageConversionFlags flags)
00732 {
00733 drawImage(QRectF(p.x(), p.y(), -1, -1), image, sr, flags);
00734 }
00735
00736 inline void QPainter::drawImage(const QPoint &p, const QImage &image, const QRect &sr,
00737 Qt::ImageConversionFlags flags)
00738 {
00739 drawImage(QRect(p.x(), p.y(), -1, -1), image, sr, flags);
00740 }
00741
00742
00743 inline void QPainter::drawImage(const QRectF &r, const QImage &image)
00744 {
00745 drawImage(r, image, QRect(0, 0, image.width(), image.height()));
00746 }
00747
00748 inline void QPainter::drawImage(const QRect &r, const QImage &image)
00749 {
00750 drawImage(r, image, QRectF(0, 0, image.width(), image.height()));
00751 }
00752
00753 inline void QPainter::drawImage(const QPointF &p, const QImage &image)
00754 {
00755 drawImage(QRectF(p.x(), p.y(), -1, -1), image, QRectF(0, 0, image.width(), image.height()));
00756 }
00757
00758 inline void QPainter::drawImage(const QPoint &p, const QImage &image)
00759 {
00760 drawImage(QRectF(p.x(), p.y(), -1, -1), image, QRectF(0, 0, image.width(), image.height()));
00761 }
00762
00763 inline void QPainter::drawImage(int x, int y, const QImage &image, int sx, int sy, int sw, int sh,
00764 Qt::ImageConversionFlags flags)
00765 {
00766 drawImage(QRectF(x, y, -1, -1), image, QRectF(sx, sy, sw, sh), flags);
00767 }
00768
00769 inline void QPainter::drawTextItem(const QPoint &p, const QTextItem &ti)
00770 {
00771 drawTextItem(QPointF(p), ti);
00772 }
00773
00774 inline void QPainter::drawText(const QPoint &p, const QString &s)
00775 {
00776 drawText(QPointF(p), s);
00777 }
00778
00779 inline void QPainter::drawText(int x, int y, int w, int h, int flags, const QString &str, QRect *br)
00780 {
00781 drawText(QRect(x, y, w, h), flags, str, br);
00782 }
00783
00784 inline void QPainter::drawText(int x, int y, const QString &s)
00785 {
00786 drawText(QPointF(x, y), s);
00787 }
00788
00789 inline QRect QPainter::boundingRect(int x, int y, int w, int h, int flags, const QString &text)
00790 {
00791 return boundingRect(QRect(x, y, w, h), flags, text);
00792 }
00793
00794 inline void QPainter::translate(qreal dx, qreal dy)
00795 {
00796 translate(QPointF(dx, dy));
00797 }
00798
00799 inline void QPainter::translate(const QPoint &offset)
00800 {
00801 translate(offset.x(), offset.y());
00802 }
00803
00804 inline void QPainter::setViewport(int x, int y, int w, int h)
00805 {
00806 setViewport(QRect(x, y, w, h));
00807 }
00808
00809 inline void QPainter::setWindow(int x, int y, int w, int h)
00810 {
00811 setWindow(QRect(x, y, w, h));
00812 }
00813
00814 #ifndef QT_NO_PICTURE
00815 inline void QPainter::drawPicture(int x, int y, const QPicture &p)
00816 {
00817 drawPicture(QPoint(x, y), p);
00818 }
00819
00820 inline void QPainter::drawPicture(const QPoint &pt, const QPicture &p)
00821 {
00822 drawPicture(QPointF(pt), p);
00823 }
00824 #endif
00825
00826 QT_END_HEADER
00827
00828 #endif // QPAINTER_H