/*
 * Interface wrapper code.
 *
 * Generated by SIP 6.8.5
 *
 *     Copyright: (c) 2020 by Total Control Software
 *     License:   wxWindows License
 */

#include "sipAPI_core.h"
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
    bool _wxRect___eq__(wxRect* self, const wxRect* other)
    {
        return *self == *other;
    }
    bool _wxRect___ne__(wxRect* self, const wxRect* other)
    {
        return *self != *other;
    }
    PyObject* _wxRect_Get(wxRect* self)
    {
        wxPyThreadBlocker blocker;
        return sipBuildResult(0, "(iiii)",
                              self->x, self->y, self->width, self->height);
    }


PyDoc_STRVAR(doc_wxRect_CentreIn, "CentreIn(r, dir=BOTH) -> Rect\n"
"\n"
"Returns the rectangle having the same size as this one but centered\n"
"relatively to the given rectangle r.");

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

    {
        const ::wxRect* r;
        int rState = 0;
        int dir = wxBOTH;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|i", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &r, &rState, &dir))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect(sipCpp->CentreIn(*r, dir));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(r), sipType_wxRect, rState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_CentreIn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_CenterIn, "CenterIn(r, dir=BOTH) -> Rect\n"
"\n"
"Returns the rectangle having the same size as this one but centered\n"
"relatively to the given rectangle r.");

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

    {
        const ::wxRect* r;
        int rState = 0;
        int dir = wxBOTH;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1|i", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &r, &rState, &dir))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect(sipCpp->CenterIn(*r, dir));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(r), sipType_wxRect, rState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_CenterIn, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Deflate, "Deflate(dx, dy) -> Rect\n"
"Deflate(diff) -> Rect\n"
"Deflate(diff) -> Rect\n"
"\n"
"Decrease the rectangle size.\n"
"\n"
"");

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

    {
        ::wxCoord dx;
        ::wxCoord dy;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect, &sipCpp, &dx, &dy))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Deflate(dx, dy);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    {
        const ::wxSize* diff;
        int diffState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxSize, &diff, &diffState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Deflate(*diff);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(diff), sipType_wxSize, diffState);

            if (PyErr_Occurred())
                return 0;

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

    {
        ::wxCoord diff;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &diff))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Deflate(diff);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Deflate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Inflate, "Inflate(dx, dy) -> Rect\n"
"Inflate(diff) -> Rect\n"
"Inflate(diff) -> Rect\n"
"\n"
"Increases the size of the rectangle.\n"
"\n"
"");

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

    {
        ::wxCoord dx;
        ::wxCoord dy;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect, &sipCpp, &dx, &dy))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Inflate(dx, dy);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    {
        const ::wxSize* diff;
        int diffState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxSize, &diff, &diffState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Inflate(*diff);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(diff), sipType_wxSize, diffState);

            if (PyErr_Occurred())
                return 0;

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

    {
        ::wxCoord diff;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &diff))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Inflate(diff);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Inflate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Offset, "Offset(dx, dy)\n"
"Offset(pt)\n"
"\n"
"Moves the rectangle by the specified offset.\n"
"");

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

    {
        ::wxCoord dx;
        ::wxCoord dy;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect, &sipCpp, &dx, &dy))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Offset(dx, dy);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const ::wxPoint* pt;
        int ptState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Offset(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Offset, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Union, "Union(rect) -> Rect\n"
"\n"
"Modifies the rectangle to contain the bounding box of this rectangle\n"
"and the one passed in as parameter.");

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

    {
        const ::wxRect* rect;
        int rectState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &rect, &rectState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Union(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Union, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Contains, "Contains(x, y) -> bool\n"
"Contains(pt) -> bool\n"
"Contains(rect) -> bool\n"
"\n"
"Returns true if the given point is inside the rectangle (or on its\n"
"boundary) and false otherwise.\n"
"\n"
"");

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

    {
        int x;
        int y;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRect, &sipCpp, &x, &y))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Contains(x, y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const ::wxPoint* pt;
        int ptState = 0;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Contains(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    {
        const ::wxRect* rect;
        int rectState = 0;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Contains(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Contains, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetBottom, "GetBottom() -> int\n"
"\n"
"Gets the bottom point of the rectangle.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetBottom();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetBottomLeft, "GetBottomLeft() -> Point\n"
"\n"
"Gets the position of the bottom left corner.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetBottomLeft());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetBottomLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetBottomRight, "GetBottomRight() -> Point\n"
"\n"
"Gets the position of the bottom right corner.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetBottomRight());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetBottomRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetHeight, "GetHeight() -> int\n"
"\n"
"Gets the height member.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetHeight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetLeft, "GetLeft() -> int\n"
"\n"
"Gets the left point of the rectangle (the same as GetX()).");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetLeft();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetPosition, "GetPosition() -> Point\n"
"\n"
"Gets the position.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetPosition());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetRight, "GetRight() -> int\n"
"\n"
"Gets the right point of the rectangle.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetRight();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetSize, "GetSize() -> Size\n"
"\n"
"Gets the size.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetSize());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetTop, "GetTop() -> int\n"
"\n"
"Gets the top point of the rectangle (the same as GetY()).");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetTop();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetTopLeft, "GetTopLeft() -> Point\n"
"\n"
"Gets the position of the top left corner of the rectangle, same as\n"
"GetPosition().");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetTopLeft());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetTopLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetTopRight, "GetTopRight() -> Point\n"
"\n"
"Gets the position of the top right corner.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->GetTopRight());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetTopRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetWidth, "GetWidth() -> int\n"
"\n"
"Gets the width member.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetWidth();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetX, "GetX() -> int\n"
"\n"
"Gets the x member.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetX();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetX, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_GetY, "GetY() -> int\n"
"\n"
"Gets the y member.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetY();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_GetY, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Intersect, "Intersect(rect) -> Rect\n"
"\n"
"Modifies this rectangle to contain the overlapping portion of this\n"
"rectangle and the one passed in as parameter.");

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

    {
        const ::wxRect* rect;
        int rectState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &rect, &rectState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->Intersect(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Intersect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Intersects, "Intersects(rect) -> bool\n"
"\n"
"Returns true if this rectangle has a non-empty intersection with the\n"
"rectangle rect and false otherwise.");

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

    {
        const ::wxRect* rect;
        int rectState = 0;
        const ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxRect, &rect, &rectState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Intersects(*rect);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Intersects, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_IsEmpty, "IsEmpty() -> bool\n"
"\n"
"Returns true if this rectangle has a width or height less than or\n"
"equal to 0 and false otherwise.");

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

    {
        const ::wxRect *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsEmpty();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetHeight, "SetHeight(height)\n"
"\n"
"Sets the height.");

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

    {
        int height;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetHeight(height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetPosition, "SetPosition(pos)\n"
"\n"
"Sets the position.");

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

    {
        const ::wxPoint* pos;
        int posState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &pos, &posState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetPosition(*pos);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pos), sipType_wxPoint, posState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetSize, "SetSize(s)\n"
"\n"
"Sets the size.");

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

    {
        const ::wxSize* s;
        int sState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxSize, &s, &sState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetSize(*s);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(s), sipType_wxSize, sState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetWidth, "SetWidth(width)\n"
"\n"
"Sets the width.");

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

    {
        int width;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &width))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetWidth(width);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetX, "SetX(x)\n"
"\n"
"Sets the x position.");

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

    {
        int x;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &x))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetX(x);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetX, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetY, "SetY(y)\n"
"\n"
"Sets the y position.");

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

    {
        int y;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetY(y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetY, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetLeft, "SetLeft(left)\n"
"\n"
"Set the left side of the rectangle.");

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

    {
        int left;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &left))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetLeft(left);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetRight, "SetRight(right)\n"
"\n"
"Set the right side of the rectangle.");

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

    {
        int right;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &right))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetRight(right);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetTop, "SetTop(top)\n"
"\n"
"Set the top edge of the rectangle.");

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

    {
        int top;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &top))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTop(top);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetTop, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetBottom, "SetBottom(bottom)\n"
"\n"
"Set the bottom edge of the rectangle.");

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

    {
        int bottom;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRect, &sipCpp, &bottom))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetBottom(bottom);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetBottom, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetTopLeft, "SetTopLeft(p)\n"
"\n"
"Set the top-left point of the rectangle.");

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

    {
        const ::wxPoint* p;
        int pState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &p, &pState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTopLeft(*p);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(p), sipType_wxPoint, pState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetTopLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetBottomRight, "SetBottomRight(p)\n"
"\n"
"Set the bottom-right point of the rectangle.");

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

    {
        const ::wxPoint* p;
        int pState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &p, &pState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetBottomRight(*p);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(p), sipType_wxPoint, pState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetBottomRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetTopRight, "SetTopRight(p)\n"
"\n"
"Set the top-right point of the rectangle.");

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

    {
        const ::wxPoint* p;
        int pState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &p, &pState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTopRight(*p);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(p), sipType_wxPoint, pState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetTopRight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_SetBottomLeft, "SetBottomLeft(p)\n"
"\n"
"Set the bottom-left point of the rectangle.");

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

    {
        const ::wxPoint* p;
        int pState = 0;
        ::wxRect *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRect, &sipCpp, sipType_wxPoint, &p, &pState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetBottomLeft(*p);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(p), sipType_wxPoint, pState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_SetBottomLeft, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRect_Get, "Get() -> (x, y, width, height)\n"
"\n"
"Return the rectangle's properties as a tuple.");

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

    {
        ::wxRect *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRect, &sipCpp))
        {
            PyObject * sipRes = SIP_NULLPTR;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxRect_Get(sipCpp);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;

            if (sipIsErr)
                return 0;

            return sipRes;
        }
    }

    sipNoMethod(sipParseErr, sipName_Rect, sipName_Get, SIP_NULLPTR);

    return SIP_NULLPTR;
}


extern "C" {static PyObject *slot_wxRect___mul__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___mul__(PyObject *sipArg0, PyObject *sipArg1)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRect* a0;
        int a0State = 0;
        const ::wxRect* other;
        int otherState = 0;

        if (sipParsePair(&sipParseErr, sipArg0, sipArg1, "J1J1", sipType_wxRect, &a0, &a0State, sipType_wxRect, &other, &otherState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect((*a0 * *other));
            Py_END_ALLOW_THREADS
            sipReleaseType(a0, sipType_wxRect, a0State);
            sipReleaseType(const_cast<::wxRect *>(other), sipType_wxRect, otherState);

            if (PyErr_Occurred())
                return 0;

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

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    return sipPySlotExtend(&sipModuleAPI__core, mul_slot, SIP_NULLPTR, sipArg0, sipArg1);
}


extern "C" {static PyObject *slot_wxRect___add__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___add__(PyObject *sipArg0, PyObject *sipArg1)
{
    PyObject *sipParseErr = SIP_NULLPTR;

    {
        ::wxRect* a0;
        int a0State = 0;
        const ::wxRect* other;
        int otherState = 0;

        if (sipParsePair(&sipParseErr, sipArg0, sipArg1, "J1J1", sipType_wxRect, &a0, &a0State, sipType_wxRect, &other, &otherState))
        {
            ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect((*a0 + *other));
            Py_END_ALLOW_THREADS
            sipReleaseType(a0, sipType_wxRect, a0State);
            sipReleaseType(const_cast<::wxRect *>(other), sipType_wxRect, otherState);

            if (PyErr_Occurred())
                return 0;

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

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    return sipPySlotExtend(&sipModuleAPI__core, add_slot, SIP_NULLPTR, sipArg0, sipArg1);
}


extern "C" {static PyObject *slot_wxRect___ne__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___ne__(PyObject *sipSelf, PyObject *sipArg)
{
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf, sipType_wxRect));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxRect* other;
        int otherState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect, &other, &otherState))
        {
            bool sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxRect___ne__(sipCpp, other);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
            sipReleaseType(const_cast<::wxRect *>(other), sipType_wxRect, otherState);

            if (sipIsErr)
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    return sipPySlotExtend(&sipModuleAPI__core, ne_slot, sipType_wxRect, sipSelf, sipArg);
}


extern "C" {static PyObject *slot_wxRect___eq__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___eq__(PyObject *sipSelf, PyObject *sipArg)
{
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf, sipType_wxRect));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxRect* other;
        int otherState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect, &other, &otherState))
        {
            bool sipRes = 0;
            int sipIsErr = 0;
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        sipRes = _wxRect___eq__(sipCpp, other);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
            sipReleaseType(const_cast<::wxRect *>(other), sipType_wxRect, otherState);

            if (sipIsErr)
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    Py_XDECREF(sipParseErr);

    return sipPySlotExtend(&sipModuleAPI__core, eq_slot, sipType_wxRect, sipSelf, sipArg);
}


extern "C" {static PyObject *slot_wxRect___imul__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___imul__(PyObject *sipSelf, PyObject *sipArg)
{
    if (!PyObject_TypeCheck(sipSelf, sipTypeAsPyTypeObject(sipType_wxRect)))
    {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
    }

    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf, sipType_wxRect));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxRect* r;
        int rState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect, &r, &rState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->::wxRect::operator*=(*r);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(r), sipType_wxRect, rState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    PyErr_Clear();

    Py_INCREF(Py_NotImplemented);
    return Py_NotImplemented;
}


extern "C" {static PyObject *slot_wxRect___iadd__(PyObject *, PyObject *);}
static PyObject *slot_wxRect___iadd__(PyObject *sipSelf, PyObject *sipArg)
{
    if (!PyObject_TypeCheck(sipSelf, sipTypeAsPyTypeObject(sipType_wxRect)))
    {
        Py_INCREF(Py_NotImplemented);
        return Py_NotImplemented;
    }

    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipGetCppPtr((sipSimpleWrapper *)sipSelf, sipType_wxRect));

    if (!sipCpp)
        return SIP_NULLPTR;

    PyObject *sipParseErr = SIP_NULLPTR;

    {
        const ::wxRect* r;
        int rState = 0;

        if (sipParseArgs(&sipParseErr, sipArg, "1J1", sipType_wxRect, &r, &rState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->::wxRect::operator+=(*r);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(r), sipType_wxRect, rState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(sipSelf);
            return sipSelf;
        }
    }

    Py_XDECREF(sipParseErr);

    if (sipParseErr == Py_None)
        return SIP_NULLPTR;

    PyErr_Clear();

    Py_INCREF(Py_NotImplemented);
    return Py_NotImplemented;
}


/* Call the instance's destructor. */
extern "C" {static void release_wxRect(void *, int);}
static void release_wxRect(void *sipCppV, int)
{
    Py_BEGIN_ALLOW_THREADS

    delete reinterpret_cast<::wxRect *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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


extern "C" {static void assign_wxRect(void *, Py_ssize_t, void *);}
static void assign_wxRect(void *sipDst, Py_ssize_t sipDstIdx, void *sipSrc)
{
    reinterpret_cast<::wxRect *>(sipDst)[sipDstIdx] = *reinterpret_cast<::wxRect *>(sipSrc);
}


extern "C" {static void *copy_wxRect(const void *, Py_ssize_t);}
static void *copy_wxRect(const void *sipSrc, Py_ssize_t sipSrcIdx)
{
    return new ::wxRect(reinterpret_cast<const ::wxRect *>(sipSrc)[sipSrcIdx]);
}


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


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

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        int x;
        int y;
        int width;
        int height;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "iiii", &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect(x, y, width, height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const ::wxPoint* pos;
        int posState = 0;
        const ::wxSize* size;
        int sizeState = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J1J1", sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect(*pos, *size);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pos), sipType_wxPoint, posState);
            sipReleaseType(const_cast<::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const ::wxSize* size;
        int sizeState = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J1", sipType_wxSize, &size, &sizeState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect(*size);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const ::wxPoint* topLeft;
        int topLeftState = 0;
        const ::wxPoint* bottomRight;
        int bottomRightState = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J1J1", sipType_wxPoint, &topLeft, &topLeftState, sipType_wxPoint, &bottomRight, &bottomRightState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect(*topLeft, *bottomRight);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(topLeft), sipType_wxPoint, topLeftState);
            sipReleaseType(const_cast<::wxPoint *>(bottomRight), sipType_wxPoint, bottomRightState);

            if (PyErr_Occurred())
            {
                delete sipCpp;
                return SIP_NULLPTR;
            }

            return sipCpp;
        }
    }

    {
        const ::wxRect* a0;
        int a0State = 0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J1", sipType_wxRect, &a0, &a0State))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new ::wxRect(*a0);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxRect *>(a0), sipType_wxRect, a0State);

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


extern "C" {static int convertTo_wxRect(PyObject *, void **, int *, PyObject *);}
static int convertTo_wxRect(PyObject *sipPy, void **sipCppPtrV, int *sipIsErr, PyObject *sipTransferObj)
{
    ::wxRect **sipCppPtr = reinterpret_cast<::wxRect **>(sipCppPtrV);
        // is it just a typecheck?
        if (!sipIsErr) {
            // is it already an instance of wxRect?
            if (sipCanConvertToType(sipPy, sipType_wxRect, SIP_NO_CONVERTORS))
                return 1;
        
            if (wxPyNumberSequenceCheck(sipPy, 4)) {
                return 1;
            }
            return 0;
        }
        
        // otherwise do the conversion
        if (sipCanConvertToType(sipPy, sipType_wxRect, SIP_NO_CONVERTORS)) {
            // Just fetch the existing instance
            *sipCppPtr = reinterpret_cast<wxRect*>(sipConvertToType(
                    sipPy, sipType_wxRect, sipTransferObj, SIP_NO_CONVERTORS, 0, sipIsErr));
            return 0; // not a new instance
        }
        // or create a new instance
        PyObject* o1 = PySequence_ITEM(sipPy, 0);
        PyObject* o2 = PySequence_ITEM(sipPy, 1);
        PyObject* o3 = PySequence_ITEM(sipPy, 2);
        PyObject* o4 = PySequence_ITEM(sipPy, 3);
        *sipCppPtr = new wxRect(wxPyInt_AsLong(o1), wxPyInt_AsLong(o2),
                                 wxPyInt_AsLong(o3), wxPyInt_AsLong(o4));
        Py_DECREF(o1);
        Py_DECREF(o2);
        Py_DECREF(o3);
        Py_DECREF(o4);
        return SIP_TEMPORARY;
}


/* Define this type's Python slots. */
static sipPySlotDef slots_wxRect[] = {
    {(void *)slot_wxRect___mul__, mul_slot},
    {(void *)slot_wxRect___add__, add_slot},
    {(void *)slot_wxRect___ne__, ne_slot},
    {(void *)slot_wxRect___eq__, eq_slot},
    {(void *)slot_wxRect___imul__, imul_slot},
    {(void *)slot_wxRect___iadd__, iadd_slot},
    {0, (sipPySlotType)0}
};


static PyMethodDef methods_wxRect[] = {
    {sipName_CenterIn, SIP_MLMETH_CAST(meth_wxRect_CenterIn), METH_VARARGS|METH_KEYWORDS, doc_wxRect_CenterIn},
    {sipName_CentreIn, SIP_MLMETH_CAST(meth_wxRect_CentreIn), METH_VARARGS|METH_KEYWORDS, doc_wxRect_CentreIn},
    {sipName_Contains, SIP_MLMETH_CAST(meth_wxRect_Contains), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Contains},
    {sipName_Deflate, SIP_MLMETH_CAST(meth_wxRect_Deflate), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Deflate},
    {sipName_Get, meth_wxRect_Get, METH_VARARGS, doc_wxRect_Get},
    {sipName_GetBottom, meth_wxRect_GetBottom, METH_VARARGS, doc_wxRect_GetBottom},
    {sipName_GetBottomLeft, meth_wxRect_GetBottomLeft, METH_VARARGS, doc_wxRect_GetBottomLeft},
    {sipName_GetBottomRight, meth_wxRect_GetBottomRight, METH_VARARGS, doc_wxRect_GetBottomRight},
    {sipName_GetHeight, meth_wxRect_GetHeight, METH_VARARGS, doc_wxRect_GetHeight},
    {sipName_GetLeft, meth_wxRect_GetLeft, METH_VARARGS, doc_wxRect_GetLeft},
    {sipName_GetPosition, meth_wxRect_GetPosition, METH_VARARGS, doc_wxRect_GetPosition},
    {sipName_GetRight, meth_wxRect_GetRight, METH_VARARGS, doc_wxRect_GetRight},
    {sipName_GetSize, meth_wxRect_GetSize, METH_VARARGS, doc_wxRect_GetSize},
    {sipName_GetTop, meth_wxRect_GetTop, METH_VARARGS, doc_wxRect_GetTop},
    {sipName_GetTopLeft, meth_wxRect_GetTopLeft, METH_VARARGS, doc_wxRect_GetTopLeft},
    {sipName_GetTopRight, meth_wxRect_GetTopRight, METH_VARARGS, doc_wxRect_GetTopRight},
    {sipName_GetWidth, meth_wxRect_GetWidth, METH_VARARGS, doc_wxRect_GetWidth},
    {sipName_GetX, meth_wxRect_GetX, METH_VARARGS, doc_wxRect_GetX},
    {sipName_GetY, meth_wxRect_GetY, METH_VARARGS, doc_wxRect_GetY},
    {sipName_Inflate, SIP_MLMETH_CAST(meth_wxRect_Inflate), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Inflate},
    {sipName_Intersect, SIP_MLMETH_CAST(meth_wxRect_Intersect), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Intersect},
    {sipName_Intersects, SIP_MLMETH_CAST(meth_wxRect_Intersects), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Intersects},
    {sipName_IsEmpty, meth_wxRect_IsEmpty, METH_VARARGS, doc_wxRect_IsEmpty},
    {sipName_Offset, SIP_MLMETH_CAST(meth_wxRect_Offset), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Offset},
    {sipName_SetBottom, SIP_MLMETH_CAST(meth_wxRect_SetBottom), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetBottom},
    {sipName_SetBottomLeft, SIP_MLMETH_CAST(meth_wxRect_SetBottomLeft), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetBottomLeft},
    {sipName_SetBottomRight, SIP_MLMETH_CAST(meth_wxRect_SetBottomRight), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetBottomRight},
    {sipName_SetHeight, SIP_MLMETH_CAST(meth_wxRect_SetHeight), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetHeight},
    {sipName_SetLeft, SIP_MLMETH_CAST(meth_wxRect_SetLeft), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetLeft},
    {sipName_SetPosition, SIP_MLMETH_CAST(meth_wxRect_SetPosition), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetPosition},
    {sipName_SetRight, SIP_MLMETH_CAST(meth_wxRect_SetRight), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetRight},
    {sipName_SetSize, SIP_MLMETH_CAST(meth_wxRect_SetSize), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetSize},
    {sipName_SetTop, SIP_MLMETH_CAST(meth_wxRect_SetTop), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetTop},
    {sipName_SetTopLeft, SIP_MLMETH_CAST(meth_wxRect_SetTopLeft), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetTopLeft},
    {sipName_SetTopRight, SIP_MLMETH_CAST(meth_wxRect_SetTopRight), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetTopRight},
    {sipName_SetWidth, SIP_MLMETH_CAST(meth_wxRect_SetWidth), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetWidth},
    {sipName_SetX, SIP_MLMETH_CAST(meth_wxRect_SetX), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetX},
    {sipName_SetY, SIP_MLMETH_CAST(meth_wxRect_SetY), METH_VARARGS|METH_KEYWORDS, doc_wxRect_SetY},
    {sipName_Union, SIP_MLMETH_CAST(meth_wxRect_Union), METH_VARARGS|METH_KEYWORDS, doc_wxRect_Union}
};


extern "C" {static PyObject *varget_wxRect_height(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect_height(void *sipSelf, PyObject *, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipCpp->height;

    return PyLong_FromLong(sipVal);
}


extern "C" {static int varset_wxRect_height(void *, PyObject *, PyObject *);}
static int varset_wxRect_height(void *sipSelf, PyObject *sipPy, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipLong_AsInt(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->height = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect_width(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect_width(void *sipSelf, PyObject *, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipCpp->width;

    return PyLong_FromLong(sipVal);
}


extern "C" {static int varset_wxRect_width(void *, PyObject *, PyObject *);}
static int varset_wxRect_width(void *sipSelf, PyObject *sipPy, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipLong_AsInt(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->width = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect_x(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect_x(void *sipSelf, PyObject *, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipCpp->x;

    return PyLong_FromLong(sipVal);
}


extern "C" {static int varset_wxRect_x(void *, PyObject *, PyObject *);}
static int varset_wxRect_x(void *sipSelf, PyObject *sipPy, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipLong_AsInt(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->x = sipVal;

    return 0;
}


extern "C" {static PyObject *varget_wxRect_y(void *, PyObject *, PyObject *);}
static PyObject *varget_wxRect_y(void *sipSelf, PyObject *, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipCpp->y;

    return PyLong_FromLong(sipVal);
}


extern "C" {static int varset_wxRect_y(void *, PyObject *, PyObject *);}
static int varset_wxRect_y(void *sipSelf, PyObject *sipPy, PyObject *)
{
    int sipVal;
    ::wxRect *sipCpp = reinterpret_cast<::wxRect *>(sipSelf);

    sipVal = sipLong_AsInt(sipPy);

    if (PyErr_Occurred() != SIP_NULLPTR)
        return -1;

    sipCpp->y = sipVal;

    return 0;
}

sipVariableDef variables_wxRect[] = {
    {PropertyVariable, sipName_topRight, &methods_wxRect[15], &methods_wxRect[34], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_topLeft, &methods_wxRect[14], &methods_wxRect[33], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_bottomRight, &methods_wxRect[7], &methods_wxRect[26], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_bottomLeft, &methods_wxRect[6], &methods_wxRect[25], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_bottom, &methods_wxRect[5], &methods_wxRect[24], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_right, &methods_wxRect[11], &methods_wxRect[30], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_top, &methods_wxRect[13], &methods_wxRect[32], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_left, &methods_wxRect[9], &methods_wxRect[28], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Y, &methods_wxRect[18], &methods_wxRect[37], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_X, &methods_wxRect[17], &methods_wxRect[36], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Width, &methods_wxRect[16], &methods_wxRect[35], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_TopRight, &methods_wxRect[15], &methods_wxRect[34], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_TopLeft, &methods_wxRect[14], &methods_wxRect[33], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Top, &methods_wxRect[13], &methods_wxRect[32], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Size, &methods_wxRect[12], &methods_wxRect[31], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Right, &methods_wxRect[11], &methods_wxRect[30], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Position, &methods_wxRect[10], &methods_wxRect[29], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Left, &methods_wxRect[9], &methods_wxRect[28], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Height, &methods_wxRect[8], &methods_wxRect[27], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_BottomRight, &methods_wxRect[7], &methods_wxRect[26], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_BottomLeft, &methods_wxRect[6], &methods_wxRect[25], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_Bottom, &methods_wxRect[5], &methods_wxRect[24], SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_height, (PyMethodDef *)varget_wxRect_height, (PyMethodDef *)varset_wxRect_height, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_width, (PyMethodDef *)varget_wxRect_width, (PyMethodDef *)varset_wxRect_width, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_x, (PyMethodDef *)varget_wxRect_x, (PyMethodDef *)varset_wxRect_x, SIP_NULLPTR, SIP_NULLPTR},
    {InstanceVariable, sipName_y, (PyMethodDef *)varget_wxRect_y, (PyMethodDef *)varset_wxRect_y, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRect, "Rect()\n"
"Rect(x, y, width, height)\n"
"Rect(pos, size)\n"
"Rect(size)\n"
"Rect(topLeft, bottomRight)\n"
"\n"
"Represents a rectangle with integer coordinates.");


sipClassTypeDef sipTypeDef__core_wxRect = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_CLASS,
        sipNameNr_wxRect,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_Rect,
        {0, 0, 1},
        39, methods_wxRect,
        0, SIP_NULLPTR,
        26, variables_wxRect,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRect,
    -1,
    -1,
    SIP_NULLPTR,
    slots_wxRect,
    init_type_wxRect,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRect,
    assign_wxRect,
    array_wxRect,
    copy_wxRect,
    release_wxRect,
    SIP_NULLPTR,
    convertTo_wxRect,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};
