//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QPainter")]
    public class QPainter : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QPainter(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QPainter), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QPainter() {
            staticInterceptor = new SmokeInvocation(typeof(QPainter), null);
        }
        public enum RenderHint {
            Antialiasing = 0x01,
            TextAntialiasing = 0x02,
            SmoothPixmapTransform = 0x04,
            HighQualityAntialiasing = 0x08,
            NonCosmeticDefaultPen = 0x10,
        }
        public enum CompositionMode {
            CompositionMode_SourceOver = 0,
            CompositionMode_DestinationOver = 1,
            CompositionMode_Clear = 2,
            CompositionMode_Source = 3,
            CompositionMode_Destination = 4,
            CompositionMode_SourceIn = 5,
            CompositionMode_DestinationIn = 6,
            CompositionMode_SourceOut = 7,
            CompositionMode_DestinationOut = 8,
            CompositionMode_SourceAtop = 9,
            CompositionMode_DestinationAtop = 10,
            CompositionMode_Xor = 11,
            CompositionMode_Plus = 12,
            CompositionMode_Multiply = 13,
            CompositionMode_Screen = 14,
            CompositionMode_Overlay = 15,
            CompositionMode_Darken = 16,
            CompositionMode_Lighten = 17,
            CompositionMode_ColorDodge = 18,
            CompositionMode_ColorBurn = 19,
            CompositionMode_HardLight = 20,
            CompositionMode_SoftLight = 21,
            CompositionMode_Difference = 22,
            CompositionMode_Exclusion = 23,
            RasterOp_SourceOrDestination = 24,
            RasterOp_SourceAndDestination = 25,
            RasterOp_SourceXorDestination = 26,
            RasterOp_NotSourceAndNotDestination = 27,
            RasterOp_NotSourceOrNotDestination = 28,
            RasterOp_NotSourceXorDestination = 29,
            RasterOp_NotSource = 30,
            RasterOp_NotSourceAndDestination = 31,
            RasterOp_SourceAndNotDestination = 32,
        }
        public QPainter() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPainter", "QPainter()", typeof(void));
        }
        public QPainter(IQPaintDevice arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QPainter#", "QPainter(QPaintDevice*)", typeof(void), typeof(IQPaintDevice), arg1);
        }
        public IQPaintDevice Device() {
            return (IQPaintDevice) interceptor.Invoke("device", "device() const", typeof(IQPaintDevice));
        }
        public bool Begin(IQPaintDevice arg1) {
            return (bool) interceptor.Invoke("begin#", "begin(QPaintDevice*)", typeof(bool), typeof(IQPaintDevice), arg1);
        }
        public bool End() {
            return (bool) interceptor.Invoke("end", "end()", typeof(bool));
        }
        public bool IsActive() {
            return (bool) interceptor.Invoke("isActive", "isActive() const", typeof(bool));
        }
        public void InitFrom(QWidget widget) {
            interceptor.Invoke("initFrom#", "initFrom(const QWidget*)", typeof(void), typeof(QWidget), widget);
        }
        public void SetCompositionMode(QPainter.CompositionMode mode) {
            interceptor.Invoke("setCompositionMode$", "setCompositionMode(QPainter::CompositionMode)", typeof(void), typeof(QPainter.CompositionMode), mode);
        }
        public QPainter.CompositionMode compositionMode() {
            return (QPainter.CompositionMode) interceptor.Invoke("compositionMode", "compositionMode() const", typeof(QPainter.CompositionMode));
        }
        public QFont Font() {
            return (QFont) interceptor.Invoke("font", "font() const", typeof(QFont));
        }
        public void SetFont(QFont f) {
            interceptor.Invoke("setFont#", "setFont(const QFont&)", typeof(void), typeof(QFont), f);
        }
        public QFontMetrics FontMetrics() {
            return (QFontMetrics) interceptor.Invoke("fontMetrics", "fontMetrics() const", typeof(QFontMetrics));
        }
        public QFontInfo FontInfo() {
            return (QFontInfo) interceptor.Invoke("fontInfo", "fontInfo() const", typeof(QFontInfo));
        }
        public void SetPen(QColor color) {
            interceptor.Invoke("setPen#", "setPen(const QColor&)", typeof(void), typeof(QColor), color);
        }
        public void SetPen(QPen pen) {
            interceptor.Invoke("setPen#", "setPen(const QPen&)", typeof(void), typeof(QPen), pen);
        }
        public void SetPen(Qt.PenStyle style) {
            interceptor.Invoke("setPen$", "setPen(Qt::PenStyle)", typeof(void), typeof(Qt.PenStyle), style);
        }
        public QPen Pen() {
            return (QPen) interceptor.Invoke("pen", "pen() const", typeof(QPen));
        }
        public void SetBrush(QBrush brush) {
            interceptor.Invoke("setBrush#", "setBrush(const QBrush&)", typeof(void), typeof(QBrush), brush);
        }
        public void SetBrush(Qt.BrushStyle style) {
            interceptor.Invoke("setBrush$", "setBrush(Qt::BrushStyle)", typeof(void), typeof(Qt.BrushStyle), style);
        }
        public QBrush Brush() {
            return (QBrush) interceptor.Invoke("brush", "brush() const", typeof(QBrush));
        }
        public void SetBackgroundMode(Qt.BGMode mode) {
            interceptor.Invoke("setBackgroundMode$", "setBackgroundMode(Qt::BGMode)", typeof(void), typeof(Qt.BGMode), mode);
        }
        public Qt.BGMode BackgroundMode() {
            return (Qt.BGMode) interceptor.Invoke("backgroundMode", "backgroundMode() const", typeof(Qt.BGMode));
        }
        public QPoint BrushOrigin() {
            return (QPoint) interceptor.Invoke("brushOrigin", "brushOrigin() const", typeof(QPoint));
        }
        public void SetBrushOrigin(int x, int y) {
            interceptor.Invoke("setBrushOrigin$$", "setBrushOrigin(int, int)", typeof(void), typeof(int), x, typeof(int), y);
        }
        public void SetBrushOrigin(QPoint arg1) {
            interceptor.Invoke("setBrushOrigin#", "setBrushOrigin(const QPoint&)", typeof(void), typeof(QPoint), arg1);
        }
        public void SetBrushOrigin(QPointF arg1) {
            interceptor.Invoke("setBrushOrigin#", "setBrushOrigin(const QPointF&)", typeof(void), typeof(QPointF), arg1);
        }
        public void SetBackground(QBrush bg) {
            interceptor.Invoke("setBackground#", "setBackground(const QBrush&)", typeof(void), typeof(QBrush), bg);
        }
        public QBrush Background() {
            return (QBrush) interceptor.Invoke("background", "background() const", typeof(QBrush));
        }
        public double Opacity() {
            return (double) interceptor.Invoke("opacity", "opacity() const", typeof(double));
        }
        public void SetOpacity(double opacity) {
            interceptor.Invoke("setOpacity$", "setOpacity(qreal)", typeof(void), typeof(double), opacity);
        }
        public QRegion ClipRegion() {
            return (QRegion) interceptor.Invoke("clipRegion", "clipRegion() const", typeof(QRegion));
        }
        public QPainterPath ClipPath() {
            return (QPainterPath) interceptor.Invoke("clipPath", "clipPath() const", typeof(QPainterPath));
        }
        public void SetClipRect(QRectF arg1, Qt.ClipOperation op) {
            interceptor.Invoke("setClipRect#$", "setClipRect(const QRectF&, Qt::ClipOperation)", typeof(void), typeof(QRectF), arg1, typeof(Qt.ClipOperation), op);
        }
        public void SetClipRect(QRectF arg1) {
            interceptor.Invoke("setClipRect#", "setClipRect(const QRectF&)", typeof(void), typeof(QRectF), arg1);
        }
        public void SetClipRect(QRect arg1, Qt.ClipOperation op) {
            interceptor.Invoke("setClipRect#$", "setClipRect(const QRect&, Qt::ClipOperation)", typeof(void), typeof(QRect), arg1, typeof(Qt.ClipOperation), op);
        }
        public void SetClipRect(QRect arg1) {
            interceptor.Invoke("setClipRect#", "setClipRect(const QRect&)", typeof(void), typeof(QRect), arg1);
        }
        public void SetClipRect(int x, int y, int w, int h, Qt.ClipOperation op) {
            interceptor.Invoke("setClipRect$$$$$", "setClipRect(int, int, int, int, Qt::ClipOperation)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(Qt.ClipOperation), op);
        }
        public void SetClipRect(int x, int y, int w, int h) {
            interceptor.Invoke("setClipRect$$$$", "setClipRect(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public void SetClipRegion(QRegion arg1, Qt.ClipOperation op) {
            interceptor.Invoke("setClipRegion#$", "setClipRegion(const QRegion&, Qt::ClipOperation)", typeof(void), typeof(QRegion), arg1, typeof(Qt.ClipOperation), op);
        }
        public void SetClipRegion(QRegion arg1) {
            interceptor.Invoke("setClipRegion#", "setClipRegion(const QRegion&)", typeof(void), typeof(QRegion), arg1);
        }
        public void SetClipPath(QPainterPath path, Qt.ClipOperation op) {
            interceptor.Invoke("setClipPath#$", "setClipPath(const QPainterPath&, Qt::ClipOperation)", typeof(void), typeof(QPainterPath), path, typeof(Qt.ClipOperation), op);
        }
        public void SetClipPath(QPainterPath path) {
            interceptor.Invoke("setClipPath#", "setClipPath(const QPainterPath&)", typeof(void), typeof(QPainterPath), path);
        }
        public void SetClipping(bool enable) {
            interceptor.Invoke("setClipping$", "setClipping(bool)", typeof(void), typeof(bool), enable);
        }
        public bool HasClipping() {
            return (bool) interceptor.Invoke("hasClipping", "hasClipping() const", typeof(bool));
        }
        public void Save() {
            interceptor.Invoke("save", "save()", typeof(void));
        }
        public void Restore() {
            interceptor.Invoke("restore", "restore()", typeof(void));
        }
        public void SetMatrix(QMatrix matrix, bool combine) {
            interceptor.Invoke("setMatrix#$", "setMatrix(const QMatrix&, bool)", typeof(void), typeof(QMatrix), matrix, typeof(bool), combine);
        }
        public void SetMatrix(QMatrix matrix) {
            interceptor.Invoke("setMatrix#", "setMatrix(const QMatrix&)", typeof(void), typeof(QMatrix), matrix);
        }
        public QMatrix Matrix() {
            return (QMatrix) interceptor.Invoke("matrix", "matrix() const", typeof(QMatrix));
        }
        public QMatrix DeviceMatrix() {
            return (QMatrix) interceptor.Invoke("deviceMatrix", "deviceMatrix() const", typeof(QMatrix));
        }
        public void ResetMatrix() {
            interceptor.Invoke("resetMatrix", "resetMatrix()", typeof(void));
        }
        public void SetTransform(QTransform transform, bool combine) {
            interceptor.Invoke("setTransform#$", "setTransform(const QTransform&, bool)", typeof(void), typeof(QTransform), transform, typeof(bool), combine);
        }
        public void SetTransform(QTransform transform) {
            interceptor.Invoke("setTransform#", "setTransform(const QTransform&)", typeof(void), typeof(QTransform), transform);
        }
        public QTransform Transform() {
            return (QTransform) interceptor.Invoke("transform", "transform() const", typeof(QTransform));
        }
        public QTransform DeviceTransform() {
            return (QTransform) interceptor.Invoke("deviceTransform", "deviceTransform() const", typeof(QTransform));
        }
        public void ResetTransform() {
            interceptor.Invoke("resetTransform", "resetTransform()", typeof(void));
        }
        public void SetWorldMatrix(QMatrix matrix, bool combine) {
            interceptor.Invoke("setWorldMatrix#$", "setWorldMatrix(const QMatrix&, bool)", typeof(void), typeof(QMatrix), matrix, typeof(bool), combine);
        }
        public void SetWorldMatrix(QMatrix matrix) {
            interceptor.Invoke("setWorldMatrix#", "setWorldMatrix(const QMatrix&)", typeof(void), typeof(QMatrix), matrix);
        }
        public QMatrix WorldMatrix() {
            return (QMatrix) interceptor.Invoke("worldMatrix", "worldMatrix() const", typeof(QMatrix));
        }
        public void SetWorldTransform(QTransform matrix, bool combine) {
            interceptor.Invoke("setWorldTransform#$", "setWorldTransform(const QTransform&, bool)", typeof(void), typeof(QTransform), matrix, typeof(bool), combine);
        }
        public void SetWorldTransform(QTransform matrix) {
            interceptor.Invoke("setWorldTransform#", "setWorldTransform(const QTransform&)", typeof(void), typeof(QTransform), matrix);
        }
        public QTransform WorldTransform() {
            return (QTransform) interceptor.Invoke("worldTransform", "worldTransform() const", typeof(QTransform));
        }
        public QMatrix CombinedMatrix() {
            return (QMatrix) interceptor.Invoke("combinedMatrix", "combinedMatrix() const", typeof(QMatrix));
        }
        public QTransform CombinedTransform() {
            return (QTransform) interceptor.Invoke("combinedTransform", "combinedTransform() const", typeof(QTransform));
        }
        public void SetMatrixEnabled(bool enabled) {
            interceptor.Invoke("setMatrixEnabled$", "setMatrixEnabled(bool)", typeof(void), typeof(bool), enabled);
        }
        public bool MatrixEnabled() {
            return (bool) interceptor.Invoke("matrixEnabled", "matrixEnabled() const", typeof(bool));
        }
        public void SetWorldMatrixEnabled(bool enabled) {
            interceptor.Invoke("setWorldMatrixEnabled$", "setWorldMatrixEnabled(bool)", typeof(void), typeof(bool), enabled);
        }
        public bool WorldMatrixEnabled() {
            return (bool) interceptor.Invoke("worldMatrixEnabled", "worldMatrixEnabled() const", typeof(bool));
        }
        public void Scale(double sx, double sy) {
            interceptor.Invoke("scale$$", "scale(qreal, qreal)", typeof(void), typeof(double), sx, typeof(double), sy);
        }
        public void Shear(double sh, double sv) {
            interceptor.Invoke("shear$$", "shear(qreal, qreal)", typeof(void), typeof(double), sh, typeof(double), sv);
        }
        public void Rotate(double a) {
            interceptor.Invoke("rotate$", "rotate(qreal)", typeof(void), typeof(double), a);
        }
        public void Translate(QPointF offset) {
            interceptor.Invoke("translate#", "translate(const QPointF&)", typeof(void), typeof(QPointF), offset);
        }
        public void Translate(QPoint offset) {
            interceptor.Invoke("translate#", "translate(const QPoint&)", typeof(void), typeof(QPoint), offset);
        }
        public void Translate(double dx, double dy) {
            interceptor.Invoke("translate$$", "translate(qreal, qreal)", typeof(void), typeof(double), dx, typeof(double), dy);
        }
        public QRect Window() {
            return (QRect) interceptor.Invoke("window", "window() const", typeof(QRect));
        }
        public void SetWindow(QRect window) {
            interceptor.Invoke("setWindow#", "setWindow(const QRect&)", typeof(void), typeof(QRect), window);
        }
        public void SetWindow(int x, int y, int w, int h) {
            interceptor.Invoke("setWindow$$$$", "setWindow(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public QRect Viewport() {
            return (QRect) interceptor.Invoke("viewport", "viewport() const", typeof(QRect));
        }
        public void SetViewport(QRect viewport) {
            interceptor.Invoke("setViewport#", "setViewport(const QRect&)", typeof(void), typeof(QRect), viewport);
        }
        public void SetViewport(int x, int y, int w, int h) {
            interceptor.Invoke("setViewport$$$$", "setViewport(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public void SetViewTransformEnabled(bool enable) {
            interceptor.Invoke("setViewTransformEnabled$", "setViewTransformEnabled(bool)", typeof(void), typeof(bool), enable);
        }
        public bool ViewTransformEnabled() {
            return (bool) interceptor.Invoke("viewTransformEnabled", "viewTransformEnabled() const", typeof(bool));
        }
        public void StrokePath(QPainterPath path, QPen pen) {
            interceptor.Invoke("strokePath##", "strokePath(const QPainterPath&, const QPen&)", typeof(void), typeof(QPainterPath), path, typeof(QPen), pen);
        }
        public void FillPath(QPainterPath path, QBrush brush) {
            interceptor.Invoke("fillPath##", "fillPath(const QPainterPath&, const QBrush&)", typeof(void), typeof(QPainterPath), path, typeof(QBrush), brush);
        }
        public void DrawPath(QPainterPath path) {
            interceptor.Invoke("drawPath#", "drawPath(const QPainterPath&)", typeof(void), typeof(QPainterPath), path);
        }
        public void DrawPoint(QPointF pt) {
            interceptor.Invoke("drawPoint#", "drawPoint(const QPointF&)", typeof(void), typeof(QPointF), pt);
        }
        public void DrawPoint(QPoint p) {
            interceptor.Invoke("drawPoint#", "drawPoint(const QPoint&)", typeof(void), typeof(QPoint), p);
        }
        public void DrawPoint(int x, int y) {
            interceptor.Invoke("drawPoint$$", "drawPoint(int, int)", typeof(void), typeof(int), x, typeof(int), y);
        }
        public void DrawPoints(QPointF points, int pointCount) {
            interceptor.Invoke("drawPoints#$", "drawPoints(const QPointF*, int)", typeof(void), typeof(QPointF), points, typeof(int), pointCount);
        }
        public void DrawPoints(QPolygonF points) {
            interceptor.Invoke("drawPoints#", "drawPoints(const QPolygonF&)", typeof(void), typeof(QPolygonF), points);
        }
        public void DrawPoints(QPoint points, int pointCount) {
            interceptor.Invoke("drawPoints#$", "drawPoints(const QPoint*, int)", typeof(void), typeof(QPoint), points, typeof(int), pointCount);
        }
        public void DrawPoints(QPolygon points) {
            interceptor.Invoke("drawPoints#", "drawPoints(const QPolygon&)", typeof(void), typeof(QPolygon), points);
        }
        public void DrawLine(QLineF line) {
            interceptor.Invoke("drawLine#", "drawLine(const QLineF&)", typeof(void), typeof(QLineF), line);
        }
        public void DrawLine(QLine line) {
            interceptor.Invoke("drawLine#", "drawLine(const QLine&)", typeof(void), typeof(QLine), line);
        }
        public void DrawLine(int x1, int y1, int x2, int y2) {
            interceptor.Invoke("drawLine$$$$", "drawLine(int, int, int, int)", typeof(void), typeof(int), x1, typeof(int), y1, typeof(int), x2, typeof(int), y2);
        }
        public void DrawLine(QPoint p1, QPoint p2) {
            interceptor.Invoke("drawLine##", "drawLine(const QPoint&, const QPoint&)", typeof(void), typeof(QPoint), p1, typeof(QPoint), p2);
        }
        public void DrawLine(QPointF p1, QPointF p2) {
            interceptor.Invoke("drawLine##", "drawLine(const QPointF&, const QPointF&)", typeof(void), typeof(QPointF), p1, typeof(QPointF), p2);
        }
        public void DrawLines(QLineF lines, int lineCount) {
            interceptor.Invoke("drawLines#$", "drawLines(const QLineF*, int)", typeof(void), typeof(QLineF), lines, typeof(int), lineCount);
        }
        public void DrawLines(List<QLineF> lines) {
            interceptor.Invoke("drawLines?", "drawLines(const QVector<QLineF>&)", typeof(void), typeof(List<QLineF>), lines);
        }
        public void DrawLines(QPointF pointPairs, int lineCount) {
            interceptor.Invoke("drawLines#$", "drawLines(const QPointF*, int)", typeof(void), typeof(QPointF), pointPairs, typeof(int), lineCount);
        }
        public void DrawLines(List<QPointF> pointPairs) {
            interceptor.Invoke("drawLines?", "drawLines(const QVector<QPointF>&)", typeof(void), typeof(List<QPointF>), pointPairs);
        }
        public void DrawLines(QLine lines, int lineCount) {
            interceptor.Invoke("drawLines#$", "drawLines(const QLine*, int)", typeof(void), typeof(QLine), lines, typeof(int), lineCount);
        }
        public void DrawLines(List<QLine> lines) {
            interceptor.Invoke("drawLines?", "drawLines(const QVector<QLine>&)", typeof(void), typeof(List<QLine>), lines);
        }
        public void DrawLines(QPoint pointPairs, int lineCount) {
            interceptor.Invoke("drawLines#$", "drawLines(const QPoint*, int)", typeof(void), typeof(QPoint), pointPairs, typeof(int), lineCount);
        }
        public void DrawLines(List<QPoint> pointPairs) {
            interceptor.Invoke("drawLines?", "drawLines(const QVector<QPoint>&)", typeof(void), typeof(List<QPoint>), pointPairs);
        }
        public void DrawRect(QRectF rect) {
            interceptor.Invoke("drawRect#", "drawRect(const QRectF&)", typeof(void), typeof(QRectF), rect);
        }
        public void DrawRect(int x1, int y1, int w, int h) {
            interceptor.Invoke("drawRect$$$$", "drawRect(int, int, int, int)", typeof(void), typeof(int), x1, typeof(int), y1, typeof(int), w, typeof(int), h);
        }
        public void DrawRect(QRect rect) {
            interceptor.Invoke("drawRect#", "drawRect(const QRect&)", typeof(void), typeof(QRect), rect);
        }
        public void DrawRects(QRectF rects, int rectCount) {
            interceptor.Invoke("drawRects#$", "drawRects(const QRectF*, int)", typeof(void), typeof(QRectF), rects, typeof(int), rectCount);
        }
        public void DrawRects(List<QRectF> rectangles) {
            interceptor.Invoke("drawRects?", "drawRects(const QVector<QRectF>&)", typeof(void), typeof(List<QRectF>), rectangles);
        }
        public void DrawRects(QRect rects, int rectCount) {
            interceptor.Invoke("drawRects#$", "drawRects(const QRect*, int)", typeof(void), typeof(QRect), rects, typeof(int), rectCount);
        }
        public void DrawRects(List<QRect> rectangles) {
            interceptor.Invoke("drawRects?", "drawRects(const QVector<QRect>&)", typeof(void), typeof(List<QRect>), rectangles);
        }
        public void DrawEllipse(QRectF r) {
            interceptor.Invoke("drawEllipse#", "drawEllipse(const QRectF&)", typeof(void), typeof(QRectF), r);
        }
        public void DrawEllipse(QRect r) {
            interceptor.Invoke("drawEllipse#", "drawEllipse(const QRect&)", typeof(void), typeof(QRect), r);
        }
        public void DrawEllipse(int x, int y, int w, int h) {
            interceptor.Invoke("drawEllipse$$$$", "drawEllipse(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public void DrawEllipse(QPointF center, double rx, double ry) {
            interceptor.Invoke("drawEllipse#$$", "drawEllipse(const QPointF&, qreal, qreal)", typeof(void), typeof(QPointF), center, typeof(double), rx, typeof(double), ry);
        }
        public void DrawEllipse(QPoint center, int rx, int ry) {
            interceptor.Invoke("drawEllipse#$$", "drawEllipse(const QPoint&, int, int)", typeof(void), typeof(QPoint), center, typeof(int), rx, typeof(int), ry);
        }
        public void DrawPolyline(QPointF points, int pointCount) {
            interceptor.Invoke("drawPolyline#$", "drawPolyline(const QPointF*, int)", typeof(void), typeof(QPointF), points, typeof(int), pointCount);
        }
        public void DrawPolyline(QPolygonF polyline) {
            interceptor.Invoke("drawPolyline#", "drawPolyline(const QPolygonF&)", typeof(void), typeof(QPolygonF), polyline);
        }
        public void DrawPolyline(QPoint points, int pointCount) {
            interceptor.Invoke("drawPolyline#$", "drawPolyline(const QPoint*, int)", typeof(void), typeof(QPoint), points, typeof(int), pointCount);
        }
        public void DrawPolyline(QPolygon polygon) {
            interceptor.Invoke("drawPolyline#", "drawPolyline(const QPolygon&)", typeof(void), typeof(QPolygon), polygon);
        }
        public void DrawPolygon(QPointF points, int pointCount, Qt.FillRule fillRule) {
            interceptor.Invoke("drawPolygon#$$", "drawPolygon(const QPointF*, int, Qt::FillRule)", typeof(void), typeof(QPointF), points, typeof(int), pointCount, typeof(Qt.FillRule), fillRule);
        }
        public void DrawPolygon(QPointF points, int pointCount) {
            interceptor.Invoke("drawPolygon#$", "drawPolygon(const QPointF*, int)", typeof(void), typeof(QPointF), points, typeof(int), pointCount);
        }
        public void DrawPolygon(QPolygonF polygon, Qt.FillRule fillRule) {
            interceptor.Invoke("drawPolygon#$", "drawPolygon(const QPolygonF&, Qt::FillRule)", typeof(void), typeof(QPolygonF), polygon, typeof(Qt.FillRule), fillRule);
        }
        public void DrawPolygon(QPolygonF polygon) {
            interceptor.Invoke("drawPolygon#", "drawPolygon(const QPolygonF&)", typeof(void), typeof(QPolygonF), polygon);
        }
        public void DrawPolygon(QPoint points, int pointCount, Qt.FillRule fillRule) {
            interceptor.Invoke("drawPolygon#$$", "drawPolygon(const QPoint*, int, Qt::FillRule)", typeof(void), typeof(QPoint), points, typeof(int), pointCount, typeof(Qt.FillRule), fillRule);
        }
        public void DrawPolygon(QPoint points, int pointCount) {
            interceptor.Invoke("drawPolygon#$", "drawPolygon(const QPoint*, int)", typeof(void), typeof(QPoint), points, typeof(int), pointCount);
        }
        public void DrawPolygon(QPolygon polygon, Qt.FillRule fillRule) {
            interceptor.Invoke("drawPolygon#$", "drawPolygon(const QPolygon&, Qt::FillRule)", typeof(void), typeof(QPolygon), polygon, typeof(Qt.FillRule), fillRule);
        }
        public void DrawPolygon(QPolygon polygon) {
            interceptor.Invoke("drawPolygon#", "drawPolygon(const QPolygon&)", typeof(void), typeof(QPolygon), polygon);
        }
        public void DrawConvexPolygon(QPointF points, int pointCount) {
            interceptor.Invoke("drawConvexPolygon#$", "drawConvexPolygon(const QPointF*, int)", typeof(void), typeof(QPointF), points, typeof(int), pointCount);
        }
        public void DrawConvexPolygon(QPolygonF polygon) {
            interceptor.Invoke("drawConvexPolygon#", "drawConvexPolygon(const QPolygonF&)", typeof(void), typeof(QPolygonF), polygon);
        }
        public void DrawConvexPolygon(QPoint points, int pointCount) {
            interceptor.Invoke("drawConvexPolygon#$", "drawConvexPolygon(const QPoint*, int)", typeof(void), typeof(QPoint), points, typeof(int), pointCount);
        }
        public void DrawConvexPolygon(QPolygon polygon) {
            interceptor.Invoke("drawConvexPolygon#", "drawConvexPolygon(const QPolygon&)", typeof(void), typeof(QPolygon), polygon);
        }
        public void DrawArc(QRectF rect, int a, int alen) {
            interceptor.Invoke("drawArc#$$", "drawArc(const QRectF&, int, int)", typeof(void), typeof(QRectF), rect, typeof(int), a, typeof(int), alen);
        }
        public void DrawArc(QRect arg1, int a, int alen) {
            interceptor.Invoke("drawArc#$$", "drawArc(const QRect&, int, int)", typeof(void), typeof(QRect), arg1, typeof(int), a, typeof(int), alen);
        }
        public void DrawArc(int x, int y, int w, int h, int a, int alen) {
            interceptor.Invoke("drawArc$$$$$$", "drawArc(int, int, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), a, typeof(int), alen);
        }
        public void DrawPie(QRectF rect, int a, int alen) {
            interceptor.Invoke("drawPie#$$", "drawPie(const QRectF&, int, int)", typeof(void), typeof(QRectF), rect, typeof(int), a, typeof(int), alen);
        }
        public void DrawPie(int x, int y, int w, int h, int a, int alen) {
            interceptor.Invoke("drawPie$$$$$$", "drawPie(int, int, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), a, typeof(int), alen);
        }
        public void DrawPie(QRect arg1, int a, int alen) {
            interceptor.Invoke("drawPie#$$", "drawPie(const QRect&, int, int)", typeof(void), typeof(QRect), arg1, typeof(int), a, typeof(int), alen);
        }
        public void DrawChord(QRectF rect, int a, int alen) {
            interceptor.Invoke("drawChord#$$", "drawChord(const QRectF&, int, int)", typeof(void), typeof(QRectF), rect, typeof(int), a, typeof(int), alen);
        }
        public void DrawChord(int x, int y, int w, int h, int a, int alen) {
            interceptor.Invoke("drawChord$$$$$$", "drawChord(int, int, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), a, typeof(int), alen);
        }
        public void DrawChord(QRect arg1, int a, int alen) {
            interceptor.Invoke("drawChord#$$", "drawChord(const QRect&, int, int)", typeof(void), typeof(QRect), arg1, typeof(int), a, typeof(int), alen);
        }
        public void DrawRoundedRect(QRectF rect, double xRadius, double yRadius, Qt.SizeMode mode) {
            interceptor.Invoke("drawRoundedRect#$$$", "drawRoundedRect(const QRectF&, qreal, qreal, Qt::SizeMode)", typeof(void), typeof(QRectF), rect, typeof(double), xRadius, typeof(double), yRadius, typeof(Qt.SizeMode), mode);
        }
        public void DrawRoundedRect(QRectF rect, double xRadius, double yRadius) {
            interceptor.Invoke("drawRoundedRect#$$", "drawRoundedRect(const QRectF&, qreal, qreal)", typeof(void), typeof(QRectF), rect, typeof(double), xRadius, typeof(double), yRadius);
        }
        public void DrawRoundedRect(int x, int y, int w, int h, double xRadius, double yRadius, Qt.SizeMode mode) {
            interceptor.Invoke("drawRoundedRect$$$$$$$", "drawRoundedRect(int, int, int, int, qreal, qreal, Qt::SizeMode)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(double), xRadius, typeof(double), yRadius, typeof(Qt.SizeMode), mode);
        }
        public void DrawRoundedRect(int x, int y, int w, int h, double xRadius, double yRadius) {
            interceptor.Invoke("drawRoundedRect$$$$$$", "drawRoundedRect(int, int, int, int, qreal, qreal)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(double), xRadius, typeof(double), yRadius);
        }
        public void DrawRoundedRect(QRect rect, double xRadius, double yRadius, Qt.SizeMode mode) {
            interceptor.Invoke("drawRoundedRect#$$$", "drawRoundedRect(const QRect&, qreal, qreal, Qt::SizeMode)", typeof(void), typeof(QRect), rect, typeof(double), xRadius, typeof(double), yRadius, typeof(Qt.SizeMode), mode);
        }
        public void DrawRoundedRect(QRect rect, double xRadius, double yRadius) {
            interceptor.Invoke("drawRoundedRect#$$", "drawRoundedRect(const QRect&, qreal, qreal)", typeof(void), typeof(QRect), rect, typeof(double), xRadius, typeof(double), yRadius);
        }
        public void DrawRoundRect(QRectF r, int xround, int yround) {
            interceptor.Invoke("drawRoundRect#$$", "drawRoundRect(const QRectF&, int, int)", typeof(void), typeof(QRectF), r, typeof(int), xround, typeof(int), yround);
        }
        public void DrawRoundRect(QRectF r, int xround) {
            interceptor.Invoke("drawRoundRect#$", "drawRoundRect(const QRectF&, int)", typeof(void), typeof(QRectF), r, typeof(int), xround);
        }
        public void DrawRoundRect(QRectF r) {
            interceptor.Invoke("drawRoundRect#", "drawRoundRect(const QRectF&)", typeof(void), typeof(QRectF), r);
        }
        public void DrawRoundRect(int x, int y, int w, int h, int arg5, int arg6) {
            interceptor.Invoke("drawRoundRect$$$$$$", "drawRoundRect(int, int, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), arg5, typeof(int), arg6);
        }
        public void DrawRoundRect(int x, int y, int w, int h, int arg5) {
            interceptor.Invoke("drawRoundRect$$$$$", "drawRoundRect(int, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), arg5);
        }
        public void DrawRoundRect(int x, int y, int w, int h) {
            interceptor.Invoke("drawRoundRect$$$$", "drawRoundRect(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public void DrawRoundRect(QRect r, int xround, int yround) {
            interceptor.Invoke("drawRoundRect#$$", "drawRoundRect(const QRect&, int, int)", typeof(void), typeof(QRect), r, typeof(int), xround, typeof(int), yround);
        }
        public void DrawRoundRect(QRect r, int xround) {
            interceptor.Invoke("drawRoundRect#$", "drawRoundRect(const QRect&, int)", typeof(void), typeof(QRect), r, typeof(int), xround);
        }
        public void DrawRoundRect(QRect r) {
            interceptor.Invoke("drawRoundRect#", "drawRoundRect(const QRect&)", typeof(void), typeof(QRect), r);
        }
        public void DrawTiledPixmap(QRectF rect, QPixmap pm, QPointF offset) {
            interceptor.Invoke("drawTiledPixmap###", "drawTiledPixmap(const QRectF&, const QPixmap&, const QPointF&)", typeof(void), typeof(QRectF), rect, typeof(QPixmap), pm, typeof(QPointF), offset);
        }
        public void DrawTiledPixmap(QRectF rect, QPixmap pm) {
            interceptor.Invoke("drawTiledPixmap##", "drawTiledPixmap(const QRectF&, const QPixmap&)", typeof(void), typeof(QRectF), rect, typeof(QPixmap), pm);
        }
        public void DrawTiledPixmap(int x, int y, int w, int h, QPixmap arg5, int sx, int sy) {
            interceptor.Invoke("drawTiledPixmap$$$$#$$", "drawTiledPixmap(int, int, int, int, const QPixmap&, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QPixmap), arg5, typeof(int), sx, typeof(int), sy);
        }
        public void DrawTiledPixmap(int x, int y, int w, int h, QPixmap arg5, int sx) {
            interceptor.Invoke("drawTiledPixmap$$$$#$", "drawTiledPixmap(int, int, int, int, const QPixmap&, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QPixmap), arg5, typeof(int), sx);
        }
        public void DrawTiledPixmap(int x, int y, int w, int h, QPixmap arg5) {
            interceptor.Invoke("drawTiledPixmap$$$$#", "drawTiledPixmap(int, int, int, int, const QPixmap&)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QPixmap), arg5);
        }
        public void DrawTiledPixmap(QRect arg1, QPixmap arg2, QPoint arg3) {
            interceptor.Invoke("drawTiledPixmap###", "drawTiledPixmap(const QRect&, const QPixmap&, const QPoint&)", typeof(void), typeof(QRect), arg1, typeof(QPixmap), arg2, typeof(QPoint), arg3);
        }
        public void DrawTiledPixmap(QRect arg1, QPixmap arg2) {
            interceptor.Invoke("drawTiledPixmap##", "drawTiledPixmap(const QRect&, const QPixmap&)", typeof(void), typeof(QRect), arg1, typeof(QPixmap), arg2);
        }
        public void DrawPicture(QPointF p, QPicture picture) {
            interceptor.Invoke("drawPicture##", "drawPicture(const QPointF&, const QPicture&)", typeof(void), typeof(QPointF), p, typeof(QPicture), picture);
        }
        public void DrawPicture(int x, int y, QPicture picture) {
            interceptor.Invoke("drawPicture$$#", "drawPicture(int, int, const QPicture&)", typeof(void), typeof(int), x, typeof(int), y, typeof(QPicture), picture);
        }
        public void DrawPicture(QPoint p, QPicture picture) {
            interceptor.Invoke("drawPicture##", "drawPicture(const QPoint&, const QPicture&)", typeof(void), typeof(QPoint), p, typeof(QPicture), picture);
        }
        public void DrawPixmap(QRectF targetRect, QPixmap pixmap, QRectF sourceRect) {
            interceptor.Invoke("drawPixmap###", "drawPixmap(const QRectF&, const QPixmap&, const QRectF&)", typeof(void), typeof(QRectF), targetRect, typeof(QPixmap), pixmap, typeof(QRectF), sourceRect);
        }
        public void DrawPixmap(QRect targetRect, QPixmap pixmap, QRect sourceRect) {
            interceptor.Invoke("drawPixmap###", "drawPixmap(const QRect&, const QPixmap&, const QRect&)", typeof(void), typeof(QRect), targetRect, typeof(QPixmap), pixmap, typeof(QRect), sourceRect);
        }
        public void DrawPixmap(int x, int y, int w, int h, QPixmap pm, int sx, int sy, int sw, int sh) {
            interceptor.Invoke("drawPixmap$$$$#$$$$", "drawPixmap(int, int, int, int, const QPixmap&, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QPixmap), pm, typeof(int), sx, typeof(int), sy, typeof(int), sw, typeof(int), sh);
        }
        public void DrawPixmap(int x, int y, QPixmap pm, int sx, int sy, int sw, int sh) {
            interceptor.Invoke("drawPixmap$$#$$$$", "drawPixmap(int, int, const QPixmap&, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(QPixmap), pm, typeof(int), sx, typeof(int), sy, typeof(int), sw, typeof(int), sh);
        }
        public void DrawPixmap(QPointF p, QPixmap pm, QRectF sr) {
            interceptor.Invoke("drawPixmap###", "drawPixmap(const QPointF&, const QPixmap&, const QRectF&)", typeof(void), typeof(QPointF), p, typeof(QPixmap), pm, typeof(QRectF), sr);
        }
        public void DrawPixmap(QPoint p, QPixmap pm, QRect sr) {
            interceptor.Invoke("drawPixmap###", "drawPixmap(const QPoint&, const QPixmap&, const QRect&)", typeof(void), typeof(QPoint), p, typeof(QPixmap), pm, typeof(QRect), sr);
        }
        public void DrawPixmap(QPointF p, QPixmap pm) {
            interceptor.Invoke("drawPixmap##", "drawPixmap(const QPointF&, const QPixmap&)", typeof(void), typeof(QPointF), p, typeof(QPixmap), pm);
        }
        public void DrawPixmap(QPoint p, QPixmap pm) {
            interceptor.Invoke("drawPixmap##", "drawPixmap(const QPoint&, const QPixmap&)", typeof(void), typeof(QPoint), p, typeof(QPixmap), pm);
        }
        public void DrawPixmap(int x, int y, QPixmap pm) {
            interceptor.Invoke("drawPixmap$$#", "drawPixmap(int, int, const QPixmap&)", typeof(void), typeof(int), x, typeof(int), y, typeof(QPixmap), pm);
        }
        public void DrawPixmap(QRect r, QPixmap pm) {
            interceptor.Invoke("drawPixmap##", "drawPixmap(const QRect&, const QPixmap&)", typeof(void), typeof(QRect), r, typeof(QPixmap), pm);
        }
        public void DrawPixmap(int x, int y, int w, int h, QPixmap pm) {
            interceptor.Invoke("drawPixmap$$$$#", "drawPixmap(int, int, int, int, const QPixmap&)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QPixmap), pm);
        }
        public void DrawImage(QRectF targetRect, QImage image, QRectF sourceRect, uint flags) {
            interceptor.Invoke("drawImage###$", "drawImage(const QRectF&, const QImage&, const QRectF&, Qt::ImageConversionFlags)", typeof(void), typeof(QRectF), targetRect, typeof(QImage), image, typeof(QRectF), sourceRect, typeof(uint), flags);
        }
        public void DrawImage(QRectF targetRect, QImage image, QRectF sourceRect) {
            interceptor.Invoke("drawImage###", "drawImage(const QRectF&, const QImage&, const QRectF&)", typeof(void), typeof(QRectF), targetRect, typeof(QImage), image, typeof(QRectF), sourceRect);
        }
        public void DrawImage(QRect targetRect, QImage image, QRect sourceRect, uint flags) {
            interceptor.Invoke("drawImage###$", "drawImage(const QRect&, const QImage&, const QRect&, Qt::ImageConversionFlags)", typeof(void), typeof(QRect), targetRect, typeof(QImage), image, typeof(QRect), sourceRect, typeof(uint), flags);
        }
        public void DrawImage(QRect targetRect, QImage image, QRect sourceRect) {
            interceptor.Invoke("drawImage###", "drawImage(const QRect&, const QImage&, const QRect&)", typeof(void), typeof(QRect), targetRect, typeof(QImage), image, typeof(QRect), sourceRect);
        }
        public void DrawImage(QPointF p, QImage image, QRectF sr, uint flags) {
            interceptor.Invoke("drawImage###$", "drawImage(const QPointF&, const QImage&, const QRectF&, Qt::ImageConversionFlags)", typeof(void), typeof(QPointF), p, typeof(QImage), image, typeof(QRectF), sr, typeof(uint), flags);
        }
        public void DrawImage(QPointF p, QImage image, QRectF sr) {
            interceptor.Invoke("drawImage###", "drawImage(const QPointF&, const QImage&, const QRectF&)", typeof(void), typeof(QPointF), p, typeof(QImage), image, typeof(QRectF), sr);
        }
        public void DrawImage(QPoint p, QImage image, QRect sr, uint flags) {
            interceptor.Invoke("drawImage###$", "drawImage(const QPoint&, const QImage&, const QRect&, Qt::ImageConversionFlags)", typeof(void), typeof(QPoint), p, typeof(QImage), image, typeof(QRect), sr, typeof(uint), flags);
        }
        public void DrawImage(QPoint p, QImage image, QRect sr) {
            interceptor.Invoke("drawImage###", "drawImage(const QPoint&, const QImage&, const QRect&)", typeof(void), typeof(QPoint), p, typeof(QImage), image, typeof(QRect), sr);
        }
        public void DrawImage(QRectF r, QImage image) {
            interceptor.Invoke("drawImage##", "drawImage(const QRectF&, const QImage&)", typeof(void), typeof(QRectF), r, typeof(QImage), image);
        }
        public void DrawImage(QRect r, QImage image) {
            interceptor.Invoke("drawImage##", "drawImage(const QRect&, const QImage&)", typeof(void), typeof(QRect), r, typeof(QImage), image);
        }
        public void DrawImage(QPointF p, QImage image) {
            interceptor.Invoke("drawImage##", "drawImage(const QPointF&, const QImage&)", typeof(void), typeof(QPointF), p, typeof(QImage), image);
        }
        public void DrawImage(QPoint p, QImage image) {
            interceptor.Invoke("drawImage##", "drawImage(const QPoint&, const QImage&)", typeof(void), typeof(QPoint), p, typeof(QImage), image);
        }
        public void DrawImage(int x, int y, QImage image, int sx, int sy, int sw, int sh, uint flags) {
            interceptor.Invoke("drawImage$$#$$$$$", "drawImage(int, int, const QImage&, int, int, int, int, Qt::ImageConversionFlags)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image, typeof(int), sx, typeof(int), sy, typeof(int), sw, typeof(int), sh, typeof(uint), flags);
        }
        public void DrawImage(int x, int y, QImage image, int sx, int sy, int sw, int sh) {
            interceptor.Invoke("drawImage$$#$$$$", "drawImage(int, int, const QImage&, int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image, typeof(int), sx, typeof(int), sy, typeof(int), sw, typeof(int), sh);
        }
        public void DrawImage(int x, int y, QImage image, int sx, int sy, int sw) {
            interceptor.Invoke("drawImage$$#$$$", "drawImage(int, int, const QImage&, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image, typeof(int), sx, typeof(int), sy, typeof(int), sw);
        }
        public void DrawImage(int x, int y, QImage image, int sx, int sy) {
            interceptor.Invoke("drawImage$$#$$", "drawImage(int, int, const QImage&, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image, typeof(int), sx, typeof(int), sy);
        }
        public void DrawImage(int x, int y, QImage image, int sx) {
            interceptor.Invoke("drawImage$$#$", "drawImage(int, int, const QImage&, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image, typeof(int), sx);
        }
        public void DrawImage(int x, int y, QImage image) {
            interceptor.Invoke("drawImage$$#", "drawImage(int, int, const QImage&)", typeof(void), typeof(int), x, typeof(int), y, typeof(QImage), image);
        }
        public void SetLayoutDirection(Qt.LayoutDirection direction) {
            interceptor.Invoke("setLayoutDirection$", "setLayoutDirection(Qt::LayoutDirection)", typeof(void), typeof(Qt.LayoutDirection), direction);
        }
        public Qt.LayoutDirection LayoutDirection() {
            return (Qt.LayoutDirection) interceptor.Invoke("layoutDirection", "layoutDirection() const", typeof(Qt.LayoutDirection));
        }
        public void DrawText(QPointF p, string s) {
            interceptor.Invoke("drawText#$", "drawText(const QPointF&, const QString&)", typeof(void), typeof(QPointF), p, typeof(string), s);
        }
        public void DrawText(QPoint p, string s) {
            interceptor.Invoke("drawText#$", "drawText(const QPoint&, const QString&)", typeof(void), typeof(QPoint), p, typeof(string), s);
        }
        public void DrawText(int x, int y, string s) {
            interceptor.Invoke("drawText$$$", "drawText(int, int, const QString&)", typeof(void), typeof(int), x, typeof(int), y, typeof(string), s);
        }
        public void DrawText(QPointF p, string str, int tf, int justificationPadding) {
            interceptor.Invoke("drawText#$$$", "drawText(const QPointF&, const QString&, int, int)", typeof(void), typeof(QPointF), p, typeof(string), str, typeof(int), tf, typeof(int), justificationPadding);
        }
        public void DrawText(QRectF r, int flags, string text, QRectF br) {
            interceptor.Invoke("drawText#$$#", "drawText(const QRectF&, int, const QString&, QRectF*)", typeof(void), typeof(QRectF), r, typeof(int), flags, typeof(string), text, typeof(QRectF), br);
        }
        public void DrawText(QRectF r, int flags, string text) {
            interceptor.Invoke("drawText#$$", "drawText(const QRectF&, int, const QString&)", typeof(void), typeof(QRectF), r, typeof(int), flags, typeof(string), text);
        }
        public void DrawText(QRect r, int flags, string text, QRect br) {
            interceptor.Invoke("drawText#$$#", "drawText(const QRect&, int, const QString&, QRect*)", typeof(void), typeof(QRect), r, typeof(int), flags, typeof(string), text, typeof(QRect), br);
        }
        public void DrawText(QRect r, int flags, string text) {
            interceptor.Invoke("drawText#$$", "drawText(const QRect&, int, const QString&)", typeof(void), typeof(QRect), r, typeof(int), flags, typeof(string), text);
        }
        public void DrawText(int x, int y, int w, int h, int flags, string text, QRect br) {
            interceptor.Invoke("drawText$$$$$$#", "drawText(int, int, int, int, int, const QString&, QRect*)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), flags, typeof(string), text, typeof(QRect), br);
        }
        public void DrawText(int x, int y, int w, int h, int flags, string text) {
            interceptor.Invoke("drawText$$$$$$", "drawText(int, int, int, int, int, const QString&)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), flags, typeof(string), text);
        }
        public void DrawText(QRectF r, string text, QTextOption o) {
            interceptor.Invoke("drawText#$#", "drawText(const QRectF&, const QString&, const QTextOption&)", typeof(void), typeof(QRectF), r, typeof(string), text, typeof(QTextOption), o);
        }
        public void DrawText(QRectF r, string text) {
            interceptor.Invoke("drawText#$", "drawText(const QRectF&, const QString&)", typeof(void), typeof(QRectF), r, typeof(string), text);
        }
        public QRectF BoundingRect(QRectF rect, int flags, string text) {
            return (QRectF) interceptor.Invoke("boundingRect#$$", "boundingRect(const QRectF&, int, const QString&)", typeof(QRectF), typeof(QRectF), rect, typeof(int), flags, typeof(string), text);
        }
        public QRect BoundingRect(QRect rect, int flags, string text) {
            return (QRect) interceptor.Invoke("boundingRect#$$", "boundingRect(const QRect&, int, const QString&)", typeof(QRect), typeof(QRect), rect, typeof(int), flags, typeof(string), text);
        }
        public QRect BoundingRect(int x, int y, int w, int h, int flags, string text) {
            return (QRect) interceptor.Invoke("boundingRect$$$$$$", "boundingRect(int, int, int, int, int, const QString&)", typeof(QRect), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(int), flags, typeof(string), text);
        }
        public QRectF BoundingRect(QRectF rect, string text, QTextOption o) {
            return (QRectF) interceptor.Invoke("boundingRect#$#", "boundingRect(const QRectF&, const QString&, const QTextOption&)", typeof(QRectF), typeof(QRectF), rect, typeof(string), text, typeof(QTextOption), o);
        }
        public QRectF BoundingRect(QRectF rect, string text) {
            return (QRectF) interceptor.Invoke("boundingRect#$", "boundingRect(const QRectF&, const QString&)", typeof(QRectF), typeof(QRectF), rect, typeof(string), text);
        }
        public void FillRect(QRectF arg1, QBrush arg2) {
            interceptor.Invoke("fillRect##", "fillRect(const QRectF&, const QBrush&)", typeof(void), typeof(QRectF), arg1, typeof(QBrush), arg2);
        }
        public void FillRect(int x, int y, int w, int h, QBrush arg5) {
            interceptor.Invoke("fillRect$$$$#", "fillRect(int, int, int, int, const QBrush&)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QBrush), arg5);
        }
        public void FillRect(QRect arg1, QBrush arg2) {
            interceptor.Invoke("fillRect##", "fillRect(const QRect&, const QBrush&)", typeof(void), typeof(QRect), arg1, typeof(QBrush), arg2);
        }
        public void FillRect(QRectF arg1, QColor color) {
            interceptor.Invoke("fillRect##", "fillRect(const QRectF&, const QColor&)", typeof(void), typeof(QRectF), arg1, typeof(QColor), color);
        }
        public void FillRect(int x, int y, int w, int h, QColor color) {
            interceptor.Invoke("fillRect$$$$#", "fillRect(int, int, int, int, const QColor&)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(QColor), color);
        }
        public void FillRect(QRect arg1, QColor color) {
            interceptor.Invoke("fillRect##", "fillRect(const QRect&, const QColor&)", typeof(void), typeof(QRect), arg1, typeof(QColor), color);
        }
        public void FillRect(int x, int y, int w, int h, Qt.GlobalColor c) {
            interceptor.Invoke("fillRect$$$$$", "fillRect(int, int, int, int, Qt::GlobalColor)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(Qt.GlobalColor), c);
        }
        public void FillRect(QRect r, Qt.GlobalColor c) {
            interceptor.Invoke("fillRect#$", "fillRect(const QRect&, Qt::GlobalColor)", typeof(void), typeof(QRect), r, typeof(Qt.GlobalColor), c);
        }
        public void FillRect(QRectF r, Qt.GlobalColor c) {
            interceptor.Invoke("fillRect#$", "fillRect(const QRectF&, Qt::GlobalColor)", typeof(void), typeof(QRectF), r, typeof(Qt.GlobalColor), c);
        }
        public void FillRect(int x, int y, int w, int h, Qt.BrushStyle style) {
            interceptor.Invoke("fillRect$$$$$", "fillRect(int, int, int, int, Qt::BrushStyle)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h, typeof(Qt.BrushStyle), style);
        }
        public void FillRect(QRect r, Qt.BrushStyle style) {
            interceptor.Invoke("fillRect#$", "fillRect(const QRect&, Qt::BrushStyle)", typeof(void), typeof(QRect), r, typeof(Qt.BrushStyle), style);
        }
        public void FillRect(QRectF r, Qt.BrushStyle style) {
            interceptor.Invoke("fillRect#$", "fillRect(const QRectF&, Qt::BrushStyle)", typeof(void), typeof(QRectF), r, typeof(Qt.BrushStyle), style);
        }
        public void EraseRect(QRectF arg1) {
            interceptor.Invoke("eraseRect#", "eraseRect(const QRectF&)", typeof(void), typeof(QRectF), arg1);
        }
        public void EraseRect(int x, int y, int w, int h) {
            interceptor.Invoke("eraseRect$$$$", "eraseRect(int, int, int, int)", typeof(void), typeof(int), x, typeof(int), y, typeof(int), w, typeof(int), h);
        }
        public void EraseRect(QRect arg1) {
            interceptor.Invoke("eraseRect#", "eraseRect(const QRect&)", typeof(void), typeof(QRect), arg1);
        }
        public void SetRenderHint(QPainter.RenderHint hint, bool on) {
            interceptor.Invoke("setRenderHint$$", "setRenderHint(QPainter::RenderHint, bool)", typeof(void), typeof(QPainter.RenderHint), hint, typeof(bool), on);
        }
        public void SetRenderHint(QPainter.RenderHint hint) {
            interceptor.Invoke("setRenderHint$", "setRenderHint(QPainter::RenderHint)", typeof(void), typeof(QPainter.RenderHint), hint);
        }
        public void SetRenderHints(uint hints, bool on) {
            interceptor.Invoke("setRenderHints$$", "setRenderHints(QPainter::RenderHints, bool)", typeof(void), typeof(uint), hints, typeof(bool), on);
        }
        public void SetRenderHints(uint hints) {
            interceptor.Invoke("setRenderHints$", "setRenderHints(QPainter::RenderHints)", typeof(void), typeof(uint), hints);
        }
        public uint RenderHints() {
            return (uint) interceptor.Invoke("renderHints", "renderHints() const", typeof(uint));
        }
        public bool TestRenderHint(QPainter.RenderHint hint) {
            return (bool) interceptor.Invoke("testRenderHint$", "testRenderHint(QPainter::RenderHint) const", typeof(bool), typeof(QPainter.RenderHint), hint);
        }
        public QPaintEngine PaintEngine() {
            return (QPaintEngine) interceptor.Invoke("paintEngine", "paintEngine() const", typeof(QPaintEngine));
        }
        ~QPainter() {
            interceptor.Invoke("~QPainter", "~QPainter()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QPainter", "~QPainter()", typeof(void));
        }
        public static void SetRedirected(IQPaintDevice device, IQPaintDevice replacement, QPoint offset) {
            staticInterceptor.Invoke("setRedirected###", "setRedirected(const QPaintDevice*, QPaintDevice*, const QPoint&)", typeof(void), typeof(IQPaintDevice), device, typeof(IQPaintDevice), replacement, typeof(QPoint), offset);
        }
        public static void SetRedirected(IQPaintDevice device, IQPaintDevice replacement) {
            staticInterceptor.Invoke("setRedirected##", "setRedirected(const QPaintDevice*, QPaintDevice*)", typeof(void), typeof(IQPaintDevice), device, typeof(IQPaintDevice), replacement);
        }
        public static IQPaintDevice Redirected(IQPaintDevice device, QPoint offset) {
            return (IQPaintDevice) staticInterceptor.Invoke("redirected##", "redirected(const QPaintDevice*, QPoint*)", typeof(IQPaintDevice), typeof(IQPaintDevice), device, typeof(QPoint), offset);
        }
        public static IQPaintDevice Redirected(IQPaintDevice device) {
            return (IQPaintDevice) staticInterceptor.Invoke("redirected#", "redirected(const QPaintDevice*)", typeof(IQPaintDevice), typeof(IQPaintDevice), device);
        }
        public static void RestoreRedirected(IQPaintDevice device) {
            staticInterceptor.Invoke("restoreRedirected#", "restoreRedirected(const QPaintDevice*)", typeof(void), typeof(IQPaintDevice), device);
        }
    }
}
