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

        #include <wx/renderer.h>
        #include <wx/window.h>
        #include <wx/dc.h>
        #include <wx/gdicmn.h>
        #include <wx/renderer.h>
        #include <wx/renderer.h>
        #include <wx/gdicmn.h>
        #include <wx/renderer.h>
    void _wxDelegateRendererNative_DrawTitleBarBitmap(wxDelegateRendererNative* self, wxWindow* win, wxDC* dc, const wxRect* rect, wxTitleBarButton button, int flags)
    {
        #ifdef wxHAS_DRAW_TITLE_BAR_BITMAP
            self->DrawTitleBarBitmap(win, *dc, *rect, button, flags);
        #else
            wxPyRaiseNotImplemented();
        #endif
    }


class sipwxDelegateRendererNative : public  ::wxDelegateRendererNative
{
public:
    sipwxDelegateRendererNative();
    sipwxDelegateRendererNative( ::wxRendererNative&);
    virtual ~sipwxDelegateRendererNative();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    void DrawCheckBox( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawComboBoxDropButton( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawDropArrow( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawFocusRect( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    int DrawHeaderButton( ::wxWindow*, ::wxDC&,const  ::wxRect&,int, ::wxHeaderSortIconType, ::wxHeaderButtonParams*) SIP_OVERRIDE;
    int DrawHeaderButtonContents( ::wxWindow*, ::wxDC&,const  ::wxRect&,int, ::wxHeaderSortIconType, ::wxHeaderButtonParams*) SIP_OVERRIDE;
    void DrawItemSelectionRect( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawPushButton( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawSplitterBorder( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawSplitterSash( ::wxWindow*, ::wxDC&,const  ::wxSize&, ::wxCoord, ::wxOrientation,int) SIP_OVERRIDE;
    void DrawTreeItemButton( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawChoice( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawComboBox( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawTextCtrl( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
    void DrawRadioBitmap( ::wxWindow*, ::wxDC&,const  ::wxRect&,int) SIP_OVERRIDE;
     ::wxSize GetCheckBoxSize( ::wxWindow*) SIP_OVERRIDE;
    int GetHeaderButtonHeight( ::wxWindow*) SIP_OVERRIDE;
    int GetHeaderButtonMargin( ::wxWindow*) SIP_OVERRIDE;
     ::wxSplitterRenderParams GetSplitterParams(const  ::wxWindow*) SIP_OVERRIDE;
     ::wxRendererVersion GetVersion() const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[20];
};

sipwxDelegateRendererNative::sipwxDelegateRendererNative():  ::wxDelegateRendererNative(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxDelegateRendererNative::sipwxDelegateRendererNative( ::wxRendererNative& rendererNative):  ::wxDelegateRendererNative(rendererNative), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

void sipwxDelegateRendererNative::DrawCheckBox( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawCheckBox(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawComboBoxDropButton( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawComboBoxDropButton(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawDropArrow( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawDropArrow(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawFocusRect( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawFocusRect(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

int sipwxDelegateRendererNative::DrawHeaderButton( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags, ::wxHeaderSortIconType sortArrow, ::wxHeaderButtonParams*params)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[4],sipPySelf,SIP_NULLPTR,sipName_DrawHeaderButton);

    if (!sipMeth)
        return  ::wxDelegateRendererNative::DrawHeaderButton(win,dc,rect,flags,sortArrow,params);

    extern int sipVH__core_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int, ::wxHeaderSortIconType, ::wxHeaderButtonParams*);

    return sipVH__core_26(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags, sortArrow, params);
}

int sipwxDelegateRendererNative::DrawHeaderButtonContents( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags, ::wxHeaderSortIconType sortArrow, ::wxHeaderButtonParams*params)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxDelegateRendererNative::DrawHeaderButtonContents(win,dc,rect,flags,sortArrow,params);

    extern int sipVH__core_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int, ::wxHeaderSortIconType, ::wxHeaderButtonParams*);

    return sipVH__core_26(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags, sortArrow, params);
}

void sipwxDelegateRendererNative::DrawItemSelectionRect( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawItemSelectionRect(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawPushButton( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawPushButton(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawSplitterBorder( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawSplitterBorder(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawSplitterSash( ::wxWindow*win, ::wxDC& dc,const  ::wxSize& size, ::wxCoord position, ::wxOrientation orient,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawSplitterSash(win,dc,size,position,orient,flags);
        return;
    }

    extern void sipVH__core_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxSize&, ::wxCoord, ::wxOrientation,int);

    sipVH__core_27(sipGILState, 0, sipPySelf, sipMeth, win, dc, size, position, orient, flags);
}

void sipwxDelegateRendererNative::DrawTreeItemButton( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxDelegateRendererNative::DrawTreeItemButton(win,dc,rect,flags);
        return;
    }

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawChoice( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[11],sipPySelf,sipName_DelegateRendererNative,sipName_DrawChoice);

    if (!sipMeth)
        return;

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawComboBox( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[12],sipPySelf,sipName_DelegateRendererNative,sipName_DrawComboBox);

    if (!sipMeth)
        return;

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawTextCtrl( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[13],sipPySelf,sipName_DelegateRendererNative,sipName_DrawTextCtrl);

    if (!sipMeth)
        return;

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

void sipwxDelegateRendererNative::DrawRadioBitmap( ::wxWindow*win, ::wxDC& dc,const  ::wxRect& rect,int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[14],sipPySelf,sipName_DelegateRendererNative,sipName_DrawRadioBitmap);

    if (!sipMeth)
        return;

    extern void sipVH__core_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*, ::wxDC&,const  ::wxRect&,int);

    sipVH__core_25(sipGILState, 0, sipPySelf, sipMeth, win, dc, rect, flags);
}

 ::wxSize sipwxDelegateRendererNative::GetCheckBoxSize( ::wxWindow*win)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxDelegateRendererNative::GetCheckBoxSize(win);

    extern  ::wxSize sipVH__core_28(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*);

    return sipVH__core_28(sipGILState, 0, sipPySelf, sipMeth, win);
}

int sipwxDelegateRendererNative::GetHeaderButtonHeight( ::wxWindow*win)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[16],sipPySelf,SIP_NULLPTR,sipName_GetHeaderButtonHeight);

    if (!sipMeth)
        return  ::wxDelegateRendererNative::GetHeaderButtonHeight(win);

    extern int sipVH__core_29(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*);

    return sipVH__core_29(sipGILState, 0, sipPySelf, sipMeth, win);
}

int sipwxDelegateRendererNative::GetHeaderButtonMargin( ::wxWindow*win)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[17],sipPySelf,SIP_NULLPTR,sipName_GetHeaderButtonMargin);

    if (!sipMeth)
        return  ::wxDelegateRendererNative::GetHeaderButtonMargin(win);

    extern int sipVH__core_29(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxWindow*);

    return sipVH__core_29(sipGILState, 0, sipPySelf, sipMeth, win);
}

 ::wxSplitterRenderParams sipwxDelegateRendererNative::GetSplitterParams(const  ::wxWindow*win)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[18],sipPySelf,SIP_NULLPTR,sipName_GetSplitterParams);

    if (!sipMeth)
        return  ::wxDelegateRendererNative::GetSplitterParams(win);

    extern  ::wxSplitterRenderParams sipVH__core_30(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxWindow*);

    return sipVH__core_30(sipGILState, 0, sipPySelf, sipMeth, win);
}

 ::wxRendererVersion sipwxDelegateRendererNative::GetVersion() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,const_cast<char *>(&sipPyMethods[19]),sipPySelf,SIP_NULLPTR,sipName_GetVersion);

    if (!sipMeth)
        return  ::wxDelegateRendererNative::GetVersion();

    extern  ::wxRendererVersion sipVH__core_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    return sipVH__core_31(sipGILState, 0, sipPySelf, sipMeth);
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawHeaderButton, "DrawHeaderButton(win, dc, rect, flags=0, sortArrow=HDR_SORT_ICON_NONE, params=None) -> int\n"
"\n"
"Draw the header control button (used, for example, by wxListCtrl).");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE;
         ::wxHeaderButtonParams* params = 0;
         ::wxDelegateRendererNative *sipCpp;

        static const char *sipKwdList[] = {
            sipName_win,
            sipName_dc,
            sipName_rect,
            sipName_flags,
            sipName_sortArrow,
            sipName_params,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|iEJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags, sipType_wxHeaderSortIconType, &sortArrow, sipType_wxHeaderButtonParams, &params))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawHeaderButton(win,*dc,*rect,flags,sortArrow,params) : sipCpp->DrawHeaderButton(win,*dc,*rect,flags,sortArrow,params));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawHeaderButtonContents, "DrawHeaderButtonContents(win, dc, rect, flags=0, sortArrow=HDR_SORT_ICON_NONE, params=None) -> int\n"
"\n"
"Draw the contents of a header control button (label, sort arrows,\n"
"etc.).");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE;
         ::wxHeaderButtonParams* params = 0;
         ::wxDelegateRendererNative *sipCpp;

        static const char *sipKwdList[] = {
            sipName_win,
            sipName_dc,
            sipName_rect,
            sipName_flags,
            sipName_sortArrow,
            sipName_params,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|iEJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags, sipType_wxHeaderSortIconType, &sortArrow, sipType_wxHeaderButtonParams, &params))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawHeaderButtonContents(win,*dc,*rect,flags,sortArrow,params) : sipCpp->DrawHeaderButtonContents(win,*dc,*rect,flags,sortArrow,params));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_GetHeaderButtonHeight, "GetHeaderButtonHeight(win) -> int\n"
"\n"
"Returns the height of a header button, either a fixed platform height\n"
"if available, or a generic height based on the win window's font.");

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

    {
         ::wxWindow* win;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::GetHeaderButtonHeight(win) : sipCpp->GetHeaderButtonHeight(win));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_GetHeaderButtonMargin, "GetHeaderButtonMargin(win) -> int\n"
"\n"
"Returns the horizontal margin on the left and right sides of header\n"
"button's label.");

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

    {
         ::wxWindow* win;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::GetHeaderButtonMargin(win) : sipCpp->GetHeaderButtonMargin(win));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return SIPLong_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawTreeItemButton, "DrawTreeItemButton(win, dc, rect, flags=0)\n"
"\n"
"Draw the expanded/collapsed icon for a tree control item.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawTreeItemButton(win,*dc,*rect,flags) : sipCpp->DrawTreeItemButton(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawSplitterBorder, "DrawSplitterBorder(win, dc, rect, flags=0)\n"
"\n"
"Draw the border for sash window: this border must be such that the\n"
"sash drawn by DrawSplitterSash() blends into it well.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawSplitterBorder(win,*dc,*rect,flags) : sipCpp->DrawSplitterBorder(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawSplitterSash, "DrawSplitterSash(win, dc, size, position, orient, flags=0)\n"
"\n"
"Draw a sash.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxSize* size;
        int sizeState = 0;
         ::wxCoord position;
         ::wxOrientation orient;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

        static const char *sipKwdList[] = {
            sipName_win,
            sipName_dc,
            sipName_size,
            sipName_position,
            sipName_orient,
            sipName_flags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1iE|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxSize, &size, &sizeState, &position, sipType_wxOrientation, &orient, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawSplitterSash(win,*dc,*size,position,orient,flags) : sipCpp->DrawSplitterSash(win,*dc,*size,position,orient,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxSize *>(size),sipType_wxSize,sizeState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawComboBoxDropButton, "DrawComboBoxDropButton(win, dc, rect, flags=0)\n"
"\n"
"Draw a button like the one used by wxComboBox to show a drop down\n"
"window.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawComboBoxDropButton(win,*dc,*rect,flags) : sipCpp->DrawComboBoxDropButton(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawDropArrow, "DrawDropArrow(win, dc, rect, flags=0)\n"
"\n"
"Draw a drop down arrow that is suitable for use outside a combo box.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawDropArrow(win,*dc,*rect,flags) : sipCpp->DrawDropArrow(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawCheckBox, "DrawCheckBox(win, dc, rect, flags=0)\n"
"\n"
"Draw a check box.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawCheckBox(win,*dc,*rect,flags) : sipCpp->DrawCheckBox(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_GetCheckBoxSize, "GetCheckBoxSize(win) -> Size\n"
"\n"
"Returns the size of a check box.");

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

    {
         ::wxWindow* win;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize((sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::GetCheckBoxSize(win) : sipCpp->GetCheckBoxSize(win)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawPushButton, "DrawPushButton(win, dc, rect, flags=0)\n"
"\n"
"Draw a blank push button that looks very similar to wxButton.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawPushButton(win,*dc,*rect,flags) : sipCpp->DrawPushButton(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawItemSelectionRect, "DrawItemSelectionRect(win, dc, rect, flags=0)\n"
"\n"
"Draw a selection rectangle underneath the text as used e.g.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawItemSelectionRect(win,*dc,*rect,flags) : sipCpp->DrawItemSelectionRect(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_DrawFocusRect, "DrawFocusRect(win, dc, rect, flags=0)\n"
"\n"
"Draw a focus rectangle using the specified rectangle.");

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

    {
         ::wxWindow* win;
         ::wxDC* dc;
        const  ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1|i", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::DrawFocusRect(win,*dc,*rect,flags) : sipCpp->DrawFocusRect(win,*dc,*rect,flags));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_GetSplitterParams, "GetSplitterParams(win) -> SplitterRenderParams\n"
"\n"
"Get the splitter parameters, see wxSplitterRenderParams.");

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

    {
        const  ::wxWindow* win;
         ::wxDelegateRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxDelegateRendererNative, &sipCpp, sipType_wxWindow, &win))
        {
             ::wxSplitterRenderParams*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSplitterRenderParams((sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::GetSplitterParams(win) : sipCpp->GetSplitterParams(win)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxDelegateRendererNative_GetVersion, "GetVersion() -> RendererVersion\n"
"\n"
"This function is used for version checking: Load() refuses to load any\n"
"shared libraries implementing an older or incompatible version.");

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

    {
        const  ::wxDelegateRendererNative *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRendererVersion((sipSelfWasArg ? sipCpp-> ::wxDelegateRendererNative::GetVersion() : sipCpp->GetVersion()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


extern "C" {static PyObject *meth_wxDelegateRendererNative_DrawTitleBarBitmap(PyObject *, PyObject *);}
static PyObject *meth_wxDelegateRendererNative_DrawTitleBarBitmap(PyObject *, PyObject *)
{

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

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxRendererNative)
        return static_cast< ::wxRendererNative *>(sipCpp);

    return sipCppV;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxDelegateRendererNative *>(sipCppV);
    else
        delete reinterpret_cast< ::wxDelegateRendererNative *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


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

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

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxDelegateRendererNative();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
         ::wxRendererNative* rendererNative;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9", sipType_wxRendererNative, &rendererNative))
        {

        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxDelegateRendererNative(*rendererNative);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxDelegateRendererNative[] = {
    {SIP_MLNAME_CAST(sipName_DrawCheckBox), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawCheckBox), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawCheckBox)},
    {SIP_MLNAME_CAST(sipName_DrawComboBoxDropButton), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawComboBoxDropButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawComboBoxDropButton)},
    {SIP_MLNAME_CAST(sipName_DrawDropArrow), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawDropArrow), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawDropArrow)},
    {SIP_MLNAME_CAST(sipName_DrawFocusRect), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawFocusRect), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawFocusRect)},
    {SIP_MLNAME_CAST(sipName_DrawHeaderButton), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawHeaderButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawHeaderButton)},
    {SIP_MLNAME_CAST(sipName_DrawHeaderButtonContents), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawHeaderButtonContents), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawHeaderButtonContents)},
    {SIP_MLNAME_CAST(sipName_DrawItemSelectionRect), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawItemSelectionRect), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawItemSelectionRect)},
    {SIP_MLNAME_CAST(sipName_DrawPushButton), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawPushButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawPushButton)},
    {SIP_MLNAME_CAST(sipName_DrawSplitterBorder), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawSplitterBorder), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawSplitterBorder)},
    {SIP_MLNAME_CAST(sipName_DrawSplitterSash), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawSplitterSash), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawSplitterSash)},
    {SIP_MLNAME_CAST(sipName_DrawTitleBarBitmap), meth_wxDelegateRendererNative_DrawTitleBarBitmap, METH_VARARGS, SIP_NULLPTR},
    {SIP_MLNAME_CAST(sipName_DrawTreeItemButton), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_DrawTreeItemButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_DrawTreeItemButton)},
    {SIP_MLNAME_CAST(sipName_GetCheckBoxSize), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_GetCheckBoxSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_GetCheckBoxSize)},
    {SIP_MLNAME_CAST(sipName_GetHeaderButtonHeight), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_GetHeaderButtonHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_GetHeaderButtonHeight)},
    {SIP_MLNAME_CAST(sipName_GetHeaderButtonMargin), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_GetHeaderButtonMargin), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_GetHeaderButtonMargin)},
    {SIP_MLNAME_CAST(sipName_GetSplitterParams), SIP_MLMETH_CAST(meth_wxDelegateRendererNative_GetSplitterParams), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_GetSplitterParams)},
    {SIP_MLNAME_CAST(sipName_GetVersion), meth_wxDelegateRendererNative_GetVersion, METH_VARARGS, SIP_MLDOC_CAST(doc_wxDelegateRendererNative_GetVersion)}
};

sipVariableDef variables_wxDelegateRendererNative[] = {
    {PropertyVariable, sipName_Version, &methods_wxDelegateRendererNative[16], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxDelegateRendererNative, "DelegateRendererNative()\n"
"DelegateRendererNative(rendererNative)\n"
"\n"
"wxDelegateRendererNative allows reuse of renderers code by forwarding\n"
"all the wxRendererNative methods to the given object and thus allowing\n"
"you to only modify some of its methods  without having to reimplement\n"
"all of them.");


sipClassTypeDef sipTypeDef__core_wxDelegateRendererNative = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_wxDelegateRendererNative,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_DelegateRendererNative,
        {0, 0, 1},
        17, methods_wxDelegateRendererNative,
        0, SIP_NULLPTR,
        1, variables_wxDelegateRendererNative,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxDelegateRendererNative,
    -1,
    -1,
    supers_wxDelegateRendererNative,
    SIP_NULLPTR,
    init_type_wxDelegateRendererNative,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxDelegateRendererNative,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxDelegateRendererNative,
    cast_wxDelegateRendererNative,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
