// qpainter.sip generated by MetaSIP on Fri Sep 28 17:07:47 2007 // // This file is part of the QtGui Python extension module. // // Copyright (c) 2007 // Phil Thompson // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License version 2 as published by // the Free Software Foundation and appearing in the file LICENSE included in the // packaging of this file. // // PyQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ModuleCode #include %End class QPainter { %TypeHeaderCode #include %End %TypeCode // Return an array on the heap of class instances extracted from a set of // Python arguments. template static TYPE *qtgui_inst_array(const TYPE *first, PyObject *t, sipWrapperType *wt) { TYPE *arr = new TYPE[1 + PyTuple_GET_SIZE(t)]; arr[0] = *first; for (int i = 0; i < PyTuple_GET_SIZE(t); ++i) { int iserr = 0, state; TYPE *itm; itm = reinterpret_cast(sipForceConvertToInstance(PyTuple_GET_ITEM(t, i), wt, 0, SIP_NOT_NONE, &state, &iserr)); if (iserr) { sipReleaseInstance(itm, wt, state); PyErr_Format(PyExc_TypeError, "each argument must be an instance of %s", ((PyObject *)wt)->ob_type->tp_name); delete[] arr; return 0; } arr[1 + i] = *itm; sipReleaseInstance(itm, wt, state); } return arr; } %End public: enum RenderHint { Antialiasing, TextAntialiasing, SmoothPixmapTransform, %If (Qt_4_3_0 -) HighQualityAntialiasing, %End }; typedef QFlags RenderHints; QPainter(); explicit QPainter(QPaintDevice *); ~QPainter(); QPaintDevice *device() const; bool begin(QPaintDevice *); bool end(); bool isActive() const; void initFrom(const QWidget *widget); enum CompositionMode { CompositionMode_SourceOver, CompositionMode_DestinationOver, CompositionMode_Clear, CompositionMode_Source, CompositionMode_Destination, CompositionMode_SourceIn, CompositionMode_DestinationIn, CompositionMode_SourceOut, CompositionMode_DestinationOut, CompositionMode_SourceAtop, CompositionMode_DestinationAtop, CompositionMode_Xor, %If (Qt_4_3_0 -) CompositionMode_Plus, %End %If (Qt_4_3_0 -) CompositionMode_Multiply, %End %If (Qt_4_3_0 -) CompositionMode_Screen, %End %If (Qt_4_3_0 -) CompositionMode_Overlay, %End %If (Qt_4_3_0 -) CompositionMode_Darken, %End %If (Qt_4_3_0 -) CompositionMode_Lighten, %End %If (Qt_4_3_0 -) CompositionMode_ColorDodge, %End %If (Qt_4_3_0 -) CompositionMode_ColorBurn, %End %If (Qt_4_3_0 -) CompositionMode_HardLight, %End %If (Qt_4_3_0 -) CompositionMode_SoftLight, %End %If (Qt_4_3_0 -) CompositionMode_Difference, %End %If (Qt_4_3_0 -) CompositionMode_Exclusion, %End }; void setCompositionMode(QPainter::CompositionMode mode); QPainter::CompositionMode compositionMode() const; const QFont &font() const; void setFont(const QFont &f); QFontMetrics fontMetrics() const; QFontInfo fontInfo() const; void setPen(const QColor &color); void setPen(const QPen &pen); void setPen(Qt::PenStyle style); const QPen &pen() const; void setBrush(const QBrush &brush); void setBrush(Qt::BrushStyle style); const QBrush &brush() const; void setBackgroundMode(Qt::BGMode mode); Qt::BGMode backgroundMode() const; QPoint brushOrigin() const; void setBrushOrigin(const QPointF &); void setBackground(const QBrush &bg); const QBrush &background() const; QRegion clipRegion() const; QPainterPath clipPath() const; void setClipRect(const QRectF &, Qt::ClipOperation op = Qt::ReplaceClip); void setClipRegion(const QRegion &, Qt::ClipOperation op = Qt::ReplaceClip); void setClipPath(const QPainterPath &path, Qt::ClipOperation op = Qt::ReplaceClip); void setClipping(bool enable); bool hasClipping() const; void save(); void restore(); void setMatrix(const QMatrix &matrix, bool combine = false); const QMatrix &matrix() const; const QMatrix &deviceMatrix() const; void resetMatrix(); void setMatrixEnabled(bool enabled); bool matrixEnabled() const; void scale(qreal sx, qreal sy); void shear(qreal sh, qreal sv); void rotate(qreal a); void translate(const QPointF &offset); QRect window() const; void setWindow(const QRect &window); QRect viewport() const; void setViewport(const QRect &viewport); void setViewTransformEnabled(bool enable); bool viewTransformEnabled() const; void strokePath(const QPainterPath &path, const QPen &pen); void fillPath(const QPainterPath &path, const QBrush &brush); void drawPath(const QPainterPath &path); void drawPoints(const QPointF *point, ...); %MethodCode QPointF *points = qtgui_inst_array(a0, a1, sipClass_QPointF); if (points) { sipCpp->drawPoints(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPoints(const QPolygonF &points); void drawPoints(const QPoint *point, ...); %MethodCode QPoint *points = qtgui_inst_array(a0, a1, sipClass_QPoint); if (points) { sipCpp->drawPoints(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPoints(const QPolygon &points); void drawLines(const QLineF *line, ...); %MethodCode QLineF *lines = qtgui_inst_array(a0, a1, sipClass_QLineF); if (lines) { sipCpp->drawLines(lines, 1 + PyTuple_GET_SIZE(a1)); delete[] lines; } else sipIsErr = 1; %End void drawLines(const QVector &lines); void drawLines(const QPointF *pointPair, ...); %MethodCode QPointF *pairs = qtgui_inst_array(a0, a1, sipClass_QPointF); if (pairs) { sipCpp->drawLines(pairs, (1 + PyTuple_GET_SIZE(a1)) / 2); delete[] pairs; } else sipIsErr = 1; %End void drawLines(const QVector &pointPairs); void drawLines(const QLine *line, ...); %MethodCode QLine *lines = qtgui_inst_array(a0, a1, sipClass_QLine); if (lines) { sipCpp->drawLines(lines, 1 + PyTuple_GET_SIZE(a1)); delete[] lines; } else sipIsErr = 1; %End void drawLines(const QVector &lines); void drawLines(const QPoint *pointPair, ...); %MethodCode QPoint *pairs = qtgui_inst_array(a0, a1, sipClass_QPoint); if (pairs) { sipCpp->drawLines(pairs, (1 + PyTuple_GET_SIZE(a1)) / 2); delete[] pairs; } else sipIsErr = 1; %End void drawLines(const QVector &pointPairs); void drawRects(const QRectF *rect, ...); %MethodCode QRectF *rects = qtgui_inst_array(a0, a1, sipClass_QRectF); if (rects) { sipCpp->drawRects(rects, 1 + PyTuple_GET_SIZE(a1)); delete[] rects; } else sipIsErr = 1; %End void drawRects(const QVector &rects); void drawRects(const QRect *rect, ...); %MethodCode QRect *rects = qtgui_inst_array(a0, a1, sipClass_QRect); if (rects) { sipCpp->drawRects(rects, 1 + PyTuple_GET_SIZE(a1)); delete[] rects; } else sipIsErr = 1; %End void drawRects(const QVector &rects); void drawEllipse(const QRectF &r); void drawEllipse(const QRect &r); void drawPolyline(const QPointF *point, ...); %MethodCode QPointF *points = qtgui_inst_array(a0, a1, sipClass_QPointF); if (points) { sipCpp->drawPolyline(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPolyline(const QPolygonF &polyline); void drawPolyline(const QPoint *point, ...); %MethodCode QPoint *points = qtgui_inst_array(a0, a1, sipClass_QPoint); if (points) { sipCpp->drawPolyline(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPolyline(const QPolygon &polyline); void drawPolygon(const QPointF *point, ...); %MethodCode QPointF *points = qtgui_inst_array(a0, a1, sipClass_QPointF); if (points) { sipCpp->drawPolygon(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPolygon(const QPolygonF &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); void drawPolygon(const QPoint *point, ...); %MethodCode QPoint *points = qtgui_inst_array(a0, a1, sipClass_QPoint); if (points) { sipCpp->drawPolygon(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawPolygon(const QPolygon &polygon, Qt::FillRule fillRule = Qt::OddEvenFill); void drawConvexPolygon(const QPointF *point, ...); %MethodCode QPointF *points = qtgui_inst_array(a0, a1, sipClass_QPointF); if (points) { sipCpp->drawConvexPolygon(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawConvexPolygon(const QPolygonF &poly); void drawConvexPolygon(const QPoint *point, ...); %MethodCode QPoint *points = qtgui_inst_array(a0, a1, sipClass_QPoint); if (points) { sipCpp->drawConvexPolygon(points, 1 + PyTuple_GET_SIZE(a1)); delete[] points; } else sipIsErr = 1; %End void drawConvexPolygon(const QPolygon &poly); void drawArc(const QRectF &rect, int a, int alen); void drawPie(const QRectF &rect, int a, int alen); void drawChord(const QRectF &rect, int a, int alen); void drawRoundRect(const QRectF &r, int xround = 25, int yround = 25); void drawTiledPixmap(const QRectF &rect, const QPixmap &pm, const QPointF &offset = QPointF()); void drawPicture(const QPointF &p, const QPicture &picture); void drawPixmap(const QRectF &targetRect, const QPixmap &pixmap, const QRectF &sourceRect); void drawImage(const QRectF &targetRect, const QImage &image, const QRectF &sourceRect, Qt::ImageConversionFlags flags = Qt::AutoColor); void setLayoutDirection(Qt::LayoutDirection direction); Qt::LayoutDirection layoutDirection() const; void drawText(const QPointF &p, const QString &s); void drawText(const QRectF &r, int flags, const QString &text, QRectF *br /Out/ = 0); void drawText(const QRect &r, int flags, const QString &text, QRect *br /Out/ = 0); void drawText(const QRectF &r, const QString &text, const QTextOption &o = QTextOption()); QRectF boundingRect(const QRectF &rect, int flags, const QString &text); QRect boundingRect(const QRect &rect, int flags, const QString &text); QRectF boundingRect(const QRectF &rect, const QString &text, const QTextOption &o = QTextOption()); void fillRect(const QRectF &, const QBrush &); void fillRect(const QRect &, const QBrush &); void eraseRect(const QRectF &); void setRenderHint(QPainter::RenderHint hint, bool on = true); QFlags renderHints() const; %If (Qt_4_2_0 -) void setRenderHints(QFlags hints, bool on = true); %End QPaintEngine *paintEngine() const; static void setRedirected(const QPaintDevice *device, QPaintDevice *replacement, const QPoint &offset = QPoint()); static QPaintDevice *redirected(const QPaintDevice *device, QPoint *offset = 0); static void restoreRedirected(const QPaintDevice *device); void drawLine(const QLineF &l); void drawLine(const QLine &line); void drawLine(int x1, int y1, int x2, int y2); void drawLine(const QPoint &p1, const QPoint &p2); void drawLine(const QPointF &p1, const QPointF &p2); void drawRect(const QRectF &rect); void drawRect(int x, int y, int w, int h); void drawRect(const QRect &r); void drawPoint(const QPointF &p); void drawPoint(int x, int y); void drawPoint(const QPoint &p); void drawRoundRect(int x, int y, int w, int h, int xRnd = 25, int yRnd = 25); void drawRoundRect(const QRect &rect, int xRnd = 25, int yRnd = 25); void drawEllipse(int x, int y, int w, int h); void drawArc(const QRect &r, int a, int alen); void drawArc(int x, int y, int w, int h, int a, int alen); void drawPie(const QRect &rect, int a, int alen); void drawPie(int x, int y, int w, int h, int a, int alen); void drawChord(const QRect &rect, int a, int alen); void drawChord(int x, int y, int w, int h, int a, int alen); void setClipRect(int x, int y, int w, int h, Qt::ClipOperation op = Qt::ReplaceClip); void setClipRect(const QRect &rect, Qt::ClipOperation op = Qt::ReplaceClip); void eraseRect(const QRect &rect); void eraseRect(int x, int y, int w, int h); void fillRect(int x, int y, int w, int h, const QBrush &b); void setBrushOrigin(int x, int y); void setBrushOrigin(const QPoint &p); void drawTiledPixmap(const QRect &rect, const QPixmap &pm, const QPoint &offset = QPoint()); void drawTiledPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx = 0, int sy = 0); void drawPixmap(const QRect &targetRect, const QPixmap &pixmap, const QRect &sourceRect); void drawPixmap(const QPointF &p, const QPixmap &pm); void drawPixmap(const QPoint &p, const QPixmap &pm); void drawPixmap(const QRect &r, const QPixmap &pm); void drawPixmap(int x, int y, const QPixmap &pm); void drawPixmap(int x, int y, int w, int h, const QPixmap &pm); void drawPixmap(int x, int y, int w, int h, const QPixmap &pm, int sx, int sy, int sw, int sh); void drawPixmap(int x, int y, const QPixmap &pm, int sx, int sy, int sw, int sh); void drawPixmap(const QPointF &p, const QPixmap &pm, const QRectF &sr); void drawPixmap(const QPoint &p, const QPixmap &pm, const QRect &sr); void drawImage(const QRect &targetRect, const QImage &image, const QRect &sourceRect, Qt::ImageConversionFlags flags = Qt::AutoColor); void drawImage(const QPointF &p, const QImage &image, const QRectF &sr, Qt::ImageConversionFlags flags = Qt::AutoColor); void drawImage(const QPoint &p, const QImage &image, const QRect &sr, Qt::ImageConversionFlags flags = Qt::AutoColor); void drawImage(const QRectF &r, const QImage &image); void drawImage(const QRect &r, const QImage &image); void drawImage(const QPointF &p, const QImage &image); void drawImage(const QPoint &p, const QImage &image); void drawImage(int x, int y, const QImage &image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor); void drawText(const QPoint &p, const QString &s); void drawText(int x, int y, int w, int h, int flags, const QString &str, QRect *br /Out/ = 0); void drawText(int x, int y, const QString &s); QRect boundingRect(int x, int y, int w, int h, int flags, const QString &text); %If (Qt_4_2_0 -) QMatrix combinedMatrix() const; %End %If (Qt_4_2_0 -) qreal opacity() const; %End %If (Qt_4_2_0 -) void setOpacity(qreal opacity); %End void translate(qreal dx, qreal dy); void translate(const QPoint &offset); void setViewport(int x, int y, int w, int h); void setWindow(int x, int y, int w, int h); %If (Qt_4_2_0 -) const QMatrix &worldMatrix() const; %End %If (Qt_4_2_0 -) void setWorldMatrix(const QMatrix &matrix, bool combine = false); %End %If (Qt_4_2_0 -) bool worldMatrixEnabled() const; %End %If (Qt_4_2_0 -) void setWorldMatrixEnabled(bool enabled); %End void drawPicture(int x, int y, const QPicture &p); void drawPicture(const QPoint &pt, const QPicture &p); %If (Qt_4_3_0 -) void setTransform(const QTransform &transform, bool combine = false); %End %If (Qt_4_3_0 -) const QTransform &transform() const; %End %If (Qt_4_3_0 -) const QTransform &deviceTransform() const; %End %If (Qt_4_3_0 -) void resetTransform(); %End %If (Qt_4_3_0 -) void setWorldTransform(const QTransform &matrix, bool combine = false); %End %If (Qt_4_3_0 -) const QTransform &worldTransform() const; %End %If (Qt_4_3_0 -) QTransform combinedTransform() const; %End %If (Qt_4_3_0 -) bool testRenderHint(QPainter::RenderHint hint) const; %End private: %If (Qt_4_2_0 -) QPainter(const QPainter &); %End }; QFlags operator|(QPainter::RenderHint f1, QFlags f2); QFlags operator|(QPainter::RenderHint f1, QPainter::RenderHint f2);