/*
 * 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 52 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"

#line 52 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 33 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainter.sip"
#include <qpainter.h>
#line 36 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintdevice.sip"
#include <qpaintdevice.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.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/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qimage.sip"
#include <qimage.h>
#line 45 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qnamespace.sip"
#include <qnamespace.h>
#line 48 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpixmap.sip"
#include <qpixmap.h>
#line 51 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 98 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpoint.sip"
#include <qpoint.h>
#line 54 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 57 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qpoint.sip"
#include <qpoint.h>
#line 60 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpainterpath.sip"
#include <qpainterpath.h>
#line 63 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qrect.sip"
#include <qrect.h>
#line 66 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qline.sip"
#include <qline.h>
#line 69 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 95 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qline.sip"
#include <qline.h>
#line 72 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"
#line 174 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 75 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQPaintEngine.cpp"


class sipQPaintEngine : public  ::QPaintEngine
{
public:
    sipQPaintEngine( ::QPaintEngine::PaintEngineFeatures);
    virtual ~sipQPaintEngine();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
     ::QPaintEngine::Type type() const SIP_OVERRIDE;
    void drawImage(const  ::QRectF&,const  ::QImage&,const  ::QRectF&, ::Qt::ImageConversionFlags) SIP_OVERRIDE;
    void drawTiledPixmap(const  ::QRectF&,const  ::QPixmap&,const  ::QPointF&) SIP_OVERRIDE;
    void drawTextItem(const  ::QPointF&,const  ::QTextItem&) SIP_OVERRIDE;
    void drawPixmap(const  ::QRectF&,const  ::QPixmap&,const  ::QRectF&) SIP_OVERRIDE;
    void drawPolygon(const  ::QPoint*,int, ::QPaintEngine::PolygonDrawMode) SIP_OVERRIDE;
    void drawPolygon(const  ::QPointF*,int, ::QPaintEngine::PolygonDrawMode) SIP_OVERRIDE;
    void drawPoints(const  ::QPoint*,int) SIP_OVERRIDE;
    void drawPoints(const  ::QPointF*,int) SIP_OVERRIDE;
    void drawPath(const  ::QPainterPath&) SIP_OVERRIDE;
    void drawEllipse(const  ::QRect&) SIP_OVERRIDE;
    void drawEllipse(const  ::QRectF&) SIP_OVERRIDE;
    void drawLines(const  ::QLineF*,int) SIP_OVERRIDE;
    void drawLines(const  ::QLine*,int) SIP_OVERRIDE;
    void drawRects(const  ::QRectF*,int) SIP_OVERRIDE;
    void drawRects(const  ::QRect*,int) SIP_OVERRIDE;
    void updateState(const  ::QPaintEngineState&) SIP_OVERRIDE;
    bool end() SIP_OVERRIDE;
    bool begin( ::QPaintDevice*) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipQPaintEngine(const sipQPaintEngine &);
    sipQPaintEngine &operator = (const sipQPaintEngine &);

    char sipPyMethods[19];
};

sipQPaintEngine::sipQPaintEngine( ::QPaintEngine::PaintEngineFeatures a0):  ::QPaintEngine(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQPaintEngine::~sipQPaintEngine()
{
    sipInstanceDestroyedEx(&sipPySelf);
}

 ::QPaintEngine::Type sipQPaintEngine::type() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[0]), const_cast<sipSimpleWrapper **>(&sipPySelf), sipName_QPaintEngine, sipName_type);

    if (!sipMeth)
        return  ::QPaintEngine::X11;

    extern  ::QPaintEngine::Type sipVH_QtGui_74(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_QtGui_74(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

void sipQPaintEngine::drawImage(const  ::QRectF& a0,const  ::QImage& a1,const  ::QRectF& a2, ::Qt::ImageConversionFlags a3)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[1], &sipPySelf, SIP_NULLPTR, sipName_drawImage);

    if (!sipMeth)
    {
         ::QPaintEngine::drawImage(a0,a1,a2,a3);
        return;
    }

    extern void sipVH_QtGui_73(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRectF&,const  ::QImage&,const  ::QRectF&, ::Qt::ImageConversionFlags);

    sipVH_QtGui_73(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2, a3);
}

void sipQPaintEngine::drawTiledPixmap(const  ::QRectF& a0,const  ::QPixmap& a1,const  ::QPointF& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[2], &sipPySelf, SIP_NULLPTR, sipName_drawTiledPixmap);

    if (!sipMeth)
    {
         ::QPaintEngine::drawTiledPixmap(a0,a1,a2);
        return;
    }

    extern void sipVH_QtGui_72(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRectF&,const  ::QPixmap&,const  ::QPointF&);

    sipVH_QtGui_72(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

void sipQPaintEngine::drawTextItem(const  ::QPointF& a0,const  ::QTextItem& a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[3], &sipPySelf, SIP_NULLPTR, sipName_drawTextItem);

    if (!sipMeth)
    {
         ::QPaintEngine::drawTextItem(a0,a1);
        return;
    }

    extern void sipVH_QtGui_71(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPointF&,const  ::QTextItem&);

    sipVH_QtGui_71(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawPixmap(const  ::QRectF& a0,const  ::QPixmap& a1,const  ::QRectF& a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[4], &sipPySelf, sipName_QPaintEngine, sipName_drawPixmap);

    if (!sipMeth)
        return;

    extern void sipVH_QtGui_70(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRectF&,const  ::QPixmap&,const  ::QRectF&);

    sipVH_QtGui_70(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

void sipQPaintEngine::drawPolygon(const  ::QPoint*a0,int a1, ::QPaintEngine::PolygonDrawMode a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[5], &sipPySelf, SIP_NULLPTR, sipName_drawPolygon);

    if (!sipMeth)
    {
         ::QPaintEngine::drawPolygon(a0,a1,a2);
        return;
    }

    extern void sipVH_QtGui_69(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPoint*,int, ::QPaintEngine::PolygonDrawMode);

    sipVH_QtGui_69(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

void sipQPaintEngine::drawPolygon(const  ::QPointF*a0,int a1, ::QPaintEngine::PolygonDrawMode a2)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[6], &sipPySelf, SIP_NULLPTR, sipName_drawPolygon);

    if (!sipMeth)
    {
         ::QPaintEngine::drawPolygon(a0,a1,a2);
        return;
    }

    extern void sipVH_QtGui_68(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPointF*,int, ::QPaintEngine::PolygonDrawMode);

    sipVH_QtGui_68(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1, a2);
}

void sipQPaintEngine::drawPoints(const  ::QPoint*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[7], &sipPySelf, SIP_NULLPTR, sipName_drawPoints);

    if (!sipMeth)
    {
         ::QPaintEngine::drawPoints(a0,a1);
        return;
    }

    extern void sipVH_QtGui_67(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPoint*,int);

    sipVH_QtGui_67(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawPoints(const  ::QPointF*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[8], &sipPySelf, SIP_NULLPTR, sipName_drawPoints);

    if (!sipMeth)
    {
         ::QPaintEngine::drawPoints(a0,a1);
        return;
    }

    extern void sipVH_QtGui_66(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPointF*,int);

    sipVH_QtGui_66(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawPath(const  ::QPainterPath& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[9], &sipPySelf, SIP_NULLPTR, sipName_drawPath);

    if (!sipMeth)
    {
         ::QPaintEngine::drawPath(a0);
        return;
    }

    extern void sipVH_QtGui_65(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPainterPath&);

    sipVH_QtGui_65(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQPaintEngine::drawEllipse(const  ::QRect& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[10], &sipPySelf, SIP_NULLPTR, sipName_drawEllipse);

    if (!sipMeth)
    {
         ::QPaintEngine::drawEllipse(a0);
        return;
    }

    extern void sipVH_QtGui_64(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRect&);

    sipVH_QtGui_64(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQPaintEngine::drawEllipse(const  ::QRectF& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[11], &sipPySelf, SIP_NULLPTR, sipName_drawEllipse);

    if (!sipMeth)
    {
         ::QPaintEngine::drawEllipse(a0);
        return;
    }

    extern void sipVH_QtGui_63(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRectF&);

    sipVH_QtGui_63(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

void sipQPaintEngine::drawLines(const  ::QLineF*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[12], &sipPySelf, SIP_NULLPTR, sipName_drawLines);

    if (!sipMeth)
    {
         ::QPaintEngine::drawLines(a0,a1);
        return;
    }

    extern void sipVH_QtGui_62(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QLineF*,int);

    sipVH_QtGui_62(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawLines(const  ::QLine*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[13], &sipPySelf, SIP_NULLPTR, sipName_drawLines);

    if (!sipMeth)
    {
         ::QPaintEngine::drawLines(a0,a1);
        return;
    }

    extern void sipVH_QtGui_61(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QLine*,int);

    sipVH_QtGui_61(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawRects(const  ::QRectF*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[14], &sipPySelf, SIP_NULLPTR, sipName_drawRects);

    if (!sipMeth)
    {
         ::QPaintEngine::drawRects(a0,a1);
        return;
    }

    extern void sipVH_QtGui_60(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRectF*,int);

    sipVH_QtGui_60(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::drawRects(const  ::QRect*a0,int a1)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[15], &sipPySelf, SIP_NULLPTR, sipName_drawRects);

    if (!sipMeth)
    {
         ::QPaintEngine::drawRects(a0,a1);
        return;
    }

    extern void sipVH_QtGui_59(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QRect*,int);

    sipVH_QtGui_59(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0, a1);
}

void sipQPaintEngine::updateState(const  ::QPaintEngineState& a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[16], &sipPySelf, sipName_QPaintEngine, sipName_updateState);

    if (!sipMeth)
        return;

    extern void sipVH_QtGui_58(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::QPaintEngineState&);

    sipVH_QtGui_58(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}

bool sipQPaintEngine::end()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[17], &sipPySelf, sipName_QPaintEngine, sipName_end);

    if (!sipMeth)
        return 0;

    extern bool sipVH_QtGui_28(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH_QtGui_28(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth);
}

bool sipQPaintEngine::begin( ::QPaintDevice*a0)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[18], &sipPySelf, sipName_QPaintEngine, sipName_begin);

    if (!sipMeth)
        return 0;

    extern bool sipVH_QtGui_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QPaintDevice*);

    return sipVH_QtGui_57(sipGILState, sipImportedVirtErrorHandlers_QtGui_QtCore[0].iveh_handler, sipPySelf, sipMeth, a0);
}


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

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

    {
        const  ::QPaintEngine *sipCpp;

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

            sipRes = sipCpp->isActive();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_isActive, doc_QPaintEngine_isActive);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_setActive, "setActive(self, bool)");

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

    {
        bool a0;
         ::QPaintEngine *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_setActive, doc_QPaintEngine_setActive);

    return SIP_NULLPTR;
}


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

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

    {
         ::QPaintDevice* a0;
         ::QPaintEngine *sipCpp;

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QPaintEngine, sipName_begin);
                return SIP_NULLPTR;
            }

            sipRes = sipCpp->begin(a0);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_begin, doc_QPaintEngine_begin);

    return SIP_NULLPTR;
}


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

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

    {
         ::QPaintEngine *sipCpp;

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QPaintEngine, sipName_end);
                return SIP_NULLPTR;
            }

            sipRes = sipCpp->end();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_end, doc_QPaintEngine_end);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_updateState, "updateState(self, QPaintEngineState)");

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

    {
        const  ::QPaintEngineState* a0;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPaintEngineState, &a0))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QPaintEngine, sipName_updateState);
                return SIP_NULLPTR;
            }

            sipCpp->updateState(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_updateState, doc_QPaintEngine_updateState);

    return SIP_NULLPTR;
}


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

extern "C" {static PyObject *meth_QPaintEngine_drawRects(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawRects(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawRects, doc_QPaintEngine_drawRects);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawLines, "drawLines(self, PyQt5.sip.array[QLine])\n"
"drawLines(self, PyQt5.sip.array[QLineF])");

extern "C" {static PyObject *meth_QPaintEngine_drawLines(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawLines(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawLines, doc_QPaintEngine_drawLines);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawEllipse, "drawEllipse(self, QRectF)\n"
"drawEllipse(self, QRect)");

extern "C" {static PyObject *meth_QPaintEngine_drawEllipse(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawEllipse(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QRectF, &a0))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawEllipse(*a0) : sipCpp->drawEllipse(*a0));

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QRect, &a0))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawEllipse(*a0) : sipCpp->drawEllipse(*a0));

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawEllipse, doc_QPaintEngine_drawEllipse);

    return SIP_NULLPTR;
}


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

extern "C" {static PyObject *meth_QPaintEngine_drawPath(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawPath(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPainterPath, &a0))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawPath(*a0) : sipCpp->drawPath(*a0));

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawPath, doc_QPaintEngine_drawPath);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawPoints, "drawPoints(self, PyQt5.sip.array[Union[QPointF, QPoint]])\n"
"drawPoints(self, PyQt5.sip.array[QPoint])");

extern "C" {static PyObject *meth_QPaintEngine_drawPoints(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawPoints(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawPoints, doc_QPaintEngine_drawPoints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawPolygon, "drawPolygon(self, PyQt5.sip.array[Union[QPointF, QPoint]], QPaintEngine.PolygonDrawMode)\n"
"drawPolygon(self, PyQt5.sip.array[QPoint], QPaintEngine.PolygonDrawMode)");

extern "C" {static PyObject *meth_QPaintEngine_drawPolygon(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawPolygon(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QPointF* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPaintEngine::PolygonDrawMode a2;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>E", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPointF, &a0, &a1, &a0IsTemp, sipType_QPaintEngine_PolygonDrawMode, &a2))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawPolygon(a0,(int)a1,a2) : sipCpp->drawPolygon(a0,(int)a1,a2));
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const  ::QPoint* a0;
        int a0IsTemp = 0;
        Py_ssize_t a1;
         ::QPaintEngine::PolygonDrawMode a2;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B>E", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPoint, &a0, &a1, &a0IsTemp, sipType_QPaintEngine_PolygonDrawMode, &a2))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawPolygon(a0,(int)a1,a2) : sipCpp->drawPolygon(a0,(int)a1,a2));
            if (a0IsTemp)
                delete[] a0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawPolygon, doc_QPaintEngine_drawPolygon);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawPixmap, "drawPixmap(self, QRectF, QPixmap, QRectF)");

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

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

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9J9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QRectF, &a0, sipType_QPixmap, &a1, sipType_QRectF, &a2))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QPaintEngine, sipName_drawPixmap);
                return SIP_NULLPTR;
            }

            sipCpp->drawPixmap(*a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawPixmap, doc_QPaintEngine_drawPixmap);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawTextItem, "drawTextItem(self, Union[QPointF, QPoint], QTextItem)");

extern "C" {static PyObject *meth_QPaintEngine_drawTextItem(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawTextItem(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QPointF* a0;
        int a0State = 0;
        const  ::QTextItem* a1;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1J9", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPointF, &a0, &a0State, sipType_QTextItem, &a1))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawTextItem(*a0,*a1) : sipCpp->drawTextItem(*a0,*a1));
            sipReleaseType(const_cast< ::QPointF *>(a0), sipType_QPointF, a0State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawTextItem, doc_QPaintEngine_drawTextItem);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawTiledPixmap, "drawTiledPixmap(self, QRectF, QPixmap, Union[QPointF, QPoint])");

extern "C" {static PyObject *meth_QPaintEngine_drawTiledPixmap(PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawTiledPixmap(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QRectF* a0;
        const  ::QPixmap* a1;
        const  ::QPointF* a2;
        int a2State = 0;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9J9J1", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QRectF, &a0, sipType_QPixmap, &a1, sipType_QPointF, &a2, &a2State))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawTiledPixmap(*a0,*a1,*a2) : sipCpp->drawTiledPixmap(*a0,*a1,*a2));
            sipReleaseType(const_cast< ::QPointF *>(a2), sipType_QPointF, a2State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawTiledPixmap, doc_QPaintEngine_drawTiledPixmap);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_drawImage, "drawImage(self, QRectF, QImage, QRectF, flags: Union[Qt.ImageConversionFlags, Qt.ImageConversionFlag] = Qt.AutoColor)");

extern "C" {static PyObject *meth_QPaintEngine_drawImage(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_QPaintEngine_drawImage(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    bool sipSelfWasArg = (!sipSelf || sipIsDerivedClass((sipSimpleWrapper *)sipSelf));

    {
        const  ::QRectF* a0;
        const  ::QImage* a1;
        const  ::QRectF* a2;
         ::Qt::ImageConversionFlags a3def = Qt::AutoColor;
         ::Qt::ImageConversionFlags* a3 = &a3def;
        int a3State = 0;
         ::QPaintEngine *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_QPaintEngine, &sipCpp, sipType_QRectF, &a0, sipType_QImage, &a1, sipType_QRectF, &a2, sipType_Qt_ImageConversionFlags, &a3, &a3State))
        {
            (sipSelfWasArg ? sipCpp-> ::QPaintEngine::drawImage(*a0,*a1,*a2,*a3) : sipCpp->drawImage(*a0,*a1,*a2,*a3));
            sipReleaseType(a3, sipType_Qt_ImageConversionFlags, a3State);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_drawImage, doc_QPaintEngine_drawImage);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_setPaintDevice, "setPaintDevice(self, QPaintDevice)");

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

    {
         ::QPaintDevice* a0;
         ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ8", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPaintDevice, &a0))
        {
            sipCpp->setPaintDevice(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_setPaintDevice, doc_QPaintEngine_setPaintDevice);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_paintDevice, "paintDevice(self) -> QPaintDevice");

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

    {
        const  ::QPaintEngine *sipCpp;

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

            sipRes = sipCpp->paintDevice();

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

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_paintDevice, doc_QPaintEngine_paintDevice);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_type, "type(self) -> QPaintEngine.Type");

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

    {
        const  ::QPaintEngine *sipCpp;

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_QPaintEngine, sipName_type);
                return SIP_NULLPTR;
            }

            sipRes = sipCpp->type();

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

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_type, doc_QPaintEngine_type);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_painter, "painter(self) -> QPainter");

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

    {
        const  ::QPaintEngine *sipCpp;

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

            sipRes = sipCpp->painter();

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

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_painter, doc_QPaintEngine_painter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QPaintEngine_hasFeature, "hasFeature(self, Union[QPaintEngine.PaintEngineFeatures, QPaintEngine.PaintEngineFeature]) -> bool");

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

    {
         ::QPaintEngine::PaintEngineFeatures* a0;
        int a0State = 0;
        const  ::QPaintEngine *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ1", &sipSelf, sipType_QPaintEngine, &sipCpp, sipType_QPaintEngine_PaintEngineFeatures, &a0, &a0State))
        {
            bool sipRes;

            sipRes = sipCpp->hasFeature(*a0);
            sipReleaseType(a0, sipType_QPaintEngine_PaintEngineFeatures, a0State);

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QPaintEngine, sipName_hasFeature, doc_QPaintEngine_hasFeature);

    return SIP_NULLPTR;
}


/* Call the instance's destructor. */
extern "C" {static void release_QPaintEngine(void *, int);}
static void release_QPaintEngine(void *sipCppV, int sipState)
{
    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipQPaintEngine *>(sipCppV);
    else
        delete reinterpret_cast< ::QPaintEngine *>(sipCppV);
}


extern "C" {static void dealloc_QPaintEngine(sipSimpleWrapper *);}
static void dealloc_QPaintEngine(sipSimpleWrapper *sipSelf)
{
    if (sipIsDerivedClass(sipSelf))
        reinterpret_cast<sipQPaintEngine *>(sipGetAddress(sipSelf))->sipPySelf = SIP_NULLPTR;

    if (sipIsOwnedByPython(sipSelf))
    {
        release_QPaintEngine(sipGetAddress(sipSelf), sipIsDerivedClass(sipSelf));
    }
}


extern "C" {static void *init_type_QPaintEngine(sipSimpleWrapper *, PyObject *, PyObject *, PyObject **, PyObject **, PyObject **);}
static void *init_type_QPaintEngine(sipSimpleWrapper *sipSelf, PyObject *sipArgs, PyObject *sipKwds, PyObject **sipUnused, PyObject **, PyObject **sipParseErr)
{
    sipQPaintEngine *sipCpp = SIP_NULLPTR;

    {
         ::QPaintEngine::PaintEngineFeatures a0def = QPaintEngine::PaintEngineFeatures();
         ::QPaintEngine::PaintEngineFeatures* a0 = &a0def;
        int a0State = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|J1", sipType_QPaintEngine_PaintEngineFeatures, &a0, &a0State))
        {
            sipCpp = new sipQPaintEngine(*a0);
            sipReleaseType(a0, sipType_QPaintEngine_PaintEngineFeatures, a0State);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_QPaintEngine[] = {
    {sipName_begin, meth_QPaintEngine_begin, METH_VARARGS, doc_QPaintEngine_begin},
    {sipName_drawEllipse, meth_QPaintEngine_drawEllipse, METH_VARARGS, doc_QPaintEngine_drawEllipse},
    {sipName_drawImage, SIP_MLMETH_CAST(meth_QPaintEngine_drawImage), METH_VARARGS|METH_KEYWORDS, doc_QPaintEngine_drawImage},
    {sipName_drawLines, meth_QPaintEngine_drawLines, METH_VARARGS, doc_QPaintEngine_drawLines},
    {sipName_drawPath, meth_QPaintEngine_drawPath, METH_VARARGS, doc_QPaintEngine_drawPath},
    {sipName_drawPixmap, meth_QPaintEngine_drawPixmap, METH_VARARGS, doc_QPaintEngine_drawPixmap},
    {sipName_drawPoints, meth_QPaintEngine_drawPoints, METH_VARARGS, doc_QPaintEngine_drawPoints},
    {sipName_drawPolygon, meth_QPaintEngine_drawPolygon, METH_VARARGS, doc_QPaintEngine_drawPolygon},
    {sipName_drawRects, meth_QPaintEngine_drawRects, METH_VARARGS, doc_QPaintEngine_drawRects},
    {sipName_drawTextItem, meth_QPaintEngine_drawTextItem, METH_VARARGS, doc_QPaintEngine_drawTextItem},
    {sipName_drawTiledPixmap, meth_QPaintEngine_drawTiledPixmap, METH_VARARGS, doc_QPaintEngine_drawTiledPixmap},
    {sipName_end, meth_QPaintEngine_end, METH_VARARGS, doc_QPaintEngine_end},
    {sipName_hasFeature, meth_QPaintEngine_hasFeature, METH_VARARGS, doc_QPaintEngine_hasFeature},
    {sipName_isActive, meth_QPaintEngine_isActive, METH_VARARGS, doc_QPaintEngine_isActive},
    {sipName_paintDevice, meth_QPaintEngine_paintDevice, METH_VARARGS, doc_QPaintEngine_paintDevice},
    {sipName_painter, meth_QPaintEngine_painter, METH_VARARGS, doc_QPaintEngine_painter},
    {sipName_setActive, meth_QPaintEngine_setActive, METH_VARARGS, doc_QPaintEngine_setActive},
    {sipName_setPaintDevice, meth_QPaintEngine_setPaintDevice, METH_VARARGS, doc_QPaintEngine_setPaintDevice},
    {sipName_type, meth_QPaintEngine_type, METH_VARARGS, doc_QPaintEngine_type},
    {sipName_updateState, meth_QPaintEngine_updateState, METH_VARARGS, doc_QPaintEngine_updateState}
};

static sipEnumMemberDef enummembers_QPaintEngine[] = {
    {sipName_AllDirty, static_cast<int>( ::QPaintEngine::AllDirty), 204},
    {sipName_AllFeatures, static_cast<int>( ::QPaintEngine::AllFeatures), 206},
    {sipName_AlphaBlend, static_cast<int>( ::QPaintEngine::AlphaBlend), 206},
    {sipName_Antialiasing, static_cast<int>( ::QPaintEngine::Antialiasing), 206},
    {sipName_BlendModes, static_cast<int>( ::QPaintEngine::BlendModes), 206},
    {sipName_Blitter, static_cast<int>( ::QPaintEngine::Blitter), 209},
    {sipName_BrushStroke, static_cast<int>( ::QPaintEngine::BrushStroke), 206},
    {sipName_ConicalGradientFill, static_cast<int>( ::QPaintEngine::ConicalGradientFill), 206},
    {sipName_ConstantOpacity, static_cast<int>( ::QPaintEngine::ConstantOpacity), 206},
    {sipName_ConvexMode, static_cast<int>( ::QPaintEngine::ConvexMode), 208},
    {sipName_CoreGraphics, static_cast<int>( ::QPaintEngine::CoreGraphics), 209},
    {sipName_Direct2D, static_cast<int>( ::QPaintEngine::Direct2D), 209},
    {sipName_Direct3D, static_cast<int>( ::QPaintEngine::Direct3D), 209},
    {sipName_DirtyBackground, static_cast<int>( ::QPaintEngine::DirtyBackground), 204},
    {sipName_DirtyBackgroundMode, static_cast<int>( ::QPaintEngine::DirtyBackgroundMode), 204},
    {sipName_DirtyBrush, static_cast<int>( ::QPaintEngine::DirtyBrush), 204},
    {sipName_DirtyBrushOrigin, static_cast<int>( ::QPaintEngine::DirtyBrushOrigin), 204},
    {sipName_DirtyClipEnabled, static_cast<int>( ::QPaintEngine::DirtyClipEnabled), 204},
    {sipName_DirtyClipPath, static_cast<int>( ::QPaintEngine::DirtyClipPath), 204},
    {sipName_DirtyClipRegion, static_cast<int>( ::QPaintEngine::DirtyClipRegion), 204},
    {sipName_DirtyCompositionMode, static_cast<int>( ::QPaintEngine::DirtyCompositionMode), 204},
    {sipName_DirtyFont, static_cast<int>( ::QPaintEngine::DirtyFont), 204},
    {sipName_DirtyHints, static_cast<int>( ::QPaintEngine::DirtyHints), 204},
    {sipName_DirtyOpacity, static_cast<int>( ::QPaintEngine::DirtyOpacity), 204},
    {sipName_DirtyPen, static_cast<int>( ::QPaintEngine::DirtyPen), 204},
    {sipName_DirtyTransform, static_cast<int>( ::QPaintEngine::DirtyTransform), 204},
    {sipName_LinearGradientFill, static_cast<int>( ::QPaintEngine::LinearGradientFill), 206},
    {sipName_MacPrinter, static_cast<int>( ::QPaintEngine::MacPrinter), 209},
    {sipName_MaskedBrush, static_cast<int>( ::QPaintEngine::MaskedBrush), 206},
    {sipName_MaxUser, static_cast<int>( ::QPaintEngine::MaxUser), 209},
    {sipName_ObjectBoundingModeGradients, static_cast<int>( ::QPaintEngine::ObjectBoundingModeGradients), 206},
    {sipName_OddEvenMode, static_cast<int>( ::QPaintEngine::OddEvenMode), 208},
    {sipName_OpenGL, static_cast<int>( ::QPaintEngine::OpenGL), 209},
    {sipName_OpenGL2, static_cast<int>( ::QPaintEngine::OpenGL2), 209},
    {sipName_OpenVG, static_cast<int>( ::QPaintEngine::OpenVG), 209},
    {sipName_PaintBuffer, static_cast<int>( ::QPaintEngine::PaintBuffer), 209},
    {sipName_PaintOutsidePaintEvent, static_cast<int>( ::QPaintEngine::PaintOutsidePaintEvent), 206},
    {sipName_PainterPaths, static_cast<int>( ::QPaintEngine::PainterPaths), 206},
    {sipName_PatternBrush, static_cast<int>( ::QPaintEngine::PatternBrush), 206},
    {sipName_PatternTransform, static_cast<int>( ::QPaintEngine::PatternTransform), 206},
    {sipName_Pdf, static_cast<int>( ::QPaintEngine::Pdf), 209},
    {sipName_PerspectiveTransform, static_cast<int>( ::QPaintEngine::PerspectiveTransform), 206},
    {sipName_Picture, static_cast<int>( ::QPaintEngine::Picture), 209},
    {sipName_PixmapTransform, static_cast<int>( ::QPaintEngine::PixmapTransform), 206},
    {sipName_PolylineMode, static_cast<int>( ::QPaintEngine::PolylineMode), 208},
    {sipName_PorterDuff, static_cast<int>( ::QPaintEngine::PorterDuff), 206},
    {sipName_PostScript, static_cast<int>( ::QPaintEngine::PostScript), 209},
    {sipName_PrimitiveTransform, static_cast<int>( ::QPaintEngine::PrimitiveTransform), 206},
    {sipName_QWindowSystem, static_cast<int>( ::QPaintEngine::QWindowSystem), 209},
    {sipName_QuickDraw, static_cast<int>( ::QPaintEngine::QuickDraw), 209},
    {sipName_RadialGradientFill, static_cast<int>( ::QPaintEngine::RadialGradientFill), 206},
    {sipName_Raster, static_cast<int>( ::QPaintEngine::Raster), 209},
    {sipName_RasterOpModes, static_cast<int>( ::QPaintEngine::RasterOpModes), 206},
    {sipName_SVG, static_cast<int>( ::QPaintEngine::SVG), 209},
    {sipName_User, static_cast<int>( ::QPaintEngine::User), 209},
    {sipName_WindingMode, static_cast<int>( ::QPaintEngine::WindingMode), 208},
    {sipName_Windows, static_cast<int>( ::QPaintEngine::Windows), 209},
    {sipName_X11, static_cast<int>( ::QPaintEngine::X11), 209},
};

PyDoc_STRVAR(doc_QPaintEngine, "\1QPaintEngine(features: Union[QPaintEngine.PaintEngineFeatures, QPaintEngine.PaintEngineFeature] = QPaintEngine.PaintEngineFeatures())");


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


sipClassTypeDef sipTypeDef_QtGui_QPaintEngine = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QPaintEngine,
        SIP_NULLPTR,
        &plugin_QPaintEngine
    },
    {
        sipNameNr_QPaintEngine,
        {0, 0, 1},
        20, methods_QPaintEngine,
        58, enummembers_QPaintEngine,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QPaintEngine,
    -1,
    sipNameNr_sip_simplewrapper,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_QPaintEngine,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QPaintEngine,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_QPaintEngine,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof ( ::QPaintEngine),
};
