/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.6.2
 *
 * Copyright (c) 2022 Riverbank Computing Limited <info@riverbankcomputing.com>
 * 
 * This file is part of PyQt5.
 * 
 * This file may be used under the terms of the GNU General Public License
 * version 3.0 as published by the Free Software Foundation and appearing in
 * the file LICENSE included in the packaging of this file.  Please review the
 * following information to ensure the GNU General Public License version 3.0
 * requirements will be met: http://www.gnu.org/copyleft/gpl.html.
 * 
 * If you do not wish to use this file under the terms of the GPL version 3.0
 * then you may purchase a commercial license.  For more information contact
 * info@riverbankcomputing.com.
 * 
 * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
 * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 */

#include "sipAPIQtGui.h"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintdevice.sip"
#include <qpaintdevice.h>
#line 33 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 98 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpoint.sip"
#include <qpoint.h>
#line 36 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 28 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qglyphrun.sip"
#include <qglyphrun.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 164 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qrect.sip"
#include <qrect.h>
#line 42 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qstatictext.sip"
#include <qstatictext.h>
#line 45 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpoint.sip"
#include <qpoint.h>
#line 48 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 512 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 53 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpixmap.sip"
#include <qpixmap.h>
#line 56 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 59 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 62 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qrect.sip"
#include <qrect.h>
#line 65 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 30 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qtransform.sip"
#include <qtransform.h>
#line 68 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qimage.sip"
#include <qimage.h>
#line 71 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 74 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 95 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qline.sip"
#include <qline.h>
#line 77 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qline.sip"
#include <qline.h>
#line 80 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 52 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 83 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 86 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qbrush.sip"
#include <qbrush.h>
#line 89 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qcolor.sip"
#include <qcolor.h>
#line 92 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 123 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qbrush.sip"
#include <qbrush.h>
#line 95 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 27 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qstring.sip"
#include <qstring.h>
#line 98 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qtextoption.sip"
#include <qtextoption.h>
#line 101 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpicture.sip"
#include <qpicture.h>
#line 104 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 329 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpolygon.sip"
#include <qpolygon.h>
#line 107 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpolygon.sip"
#include <qpolygon.h>
#line 110 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainterpath.sip"
#include <qpainterpath.h>
#line 113 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpen.sip"
#include <qpen.h>
#line 116 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qregion.sip"
#include <qregion.h>
#line 119 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qfontinfo.sip"
#include <qfontinfo.h>
#line 122 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qfontmetrics.sip"
#include <qfontmetrics.h>
#line 125 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qfont.sip"
#include <qfont.h>
#line 128 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
#line 30 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
// Return an array on the heap of class instances extracted from a set of
// Python arguments.
template<class TYPE>
static TYPE *qtgui_inst_array(const TYPE *first, PyObject *t, sipTypeDef *td)
{
    TYPE *arr = new TYPE[1 + PyTuple_Size(t)];

    arr[0] = *first;

    for (Py_ssize_t i = 0; i < PyTuple_Size(t); ++i)
    {
        int iserr = 0, state;
        TYPE *itm;

        itm  = reinterpret_cast<TYPE *>(sipForceConvertToType(PyTuple_GetItem(t, i), td, 0, SIP_NOT_NONE, &state, &iserr));

        if (iserr)
        {
            sipReleaseType(itm, td, state);

            PyErr_Format(PyExc_TypeError, "each argument must be an instance of %s", sipPyTypeName(sipTypeAsPyTypeObject(td)));

            delete[] arr;
            return 0;
        }

        arr[1 + i] = *itm;

        sipReleaseType(itm, td, state);
    }

    return arr;
}
#line 163 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"


PyDoc_STRVAR(doc_QPainter___enter__, "__enter__(self) -> object");

extern "C" {static PyObject *meth_QPainter___enter__(PyObject *, PyObject *);}
static PyObject *meth_QPainter___enter__(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            PyObject * sipRes = SIP_NULLPTR;

#line 85 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        // Check a device was passed.
        if (sipCpp->isActive())
        {
            // Just return a reference to self.
            sipRes = sipSelf;
            Py_INCREF(sipRes);
        }
        else
        {
            PyErr_SetString(PyExc_ValueError, "QPainter must be created with a device");
            sipRes = 0;
        }
#line 194 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName___enter__, doc_QPainter___enter__);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter___exit__, "__exit__(self, object, object, object)");

extern "C" {static PyObject *meth_QPainter___exit__(PyObject *, PyObject *);}
static PyObject *meth_QPainter___exit__(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        PyObject * a0;
        PyObject * a1;
        PyObject * a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BP0P0P0", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2))
        {
#line 101 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        sipCpp->end();
#line 224 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName___exit__, doc_QPainter___exit__);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_device, "device(self) -> QPaintDevice");

extern "C" {static PyObject *meth_QPainter_device(PyObject *, PyObject *);}
static PyObject *meth_QPainter_device(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPaintDevice*sipRes;

            sipRes = sipCpp->device();

            return sipConvertFromType(sipRes,sipType_QPaintDevice,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_device, doc_QPainter_device);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_begin, "begin(self, QPaintDevice) -> bool");

extern "C" {static PyObject *meth_QPainter_begin(PyObject *, PyObject *);}
static PyObject *meth_QPainter_begin(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPaintDevice* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPaintDevice, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->begin(a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_begin, doc_QPainter_begin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_end, "end(self) -> bool");

extern "C" {static PyObject *meth_QPainter_end(PyObject *, PyObject *);}
static PyObject *meth_QPainter_end(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->end();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_end, doc_QPainter_end);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_isActive, "isActive(self) -> bool");

extern "C" {static PyObject *meth_QPainter_isActive(PyObject *, PyObject *);}
static PyObject *meth_QPainter_isActive(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->isActive();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_isActive, doc_QPainter_isActive);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setCompositionMode, "setCompositionMode(self, QPainter.CompositionMode)");

extern "C" {static PyObject *meth_QPainter_setCompositionMode(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setCompositionMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter::CompositionMode a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainter_CompositionMode, &a0))
        {
            sipCpp->setCompositionMode(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setCompositionMode, doc_QPainter_setCompositionMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_compositionMode, "compositionMode(self) -> QPainter.CompositionMode");

extern "C" {static PyObject *meth_QPainter_compositionMode(PyObject *, PyObject *);}
static PyObject *meth_QPainter_compositionMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPainter::CompositionMode sipRes;

            sipRes = sipCpp->compositionMode();

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_QPainter_CompositionMode);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_compositionMode, doc_QPainter_compositionMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_font, "font(self) -> QFont");

extern "C" {static PyObject *meth_QPainter_font(PyObject *, PyObject *);}
static PyObject *meth_QPainter_font(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QFont*sipRes;

            sipRes = new  ::QFont(sipCpp->font());

            return sipConvertFromNewType(sipRes,sipType_QFont,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_font, doc_QPainter_font);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setFont, "setFont(self, QFont)");

extern "C" {static PyObject *meth_QPainter_setFont(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setFont(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QFont* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QFont, &a0))
        {
            sipCpp->setFont(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setFont, doc_QPainter_setFont);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_fontMetrics, "fontMetrics(self) -> QFontMetrics");

extern "C" {static PyObject *meth_QPainter_fontMetrics(PyObject *, PyObject *);}
static PyObject *meth_QPainter_fontMetrics(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QFontMetrics*sipRes;

            sipRes = new  ::QFontMetrics(sipCpp->fontMetrics());

            return sipConvertFromNewType(sipRes,sipType_QFontMetrics,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_fontMetrics, doc_QPainter_fontMetrics);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_fontInfo, "fontInfo(self) -> QFontInfo");

extern "C" {static PyObject *meth_QPainter_fontInfo(PyObject *, PyObject *);}
static PyObject *meth_QPainter_fontInfo(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QFontInfo*sipRes;

            sipRes = new  ::QFontInfo(sipCpp->fontInfo());

            return sipConvertFromNewType(sipRes,sipType_QFontInfo,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_fontInfo, doc_QPainter_fontInfo);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setPen, "setPen(self, Union[QColor, Qt.GlobalColor, QGradient])\n"
"setPen(self, Union[QPen, QColor, Qt.GlobalColor, QGradient])\n"
"setPen(self, Qt.PenStyle)");

extern "C" {static PyObject *meth_QPainter_setPen(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setPen(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QColor* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QColor, &a0, &a0State))
        {
            sipCpp->setPen(*a0);
            sipReleaseType(const_cast< ::QColor *>(a0), sipType_QColor, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPen* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPen, &a0, &a0State))
        {
            sipCpp->setPen(*a0);
            sipReleaseType(const_cast< ::QPen *>(a0), sipType_QPen, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::Qt::PenStyle a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_Qt_PenStyle, &a0))
        {
            sipCpp->setPen(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setPen, doc_QPainter_setPen);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_pen, "pen(self) -> QPen");

extern "C" {static PyObject *meth_QPainter_pen(PyObject *, PyObject *);}
static PyObject *meth_QPainter_pen(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPen*sipRes;

            sipRes = new  ::QPen(sipCpp->pen());

            return sipConvertFromNewType(sipRes,sipType_QPen,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_pen, doc_QPainter_pen);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setBrush, "setBrush(self, Union[QBrush, QColor, Qt.GlobalColor, QGradient])\n"
"setBrush(self, Qt.BrushStyle)");

extern "C" {static PyObject *meth_QPainter_setBrush(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setBrush(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QBrush* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QBrush, &a0, &a0State))
        {
            sipCpp->setBrush(*a0);
            sipReleaseType(const_cast< ::QBrush *>(a0), sipType_QBrush, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::Qt::BrushStyle a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_Qt_BrushStyle, &a0))
        {
            sipCpp->setBrush(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setBrush, doc_QPainter_setBrush);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_brush, "brush(self) -> QBrush");

extern "C" {static PyObject *meth_QPainter_brush(PyObject *, PyObject *);}
static PyObject *meth_QPainter_brush(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QBrush*sipRes;

            sipRes = new  ::QBrush(sipCpp->brush());

            return sipConvertFromNewType(sipRes,sipType_QBrush,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_brush, doc_QPainter_brush);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setBackgroundMode, "setBackgroundMode(self, Qt.BGMode)");

extern "C" {static PyObject *meth_QPainter_setBackgroundMode(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setBackgroundMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::Qt::BGMode a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_Qt_BGMode, &a0))
        {
            sipCpp->setBackgroundMode(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setBackgroundMode, doc_QPainter_setBackgroundMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_backgroundMode, "backgroundMode(self) -> Qt.BGMode");

extern "C" {static PyObject *meth_QPainter_backgroundMode(PyObject *, PyObject *);}
static PyObject *meth_QPainter_backgroundMode(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::Qt::BGMode sipRes;

            sipRes = sipCpp->backgroundMode();

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_Qt_BGMode);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_backgroundMode, doc_QPainter_backgroundMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_brushOrigin, "brushOrigin(self) -> QPoint");

extern "C" {static PyObject *meth_QPainter_brushOrigin(PyObject *, PyObject *);}
static PyObject *meth_QPainter_brushOrigin(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPoint*sipRes;

            sipRes = new  ::QPoint(sipCpp->brushOrigin());

            return sipConvertFromNewType(sipRes,sipType_QPoint,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_brushOrigin, doc_QPainter_brushOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setBrushOrigin, "setBrushOrigin(self, Union[QPointF, QPoint])\n"
"setBrushOrigin(self, int, int)\n"
"setBrushOrigin(self, QPoint)");

extern "C" {static PyObject *meth_QPainter_setBrushOrigin(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setBrushOrigin(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State))
        {
            sipCpp->setBrushOrigin(*a0);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1))
        {
            sipCpp->setBrushOrigin(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0))
        {
            sipCpp->setBrushOrigin(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setBrushOrigin, doc_QPainter_setBrushOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setBackground, "setBackground(self, Union[QBrush, QColor, Qt.GlobalColor, QGradient])");

extern "C" {static PyObject *meth_QPainter_setBackground(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setBackground(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QBrush* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QBrush, &a0, &a0State))
        {
            sipCpp->setBackground(*a0);
            sipReleaseType(const_cast< ::QBrush *>(a0), sipType_QBrush, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setBackground, doc_QPainter_setBackground);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_background, "background(self) -> QBrush");

extern "C" {static PyObject *meth_QPainter_background(PyObject *, PyObject *);}
static PyObject *meth_QPainter_background(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QBrush*sipRes;

            sipRes = new  ::QBrush(sipCpp->background());

            return sipConvertFromNewType(sipRes,sipType_QBrush,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_background, doc_QPainter_background);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_clipRegion, "clipRegion(self) -> QRegion");

extern "C" {static PyObject *meth_QPainter_clipRegion(PyObject *, PyObject *);}
static PyObject *meth_QPainter_clipRegion(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QRegion*sipRes;

            sipRes = new  ::QRegion(sipCpp->clipRegion());

            return sipConvertFromNewType(sipRes,sipType_QRegion,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_clipRegion, doc_QPainter_clipRegion);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_clipPath, "clipPath(self) -> QPainterPath");

extern "C" {static PyObject *meth_QPainter_clipPath(PyObject *, PyObject *);}
static PyObject *meth_QPainter_clipPath(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPainterPath*sipRes;

            sipRes = new  ::QPainterPath(sipCpp->clipPath());

            return sipConvertFromNewType(sipRes,sipType_QPainterPath,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_clipPath, doc_QPainter_clipPath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setClipRect, "setClipRect(self, QRectF, operation: Qt.ClipOperation = Qt.ReplaceClip)\n"
"setClipRect(self, int, int, int, int, operation: Qt.ClipOperation = Qt.ReplaceClip)\n"
"setClipRect(self, QRect, operation: Qt.ClipOperation = Qt.ReplaceClip)");

extern "C" {static PyObject *meth_QPainter_setClipRect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setClipRect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
         ::Qt::ClipOperation a1 = Qt::ReplaceClip;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_operation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_Qt_ClipOperation, &a1))
        {
            sipCpp->setClipRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::Qt::ClipOperation a4 = Qt::ReplaceClip;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_operation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii|E", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_Qt_ClipOperation, &a4))
        {
            sipCpp->setClipRect(a0,a1,a2,a3,a4);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::Qt::ClipOperation a1 = Qt::ReplaceClip;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_operation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_Qt_ClipOperation, &a1))
        {
            sipCpp->setClipRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setClipRect, doc_QPainter_setClipRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setClipRegion, "setClipRegion(self, QRegion, operation: Qt.ClipOperation = Qt.ReplaceClip)");

extern "C" {static PyObject *meth_QPainter_setClipRegion(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setClipRegion(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRegion* a0;
         ::Qt::ClipOperation a1 = Qt::ReplaceClip;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_operation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRegion, &a0, sipType_Qt_ClipOperation, &a1))
        {
            sipCpp->setClipRegion(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setClipRegion, doc_QPainter_setClipRegion);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setClipPath, "setClipPath(self, QPainterPath, operation: Qt.ClipOperation = Qt.ReplaceClip)");

extern "C" {static PyObject *meth_QPainter_setClipPath(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setClipPath(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainterPath* a0;
         ::Qt::ClipOperation a1 = Qt::ReplaceClip;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_operation,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainterPath, &a0, sipType_Qt_ClipOperation, &a1))
        {
            sipCpp->setClipPath(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setClipPath, doc_QPainter_setClipPath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setClipping, "setClipping(self, bool)");

extern "C" {static PyObject *meth_QPainter_setClipping(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setClipping(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_QPainter, &sipCpp, &a0))
        {
            sipCpp->setClipping(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setClipping, doc_QPainter_setClipping);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_hasClipping, "hasClipping(self) -> bool");

extern "C" {static PyObject *meth_QPainter_hasClipping(PyObject *, PyObject *);}
static PyObject *meth_QPainter_hasClipping(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->hasClipping();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_hasClipping, doc_QPainter_hasClipping);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_save, "save(self)");

extern "C" {static PyObject *meth_QPainter_save(PyObject *, PyObject *);}
static PyObject *meth_QPainter_save(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            sipCpp->save();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_save, doc_QPainter_save);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_restore, "restore(self)");

extern "C" {static PyObject *meth_QPainter_restore(PyObject *, PyObject *);}
static PyObject *meth_QPainter_restore(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            sipCpp->restore();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_restore, doc_QPainter_restore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_scale, "scale(self, float, float)");

extern "C" {static PyObject *meth_QPainter_scale(PyObject *, PyObject *);}
static PyObject *meth_QPainter_scale(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::qreal a0;
         ::qreal a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bdd", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1))
        {
            sipCpp->scale(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_scale, doc_QPainter_scale);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_shear, "shear(self, float, float)");

extern "C" {static PyObject *meth_QPainter_shear(PyObject *, PyObject *);}
static PyObject *meth_QPainter_shear(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::qreal a0;
         ::qreal a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bdd", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1))
        {
            sipCpp->shear(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_shear, doc_QPainter_shear);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_rotate, "rotate(self, float)");

extern "C" {static PyObject *meth_QPainter_rotate(PyObject *, PyObject *);}
static PyObject *meth_QPainter_rotate(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::qreal a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bd", &sipSelf, sipType_QPainter, &sipCpp, &a0))
        {
            sipCpp->rotate(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_rotate, doc_QPainter_rotate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_translate, "translate(self, Union[QPointF, QPoint])\n"
"translate(self, float, float)\n"
"translate(self, QPoint)");

extern "C" {static PyObject *meth_QPainter_translate(PyObject *, PyObject *);}
static PyObject *meth_QPainter_translate(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State))
        {
            sipCpp->translate(*a0);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
         ::qreal a0;
         ::qreal a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bdd", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1))
        {
            sipCpp->translate(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0))
        {
            sipCpp->translate(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_translate, doc_QPainter_translate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_window, "window(self) -> QRect");

extern "C" {static PyObject *meth_QPainter_window(PyObject *, PyObject *);}
static PyObject *meth_QPainter_window(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QRect*sipRes;

            sipRes = new  ::QRect(sipCpp->window());

            return sipConvertFromNewType(sipRes,sipType_QRect,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_window, doc_QPainter_window);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setWindow, "setWindow(self, QRect)\n"
"setWindow(self, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_setWindow(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setWindow(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRect* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0))
        {
            sipCpp->setWindow(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->setWindow(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setWindow, doc_QPainter_setWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_viewport, "viewport(self) -> QRect");

extern "C" {static PyObject *meth_QPainter_viewport(PyObject *, PyObject *);}
static PyObject *meth_QPainter_viewport(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QRect*sipRes;

            sipRes = new  ::QRect(sipCpp->viewport());

            return sipConvertFromNewType(sipRes,sipType_QRect,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_viewport, doc_QPainter_viewport);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setViewport, "setViewport(self, QRect)\n"
"setViewport(self, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_setViewport(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setViewport(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRect* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0))
        {
            sipCpp->setViewport(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->setViewport(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setViewport, doc_QPainter_setViewport);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setViewTransformEnabled, "setViewTransformEnabled(self, bool)");

extern "C" {static PyObject *meth_QPainter_setViewTransformEnabled(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setViewTransformEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_QPainter, &sipCpp, &a0))
        {
            sipCpp->setViewTransformEnabled(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setViewTransformEnabled, doc_QPainter_setViewTransformEnabled);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_viewTransformEnabled, "viewTransformEnabled(self) -> bool");

extern "C" {static PyObject *meth_QPainter_viewTransformEnabled(PyObject *, PyObject *);}
static PyObject *meth_QPainter_viewTransformEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->viewTransformEnabled();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_viewTransformEnabled, doc_QPainter_viewTransformEnabled);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_strokePath, "strokePath(self, QPainterPath, Union[QPen, QColor, Qt.GlobalColor, QGradient])");

extern "C" {static PyObject *meth_QPainter_strokePath(PyObject *, PyObject *);}
static PyObject *meth_QPainter_strokePath(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainterPath* a0;
        const  ::QPen* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainterPath, &a0, sipType_QPen, &a1, &a1State))
        {
            sipCpp->strokePath(*a0,*a1);
            sipReleaseType(const_cast< ::QPen *>(a1), sipType_QPen, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_strokePath, doc_QPainter_strokePath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_fillPath, "fillPath(self, QPainterPath, Union[QBrush, QColor, Qt.GlobalColor, QGradient])");

extern "C" {static PyObject *meth_QPainter_fillPath(PyObject *, PyObject *);}
static PyObject *meth_QPainter_fillPath(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainterPath* a0;
        const  ::QBrush* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainterPath, &a0, sipType_QBrush, &a1, &a1State))
        {
            sipCpp->fillPath(*a0,*a1);
            sipReleaseType(const_cast< ::QBrush *>(a1), sipType_QBrush, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_fillPath, doc_QPainter_fillPath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPath, "drawPath(self, QPainterPath)");

extern "C" {static PyObject *meth_QPainter_drawPath(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPath(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainterPath* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainterPath, &a0))
        {
            sipCpp->drawPath(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPath, doc_QPainter_drawPath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPoints, "drawPoints(self, QPolygonF)\n"
"drawPoints(self, QPolygon)\n"
"drawPoints(self, PyQt5.sip.array[Union[QPointF, QPoint]])\n"
"drawPoints(self, Union[QPointF, QPoint], *)\n"
"drawPoints(self, PyQt5.sip.array[QPoint])\n"
"drawPoints(self, QPoint, *)");

extern "C" {static PyObject *meth_QPainter_drawPoints(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPoints(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPolygonF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygonF, &a0))
        {
            sipCpp->drawPoints(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPolygon* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygon, &a0))
        {
            sipCpp->drawPoints(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawPoints(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ0W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1))
        {
            int sipIsErr = 0;

#line 197 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF);
        
        if (points)
        {
            sipCpp->drawPoints(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 1680 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawPoints(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1))
        {
            int sipIsErr = 0;

#line 211 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint);
        
        if (points)
        {
            sipCpp->drawPoints(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 1729 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPoints, doc_QPainter_drawPoints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawLines, "drawLines(self, PyQt5.sip.array[QLineF])\n"
"drawLines(self, QLineF, *)\n"
"drawLines(self, PyQt5.sip.array[Union[QPointF, QPoint]])\n"
"drawLines(self, Union[QPointF, QPoint], *)\n"
"drawLines(self, PyQt5.sip.array[QLine])\n"
"drawLines(self, QLine, *)\n"
"drawLines(self, PyQt5.sip.array[QPoint])\n"
"drawLines(self, QPoint, *)");

extern "C" {static PyObject *meth_QPainter_drawLines(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawLines(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QLineF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLineF, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawLines(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QLineF* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLineF, &a0, &a1))
        {
            int sipIsErr = 0;

#line 225 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QLineF *lines = qtgui_inst_array<QLineF>(a0, a1, sipType_QLineF);
        
        if (lines)
        {
            sipCpp->drawLines(lines, 1 + PyTuple_Size(a1));
            delete[] lines;
        }
        else
            sipIsErr = 1;
#line 1805 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp))
        {
#line 238 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        sipCpp->drawLines(a0, a1 / 2);
#line 1827 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ0W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1))
        {
            int sipIsErr = 0;

#line 243 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPointF *pairs = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF);
        
        if (pairs)
        {
            sipCpp->drawLines(pairs, (1 + PyTuple_Size(a1)) / 2);
            delete[] pairs;
        }
        else
            sipIsErr = 1;
#line 1856 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QLine* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLine, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawLines(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QLine* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLine, &a0, &a1))
        {
            int sipIsErr = 0;

#line 257 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QLine *lines = qtgui_inst_array<QLine>(a0, a1, sipType_QLine);
        
        if (lines)
        {
            sipCpp->drawLines(lines, 1 + PyTuple_Size(a1));
            delete[] lines;
        }
        else
            sipIsErr = 1;
#line 1905 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp))
        {
#line 270 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        sipCpp->drawLines(a0, a1 / 2);
#line 1927 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1))
        {
            int sipIsErr = 0;

#line 275 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPoint *pairs = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint);
        
        if (pairs)
        {
            sipCpp->drawLines(pairs, (1 + PyTuple_Size(a1)) / 2);
            delete[] pairs;
        }
        else
            sipIsErr = 1;
#line 1955 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawLines, doc_QPainter_drawLines);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawRects, "drawRects(self, PyQt5.sip.array[QRectF])\n"
"drawRects(self, QRectF, *)\n"
"drawRects(self, PyQt5.sip.array[QRect])\n"
"drawRects(self, QRect, *)");

extern "C" {static PyObject *meth_QPainter_drawRects(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawRects(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawRects(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1))
        {
            int sipIsErr = 0;

#line 289 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QRectF *rects = qtgui_inst_array<QRectF>(a0, a1, sipType_QRectF);
        
        if (rects)
        {
            sipCpp->drawRects(rects, 1 + PyTuple_Size(a1));
            delete[] rects;
        }
        else
            sipIsErr = 1;
#line 2023 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawRects(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1))
        {
            int sipIsErr = 0;

#line 303 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QRect *rects = qtgui_inst_array<QRect>(a0, a1, sipType_QRect);
        
        if (rects)
        {
            sipCpp->drawRects(rects, 1 + PyTuple_Size(a1));
            delete[] rects;
        }
        else
            sipIsErr = 1;
#line 2071 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawRects, doc_QPainter_drawRects);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawEllipse, "drawEllipse(self, QRectF)\n"
"drawEllipse(self, QRect)\n"
"drawEllipse(self, int, int, int, int)\n"
"drawEllipse(self, Union[QPointF, QPoint], float, float)\n"
"drawEllipse(self, QPoint, int, int)");

extern "C" {static PyObject *meth_QPainter_drawEllipse(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawEllipse(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0))
        {
            sipCpp->drawEllipse(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0))
        {
            sipCpp->drawEllipse(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->drawEllipse(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
         ::qreal a1;
         ::qreal a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1dd", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1, &a2))
        {
            sipCpp->drawEllipse(*a0,a1,a2);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a2))
        {
            sipCpp->drawEllipse(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawEllipse, doc_QPainter_drawEllipse);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPolyline, "drawPolyline(self, QPolygonF)\n"
"drawPolyline(self, QPolygon)\n"
"drawPolyline(self, PyQt5.sip.array[Union[QPointF, QPoint]])\n"
"drawPolyline(self, Union[QPointF, QPoint], *)\n"
"drawPolyline(self, PyQt5.sip.array[QPoint])\n"
"drawPolyline(self, QPoint, *)");

extern "C" {static PyObject *meth_QPainter_drawPolyline(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPolyline(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPolygonF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygonF, &a0))
        {
            sipCpp->drawPolyline(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPolygon* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygon, &a0))
        {
            sipCpp->drawPolyline(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawPolyline(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ0W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1))
        {
            int sipIsErr = 0;

#line 321 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF);
        
        if (points)
        {
            sipCpp->drawPolyline(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2266 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawPolyline(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1))
        {
            int sipIsErr = 0;

#line 335 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint);
        
        if (points)
        {
            sipCpp->drawPolyline(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2315 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPolyline, doc_QPainter_drawPolyline);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPolygon, "drawPolygon(self, QPolygonF, fillRule: Qt.FillRule = Qt.OddEvenFill)\n"
"drawPolygon(self, QPolygon, fillRule: Qt.FillRule = Qt.OddEvenFill)\n"
"drawPolygon(self, PyQt5.sip.array[Union[QPointF, QPoint]], fillRule: Qt.FillRule = Qt.OddEvenFill)\n"
"drawPolygon(self, Union[QPointF, QPoint], *)\n"
"drawPolygon(self, PyQt5.sip.array[QPoint], fillRule: Qt.FillRule = Qt.OddEvenFill)\n"
"drawPolygon(self, QPoint, *)");

extern "C" {static PyObject *meth_QPainter_drawPolygon(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPolygon(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPolygonF* a0;
         ::Qt::FillRule a1 = Qt::OddEvenFill;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_fillRule,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygonF, &a0, sipType_Qt_FillRule, &a1))
        {
            sipCpp->drawPolygon(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPolygon* a0;
         ::Qt::FillRule a1 = Qt::OddEvenFill;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_fillRule,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygon, &a0, sipType_Qt_FillRule, &a1))
        {
            sipCpp->drawPolygon(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::Qt::FillRule a2 = Qt::OddEvenFill;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_fillRule,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B>|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp, sipType_Qt_FillRule, &a2))
        {
            sipCpp->drawPolygon(a0,(int)a1,a2);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ0W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1))
        {
            int sipIsErr = 0;

#line 351 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF);
        
        if (points)
        {
            sipCpp->drawPolygon(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2433 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::Qt::FillRule a2 = Qt::OddEvenFill;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_fillRule,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B>|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp, sipType_Qt_FillRule, &a2))
        {
            sipCpp->drawPolygon(a0,(int)a1,a2);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1))
        {
            int sipIsErr = 0;

#line 365 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint);
        
        if (points)
        {
            sipCpp->drawPolygon(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2489 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPolygon, doc_QPainter_drawPolygon);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawConvexPolygon, "drawConvexPolygon(self, QPolygonF)\n"
"drawConvexPolygon(self, QPolygon)\n"
"drawConvexPolygon(self, PyQt5.sip.array[Union[QPointF, QPoint]])\n"
"drawConvexPolygon(self, Union[QPointF, QPoint], *)\n"
"drawConvexPolygon(self, PyQt5.sip.array[QPoint])\n"
"drawConvexPolygon(self, QPoint, *)");

extern "C" {static PyObject *meth_QPainter_drawConvexPolygon(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawConvexPolygon(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPolygonF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygonF, &a0))
        {
            sipCpp->drawConvexPolygon(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPolygon* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPolygon, &a0))
        {
            sipCpp->drawConvexPolygon(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawConvexPolygon(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ0W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, &a1))
        {
            int sipIsErr = 0;

#line 381 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPointF *points = qtgui_inst_array<QPointF>(a0, a1, sipType_QPointF);
        
        if (points)
        {
            sipCpp->drawConvexPolygon(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2588 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp))
        {
            sipCpp->drawConvexPolygon(a0,(int)a1);
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        PyObject * a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8W", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, &a1))
        {
            int sipIsErr = 0;

#line 395 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
        QPoint *points = qtgui_inst_array<QPoint>(a0, a1, sipType_QPoint);
        
        if (points)
        {
            sipCpp->drawConvexPolygon(points, 1 + PyTuple_Size(a1));
            delete[] points;
        }
        else
            sipIsErr = 1;
#line 2637 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPainter.cpp"

            Py_DECREF(a1);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawConvexPolygon, doc_QPainter_drawConvexPolygon);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawArc, "drawArc(self, QRectF, int, int)\n"
"drawArc(self, QRect, int, int)\n"
"drawArc(self, int, int, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_drawArc(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawArc(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, &a2))
        {
            sipCpp->drawArc(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, &a2))
        {
            sipCpp->drawArc(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        int a4;
        int a5;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiiiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, &a5))
        {
            sipCpp->drawArc(a0,a1,a2,a3,a4,a5);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawArc, doc_QPainter_drawArc);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPie, "drawPie(self, QRectF, int, int)\n"
"drawPie(self, QRect, int, int)\n"
"drawPie(self, int, int, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_drawPie(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPie(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, &a2))
        {
            sipCpp->drawPie(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, &a2))
        {
            sipCpp->drawPie(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        int a4;
        int a5;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiiiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, &a5))
        {
            sipCpp->drawPie(a0,a1,a2,a3,a4,a5);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPie, doc_QPainter_drawPie);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawChord, "drawChord(self, QRectF, int, int)\n"
"drawChord(self, QRect, int, int)\n"
"drawChord(self, int, int, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_drawChord(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawChord(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, &a2))
        {
            sipCpp->drawChord(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        int a1;
        int a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9ii", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, &a2))
        {
            sipCpp->drawChord(*a0,a1,a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        int a4;
        int a5;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiiiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, &a5))
        {
            sipCpp->drawChord(a0,a1,a2,a3,a4,a5);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawChord, doc_QPainter_drawChord);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawTiledPixmap, "drawTiledPixmap(self, QRectF, QPixmap, pos: Union[QPointF, QPoint] = QPointF())\n"
"drawTiledPixmap(self, QRect, QPixmap, pos: QPoint = QPoint())\n"
"drawTiledPixmap(self, int, int, int, int, QPixmap, sx: int = 0, sy: int = 0)");

extern "C" {static PyObject *meth_QPainter_drawTiledPixmap(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawTiledPixmap(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        const  ::QPixmap* a1;
        const  ::QPointF& a2def = QPointF();
        const  ::QPointF* a2 = &a2def;
        int a2State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_pos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QPixmap, &a1, sipType_QPointF, &a2, &a2State))
        {
            sipCpp->drawTiledPixmap(*a0,*a1,*a2);
            sipReleaseType(const_cast< ::QPointF *>(a2), sipType_QPointF, a2State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QPixmap* a1;
        const  ::QPoint& a2def = QPoint();
        const  ::QPoint* a2 = &a2def;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_pos,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9|J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QPixmap, &a1, sipType_QPoint, &a2))
        {
            sipCpp->drawTiledPixmap(*a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        const  ::QPixmap* a4;
        int a5 = 0;
        int a6 = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_sx,
            sipName_sy,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiiiJ9|ii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QPixmap, &a4, &a5, &a6))
        {
            sipCpp->drawTiledPixmap(a0,a1,a2,a3,*a4,a5,a6);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawTiledPixmap, doc_QPainter_drawTiledPixmap);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPicture, "drawPicture(self, Union[QPointF, QPoint], QPicture)\n"
"drawPicture(self, int, int, QPicture)\n"
"drawPicture(self, QPoint, QPicture)");

extern "C" {static PyObject *meth_QPainter_drawPicture(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPicture(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QPicture* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QPicture, &a1))
        {
            sipCpp->drawPicture(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        const  ::QPicture* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiJ9", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QPicture, &a2))
        {
            sipCpp->drawPicture(a0,a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QPicture* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QPicture, &a1))
        {
            sipCpp->drawPicture(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPicture, doc_QPainter_drawPicture);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPixmap, "drawPixmap(self, QRectF, QPixmap, QRectF)\n"
"drawPixmap(self, QRect, QPixmap, QRect)\n"
"drawPixmap(self, Union[QPointF, QPoint], QPixmap)\n"
"drawPixmap(self, QPoint, QPixmap)\n"
"drawPixmap(self, QRect, QPixmap)\n"
"drawPixmap(self, int, int, QPixmap)\n"
"drawPixmap(self, int, int, int, int, QPixmap)\n"
"drawPixmap(self, int, int, int, int, QPixmap, int, int, int, int)\n"
"drawPixmap(self, int, int, QPixmap, int, int, int, int)\n"
"drawPixmap(self, Union[QPointF, QPoint], QPixmap, QRectF)\n"
"drawPixmap(self, QPoint, QPixmap, QRect)");

extern "C" {static PyObject *meth_QPainter_drawPixmap(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPixmap(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        const  ::QPixmap* a1;
        const  ::QRectF* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QPixmap, &a1, sipType_QRectF, &a2))
        {
            sipCpp->drawPixmap(*a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QPixmap* a1;
        const  ::QRect* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QPixmap, &a1, sipType_QRect, &a2))
        {
            sipCpp->drawPixmap(*a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QPixmap* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QPixmap, &a1))
        {
            sipCpp->drawPixmap(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QPixmap* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QPixmap, &a1))
        {
            sipCpp->drawPixmap(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QPixmap* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QPixmap, &a1))
        {
            sipCpp->drawPixmap(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        const  ::QPixmap* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiJ9", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QPixmap, &a2))
        {
            sipCpp->drawPixmap(a0,a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        const  ::QPixmap* a4;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiJ9", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QPixmap, &a4))
        {
            sipCpp->drawPixmap(a0,a1,a2,a3,*a4);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        const  ::QPixmap* a4;
        int a5;
        int a6;
        int a7;
        int a8;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiJ9iiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QPixmap, &a4, &a5, &a6, &a7, &a8))
        {
            sipCpp->drawPixmap(a0,a1,a2,a3,*a4,a5,a6,a7,a8);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        const  ::QPixmap* a2;
        int a3;
        int a4;
        int a5;
        int a6;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiJ9iiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QPixmap, &a2, &a3, &a4, &a5, &a6))
        {
            sipCpp->drawPixmap(a0,a1,*a2,a3,a4,a5,a6);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QPixmap* a1;
        const  ::QRectF* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QPixmap, &a1, sipType_QRectF, &a2))
        {
            sipCpp->drawPixmap(*a0,*a1,*a2);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QPixmap* a1;
        const  ::QRect* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QPixmap, &a1, sipType_QRect, &a2))
        {
            sipCpp->drawPixmap(*a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPixmap, doc_QPainter_drawPixmap);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setLayoutDirection, "setLayoutDirection(self, Qt.LayoutDirection)");

extern "C" {static PyObject *meth_QPainter_setLayoutDirection(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setLayoutDirection(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::Qt::LayoutDirection a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_Qt_LayoutDirection, &a0))
        {
            sipCpp->setLayoutDirection(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setLayoutDirection, doc_QPainter_setLayoutDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_layoutDirection, "layoutDirection(self) -> Qt.LayoutDirection");

extern "C" {static PyObject *meth_QPainter_layoutDirection(PyObject *, PyObject *);}
static PyObject *meth_QPainter_layoutDirection(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::Qt::LayoutDirection sipRes;

            sipRes = sipCpp->layoutDirection();

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_Qt_LayoutDirection);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_layoutDirection, doc_QPainter_layoutDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawText, "drawText(self, Union[QPointF, QPoint], str)\n"
"drawText(self, QRectF, int, str) -> QRectF\n"
"drawText(self, QRect, int, str) -> QRect\n"
"drawText(self, QRectF, str, option: QTextOption = QTextOption())\n"
"drawText(self, QPoint, str)\n"
"drawText(self, int, int, int, int, int, str) -> QRect\n"
"drawText(self, int, int, str)");

extern "C" {static PyObject *meth_QPainter_drawText(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawText(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QString* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ1J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QString, &a1, &a1State))
        {
            sipCpp->drawText(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);
            sipReleaseType(const_cast< ::QString *>(a1), sipType_QString, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
        int a1;
        const  ::QString* a2;
        int a2State = 0;
         ::QRectF* a3;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9iJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, sipType_QString, &a2, &a2State))
        {
            a3 = new  ::QRectF();

            sipCpp->drawText(*a0,a1,*a2,a3);
            sipReleaseType(const_cast< ::QString *>(a2), sipType_QString, a2State);

            return sipConvertFromNewType(a3,sipType_QRectF,SIP_NULLPTR);
        }
    }

    {
        const  ::QRect* a0;
        int a1;
        const  ::QString* a2;
        int a2State = 0;
         ::QRect* a3;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9iJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, sipType_QString, &a2, &a2State))
        {
            a3 = new  ::QRect();

            sipCpp->drawText(*a0,a1,*a2,a3);
            sipReleaseType(const_cast< ::QString *>(a2), sipType_QString, a2State);

            return sipConvertFromNewType(a3,sipType_QRect,SIP_NULLPTR);
        }
    }

    {
        const  ::QRectF* a0;
        const  ::QString* a1;
        int a1State = 0;
        const  ::QTextOption& a2def = QTextOption();
        const  ::QTextOption* a2 = &a2def;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_option,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1|J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QString, &a1, &a1State, sipType_QTextOption, &a2))
        {
            sipCpp->drawText(*a0,*a1,*a2);
            sipReleaseType(const_cast< ::QString *>(a1), sipType_QString, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QString* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QString, &a1, &a1State))
        {
            sipCpp->drawText(*a0,*a1);
            sipReleaseType(const_cast< ::QString *>(a1), sipType_QString, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        int a4;
        const  ::QString* a5;
        int a5State = 0;
         ::QRect* a6;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiiiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, sipType_QString, &a5, &a5State))
        {
            a6 = new  ::QRect();

            sipCpp->drawText(a0,a1,a2,a3,a4,*a5,a6);
            sipReleaseType(const_cast< ::QString *>(a5), sipType_QString, a5State);

            return sipConvertFromNewType(a6,sipType_QRect,SIP_NULLPTR);
        }
    }

    {
        int a0;
        int a1;
        const  ::QString* a2;
        int a2State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QString, &a2, &a2State))
        {
            sipCpp->drawText(a0,a1,*a2);
            sipReleaseType(const_cast< ::QString *>(a2), sipType_QString, a2State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawText, doc_QPainter_drawText);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_boundingRect, "boundingRect(self, QRectF, int, str) -> QRectF\n"
"boundingRect(self, QRect, int, str) -> QRect\n"
"boundingRect(self, QRectF, str, option: QTextOption = QTextOption()) -> QRectF\n"
"boundingRect(self, int, int, int, int, int, str) -> QRect");

extern "C" {static PyObject *meth_QPainter_boundingRect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_boundingRect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        int a1;
        const  ::QString* a2;
        int a2State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9iJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, sipType_QString, &a2, &a2State))
        {
             ::QRectF*sipRes;

            sipRes = new  ::QRectF(sipCpp->boundingRect(*a0,a1,*a2));
            sipReleaseType(const_cast< ::QString *>(a2), sipType_QString, a2State);

            return sipConvertFromNewType(sipRes,sipType_QRectF,SIP_NULLPTR);
        }
    }

    {
        const  ::QRect* a0;
        int a1;
        const  ::QString* a2;
        int a2State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9iJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, sipType_QString, &a2, &a2State))
        {
             ::QRect*sipRes;

            sipRes = new  ::QRect(sipCpp->boundingRect(*a0,a1,*a2));
            sipReleaseType(const_cast< ::QString *>(a2), sipType_QString, a2State);

            return sipConvertFromNewType(sipRes,sipType_QRect,SIP_NULLPTR);
        }
    }

    {
        const  ::QRectF* a0;
        const  ::QString* a1;
        int a1State = 0;
        const  ::QTextOption& a2def = QTextOption();
        const  ::QTextOption* a2 = &a2def;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_option,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1|J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QString, &a1, &a1State, sipType_QTextOption, &a2))
        {
             ::QRectF*sipRes;

            sipRes = new  ::QRectF(sipCpp->boundingRect(*a0,*a1,*a2));
            sipReleaseType(const_cast< ::QString *>(a1), sipType_QString, a1State);

            return sipConvertFromNewType(sipRes,sipType_QRectF,SIP_NULLPTR);
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        int a4;
        const  ::QString* a5;
        int a5State = 0;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BiiiiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, sipType_QString, &a5, &a5State))
        {
             ::QRect*sipRes;

            sipRes = new  ::QRect(sipCpp->boundingRect(a0,a1,a2,a3,a4,*a5));
            sipReleaseType(const_cast< ::QString *>(a5), sipType_QString, a5State);

            return sipConvertFromNewType(sipRes,sipType_QRect,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_boundingRect, doc_QPainter_boundingRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_fillRect, "fillRect(self, QRectF, Union[QBrush, QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, QRect, Union[QBrush, QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, int, int, int, int, Union[QBrush, QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, QRectF, Union[QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, QRect, Union[QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, int, int, int, int, Union[QColor, Qt.GlobalColor, QGradient])\n"
"fillRect(self, int, int, int, int, Qt.GlobalColor)\n"
"fillRect(self, QRect, Qt.GlobalColor)\n"
"fillRect(self, QRectF, Qt.GlobalColor)\n"
"fillRect(self, int, int, int, int, Qt.BrushStyle)\n"
"fillRect(self, QRect, Qt.BrushStyle)\n"
"fillRect(self, QRectF, Qt.BrushStyle)\n"
"fillRect(self, int, int, int, int, QGradient.Preset)\n"
"fillRect(self, QRect, QGradient.Preset)\n"
"fillRect(self, QRectF, QGradient.Preset)");

extern "C" {static PyObject *meth_QPainter_fillRect(PyObject *, PyObject *);}
static PyObject *meth_QPainter_fillRect(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        const  ::QBrush* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QBrush, &a1, &a1State))
        {
            sipCpp->fillRect(*a0,*a1);
            sipReleaseType(const_cast< ::QBrush *>(a1), sipType_QBrush, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QBrush* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QBrush, &a1, &a1State))
        {
            sipCpp->fillRect(*a0,*a1);
            sipReleaseType(const_cast< ::QBrush *>(a1), sipType_QBrush, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        const  ::QBrush* a4;
        int a4State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QBrush, &a4, &a4State))
        {
            sipCpp->fillRect(a0,a1,a2,a3,*a4);
            sipReleaseType(const_cast< ::QBrush *>(a4), sipType_QBrush, a4State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
        const  ::QColor* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QColor, &a1, &a1State))
        {
            sipCpp->fillRect(*a0,*a1);
            sipReleaseType(const_cast< ::QColor *>(a1), sipType_QColor, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QColor* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QColor, &a1, &a1State))
        {
            sipCpp->fillRect(*a0,*a1);
            sipReleaseType(const_cast< ::QColor *>(a1), sipType_QColor, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
        const  ::QColor* a4;
        int a4State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QColor, &a4, &a4State))
        {
            sipCpp->fillRect(a0,a1,a2,a3,*a4);
            sipReleaseType(const_cast< ::QColor *>(a4), sipType_QColor, a4State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::Qt::GlobalColor a4;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiE", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_Qt_GlobalColor, &a4))
        {
            sipCpp->fillRect(a0,a1,a2,a3,a4);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::Qt::GlobalColor a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_Qt_GlobalColor, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
         ::Qt::GlobalColor a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_Qt_GlobalColor, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::Qt::BrushStyle a4;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiE", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_Qt_BrushStyle, &a4))
        {
            sipCpp->fillRect(a0,a1,a2,a3,a4);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::Qt::BrushStyle a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_Qt_BrushStyle, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
         ::Qt::BrushStyle a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_Qt_BrushStyle, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QGradient::Preset a4;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiiiE", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, sipType_QGradient_Preset, &a4))
        {
            sipCpp->fillRect(a0,a1,a2,a3,a4);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::QGradient::Preset a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QGradient_Preset, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
         ::QGradient::Preset a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QGradient_Preset, &a1))
        {
            sipCpp->fillRect(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_fillRect, doc_QPainter_fillRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_eraseRect, "eraseRect(self, QRectF)\n"
"eraseRect(self, QRect)\n"
"eraseRect(self, int, int, int, int)");

extern "C" {static PyObject *meth_QPainter_eraseRect(PyObject *, PyObject *);}
static PyObject *meth_QPainter_eraseRect(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0))
        {
            sipCpp->eraseRect(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0))
        {
            sipCpp->eraseRect(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->eraseRect(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_eraseRect, doc_QPainter_eraseRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setRenderHint, "setRenderHint(self, QPainter.RenderHint, on: bool = True)");

extern "C" {static PyObject *meth_QPainter_setRenderHint(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setRenderHint(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter::RenderHint a0;
        bool a1 = 1;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_on,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE|b", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainter_RenderHint, &a0, &a1))
        {
            sipCpp->setRenderHint(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setRenderHint, doc_QPainter_setRenderHint);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_renderHints, "renderHints(self) -> QPainter.RenderHints");

extern "C" {static PyObject *meth_QPainter_renderHints(PyObject *, PyObject *);}
static PyObject *meth_QPainter_renderHints(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPainter::RenderHints*sipRes;

            sipRes = new  ::QPainter::RenderHints(sipCpp->renderHints());

            return sipConvertFromNewType(sipRes,sipType_QPainter_RenderHints,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_renderHints, doc_QPainter_renderHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setRenderHints, "setRenderHints(self, Union[QPainter.RenderHints, QPainter.RenderHint], on: bool = True)");

extern "C" {static PyObject *meth_QPainter_setRenderHints(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setRenderHints(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter::RenderHints* a0;
        int a0State = 0;
        bool a1 = 1;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_on,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|b", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainter_RenderHints, &a0, &a0State, &a1))
        {
            sipCpp->setRenderHints(*a0,a1);
            sipReleaseType(a0, sipType_QPainter_RenderHints, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setRenderHints, doc_QPainter_setRenderHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_paintEngine, "paintEngine(self) -> QPaintEngine");

extern "C" {static PyObject *meth_QPainter_paintEngine(PyObject *, PyObject *);}
static PyObject *meth_QPainter_paintEngine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QPaintEngine*sipRes;

            sipRes = sipCpp->paintEngine();

            return sipConvertFromType(sipRes,sipType_QPaintEngine,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_paintEngine, doc_QPainter_paintEngine);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawLine, "drawLine(self, QLineF)\n"
"drawLine(self, QLine)\n"
"drawLine(self, int, int, int, int)\n"
"drawLine(self, QPoint, QPoint)\n"
"drawLine(self, Union[QPointF, QPoint], Union[QPointF, QPoint])");

extern "C" {static PyObject *meth_QPainter_drawLine(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawLine(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QLineF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLineF, &a0))
        {
            sipCpp->drawLine(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QLine* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QLine, &a0))
        {
            sipCpp->drawLine(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->drawLine(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QPoint* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QPoint, &a1))
        {
            sipCpp->drawLine(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QPointF* a1;
        int a1State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QPointF, &a1, &a1State))
        {
            sipCpp->drawLine(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);
            sipReleaseType(const_cast< ::QPointF *>(a1), sipType_QPointF, a1State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawLine, doc_QPainter_drawLine);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawRect, "drawRect(self, QRectF)\n"
"drawRect(self, int, int, int, int)\n"
"drawRect(self, QRect)");

extern "C" {static PyObject *meth_QPainter_drawRect(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawRect(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0))
        {
            sipCpp->drawRect(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Biiii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3))
        {
            sipCpp->drawRect(a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0))
        {
            sipCpp->drawRect(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawRect, doc_QPainter_drawRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPoint, "drawPoint(self, Union[QPointF, QPoint])\n"
"drawPoint(self, int, int)\n"
"drawPoint(self, QPoint)");

extern "C" {static PyObject *meth_QPainter_drawPoint(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPoint(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State))
        {
            sipCpp->drawPoint(*a0);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bii", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1))
        {
            sipCpp->drawPoint(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0))
        {
            sipCpp->drawPoint(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPoint, doc_QPainter_drawPoint);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawImage, "drawImage(self, QRectF, QImage)\n"
"drawImage(self, QRect, QImage)\n"
"drawImage(self, Union[QPointF, QPoint], QImage)\n"
"drawImage(self, QPoint, QImage)\n"
"drawImage(self, int, int, QImage, sx: int = 0, sy: int = 0, sw: int = -1, sh: int = -1, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor)\n"
"drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor)\n"
"drawImage(self, QRect, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor)\n"
"drawImage(self, Union[QPointF, QPoint], QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor)\n"
"drawImage(self, QPoint, QImage, QRect, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.ImageConversionFlag.AutoColor)");

extern "C" {static PyObject *meth_QPainter_drawImage(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawImage(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
        const  ::QImage* a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QImage, &a1))
        {
            sipCpp->drawImage(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QImage* a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QImage, &a1))
        {
            sipCpp->drawImage(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QImage* a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ1J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QImage, &a1))
        {
            sipCpp->drawImage(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QImage* a1;
         ::QPainter *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QImage, &a1))
        {
            sipCpp->drawImage(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        const  ::QImage* a2;
        int a3 = 0;
        int a4 = 0;
        int a5 = -1;
        int a6 = -1;
         ::Qt::ImageConversionFlags a7def = Qt::ImageConversionFlag::AutoColor;
         ::Qt::ImageConversionFlags* a7 = &a7def;
        int a7State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_sx,
            sipName_sy,
            sipName_sw,
            sipName_sh,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiiJ9|iiiiJ1", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QImage, &a2, &a3, &a4, &a5, &a6, sipType_Qt_ImageConversionFlags, &a7, &a7State))
        {
            sipCpp->drawImage(a0,a1,*a2,a3,a4,a5,a6,*a7);
            sipReleaseType(a7, sipType_Qt_ImageConversionFlags, a7State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRectF* a0;
        const  ::QImage* a1;
        const  ::QRectF* a2;
         ::Qt::ImageConversionFlags a3def = Qt::ImageConversionFlag::AutoColor;
         ::Qt::ImageConversionFlags* a3 = &a3def;
        int a3State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, sipType_QImage, &a1, sipType_QRectF, &a2, sipType_Qt_ImageConversionFlags, &a3, &a3State))
        {
            sipCpp->drawImage(*a0,*a1,*a2,*a3);
            sipReleaseType(a3, sipType_Qt_ImageConversionFlags, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
        const  ::QImage* a1;
        const  ::QRect* a2;
         ::Qt::ImageConversionFlags a3def = Qt::ImageConversionFlag::AutoColor;
         ::Qt::ImageConversionFlags* a3 = &a3def;
        int a3State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, sipType_QImage, &a1, sipType_QRect, &a2, sipType_Qt_ImageConversionFlags, &a3, &a3State))
        {
            sipCpp->drawImage(*a0,*a1,*a2,*a3);
            sipReleaseType(a3, sipType_Qt_ImageConversionFlags, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QImage* a1;
        const  ::QRectF* a2;
         ::Qt::ImageConversionFlags a3def = Qt::ImageConversionFlag::AutoColor;
         ::Qt::ImageConversionFlags* a3 = &a3def;
        int a3State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J9J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QImage, &a1, sipType_QRectF, &a2, sipType_Qt_ImageConversionFlags, &a3, &a3State))
        {
            sipCpp->drawImage(*a0,*a1,*a2,*a3);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);
            sipReleaseType(a3, sipType_Qt_ImageConversionFlags, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QImage* a1;
        const  ::QRect* a2;
         ::Qt::ImageConversionFlags a3def = Qt::ImageConversionFlag::AutoColor;
         ::Qt::ImageConversionFlags* a3 = &a3def;
        int a3State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QImage, &a1, sipType_QRect, &a2, sipType_Qt_ImageConversionFlags, &a3, &a3State))
        {
            sipCpp->drawImage(*a0,*a1,*a2,*a3);
            sipReleaseType(a3, sipType_Qt_ImageConversionFlags, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawImage, doc_QPainter_drawImage);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_opacity, "opacity(self) -> float");

extern "C" {static PyObject *meth_QPainter_opacity(PyObject *, PyObject *);}
static PyObject *meth_QPainter_opacity(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::qreal sipRes;

            sipRes = sipCpp->opacity();

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_opacity, doc_QPainter_opacity);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setOpacity, "setOpacity(self, float)");

extern "C" {static PyObject *meth_QPainter_setOpacity(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setOpacity(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::qreal a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bd", &sipSelf, sipType_QPainter, &sipCpp, &a0))
        {
            sipCpp->setOpacity(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setOpacity, doc_QPainter_setOpacity);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_worldMatrixEnabled, "worldMatrixEnabled(self) -> bool");

extern "C" {static PyObject *meth_QPainter_worldMatrixEnabled(PyObject *, PyObject *);}
static PyObject *meth_QPainter_worldMatrixEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            bool sipRes;

            sipRes = sipCpp->worldMatrixEnabled();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_worldMatrixEnabled, doc_QPainter_worldMatrixEnabled);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setWorldMatrixEnabled, "setWorldMatrixEnabled(self, bool)");

extern "C" {static PyObject *meth_QPainter_setWorldMatrixEnabled(PyObject *, PyObject *);}
static PyObject *meth_QPainter_setWorldMatrixEnabled(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        bool a0;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bb", &sipSelf, sipType_QPainter, &sipCpp, &a0))
        {
            sipCpp->setWorldMatrixEnabled(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setWorldMatrixEnabled, doc_QPainter_setWorldMatrixEnabled);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setTransform, "setTransform(self, QTransform, combine: bool = False)");

extern "C" {static PyObject *meth_QPainter_setTransform(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setTransform(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QTransform* a0;
        bool a1 = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_combine,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|b", &sipSelf, sipType_QPainter, &sipCpp, sipType_QTransform, &a0, &a1))
        {
            sipCpp->setTransform(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setTransform, doc_QPainter_setTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_transform, "transform(self) -> QTransform");

extern "C" {static PyObject *meth_QPainter_transform(PyObject *, PyObject *);}
static PyObject *meth_QPainter_transform(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QTransform*sipRes;

            sipRes = new  ::QTransform(sipCpp->transform());

            return sipConvertFromNewType(sipRes,sipType_QTransform,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_transform, doc_QPainter_transform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_deviceTransform, "deviceTransform(self) -> QTransform");

extern "C" {static PyObject *meth_QPainter_deviceTransform(PyObject *, PyObject *);}
static PyObject *meth_QPainter_deviceTransform(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QTransform*sipRes;

            sipRes = new  ::QTransform(sipCpp->deviceTransform());

            return sipConvertFromNewType(sipRes,sipType_QTransform,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_deviceTransform, doc_QPainter_deviceTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_resetTransform, "resetTransform(self)");

extern "C" {static PyObject *meth_QPainter_resetTransform(PyObject *, PyObject *);}
static PyObject *meth_QPainter_resetTransform(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            sipCpp->resetTransform();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_resetTransform, doc_QPainter_resetTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_setWorldTransform, "setWorldTransform(self, QTransform, combine: bool = False)");

extern "C" {static PyObject *meth_QPainter_setWorldTransform(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_setWorldTransform(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QTransform* a0;
        bool a1 = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            sipName_combine,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|b", &sipSelf, sipType_QPainter, &sipCpp, sipType_QTransform, &a0, &a1))
        {
            sipCpp->setWorldTransform(*a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_setWorldTransform, doc_QPainter_setWorldTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_worldTransform, "worldTransform(self) -> QTransform");

extern "C" {static PyObject *meth_QPainter_worldTransform(PyObject *, PyObject *);}
static PyObject *meth_QPainter_worldTransform(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QTransform*sipRes;

            sipRes = new  ::QTransform(sipCpp->worldTransform());

            return sipConvertFromNewType(sipRes,sipType_QTransform,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_worldTransform, doc_QPainter_worldTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_combinedTransform, "combinedTransform(self) -> QTransform");

extern "C" {static PyObject *meth_QPainter_combinedTransform(PyObject *, PyObject *);}
static PyObject *meth_QPainter_combinedTransform(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QTransform*sipRes;

            sipRes = new  ::QTransform(sipCpp->combinedTransform());

            return sipConvertFromNewType(sipRes,sipType_QTransform,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_combinedTransform, doc_QPainter_combinedTransform);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_testRenderHint, "testRenderHint(self, QPainter.RenderHint) -> bool");

extern "C" {static PyObject *meth_QPainter_testRenderHint(PyObject *, PyObject *);}
static PyObject *meth_QPainter_testRenderHint(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter::RenderHint a0;
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainter_RenderHint, &a0))
        {
            bool sipRes;

            sipRes = sipCpp->testRenderHint(a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_testRenderHint, doc_QPainter_testRenderHint);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawRoundedRect, "drawRoundedRect(self, QRectF, float, float, mode: Qt.SizeMode = Qt.AbsoluteSize)\n"
"drawRoundedRect(self, int, int, int, int, float, float, mode: Qt.SizeMode = Qt.AbsoluteSize)\n"
"drawRoundedRect(self, QRect, float, float, mode: Qt.SizeMode = Qt.AbsoluteSize)");

extern "C" {static PyObject *meth_QPainter_drawRoundedRect(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawRoundedRect(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QRectF* a0;
         ::qreal a1;
         ::qreal a2;
         ::Qt::SizeMode a3 = Qt::AbsoluteSize;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_mode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9dd|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRectF, &a0, &a1, &a2, sipType_Qt_SizeMode, &a3))
        {
            sipCpp->drawRoundedRect(*a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        int a2;
        int a3;
         ::qreal a4;
         ::qreal a5;
         ::Qt::SizeMode a6 = Qt::AbsoluteSize;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_mode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiidd|E", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, &a2, &a3, &a4, &a5, sipType_Qt_SizeMode, &a6))
        {
            sipCpp->drawRoundedRect(a0,a1,a2,a3,a4,a5,a6);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QRect* a0;
         ::qreal a1;
         ::qreal a2;
         ::Qt::SizeMode a3 = Qt::AbsoluteSize;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_mode,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9dd|E", &sipSelf, sipType_QPainter, &sipCpp, sipType_QRect, &a0, &a1, &a2, sipType_Qt_SizeMode, &a3))
        {
            sipCpp->drawRoundedRect(*a0,a1,a2,a3);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawRoundedRect, doc_QPainter_drawRoundedRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_beginNativePainting, "beginNativePainting(self)");

extern "C" {static PyObject *meth_QPainter_beginNativePainting(PyObject *, PyObject *);}
static PyObject *meth_QPainter_beginNativePainting(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            sipCpp->beginNativePainting();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_beginNativePainting, doc_QPainter_beginNativePainting);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_endNativePainting, "endNativePainting(self)");

extern "C" {static PyObject *meth_QPainter_endNativePainting(PyObject *, PyObject *);}
static PyObject *meth_QPainter_endNativePainting(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
            sipCpp->endNativePainting();

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_endNativePainting, doc_QPainter_endNativePainting);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawPixmapFragments, "drawPixmapFragments(self, PyQt5.sip.array[QPainter.PixmapFragment], QPixmap, hints: QPainter.PixmapFragmentHints = 0)");

extern "C" {static PyObject *meth_QPainter_drawPixmapFragments(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawPixmapFragments(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter::PixmapFragment* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
        const  ::QPixmap* a2;
         ::QPainter::PixmapFragmentHints a3def = 0;
         ::QPainter::PixmapFragmentHints* a3 = &a3def;
        int a3State = 0;
         ::QPainter *sipCpp;

        static const char *sipKwdList[] = {
            SIP_NULLPTR,
            SIP_NULLPTR,
            SIP_NULLPTR,
            sipName_hints,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B>J9|J1", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPainter_PixmapFragment, &a0, &a1, &a0IsTemp, sipType_QPixmap, &a2, sipType_QPainter_PixmapFragmentHints, &a3, &a3State))
        {
            sipCpp->drawPixmapFragments(a0,(int)a1,*a2,*a3);
            if (a0IsTemp)
                delete[] a0;
            sipReleaseType(a3, sipType_QPainter_PixmapFragmentHints, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawPixmapFragments, doc_QPainter_drawPixmapFragments);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawStaticText, "drawStaticText(self, Union[QPointF, QPoint], QStaticText)\n"
"drawStaticText(self, QPoint, QStaticText)\n"
"drawStaticText(self, int, int, QStaticText)");

extern "C" {static PyObject *meth_QPainter_drawStaticText(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawStaticText(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QStaticText* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QStaticText, &a1))
        {
            sipCpp->drawStaticText(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        const  ::QStaticText* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPoint, &a0, sipType_QStaticText, &a1))
        {
            sipCpp->drawStaticText(*a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        int a0;
        int a1;
        const  ::QStaticText* a2;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BiiJ9", &sipSelf, sipType_QPainter, &sipCpp, &a0, &a1, sipType_QStaticText, &a2))
        {
            sipCpp->drawStaticText(a0,a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawStaticText, doc_QPainter_drawStaticText);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_clipBoundingRect, "clipBoundingRect(self) -> QRectF");

extern "C" {static PyObject *meth_QPainter_clipBoundingRect(PyObject *, PyObject *);}
static PyObject *meth_QPainter_clipBoundingRect(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QPainter, &sipCpp))
        {
             ::QRectF*sipRes;

            sipRes = new  ::QRectF(sipCpp->clipBoundingRect());

            return sipConvertFromNewType(sipRes,sipType_QRectF,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_clipBoundingRect, doc_QPainter_clipBoundingRect);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPainter_drawGlyphRun, "drawGlyphRun(self, Union[QPointF, QPoint], QGlyphRun)");

extern "C" {static PyObject *meth_QPainter_drawGlyphRun(PyObject *, PyObject *);}
static PyObject *meth_QPainter_drawGlyphRun(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QGlyphRun* a1;
         ::QPainter *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9", &sipSelf, sipType_QPainter, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QGlyphRun, &a1))
        {
            sipCpp->drawGlyphRun(*a0,*a1);
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPainter, sipName_drawGlyphRun, doc_QPainter_drawGlyphRun);

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_QPainter(void *, int);}
static void release_QPainter(void *sipCppV, int)
{
    delete reinterpret_cast< ::QPainter *>(sipCppV);
}


extern "C" {static void *array_QPainter(Py_ssize_t);}
static void *array_QPainter(Py_ssize_t sipNrElem)
{
    return new  ::QPainter[sipNrElem];
}


extern "C" {static void array_delete_QPainter(void *);}
static void array_delete_QPainter(void *sipCpp)
{
    delete[] reinterpret_cast< ::QPainter *>(sipCpp);
}


extern "C" {static void dealloc_QPainter(sipSimpleWrapper *);}
static void dealloc_QPainter(sipSimpleWrapper *sipSelf)
{
    if (sipIsOwnedByPython(sipSelf))
    {
        release_QPainter(sipGetAddress(sipSelf), 0);
    }
}


extern "C" {static void *init_type_QPainter(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_QPainter(sipSimpleWrapper *, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
     ::QPainter *sipCpp = SIP_NULLPTR;

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            sipCpp = new  ::QPainter();

            return sipCpp;
        }
    }

    {
         ::QPaintDevice* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J8", sipType_QPaintDevice, &a0))
        {
            sipCpp = new  ::QPainter(a0);

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_QPainter[] = {
    {sipName___enter__, meth_QPainter___enter__, METH_VARARGS, doc_QPainter___enter__},
    {sipName___exit__, meth_QPainter___exit__, METH_VARARGS, doc_QPainter___exit__},
    {sipName_background, meth_QPainter_background, METH_VARARGS, doc_QPainter_background},
    {sipName_backgroundMode, meth_QPainter_backgroundMode, METH_VARARGS, doc_QPainter_backgroundMode},
    {sipName_begin, meth_QPainter_begin, METH_VARARGS, doc_QPainter_begin},
    {sipName_beginNativePainting, meth_QPainter_beginNativePainting, METH_VARARGS, doc_QPainter_beginNativePainting},
    {sipName_boundingRect, SIP_MLMETH_CAST(meth_QPainter_boundingRect), METH_VARARGS|METH_KEYWORDS, doc_QPainter_boundingRect},
    {sipName_brush, meth_QPainter_brush, METH_VARARGS, doc_QPainter_brush},
    {sipName_brushOrigin, meth_QPainter_brushOrigin, METH_VARARGS, doc_QPainter_brushOrigin},
    {sipName_clipBoundingRect, meth_QPainter_clipBoundingRect, METH_VARARGS, doc_QPainter_clipBoundingRect},
    {sipName_clipPath, meth_QPainter_clipPath, METH_VARARGS, doc_QPainter_clipPath},
    {sipName_clipRegion, meth_QPainter_clipRegion, METH_VARARGS, doc_QPainter_clipRegion},
    {sipName_combinedTransform, meth_QPainter_combinedTransform, METH_VARARGS, doc_QPainter_combinedTransform},
    {sipName_compositionMode, meth_QPainter_compositionMode, METH_VARARGS, doc_QPainter_compositionMode},
    {sipName_device, meth_QPainter_device, METH_VARARGS, doc_QPainter_device},
    {sipName_deviceTransform, meth_QPainter_deviceTransform, METH_VARARGS, doc_QPainter_deviceTransform},
    {sipName_drawArc, meth_QPainter_drawArc, METH_VARARGS, doc_QPainter_drawArc},
    {sipName_drawChord, meth_QPainter_drawChord, METH_VARARGS, doc_QPainter_drawChord},
    {sipName_drawConvexPolygon, meth_QPainter_drawConvexPolygon, METH_VARARGS, doc_QPainter_drawConvexPolygon},
    {sipName_drawEllipse, meth_QPainter_drawEllipse, METH_VARARGS, doc_QPainter_drawEllipse},
    {sipName_drawGlyphRun, meth_QPainter_drawGlyphRun, METH_VARARGS, doc_QPainter_drawGlyphRun},
    {sipName_drawImage, SIP_MLMETH_CAST(meth_QPainter_drawImage), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawImage},
    {sipName_drawLine, meth_QPainter_drawLine, METH_VARARGS, doc_QPainter_drawLine},
    {sipName_drawLines, meth_QPainter_drawLines, METH_VARARGS, doc_QPainter_drawLines},
    {sipName_drawPath, meth_QPainter_drawPath, METH_VARARGS, doc_QPainter_drawPath},
    {sipName_drawPicture, meth_QPainter_drawPicture, METH_VARARGS, doc_QPainter_drawPicture},
    {sipName_drawPie, meth_QPainter_drawPie, METH_VARARGS, doc_QPainter_drawPie},
    {sipName_drawPixmap, meth_QPainter_drawPixmap, METH_VARARGS, doc_QPainter_drawPixmap},
    {sipName_drawPixmapFragments, SIP_MLMETH_CAST(meth_QPainter_drawPixmapFragments), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawPixmapFragments},
    {sipName_drawPoint, meth_QPainter_drawPoint, METH_VARARGS, doc_QPainter_drawPoint},
    {sipName_drawPoints, meth_QPainter_drawPoints, METH_VARARGS, doc_QPainter_drawPoints},
    {sipName_drawPolygon, SIP_MLMETH_CAST(meth_QPainter_drawPolygon), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawPolygon},
    {sipName_drawPolyline, meth_QPainter_drawPolyline, METH_VARARGS, doc_QPainter_drawPolyline},
    {sipName_drawRect, meth_QPainter_drawRect, METH_VARARGS, doc_QPainter_drawRect},
    {sipName_drawRects, meth_QPainter_drawRects, METH_VARARGS, doc_QPainter_drawRects},
    {sipName_drawRoundedRect, SIP_MLMETH_CAST(meth_QPainter_drawRoundedRect), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawRoundedRect},
    {sipName_drawStaticText, meth_QPainter_drawStaticText, METH_VARARGS, doc_QPainter_drawStaticText},
    {sipName_drawText, SIP_MLMETH_CAST(meth_QPainter_drawText), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawText},
    {sipName_drawTiledPixmap, SIP_MLMETH_CAST(meth_QPainter_drawTiledPixmap), METH_VARARGS|METH_KEYWORDS, doc_QPainter_drawTiledPixmap},
    {sipName_end, meth_QPainter_end, METH_VARARGS, doc_QPainter_end},
    {sipName_endNativePainting, meth_QPainter_endNativePainting, METH_VARARGS, doc_QPainter_endNativePainting},
    {sipName_eraseRect, meth_QPainter_eraseRect, METH_VARARGS, doc_QPainter_eraseRect},
    {sipName_fillPath, meth_QPainter_fillPath, METH_VARARGS, doc_QPainter_fillPath},
    {sipName_fillRect, meth_QPainter_fillRect, METH_VARARGS, doc_QPainter_fillRect},
    {sipName_font, meth_QPainter_font, METH_VARARGS, doc_QPainter_font},
    {sipName_fontInfo, meth_QPainter_fontInfo, METH_VARARGS, doc_QPainter_fontInfo},
    {sipName_fontMetrics, meth_QPainter_fontMetrics, METH_VARARGS, doc_QPainter_fontMetrics},
    {sipName_hasClipping, meth_QPainter_hasClipping, METH_VARARGS, doc_QPainter_hasClipping},
    {sipName_isActive, meth_QPainter_isActive, METH_VARARGS, doc_QPainter_isActive},
    {sipName_layoutDirection, meth_QPainter_layoutDirection, METH_VARARGS, doc_QPainter_layoutDirection},
    {sipName_opacity, meth_QPainter_opacity, METH_VARARGS, doc_QPainter_opacity},
    {sipName_paintEngine, meth_QPainter_paintEngine, METH_VARARGS, doc_QPainter_paintEngine},
    {sipName_pen, meth_QPainter_pen, METH_VARARGS, doc_QPainter_pen},
    {sipName_renderHints, meth_QPainter_renderHints, METH_VARARGS, doc_QPainter_renderHints},
    {sipName_resetTransform, meth_QPainter_resetTransform, METH_VARARGS, doc_QPainter_resetTransform},
    {sipName_restore, meth_QPainter_restore, METH_VARARGS, doc_QPainter_restore},
    {sipName_rotate, meth_QPainter_rotate, METH_VARARGS, doc_QPainter_rotate},
    {sipName_save, meth_QPainter_save, METH_VARARGS, doc_QPainter_save},
    {sipName_scale, meth_QPainter_scale, METH_VARARGS, doc_QPainter_scale},
    {sipName_setBackground, meth_QPainter_setBackground, METH_VARARGS, doc_QPainter_setBackground},
    {sipName_setBackgroundMode, meth_QPainter_setBackgroundMode, METH_VARARGS, doc_QPainter_setBackgroundMode},
    {sipName_setBrush, meth_QPainter_setBrush, METH_VARARGS, doc_QPainter_setBrush},
    {sipName_setBrushOrigin, meth_QPainter_setBrushOrigin, METH_VARARGS, doc_QPainter_setBrushOrigin},
    {sipName_setClipPath, SIP_MLMETH_CAST(meth_QPainter_setClipPath), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setClipPath},
    {sipName_setClipRect, SIP_MLMETH_CAST(meth_QPainter_setClipRect), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setClipRect},
    {sipName_setClipRegion, SIP_MLMETH_CAST(meth_QPainter_setClipRegion), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setClipRegion},
    {sipName_setClipping, meth_QPainter_setClipping, METH_VARARGS, doc_QPainter_setClipping},
    {sipName_setCompositionMode, meth_QPainter_setCompositionMode, METH_VARARGS, doc_QPainter_setCompositionMode},
    {sipName_setFont, meth_QPainter_setFont, METH_VARARGS, doc_QPainter_setFont},
    {sipName_setLayoutDirection, meth_QPainter_setLayoutDirection, METH_VARARGS, doc_QPainter_setLayoutDirection},
    {sipName_setOpacity, meth_QPainter_setOpacity, METH_VARARGS, doc_QPainter_setOpacity},
    {sipName_setPen, meth_QPainter_setPen, METH_VARARGS, doc_QPainter_setPen},
    {sipName_setRenderHint, SIP_MLMETH_CAST(meth_QPainter_setRenderHint), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setRenderHint},
    {sipName_setRenderHints, SIP_MLMETH_CAST(meth_QPainter_setRenderHints), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setRenderHints},
    {sipName_setTransform, SIP_MLMETH_CAST(meth_QPainter_setTransform), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setTransform},
    {sipName_setViewTransformEnabled, meth_QPainter_setViewTransformEnabled, METH_VARARGS, doc_QPainter_setViewTransformEnabled},
    {sipName_setViewport, meth_QPainter_setViewport, METH_VARARGS, doc_QPainter_setViewport},
    {sipName_setWindow, meth_QPainter_setWindow, METH_VARARGS, doc_QPainter_setWindow},
    {sipName_setWorldMatrixEnabled, meth_QPainter_setWorldMatrixEnabled, METH_VARARGS, doc_QPainter_setWorldMatrixEnabled},
    {sipName_setWorldTransform, SIP_MLMETH_CAST(meth_QPainter_setWorldTransform), METH_VARARGS|METH_KEYWORDS, doc_QPainter_setWorldTransform},
    {sipName_shear, meth_QPainter_shear, METH_VARARGS, doc_QPainter_shear},
    {sipName_strokePath, meth_QPainter_strokePath, METH_VARARGS, doc_QPainter_strokePath},
    {sipName_testRenderHint, meth_QPainter_testRenderHint, METH_VARARGS, doc_QPainter_testRenderHint},
    {sipName_transform, meth_QPainter_transform, METH_VARARGS, doc_QPainter_transform},
    {sipName_translate, meth_QPainter_translate, METH_VARARGS, doc_QPainter_translate},
    {sipName_viewTransformEnabled, meth_QPainter_viewTransformEnabled, METH_VARARGS, doc_QPainter_viewTransformEnabled},
    {sipName_viewport, meth_QPainter_viewport, METH_VARARGS, doc_QPainter_viewport},
    {sipName_window, meth_QPainter_window, METH_VARARGS, doc_QPainter_window},
    {sipName_worldMatrixEnabled, meth_QPainter_worldMatrixEnabled, METH_VARARGS, doc_QPainter_worldMatrixEnabled},
    {sipName_worldTransform, meth_QPainter_worldTransform, METH_VARARGS, doc_QPainter_worldTransform}
};

static sipEnumMemberDef enummembers_QPainter[] = {
    {sipName_Antialiasing, static_cast<int>( ::QPainter::Antialiasing), 217},
    {sipName_CompositionMode_Clear, static_cast<int>( ::QPainter::CompositionMode_Clear), 213},
    {sipName_CompositionMode_ColorBurn, static_cast<int>( ::QPainter::CompositionMode_ColorBurn), 213},
    {sipName_CompositionMode_ColorDodge, static_cast<int>( ::QPainter::CompositionMode_ColorDodge), 213},
    {sipName_CompositionMode_Darken, static_cast<int>( ::QPainter::CompositionMode_Darken), 213},
    {sipName_CompositionMode_Destination, static_cast<int>( ::QPainter::CompositionMode_Destination), 213},
    {sipName_CompositionMode_DestinationAtop, static_cast<int>( ::QPainter::CompositionMode_DestinationAtop), 213},
    {sipName_CompositionMode_DestinationIn, static_cast<int>( ::QPainter::CompositionMode_DestinationIn), 213},
    {sipName_CompositionMode_DestinationOut, static_cast<int>( ::QPainter::CompositionMode_DestinationOut), 213},
    {sipName_CompositionMode_DestinationOver, static_cast<int>( ::QPainter::CompositionMode_DestinationOver), 213},
    {sipName_CompositionMode_Difference, static_cast<int>( ::QPainter::CompositionMode_Difference), 213},
    {sipName_CompositionMode_Exclusion, static_cast<int>( ::QPainter::CompositionMode_Exclusion), 213},
    {sipName_CompositionMode_HardLight, static_cast<int>( ::QPainter::CompositionMode_HardLight), 213},
    {sipName_CompositionMode_Lighten, static_cast<int>( ::QPainter::CompositionMode_Lighten), 213},
    {sipName_CompositionMode_Multiply, static_cast<int>( ::QPainter::CompositionMode_Multiply), 213},
    {sipName_CompositionMode_Overlay, static_cast<int>( ::QPainter::CompositionMode_Overlay), 213},
    {sipName_CompositionMode_Plus, static_cast<int>( ::QPainter::CompositionMode_Plus), 213},
    {sipName_CompositionMode_Screen, static_cast<int>( ::QPainter::CompositionMode_Screen), 213},
    {sipName_CompositionMode_SoftLight, static_cast<int>( ::QPainter::CompositionMode_SoftLight), 213},
    {sipName_CompositionMode_Source, static_cast<int>( ::QPainter::CompositionMode_Source), 213},
    {sipName_CompositionMode_SourceAtop, static_cast<int>( ::QPainter::CompositionMode_SourceAtop), 213},
    {sipName_CompositionMode_SourceIn, static_cast<int>( ::QPainter::CompositionMode_SourceIn), 213},
    {sipName_CompositionMode_SourceOut, static_cast<int>( ::QPainter::CompositionMode_SourceOut), 213},
    {sipName_CompositionMode_SourceOver, static_cast<int>( ::QPainter::CompositionMode_SourceOver), 213},
    {sipName_CompositionMode_Xor, static_cast<int>( ::QPainter::CompositionMode_Xor), 213},
    {sipName_HighQualityAntialiasing, static_cast<int>( ::QPainter::HighQualityAntialiasing), 217},
    {sipName_LosslessImageRendering, static_cast<int>( ::QPainter::LosslessImageRendering), 217},
    {sipName_NonCosmeticDefaultPen, static_cast<int>( ::QPainter::NonCosmeticDefaultPen), 217},
    {sipName_OpaqueHint, static_cast<int>( ::QPainter::OpaqueHint), 215},
    {sipName_Qt4CompatiblePainting, static_cast<int>( ::QPainter::Qt4CompatiblePainting), 217},
    {sipName_RasterOp_ClearDestination, static_cast<int>( ::QPainter::RasterOp_ClearDestination), 213},
    {sipName_RasterOp_NotDestination, static_cast<int>( ::QPainter::RasterOp_NotDestination), 213},
    {sipName_RasterOp_NotSource, static_cast<int>( ::QPainter::RasterOp_NotSource), 213},
    {sipName_RasterOp_NotSourceAndDestination, static_cast<int>( ::QPainter::RasterOp_NotSourceAndDestination), 213},
    {sipName_RasterOp_NotSourceAndNotDestination, static_cast<int>( ::QPainter::RasterOp_NotSourceAndNotDestination), 213},
    {sipName_RasterOp_NotSourceOrDestination, static_cast<int>( ::QPainter::RasterOp_NotSourceOrDestination), 213},
    {sipName_RasterOp_NotSourceOrNotDestination, static_cast<int>( ::QPainter::RasterOp_NotSourceOrNotDestination), 213},
    {sipName_RasterOp_NotSourceXorDestination, static_cast<int>( ::QPainter::RasterOp_NotSourceXorDestination), 213},
    {sipName_RasterOp_SetDestination, static_cast<int>( ::QPainter::RasterOp_SetDestination), 213},
    {sipName_RasterOp_SourceAndDestination, static_cast<int>( ::QPainter::RasterOp_SourceAndDestination), 213},
    {sipName_RasterOp_SourceAndNotDestination, static_cast<int>( ::QPainter::RasterOp_SourceAndNotDestination), 213},
    {sipName_RasterOp_SourceOrDestination, static_cast<int>( ::QPainter::RasterOp_SourceOrDestination), 213},
    {sipName_RasterOp_SourceOrNotDestination, static_cast<int>( ::QPainter::RasterOp_SourceOrNotDestination), 213},
    {sipName_RasterOp_SourceXorDestination, static_cast<int>( ::QPainter::RasterOp_SourceXorDestination), 213},
    {sipName_SmoothPixmapTransform, static_cast<int>( ::QPainter::SmoothPixmapTransform), 217},
    {sipName_TextAntialiasing, static_cast<int>( ::QPainter::TextAntialiasing), 217},
};

PyDoc_STRVAR(doc_QPainter, "\1QPainter()\n"
"QPainter(QPaintDevice)");


static pyqt5ClassPluginDef plugin_QPainter = {
    SIP_NULLPTR,
    0,
    SIP_NULLPTR,
    SIP_NULLPTR
};


sipClassTypeDef sipTypeDef_QtGui_QPainter = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_NONLAZY|SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QPainter,
        SIP_NULLPTR,
        &plugin_QPainter
    },
    {
        sipNameNr_QPainter,
        {0, 0, 1},
        90, methods_QPainter,
        46, enummembers_QPainter,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QPainter,
    -1,
    sipNameNr_sip_simplewrapper,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_QPainter,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QPainter,
    SIP_NULLPTR,
    array_QPainter,
    SIP_NULLPTR,
    release_QPainter,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_QPainter,
    sizeof ( ::QPainter),
};
