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

#include "sipAPI_core.h"

        #include <wx/graphics.h>

        #include <wx/graphics.h>
        #include <wx/graphics.h>
        #include <wx/graphics.h>
        #include <wx/graphics.h>
        #include <wx/pen.h>
        #include "arrayholder.h"
        #include <wx/graphics.h>
        #include <wx/graphics.h>
        #include <wx/graphics.h>
        #include <wx/font.h>
        #include <wx/colour.h>
        #include <wx/graphics.h>
        #include <wx/brush.h>
        #include <wx/image.h>
        #include <wx/window.h>
        #include <wx/dcclient.h>
        #include <wx/dcmemory.h>
        #include <wx/dcprint.h>
        #include <wx/bitmap.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateBitmap, "CreateBitmap(bitmap) -> GraphicsBitmap\n"
"\n"
"Creates wxGraphicsBitmap from an existing wxBitmap.");

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

    {
        const  ::wxBitmap* bitmap;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxBitmap, &bitmap))
        {
             ::wxGraphicsBitmap*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBitmap(sipCpp->CreateBitmap(*bitmap));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateBitmapFromImage, "CreateBitmapFromImage(image) -> GraphicsBitmap\n"
"\n"
"Creates wxGraphicsBitmap from an existing wxImage.");

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

    {
        const  ::wxImage* image;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxImage, &image))
        {
             ::wxGraphicsBitmap*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBitmap(sipCpp->CreateBitmapFromImage(*image));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateBitmapFromImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateImageFromBitmap, "CreateImageFromBitmap(bmp) -> Image\n"
"\n"
"Creates a wxImage from a wxGraphicsBitmap.");

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

    {
        const  ::wxGraphicsBitmap* bmp;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxGraphicsBitmap, &bmp))
        {
             ::wxImage*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxImage(sipCpp->CreateImageFromBitmap(*bmp));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateImageFromBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateBitmapFromNativeBitmap, "CreateBitmapFromNativeBitmap(bitmap) -> GraphicsBitmap\n"
"\n"
"Creates wxGraphicsBitmap from a native bitmap handle.");

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

    {
        void* bitmap;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bv", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &bitmap))
        {
             ::wxGraphicsBitmap*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBitmap(sipCpp->CreateBitmapFromNativeBitmap(bitmap));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateBitmapFromNativeBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateContext, "CreateContext(window) -> GraphicsContext\n"
"CreateContext(windowDC) -> GraphicsContext\n"
"CreateContext(memoryDC) -> GraphicsContext\n"
"CreateContext(printerDC) -> GraphicsContext\n"
"\n"
"Creates a wxGraphicsContext from a wxWindow.\n"
"\n"
"\n"
"");

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

    {
         ::wxWindow* window;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxWindow, &window))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContext(window);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    {
        const  ::wxWindowDC* windowDC;
        PyObject *windowDCKeep;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B@J9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &windowDCKeep, sipType_wxWindowDC, &windowDC))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContext(*windowDC);
            Py_END_ALLOW_THREADS

            sipKeepReference(sipSelf, -18, windowDCKeep);

            if (PyErr_Occurred())
                return 0;

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

    {
        const  ::wxMemoryDC* memoryDC;
        PyObject *memoryDCKeep;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B@J9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &memoryDCKeep, sipType_wxMemoryDC, &memoryDC))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContext(*memoryDC);
            Py_END_ALLOW_THREADS

            sipKeepReference(sipSelf, -19, memoryDCKeep);

            if (PyErr_Occurred())
                return 0;

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

    {
        const  ::wxPrinterDC* printerDC;
        PyObject *printerDCKeep;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B@J9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &printerDCKeep, sipType_wxPrinterDC, &printerDC))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContext(*printerDC);
            Py_END_ALLOW_THREADS

            sipKeepReference(sipSelf, -20, printerDCKeep);

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateContext, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateContextFromImage, "CreateContextFromImage(image) -> GraphicsContext\n"
"\n"
"Creates a wxGraphicsContext associated with a wxImage.");

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

    {
         ::wxImage* image;
        PyObject *imageKeep;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B@J9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &imageKeep, sipType_wxImage, &image))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContextFromImage(*image);
            Py_END_ALLOW_THREADS

            sipKeepReference(sipSelf, -21, imageKeep);

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateContextFromImage, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateBrush, "CreateBrush(brush) -> GraphicsBrush\n"
"\n"
"Creates a native brush from a wxBrush.");

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

    {
        const  ::wxBrush* brush;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxBrush, &brush))
        {
             ::wxGraphicsBrush*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBrush(sipCpp->CreateBrush(*brush));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateBrush, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateContextFromNativeContext, "CreateContextFromNativeContext(context) -> GraphicsContext\n"
"\n"
"Creates a wxGraphicsContext from a native context.");

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

    {
        void* context;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bv", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &context))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContextFromNativeContext(context);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateContextFromNativeContext, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateContextFromNativeWindow, "CreateContextFromNativeWindow(window) -> GraphicsContext\n"
"\n"
"Creates a wxGraphicsContext from a native window.");

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

    {
        void* window;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bv", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &window))
        {
             ::wxGraphicsContext*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateContextFromNativeWindow(window);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateContextFromNativeWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateMeasuringContext, "CreateMeasuringContext() -> GraphicsContext\n"
"\n"
"Creates a wxGraphicsContext that can be used for measuring texts only.");

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

    {
         ::wxGraphicsRenderer *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->CreateMeasuringContext();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateMeasuringContext, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateFont, "CreateFont(font, col=BLACK) -> GraphicsFont\n"
"CreateFont(sizeInPixels, facename, flags=FONTFLAG_DEFAULT, col=BLACK) -> GraphicsFont\n"
"\n"
"Creates a native graphics font from a wxFont and a text colour.\n"
"");

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

    {
        const  ::wxFont* font;
        const  ::wxColour& coldef = *wxBLACK;
        const  ::wxColour* col = &coldef;
        int colState = 0;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9|J1", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxFont, &font, sipType_wxColour, &col, &colState))
        {
             ::wxGraphicsFont*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsFont(sipCpp->CreateFont(*font,*col));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(col),sipType_wxColour,colState);

            if (PyErr_Occurred())
                return 0;

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

    {
        double sizeInPixels;
        const  ::wxString* facename;
        int facenameState = 0;
        int flags = wxFONTFLAG_DEFAULT;
        const  ::wxColour& coldef = *wxBLACK;
        const  ::wxColour* col = &coldef;
        int colState = 0;
         ::wxGraphicsRenderer *sipCpp;

        static const char *sipKwdList[] = {
            sipName_sizeInPixels,
            sipName_facename,
            sipName_flags,
            sipName_col,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BdJ1|iJ1", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &sizeInPixels, sipType_wxString,&facename, &facenameState, &flags, sipType_wxColour, &col, &colState))
        {
             ::wxGraphicsFont*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsFont(sipCpp->CreateFont(sizeInPixels,*facename,flags,*col));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(facename),sipType_wxString,facenameState);
            sipReleaseType(const_cast< ::wxColour *>(col),sipType_wxColour,colState);

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateLinearGradientBrush, "CreateLinearGradientBrush(x1, y1, x2, y2, stops) -> GraphicsBrush\n"
"\n"
"Creates a native brush with a linear gradient.");

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

    {
         ::wxDouble x1;
         ::wxDouble y1;
         ::wxDouble x2;
         ::wxDouble y2;
        const  ::wxGraphicsGradientStops* stops;
         ::wxGraphicsRenderer *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x1,
            sipName_y1,
            sipName_x2,
            sipName_y2,
            sipName_stops,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BddddJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &x1, &y1, &x2, &y2, sipType_wxGraphicsGradientStops, &stops))
        {
             ::wxGraphicsBrush*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBrush(sipCpp->CreateLinearGradientBrush(x1,y1,x2,y2,*stops));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateLinearGradientBrush, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateMatrix, "CreateMatrix(a=1.0, b=0.0, c=0.0, d=1.0, tx=0.0, ty=0.0) -> GraphicsMatrix\n"
"\n"
"Creates a native affine transformation matrix from the passed in\n"
"values.");

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

    {
         ::wxDouble a = 1;
         ::wxDouble b = 0;
         ::wxDouble c = 0;
         ::wxDouble d = 1;
         ::wxDouble tx = 0;
         ::wxDouble ty = 0;
         ::wxGraphicsRenderer *sipCpp;

        static const char *sipKwdList[] = {
            sipName_a,
            sipName_b,
            sipName_c,
            sipName_d,
            sipName_tx,
            sipName_ty,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "B|dddddd", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &a, &b, &c, &d, &tx, &ty))
        {
             ::wxGraphicsMatrix*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsMatrix(sipCpp->CreateMatrix(a,b,c,d,tx,ty));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateMatrix, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreatePath, "CreatePath() -> GraphicsPath\n"
"\n"
"Creates a native graphics path which is initially empty.");

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

    {
         ::wxGraphicsRenderer *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsPath(sipCpp->CreatePath());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreatePath, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreatePen, "CreatePen(pen) -> GraphicsPen\n"
"\n"
"Creates a native pen from a wxPen.");

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

    {
        const  ::wxPen* pen;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxPen, &pen))
        {
             ::wxGraphicsPen*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsPen(sipCpp->CreatePen(*pen));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreatePen, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateRadialGradientBrush, "CreateRadialGradientBrush(xo, yo, xc, yc, radius, stops) -> GraphicsBrush\n"
"\n"
"Creates a native brush with a radial gradient.");

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

    {
         ::wxDouble xo;
         ::wxDouble yo;
         ::wxDouble xc;
         ::wxDouble yc;
         ::wxDouble radius;
        const  ::wxGraphicsGradientStops* stops;
         ::wxGraphicsRenderer *sipCpp;

        static const char *sipKwdList[] = {
            sipName_xo,
            sipName_yo,
            sipName_xc,
            sipName_yc,
            sipName_radius,
            sipName_stops,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BdddddJ9", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, &xo, &yo, &xc, &yc, &radius, sipType_wxGraphicsGradientStops, &stops))
        {
             ::wxGraphicsBrush*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBrush(sipCpp->CreateRadialGradientBrush(xo,yo,xc,yc,radius,*stops));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateRadialGradientBrush, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_CreateSubBitmap, "CreateSubBitmap(bitmap, x, y, w, h) -> GraphicsBitmap\n"
"\n"
"Extracts a sub-bitmap from an existing bitmap.");

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

    {
        const  ::wxGraphicsBitmap* bitmap;
         ::wxDouble x;
         ::wxDouble y;
         ::wxDouble w;
         ::wxDouble h;
         ::wxGraphicsRenderer *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9dddd", &sipSelf, sipType_wxGraphicsRenderer, &sipCpp, sipType_wxGraphicsBitmap, &bitmap, &x, &y, &w, &h))
        {
             ::wxGraphicsBitmap*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxGraphicsBitmap(sipCpp->CreateSubBitmap(*bitmap,x,y,w,h));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_CreateSubBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_GetDefaultRenderer, "GetDefaultRenderer() -> GraphicsRenderer\n"
"\n"
"Returns the default renderer on this platform.");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
             ::wxGraphicsRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes =  ::wxGraphicsRenderer::GetDefaultRenderer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_GetDefaultRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxGraphicsRenderer_GetCairoRenderer, "GetCairoRenderer() -> GraphicsRenderer");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
             ::wxGraphicsRenderer*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes =  ::wxGraphicsRenderer::GetCairoRenderer();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    /* Raise an exception if the arguments couldn't be parsed. */
    sipNoMethod(sipParseErr, sipName_GraphicsRenderer, sipName_GetCairoRenderer, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxObject)
        return static_cast< ::wxObject *>(sipCpp);

    return sipCppV;
}


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

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

    Py_END_ALLOW_THREADS
}


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


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


static PyMethodDef methods_wxGraphicsRenderer[] = {
    {SIP_MLNAME_CAST(sipName_CreateBitmap), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateBitmap), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateBitmap)},
    {SIP_MLNAME_CAST(sipName_CreateBitmapFromImage), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateBitmapFromImage), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateBitmapFromImage)},
    {SIP_MLNAME_CAST(sipName_CreateBitmapFromNativeBitmap), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateBitmapFromNativeBitmap), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateBitmapFromNativeBitmap)},
    {SIP_MLNAME_CAST(sipName_CreateBrush), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateBrush), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateBrush)},
    {SIP_MLNAME_CAST(sipName_CreateContext), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateContext), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateContext)},
    {SIP_MLNAME_CAST(sipName_CreateContextFromImage), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateContextFromImage), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateContextFromImage)},
    {SIP_MLNAME_CAST(sipName_CreateContextFromNativeContext), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateContextFromNativeContext), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateContextFromNativeContext)},
    {SIP_MLNAME_CAST(sipName_CreateContextFromNativeWindow), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateContextFromNativeWindow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateContextFromNativeWindow)},
    {SIP_MLNAME_CAST(sipName_CreateFont), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateFont)},
    {SIP_MLNAME_CAST(sipName_CreateImageFromBitmap), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateImageFromBitmap), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateImageFromBitmap)},
    {SIP_MLNAME_CAST(sipName_CreateLinearGradientBrush), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateLinearGradientBrush), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateLinearGradientBrush)},
    {SIP_MLNAME_CAST(sipName_CreateMatrix), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateMatrix), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateMatrix)},
    {SIP_MLNAME_CAST(sipName_CreateMeasuringContext), meth_wxGraphicsRenderer_CreateMeasuringContext, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateMeasuringContext)},
    {SIP_MLNAME_CAST(sipName_CreatePath), meth_wxGraphicsRenderer_CreatePath, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreatePath)},
    {SIP_MLNAME_CAST(sipName_CreatePen), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreatePen), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreatePen)},
    {SIP_MLNAME_CAST(sipName_CreateRadialGradientBrush), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateRadialGradientBrush), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateRadialGradientBrush)},
    {SIP_MLNAME_CAST(sipName_CreateSubBitmap), SIP_MLMETH_CAST(meth_wxGraphicsRenderer_CreateSubBitmap), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_CreateSubBitmap)},
    {SIP_MLNAME_CAST(sipName_GetCairoRenderer), meth_wxGraphicsRenderer_GetCairoRenderer, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_GetCairoRenderer)},
    {SIP_MLNAME_CAST(sipName_GetDefaultRenderer), meth_wxGraphicsRenderer_GetDefaultRenderer, METH_VARARGS, SIP_MLDOC_CAST(doc_wxGraphicsRenderer_GetDefaultRenderer)}
};

PyDoc_STRVAR(doc_wxGraphicsRenderer, "A wxGraphicsRenderer is the instance corresponding to the rendering\n"
"engine used.");


sipClassTypeDef sipTypeDef__core_wxGraphicsRenderer = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxGraphicsRenderer,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_GraphicsRenderer,
        {0, 0, 1},
        19, methods_wxGraphicsRenderer,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxGraphicsRenderer,
    -1,
    -1,
    supers_wxGraphicsRenderer,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxGraphicsRenderer,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxGraphicsRenderer,
    cast_wxGraphicsRenderer,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
