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

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qsize.sip"
#include <qsize.h>
#line 33 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQOpenGLPaintDevice.cpp"
#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintdevice.sip"
#include <qpaintdevice.h>
#line 36 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQOpenGLPaintDevice.cpp"
#line 46 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qopenglcontext.sip"
#include <qopenglcontext.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQOpenGLPaintDevice.cpp"
#line 52 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtGui/qpaintengine.sip"
#include <qpaintengine.h>
#line 42 "/build/pyqt5/src/PyQt5-5.15.7/build/QtGui/sipQtGuiQOpenGLPaintDevice.cpp"


class sipQOpenGLPaintDevice : public  ::QOpenGLPaintDevice
{
public:
    sipQOpenGLPaintDevice();
    sipQOpenGLPaintDevice(const  ::QSize&);
    sipQOpenGLPaintDevice(int,int);
    virtual ~sipQOpenGLPaintDevice();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void ensureActiveTarget() SIP_OVERRIDE;
     ::QPaintEngine* paintEngine() const SIP_OVERRIDE;
    int metric( ::QPaintDevice::PaintDeviceMetric) const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[3];
};

sipQOpenGLPaintDevice::sipQOpenGLPaintDevice():  ::QOpenGLPaintDevice(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQOpenGLPaintDevice::sipQOpenGLPaintDevice(const  ::QSize& a0):  ::QOpenGLPaintDevice(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipQOpenGLPaintDevice::sipQOpenGLPaintDevice(int a0,int a1):  ::QOpenGLPaintDevice(a0,a1), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

void sipQOpenGLPaintDevice::ensureActiveTarget()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[0], &sipPySelf, SIP_NULLPTR, sipName_ensureActiveTarget);

    if (!sipMeth)
    {
         ::QOpenGLPaintDevice::ensureActiveTarget();
        return;
    }

    extern void sipVH_QtGui_39(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

 ::QPaintEngine* sipQOpenGLPaintDevice::paintEngine() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[1]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_paintEngine);

    if (!sipMeth)
        return  ::QOpenGLPaintDevice::paintEngine();

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

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

int sipQOpenGLPaintDevice::metric( ::QPaintDevice::PaintDeviceMetric a0) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[2]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_metric);

    if (!sipMeth)
        return  ::QOpenGLPaintDevice::metric(a0);

    extern int sipVH_QtGui_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::QPaintDevice::PaintDeviceMetric);

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


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

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = (sipSelfWasArg ? sipCpp-> ::QOpenGLPaintDevice::paintEngine() : sipCpp->paintEngine());

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

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_paintEngine, doc_QOpenGLPaintDevice_paintEngine);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_context, "context(self) -> QOpenGLContext");

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = sipCpp->context();

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

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_context, doc_QOpenGLPaintDevice_context);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_size, "size(self) -> QSize");

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = new  ::QSize(sipCpp->size());

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

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_size, doc_QOpenGLPaintDevice_size);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_setSize, "setSize(self, QSize)");

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

    {
        const  ::QSize* a0;
         ::QOpenGLPaintDevice *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BJ9", &sipSelf, sipType_QOpenGLPaintDevice, &sipCpp, sipType_QSize, &a0))
        {
            sipCpp->setSize(*a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_setSize, doc_QOpenGLPaintDevice_setSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_dotsPerMeterX, "dotsPerMeterX(self) -> float");

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = sipCpp->dotsPerMeterX();

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_dotsPerMeterX, doc_QOpenGLPaintDevice_dotsPerMeterX);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_dotsPerMeterY, "dotsPerMeterY(self) -> float");

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = sipCpp->dotsPerMeterY();

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_dotsPerMeterY, doc_QOpenGLPaintDevice_dotsPerMeterY);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_setDotsPerMeterX, "setDotsPerMeterX(self, float)");

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

    {
         ::qreal a0;
         ::QOpenGLPaintDevice *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_setDotsPerMeterX, doc_QOpenGLPaintDevice_setDotsPerMeterX);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_setDotsPerMeterY, "setDotsPerMeterY(self, float)");

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

    {
         ::qreal a0;
         ::QOpenGLPaintDevice *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_setDotsPerMeterY, doc_QOpenGLPaintDevice_setDotsPerMeterY);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_setPaintFlipped, "setPaintFlipped(self, bool)");

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

    {
        bool a0;
         ::QOpenGLPaintDevice *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_setPaintFlipped, doc_QOpenGLPaintDevice_setPaintFlipped);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_paintFlipped, "paintFlipped(self) -> bool");

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

    {
        const  ::QOpenGLPaintDevice *sipCpp;

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

            sipRes = sipCpp->paintFlipped();

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_paintFlipped, doc_QOpenGLPaintDevice_paintFlipped);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_ensureActiveTarget, "ensureActiveTarget(self)");

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

    {
         ::QOpenGLPaintDevice *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QOpenGLPaintDevice, &sipCpp))
        {
            (sipSelfWasArg ? sipCpp-> ::QOpenGLPaintDevice::ensureActiveTarget() : sipCpp->ensureActiveTarget());

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_ensureActiveTarget, doc_QOpenGLPaintDevice_ensureActiveTarget);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_setDevicePixelRatio, "setDevicePixelRatio(self, float)");

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

    {
         ::qreal a0;
         ::QOpenGLPaintDevice *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_setDevicePixelRatio, doc_QOpenGLPaintDevice_setDevicePixelRatio);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QOpenGLPaintDevice_metric, "metric(self, QPaintDevice.PaintDeviceMetric) -> int");

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

    {
         ::QPaintDevice::PaintDeviceMetric a0;
        const  ::QOpenGLPaintDevice *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "pE", &sipSelf, sipType_QOpenGLPaintDevice, &sipCpp, sipType_QPaintDevice_PaintDeviceMetric, &a0))
        {
            int sipRes;

            sipRes = (sipSelfWasArg ? sipCpp-> ::QOpenGLPaintDevice::metric(a0) : sipCpp->metric(a0));

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QOpenGLPaintDevice, sipName_metric, doc_QOpenGLPaintDevice_metric);

    return SIP_NULLPTR;
}


/* Cast a pointer to a type somewhere in its inheritance hierarchy. */
extern "C" {static void *cast_QOpenGLPaintDevice(void *, const sipTypeDef *);}
static void *cast_QOpenGLPaintDevice(void *sipCppV, const sipTypeDef *targetType)
{
     ::QOpenGLPaintDevice *sipCpp = reinterpret_cast< ::QOpenGLPaintDevice *>(sipCppV);

    if (targetType == sipType_QOpenGLPaintDevice)
        return sipCppV;

    if (targetType == sipType_QPaintDevice)
        return static_cast< ::QPaintDevice *>(sipCpp);

    return SIP_NULLPTR;
}


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


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


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


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

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


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

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const  ::QSize* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J9", sipType_QSize, &a0))
        {
            sipCpp = new sipQOpenGLPaintDevice(*a0);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        int a0;
        int a1;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "ii", &a0, &a1))
        {
            sipCpp = new sipQOpenGLPaintDevice(a0,a1);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


/* Define this type's super-types. */
static sipEncodedTypeDef supers_QOpenGLPaintDevice[] = {{200, 255, 1}};


static PyMethodDef methods_QOpenGLPaintDevice[] = {
    {sipName_context, meth_QOpenGLPaintDevice_context, METH_VARARGS, doc_QOpenGLPaintDevice_context},
    {sipName_dotsPerMeterX, meth_QOpenGLPaintDevice_dotsPerMeterX, METH_VARARGS, doc_QOpenGLPaintDevice_dotsPerMeterX},
    {sipName_dotsPerMeterY, meth_QOpenGLPaintDevice_dotsPerMeterY, METH_VARARGS, doc_QOpenGLPaintDevice_dotsPerMeterY},
    {sipName_ensureActiveTarget, meth_QOpenGLPaintDevice_ensureActiveTarget, METH_VARARGS, doc_QOpenGLPaintDevice_ensureActiveTarget},
    {sipName_metric, meth_QOpenGLPaintDevice_metric, METH_VARARGS, doc_QOpenGLPaintDevice_metric},
    {sipName_paintEngine, meth_QOpenGLPaintDevice_paintEngine, METH_VARARGS, doc_QOpenGLPaintDevice_paintEngine},
    {sipName_paintFlipped, meth_QOpenGLPaintDevice_paintFlipped, METH_VARARGS, doc_QOpenGLPaintDevice_paintFlipped},
    {sipName_setDevicePixelRatio, meth_QOpenGLPaintDevice_setDevicePixelRatio, METH_VARARGS, doc_QOpenGLPaintDevice_setDevicePixelRatio},
    {sipName_setDotsPerMeterX, meth_QOpenGLPaintDevice_setDotsPerMeterX, METH_VARARGS, doc_QOpenGLPaintDevice_setDotsPerMeterX},
    {sipName_setDotsPerMeterY, meth_QOpenGLPaintDevice_setDotsPerMeterY, METH_VARARGS, doc_QOpenGLPaintDevice_setDotsPerMeterY},
    {sipName_setPaintFlipped, meth_QOpenGLPaintDevice_setPaintFlipped, METH_VARARGS, doc_QOpenGLPaintDevice_setPaintFlipped},
    {sipName_setSize, meth_QOpenGLPaintDevice_setSize, METH_VARARGS, doc_QOpenGLPaintDevice_setSize},
    {sipName_size, meth_QOpenGLPaintDevice_size, METH_VARARGS, doc_QOpenGLPaintDevice_size}
};

PyDoc_STRVAR(doc_QOpenGLPaintDevice, "\1QOpenGLPaintDevice()\n"
"QOpenGLPaintDevice(QSize)\n"
"QOpenGLPaintDevice(int, int)");


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


sipClassTypeDef sipTypeDef_QtGui_QOpenGLPaintDevice = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QOpenGLPaintDevice,
        SIP_NULLPTR,
        &plugin_QOpenGLPaintDevice
    },
    {
        sipNameNr_QOpenGLPaintDevice,
        {0, 0, 1},
        13, methods_QOpenGLPaintDevice,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QOpenGLPaintDevice,
    -1,
    -1,
    supers_QOpenGLPaintDevice,
    SIP_NULLPTR,
    init_type_QOpenGLPaintDevice,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QOpenGLPaintDevice,
    SIP_NULLPTR,
    array_QOpenGLPaintDevice,
    SIP_NULLPTR,
    release_QOpenGLPaintDevice,
    cast_QOpenGLPaintDevice,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_QOpenGLPaintDevice,
    sizeof ( ::QOpenGLPaintDevice),
};
