/*
 * 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 "sipAPIQtQuick.h"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
#include <qsggeometry.h>
#line 29 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

#line 26 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
#include <qsggeometry.h>
#line 74 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
#include <qsggeometry.h>
#include <QVector>
#line 36 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"
#line 164 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtCore/qrect.sip"
#include <qrect.h>
#line 39 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"


class sipQSGGeometry : public  ::QSGGeometry
{
public:
    sipQSGGeometry(const  ::QSGGeometry::AttributeSet&,int,int,int);
    ~sipQSGGeometry();

public:
    sipSimpleWrapper *sipPySelf;

private:
    sipQSGGeometry(const sipQSGGeometry &);
    sipQSGGeometry &operator = (const sipQSGGeometry &);
};

sipQSGGeometry::sipQSGGeometry(const  ::QSGGeometry::AttributeSet& a0,int a1,int a2,int a3):  ::QSGGeometry(a0,a1,a2,a3), sipPySelf(SIP_NULLPTR)
{
}

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


PyDoc_STRVAR(doc_QSGGeometry_defaultAttributes_Point2D, "defaultAttributes_Point2D() -> QSGGeometry.AttributeSet");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            const  ::QSGGeometry::AttributeSet*sipRes;

            sipRes = & ::QSGGeometry::defaultAttributes_Point2D();

            return sipConvertFromType(const_cast< ::QSGGeometry::AttributeSet *>(sipRes),sipType_QSGGeometry_AttributeSet,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_defaultAttributes_Point2D, doc_QSGGeometry_defaultAttributes_Point2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_defaultAttributes_TexturedPoint2D, "defaultAttributes_TexturedPoint2D() -> QSGGeometry.AttributeSet");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            const  ::QSGGeometry::AttributeSet*sipRes;

            sipRes = & ::QSGGeometry::defaultAttributes_TexturedPoint2D();

            return sipConvertFromType(const_cast< ::QSGGeometry::AttributeSet *>(sipRes),sipType_QSGGeometry_AttributeSet,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_defaultAttributes_TexturedPoint2D, doc_QSGGeometry_defaultAttributes_TexturedPoint2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_defaultAttributes_ColoredPoint2D, "defaultAttributes_ColoredPoint2D() -> QSGGeometry.AttributeSet");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            const  ::QSGGeometry::AttributeSet*sipRes;

            sipRes = & ::QSGGeometry::defaultAttributes_ColoredPoint2D();

            return sipConvertFromType(const_cast< ::QSGGeometry::AttributeSet *>(sipRes),sipType_QSGGeometry_AttributeSet,SIP_NULLPTR);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_defaultAttributes_ColoredPoint2D, doc_QSGGeometry_defaultAttributes_ColoredPoint2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_setDrawingMode, "setDrawingMode(self, int)");

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

    {
        uint a0;
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bu", &sipSelf, sipType_QSGGeometry, &sipCpp, &a0))
        {
            sipCpp->setDrawingMode(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_setDrawingMode, doc_QSGGeometry_setDrawingMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_drawingMode, "drawingMode(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            uint sipRes;

            sipRes = sipCpp->drawingMode();

            return PyLong_FromUnsignedLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_drawingMode, doc_QSGGeometry_drawingMode);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_allocate, "allocate(self, int, indexCount: int = 0)");

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

    {
        int a0;
        int a1 = 0;
         ::QSGGeometry *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi|i", &sipSelf, sipType_QSGGeometry, &sipCpp, &a0, &a1))
        {
            sipCpp->allocate(a0,a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_allocate, doc_QSGGeometry_allocate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexCount, "vertexCount(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->vertexCount();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexCount, doc_QSGGeometry_vertexCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexData, "vertexData(self) -> PyQt5.sip.voidptr");

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

    {
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            void*sipRes;

            sipRes = sipCpp->vertexData();

            return sipConvertFromVoidPtr(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexData, doc_QSGGeometry_vertexData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexType, "indexType(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->indexType();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexType, doc_QSGGeometry_indexType);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexCount, "indexCount(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->indexCount();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexCount, doc_QSGGeometry_indexCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexData, "indexData(self) -> PyQt5.sip.voidptr");

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

    {
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            void*sipRes;

            sipRes = sipCpp->indexData();

            return sipConvertFromVoidPtr(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexData, doc_QSGGeometry_indexData);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_attributeCount, "attributeCount(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->attributeCount();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_attributeCount, doc_QSGGeometry_attributeCount);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_attributes, "attributes(self) -> PyQt5.sip.array[QSGGeometry.Attribute]");

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

    {
        const  ::QSGGeometry *sipCpp;

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

#line 298 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToTypedArray((void *)sipCpp->attributes(),
                sipType_QSGGeometry_Attribute, "iiiI", sizeof (QSGGeometry::Attribute),
                sipCpp->attributeCount(), SIP_READ_ONLY);
#line 409 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_attributes, doc_QSGGeometry_attributes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_sizeOfVertex, "sizeOfVertex(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->sizeOfVertex();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_sizeOfVertex, doc_QSGGeometry_sizeOfVertex);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_updateRectGeometry, "updateRectGeometry(QSGGeometry, QRectF)");

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

    {
         ::QSGGeometry* a0;
        const  ::QRectF* a1;

        if (sipParseArgs(&sipParseErr, sipArgs, "J8J9", sipType_QSGGeometry, &a0, sipType_QRectF, &a1))
        {
             ::QSGGeometry::updateRectGeometry(a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_updateRectGeometry, doc_QSGGeometry_updateRectGeometry);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_updateTexturedRectGeometry, "updateTexturedRectGeometry(QSGGeometry, QRectF, QRectF)");

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

    {
         ::QSGGeometry* a0;
        const  ::QRectF* a1;
        const  ::QRectF* a2;

        if (sipParseArgs(&sipParseErr, sipArgs, "J8J9J9", sipType_QSGGeometry, &a0, sipType_QRectF, &a1, sipType_QRectF, &a2))
        {
             ::QSGGeometry::updateTexturedRectGeometry(a0,*a1,*a2);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_updateTexturedRectGeometry, doc_QSGGeometry_updateTexturedRectGeometry);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_setIndexDataPattern, "setIndexDataPattern(self, QSGGeometry.DataPattern)");

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

    {
         ::QSGGeometry::DataPattern a0;
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QSGGeometry, &sipCpp, sipType_QSGGeometry_DataPattern, &a0))
        {
            sipCpp->setIndexDataPattern(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_setIndexDataPattern, doc_QSGGeometry_setIndexDataPattern);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexDataPattern, "indexDataPattern(self) -> QSGGeometry.DataPattern");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
             ::QSGGeometry::DataPattern sipRes;

            sipRes = sipCpp->indexDataPattern();

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

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexDataPattern, doc_QSGGeometry_indexDataPattern);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_setVertexDataPattern, "setVertexDataPattern(self, QSGGeometry.DataPattern)");

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

    {
         ::QSGGeometry::DataPattern a0;
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "BE", &sipSelf, sipType_QSGGeometry, &sipCpp, sipType_QSGGeometry_DataPattern, &a0))
        {
            sipCpp->setVertexDataPattern(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_setVertexDataPattern, doc_QSGGeometry_setVertexDataPattern);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexDataPattern, "vertexDataPattern(self) -> QSGGeometry.DataPattern");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
             ::QSGGeometry::DataPattern sipRes;

            sipRes = sipCpp->vertexDataPattern();

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

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexDataPattern, doc_QSGGeometry_vertexDataPattern);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_markIndexDataDirty, "markIndexDataDirty(self)");

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

    {
         ::QSGGeometry *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_markIndexDataDirty, doc_QSGGeometry_markIndexDataDirty);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_markVertexDataDirty, "markVertexDataDirty(self)");

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

    {
         ::QSGGeometry *sipCpp;

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

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_markVertexDataDirty, doc_QSGGeometry_markVertexDataDirty);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_lineWidth, "lineWidth(self) -> float");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            float sipRes;

            sipRes = sipCpp->lineWidth();

            return PyFloat_FromDouble((double)sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_lineWidth, doc_QSGGeometry_lineWidth);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_setLineWidth, "setLineWidth(self, float)");

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

    {
        float a0;
         ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "Bf", &sipSelf, sipType_QSGGeometry, &sipCpp, &a0))
        {
            sipCpp->setLineWidth(a0);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_setLineWidth, doc_QSGGeometry_setLineWidth);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexDataAsUInt, "indexDataAsUInt(self) -> PyQt5.sip.array[int]");

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

    {
         ::QSGGeometry *sipCpp;

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

#line 316 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToArray(sipCpp->indexDataAsUInt(), "I",
                sipCpp->indexCount(), 0);
#line 735 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexDataAsUInt, doc_QSGGeometry_indexDataAsUInt);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_indexDataAsUShort, "indexDataAsUShort(self) -> PyQt5.sip.array[int]");

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

    {
         ::QSGGeometry *sipCpp;

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

#line 322 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToArray(sipCpp->indexDataAsUShort(), "H",
                sipCpp->indexCount(), 0);
#line 765 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_indexDataAsUShort, doc_QSGGeometry_indexDataAsUShort);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexDataAsPoint2D, "vertexDataAsPoint2D(self) -> PyQt5.sip.array[QSGGeometry.Point2D]");

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

    {
         ::QSGGeometry *sipCpp;

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

#line 328 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsPoint2D(),
                sipType_QSGGeometry_Point2D, "ff", sizeof (QSGGeometry::Point2D),
                sipCpp->vertexCount(), 0);
#line 796 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexDataAsPoint2D, doc_QSGGeometry_vertexDataAsPoint2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexDataAsTexturedPoint2D, "vertexDataAsTexturedPoint2D(self) -> PyQt5.sip.array[QSGGeometry.TexturedPoint2D]");

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

    {
         ::QSGGeometry *sipCpp;

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

#line 335 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsTexturedPoint2D(),
                sipType_QSGGeometry_TexturedPoint2D, "ffff",
                sizeof (QSGGeometry::TexturedPoint2D), sipCpp->vertexCount(), 0);
#line 827 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexDataAsTexturedPoint2D, doc_QSGGeometry_vertexDataAsTexturedPoint2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_vertexDataAsColoredPoint2D, "vertexDataAsColoredPoint2D(self) -> PyQt5.sip.array[QSGGeometry.ColoredPoint2D]");

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

    {
         ::QSGGeometry *sipCpp;

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

#line 342 "/build/pyqt5/src/PyQt5-5.15.7/sip/QtQuick/qsggeometry.sip"
        sipRes = sipConvertToTypedArray(sipCpp->vertexDataAsColoredPoint2D(),
                sipType_QSGGeometry_ColoredPoint2D, "ffbbbb",
                sizeof (QSGGeometry::ColoredPoint2D), sipCpp->vertexCount(), 0);
#line 858 "/build/pyqt5/src/PyQt5-5.15.7/build/QtQuick/sipQtQuickQSGGeometry.cpp"

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_vertexDataAsColoredPoint2D, doc_QSGGeometry_vertexDataAsColoredPoint2D);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_sizeOfIndex, "sizeOfIndex(self) -> int");

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

    {
        const  ::QSGGeometry *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_QSGGeometry, &sipCpp))
        {
            int sipRes;

            sipRes = sipCpp->sizeOfIndex();

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_sizeOfIndex, doc_QSGGeometry_sizeOfIndex);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_QSGGeometry_updateColoredRectGeometry, "updateColoredRectGeometry(QSGGeometry, QRectF)");

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

    {
         ::QSGGeometry* a0;
        const  ::QRectF* a1;

        if (sipParseArgs(&sipParseErr, sipArgs, "J8J9", sipType_QSGGeometry, &a0, sipType_QRectF, &a1))
        {
             ::QSGGeometry::updateColoredRectGeometry(a0,*a1);

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_QSGGeometry, sipName_updateColoredRectGeometry, doc_QSGGeometry_updateColoredRectGeometry);

    return SIP_NULLPTR;
}


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


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

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


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

    {
        const  ::QSGGeometry::AttributeSet* a0;
        PyObject *a0Keep;
        int a1;
        int a2 = 0;
        int a3 = GL_UNSIGNED_SHORT;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "@J9i|ii", &a0Keep, sipType_QSGGeometry_AttributeSet, &a0, &a1, &a2, &a3))
        {
            sipCpp = new sipQSGGeometry(*a0,a1,a2,a3);

            sipKeepReference((PyObject *)sipSelf, -2, a0Keep);

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_QSGGeometry[] = {
    {sipName_allocate, SIP_MLMETH_CAST(meth_QSGGeometry_allocate), METH_VARARGS|METH_KEYWORDS, doc_QSGGeometry_allocate},
    {sipName_attributeCount, meth_QSGGeometry_attributeCount, METH_VARARGS, doc_QSGGeometry_attributeCount},
    {sipName_attributes, meth_QSGGeometry_attributes, METH_VARARGS, doc_QSGGeometry_attributes},
    {sipName_defaultAttributes_ColoredPoint2D, meth_QSGGeometry_defaultAttributes_ColoredPoint2D, METH_VARARGS, doc_QSGGeometry_defaultAttributes_ColoredPoint2D},
    {sipName_defaultAttributes_Point2D, meth_QSGGeometry_defaultAttributes_Point2D, METH_VARARGS, doc_QSGGeometry_defaultAttributes_Point2D},
    {sipName_defaultAttributes_TexturedPoint2D, meth_QSGGeometry_defaultAttributes_TexturedPoint2D, METH_VARARGS, doc_QSGGeometry_defaultAttributes_TexturedPoint2D},
    {sipName_drawingMode, meth_QSGGeometry_drawingMode, METH_VARARGS, doc_QSGGeometry_drawingMode},
    {sipName_indexCount, meth_QSGGeometry_indexCount, METH_VARARGS, doc_QSGGeometry_indexCount},
    {sipName_indexData, meth_QSGGeometry_indexData, METH_VARARGS, doc_QSGGeometry_indexData},
    {sipName_indexDataAsUInt, meth_QSGGeometry_indexDataAsUInt, METH_VARARGS, doc_QSGGeometry_indexDataAsUInt},
    {sipName_indexDataAsUShort, meth_QSGGeometry_indexDataAsUShort, METH_VARARGS, doc_QSGGeometry_indexDataAsUShort},
    {sipName_indexDataPattern, meth_QSGGeometry_indexDataPattern, METH_VARARGS, doc_QSGGeometry_indexDataPattern},
    {sipName_indexType, meth_QSGGeometry_indexType, METH_VARARGS, doc_QSGGeometry_indexType},
    {sipName_lineWidth, meth_QSGGeometry_lineWidth, METH_VARARGS, doc_QSGGeometry_lineWidth},
    {sipName_markIndexDataDirty, meth_QSGGeometry_markIndexDataDirty, METH_VARARGS, doc_QSGGeometry_markIndexDataDirty},
    {sipName_markVertexDataDirty, meth_QSGGeometry_markVertexDataDirty, METH_VARARGS, doc_QSGGeometry_markVertexDataDirty},
    {sipName_setDrawingMode, meth_QSGGeometry_setDrawingMode, METH_VARARGS, doc_QSGGeometry_setDrawingMode},
    {sipName_setIndexDataPattern, meth_QSGGeometry_setIndexDataPattern, METH_VARARGS, doc_QSGGeometry_setIndexDataPattern},
    {sipName_setLineWidth, meth_QSGGeometry_setLineWidth, METH_VARARGS, doc_QSGGeometry_setLineWidth},
    {sipName_setVertexDataPattern, meth_QSGGeometry_setVertexDataPattern, METH_VARARGS, doc_QSGGeometry_setVertexDataPattern},
    {sipName_sizeOfIndex, meth_QSGGeometry_sizeOfIndex, METH_VARARGS, doc_QSGGeometry_sizeOfIndex},
    {sipName_sizeOfVertex, meth_QSGGeometry_sizeOfVertex, METH_VARARGS, doc_QSGGeometry_sizeOfVertex},
    {sipName_updateColoredRectGeometry, meth_QSGGeometry_updateColoredRectGeometry, METH_VARARGS, doc_QSGGeometry_updateColoredRectGeometry},
    {sipName_updateRectGeometry, meth_QSGGeometry_updateRectGeometry, METH_VARARGS, doc_QSGGeometry_updateRectGeometry},
    {sipName_updateTexturedRectGeometry, meth_QSGGeometry_updateTexturedRectGeometry, METH_VARARGS, doc_QSGGeometry_updateTexturedRectGeometry},
    {sipName_vertexCount, meth_QSGGeometry_vertexCount, METH_VARARGS, doc_QSGGeometry_vertexCount},
    {sipName_vertexData, meth_QSGGeometry_vertexData, METH_VARARGS, doc_QSGGeometry_vertexData},
    {sipName_vertexDataAsColoredPoint2D, meth_QSGGeometry_vertexDataAsColoredPoint2D, METH_VARARGS, doc_QSGGeometry_vertexDataAsColoredPoint2D},
    {sipName_vertexDataAsPoint2D, meth_QSGGeometry_vertexDataAsPoint2D, METH_VARARGS, doc_QSGGeometry_vertexDataAsPoint2D},
    {sipName_vertexDataAsTexturedPoint2D, meth_QSGGeometry_vertexDataAsTexturedPoint2D, METH_VARARGS, doc_QSGGeometry_vertexDataAsTexturedPoint2D},
    {sipName_vertexDataPattern, meth_QSGGeometry_vertexDataPattern, METH_VARARGS, doc_QSGGeometry_vertexDataPattern}
};

static sipEnumMemberDef enummembers_QSGGeometry[] = {
    {sipName_AlwaysUploadPattern, static_cast<int>( ::QSGGeometry::AlwaysUploadPattern), 49},
    {sipName_ByteType, static_cast<int>( ::QSGGeometry::ByteType), 53},
    {sipName_Bytes2Type, static_cast<int>( ::QSGGeometry::Bytes2Type), 53},
    {sipName_Bytes3Type, static_cast<int>( ::QSGGeometry::Bytes3Type), 53},
    {sipName_Bytes4Type, static_cast<int>( ::QSGGeometry::Bytes4Type), 53},
    {sipName_ColorAttribute, static_cast<int>( ::QSGGeometry::ColorAttribute), 47},
    {sipName_DoubleType, static_cast<int>( ::QSGGeometry::DoubleType), 53},
    {sipName_DrawLineLoop, static_cast<int>( ::QSGGeometry::DrawLineLoop), 50},
    {sipName_DrawLineStrip, static_cast<int>( ::QSGGeometry::DrawLineStrip), 50},
    {sipName_DrawLines, static_cast<int>( ::QSGGeometry::DrawLines), 50},
    {sipName_DrawPoints, static_cast<int>( ::QSGGeometry::DrawPoints), 50},
    {sipName_DrawTriangleFan, static_cast<int>( ::QSGGeometry::DrawTriangleFan), 50},
    {sipName_DrawTriangleStrip, static_cast<int>( ::QSGGeometry::DrawTriangleStrip), 50},
    {sipName_DrawTriangles, static_cast<int>( ::QSGGeometry::DrawTriangles), 50},
    {sipName_DynamicPattern, static_cast<int>( ::QSGGeometry::DynamicPattern), 49},
    {sipName_FloatType, static_cast<int>( ::QSGGeometry::FloatType), 53},
    {sipName_GL_BYTE, static_cast<int>(GL_BYTE), -1},
    {sipName_GL_DOUBLE, static_cast<int>(GL_DOUBLE), -1},
    {sipName_GL_FLOAT, static_cast<int>(GL_FLOAT), -1},
    {sipName_GL_INT, static_cast<int>(GL_INT), -1},
    {sipName_GL_LINES, static_cast<int>(GL_LINES), -1},
    {sipName_GL_LINE_LOOP, static_cast<int>(GL_LINE_LOOP), -1},
    {sipName_GL_LINE_STRIP, static_cast<int>(GL_LINE_STRIP), -1},
    {sipName_GL_POINTS, static_cast<int>(GL_POINTS), -1},
    {sipName_GL_TRIANGLES, static_cast<int>(GL_TRIANGLES), -1},
    {sipName_GL_TRIANGLE_FAN, static_cast<int>(GL_TRIANGLE_FAN), -1},
    {sipName_GL_TRIANGLE_STRIP, static_cast<int>(GL_TRIANGLE_STRIP), -1},
    {sipName_IntType, static_cast<int>( ::QSGGeometry::IntType), 53},
    {sipName_PositionAttribute, static_cast<int>( ::QSGGeometry::PositionAttribute), 47},
    {sipName_ShortType, static_cast<int>( ::QSGGeometry::ShortType), 53},
    {sipName_StaticPattern, static_cast<int>( ::QSGGeometry::StaticPattern), 49},
    {sipName_StreamPattern, static_cast<int>( ::QSGGeometry::StreamPattern), 49},
    {sipName_TexCoord1Attribute, static_cast<int>( ::QSGGeometry::TexCoord1Attribute), 47},
    {sipName_TexCoord2Attribute, static_cast<int>( ::QSGGeometry::TexCoord2Attribute), 47},
    {sipName_TexCoordAttribute, static_cast<int>( ::QSGGeometry::TexCoordAttribute), 47},
    {sipName_UnknownAttribute, static_cast<int>( ::QSGGeometry::UnknownAttribute), 47},
    {sipName_UnsignedByteType, static_cast<int>( ::QSGGeometry::UnsignedByteType), 53},
    {sipName_UnsignedIntType, static_cast<int>( ::QSGGeometry::UnsignedIntType), 53},
    {sipName_UnsignedShortType, static_cast<int>( ::QSGGeometry::UnsignedShortType), 53},
};

PyDoc_STRVAR(doc_QSGGeometry, "\1QSGGeometry(QSGGeometry.AttributeSet, int, indexCount: int = 0, indexType: int = GL_UNSIGNED_SHORT)");


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


sipClassTypeDef sipTypeDef_QtQuick_QSGGeometry = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SUPER_INIT|SIP_TYPE_LIMITED_API|SIP_TYPE_CLASS,
        sipNameNr_QSGGeometry,
        SIP_NULLPTR,
        &plugin_QSGGeometry
    },
    {
        sipNameNr_QSGGeometry,
        {0, 0, 1},
        31, methods_QSGGeometry,
        39, enummembers_QSGGeometry,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_QSGGeometry,
    -1,
    -1,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_QSGGeometry,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_QSGGeometry,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_QSGGeometry,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    sizeof ( ::QSGGeometry),
};
