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

#include "sipAPI_core.h"
        #include <wx/renderer.h>
        #include <wx/renderer.h>
        #include <wx/renderer.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/gdicmn.h>
        #include <wx/renderer.h>
    void _wxRendererNative_DrawTitleBarBitmap(wxRendererNative* 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
    }


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawCheckBox);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawCheckBox, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawComboBoxDropButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawComboBoxDropButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawDropArrow);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawDropArrow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawFocusRect);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawFocusRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawGauge, "DrawGauge(win, dc, rect, value, max, flags=0) -> None\n"
"\n"
"Draw a progress bar in the specified rectangle.");

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1ii|i", &sipSelf, sipType_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &value, &max, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawGauge);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawGauge(win, *dc, *rect, value, max, 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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawGauge, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_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_wxRendererNative_DrawHeaderButton(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_DrawHeaderButton(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE;
        ::wxHeaderButtonParams* params = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags, sipType_wxHeaderSortIconType, &sortArrow, sipType_wxHeaderButtonParams, &params))
        {
            int sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawHeaderButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = 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 PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawHeaderButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_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_wxRendererNative_DrawHeaderButtonContents(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_DrawHeaderButtonContents(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE;
        ::wxHeaderButtonParams* params = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags, sipType_wxHeaderSortIconType, &sortArrow, sipType_wxHeaderButtonParams, &params))
        {
            int sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawHeaderButtonContents);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = 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 PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawHeaderButtonContents, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawItemSelectionRect);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawItemSelectionRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawItemText, "DrawItemText(win, dc, text, rect, align=ALIGN_LEFT|ALIGN_TOP, flags=0, ellipsizeMode=ELLIPSIZE_END) -> None\n"
"\n"
"Draw item text in the correct color based on selection status.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxString* text;
        int textState = 0;
        const ::wxRect* rect;
        int rectState = 0;
        int align = wxALIGN_LEFT|wxALIGN_TOP;
        int flags = 0;
        ::wxEllipsizeMode ellipsizeMode = wxELLIPSIZE_END;
        ::wxRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1J1|iiE", &sipSelf, sipType_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxString, &text, &textState, sipType_wxRect, &rect, &rectState, &align, &flags, sipType_wxEllipsizeMode, &ellipsizeMode))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawItemText);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawItemText(win, *dc, *text, *rect, align, flags, ellipsizeMode);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(text), sipType_wxString, textState);
            sipReleaseType(const_cast< ::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawItemText, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawPushButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawPushButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawCollapseButton, "DrawCollapseButton(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a collapse button.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawCollapseButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawCollapseButton(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawCollapseButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_GetCollapseButtonSize, "GetCollapseButtonSize(win, dc) -> Size\n"
"\n"
"Returns the size of a collapse button.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        ::wxRendererNative *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9", &sipSelf, sipType_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc))
        {
            ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetCollapseButtonSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetCollapseButtonSize(win, *dc));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetCollapseButtonSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawSplitterBorder, "DrawSplitterBorder(win, dc, rect, flags=0) -> None\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_wxRendererNative_DrawSplitterBorder(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_DrawSplitterBorder(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawSplitterBorder);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawSplitterBorder, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxSize* size;
        int sizeState = 0;
        ::wxCoord position;
        ::wxOrientation orient;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxSize, &size, &sizeState, &position, sipType_wxOrientation, &orient, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawSplitterSash);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawSplitterSash, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawTreeItemButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawTreeItemButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawChoice, "DrawChoice(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a native wxChoice.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawChoice);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawChoice(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawChoice, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawComboBox, "DrawComboBox(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a native wxComboBox.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawComboBox);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawComboBox(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawComboBox, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawTextCtrl, "DrawTextCtrl(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a native wxTextCtrl frame.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawTextCtrl);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawTextCtrl(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawTextCtrl, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawRadioBitmap, "DrawRadioBitmap(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a native wxRadioButton bitmap.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawRadioBitmap);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawRadioBitmap(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawRadioBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawTitleBarBitmap, "DrawTitleBarBitmap(win, dc, rect, button, flags=0) -> None\n"
"\n"
"Draw a title bar button in the given state.");

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J9J1E|i", &sipSelf, sipType_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, sipType_wxTitleBarButton, &button, &flags))
        {
            int sipIsErr = 0;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawTitleBarBitmap);
                return SIP_NULLPTR;
            }
        PyErr_Clear();
        Py_BEGIN_ALLOW_THREADS
        _wxRendererNative_DrawTitleBarBitmap(sipCpp, win, dc, rect, button, flags);
        Py_END_ALLOW_THREADS
        if (PyErr_Occurred()) sipIsErr = 1;
            sipReleaseType(const_cast< ::wxRect *>(rect), sipType_wxRect, rectState);

            if (sipIsErr)
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawTitleBarBitmap, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_DrawCheckMark, "DrawCheckMark(win, dc, rect, flags=0) -> None\n"
"\n"
"Draw a check mark.");

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

    {
        ::wxWindow* win;
        ::wxDC* dc;
        const ::wxRect* rect;
        int rectState = 0;
        int flags = 0;
        ::wxRendererNative *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_wxRendererNative, &sipCpp, sipType_wxWindow, &win, sipType_wxDC, &dc, sipType_wxRect, &rect, &rectState, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_DrawCheckMark);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawCheckMark(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;
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_DrawCheckMark, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
        ::wxWindow* win;
        int flags = 0;
        ::wxRendererNative *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetCheckBoxSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->GetCheckBoxSize(win, flags));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetCheckBoxSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_GetCheckMarkSize, "GetCheckMarkSize(win) -> Size\n"
"\n"
"Returns the size of a check mark.");

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

    {
        ::wxWindow* win;
        ::wxRendererNative *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetCheckMarkSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetCheckMarkSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_GetExpanderSize, "GetExpanderSize(win) -> Size\n"
"\n"
"Returns the size of the expander used in tree-like controls.");

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

    {
        ::wxWindow* win;
        ::wxRendererNative *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetExpanderSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetExpanderSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_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_wxRendererNative_GetHeaderButtonHeight(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_GetHeaderButtonHeight(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        ::wxWindow* win;
        ::wxRendererNative *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetHeaderButtonHeight);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetHeaderButtonHeight(win);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetHeaderButtonHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_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_wxRendererNative_GetHeaderButtonMargin(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_GetHeaderButtonMargin(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        ::wxWindow* win;
        ::wxRendererNative *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetHeaderButtonMargin);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetHeaderButtonMargin(win);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetHeaderButtonMargin, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetSplitterParams);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetSplitterParams, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_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_wxRendererNative_GetVersion(PyObject *, PyObject *);}
static PyObject *meth_wxRendererNative_GetVersion(PyObject *sipSelf, PyObject *sipArgs)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = sipSelf;

    {
        const ::wxRendererNative *sipCpp;

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RendererNative, sipName_GetVersion);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetVersion, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_Get, "Get() -> RendererNative\n"
"\n"
"Return the currently used renderer.");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            ::wxRendererNative*sipRes;
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &::wxRendererNative::Get();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_Get, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_GetDefault, "GetDefault() -> RendererNative\n"
"\n"
"Return the default (native) implementation for this platform  this is\n"
"also the one used by default but this may be changed by calling Set()\n"
"in which case the return value of this method may be different from\n"
"the return value of Get().");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            ::wxRendererNative*sipRes;
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &::wxRendererNative::GetDefault();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetDefault, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_GetGeneric, "GetGeneric() -> RendererNative\n"
"\n"
"Return the generic implementation of the renderer.");

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

    {
        if (sipParseArgs(&sipParseErr, sipArgs, ""))
        {
            ::wxRendererNative*sipRes;
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &::wxRendererNative::GetGeneric();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_GetGeneric, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_Load, "Load(name) -> RendererNative\n"
"\n"
"Load the renderer from the specified DLL, the returned pointer must be deleted by caller if not NULL when it is not used any more.");

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

    {
        const ::wxString* name;
        int nameState = 0;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J1", sipType_wxString, &name, &nameState))
        {
            ::wxRendererNative*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRendererNative::Load(*name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(name), sipType_wxString, nameState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_Load, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRendererNative_Set, "Set(renderer) -> RendererNative\n"
"\n"
"Set the renderer to use, passing NULL reverts to using the default renderer (the global renderer must always exist).");

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

    {
        ::wxRendererNative* renderer;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "J8", sipType_wxRendererNative, &renderer))
        {
            ::wxRendererNative*sipRes;
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = ::wxRendererNative::Set(renderer);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RendererNative, sipName_Set, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    Py_END_ALLOW_THREADS
}


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


static PyMethodDef methods_wxRendererNative[] = {
    {sipName_DrawCheckBox, SIP_MLMETH_CAST(meth_wxRendererNative_DrawCheckBox), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawCheckBox},
    {sipName_DrawCheckMark, SIP_MLMETH_CAST(meth_wxRendererNative_DrawCheckMark), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawCheckMark},
    {sipName_DrawChoice, SIP_MLMETH_CAST(meth_wxRendererNative_DrawChoice), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawChoice},
    {sipName_DrawCollapseButton, SIP_MLMETH_CAST(meth_wxRendererNative_DrawCollapseButton), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawCollapseButton},
    {sipName_DrawComboBox, SIP_MLMETH_CAST(meth_wxRendererNative_DrawComboBox), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawComboBox},
    {sipName_DrawComboBoxDropButton, SIP_MLMETH_CAST(meth_wxRendererNative_DrawComboBoxDropButton), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawComboBoxDropButton},
    {sipName_DrawDropArrow, SIP_MLMETH_CAST(meth_wxRendererNative_DrawDropArrow), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawDropArrow},
    {sipName_DrawFocusRect, SIP_MLMETH_CAST(meth_wxRendererNative_DrawFocusRect), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawFocusRect},
    {sipName_DrawGauge, SIP_MLMETH_CAST(meth_wxRendererNative_DrawGauge), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawGauge},
    {sipName_DrawHeaderButton, SIP_MLMETH_CAST(meth_wxRendererNative_DrawHeaderButton), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawHeaderButton},
    {sipName_DrawHeaderButtonContents, SIP_MLMETH_CAST(meth_wxRendererNative_DrawHeaderButtonContents), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawHeaderButtonContents},
    {sipName_DrawItemSelectionRect, SIP_MLMETH_CAST(meth_wxRendererNative_DrawItemSelectionRect), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawItemSelectionRect},
    {sipName_DrawItemText, SIP_MLMETH_CAST(meth_wxRendererNative_DrawItemText), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawItemText},
    {sipName_DrawPushButton, SIP_MLMETH_CAST(meth_wxRendererNative_DrawPushButton), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawPushButton},
    {sipName_DrawRadioBitmap, SIP_MLMETH_CAST(meth_wxRendererNative_DrawRadioBitmap), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawRadioBitmap},
    {sipName_DrawSplitterBorder, SIP_MLMETH_CAST(meth_wxRendererNative_DrawSplitterBorder), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawSplitterBorder},
    {sipName_DrawSplitterSash, SIP_MLMETH_CAST(meth_wxRendererNative_DrawSplitterSash), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawSplitterSash},
    {sipName_DrawTextCtrl, SIP_MLMETH_CAST(meth_wxRendererNative_DrawTextCtrl), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawTextCtrl},
    {sipName_DrawTitleBarBitmap, SIP_MLMETH_CAST(meth_wxRendererNative_DrawTitleBarBitmap), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawTitleBarBitmap},
    {sipName_DrawTreeItemButton, SIP_MLMETH_CAST(meth_wxRendererNative_DrawTreeItemButton), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_DrawTreeItemButton},
    {sipName_Get, meth_wxRendererNative_Get, METH_VARARGS, doc_wxRendererNative_Get},
    {sipName_GetCheckBoxSize, SIP_MLMETH_CAST(meth_wxRendererNative_GetCheckBoxSize), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetCheckBoxSize},
    {sipName_GetCheckMarkSize, SIP_MLMETH_CAST(meth_wxRendererNative_GetCheckMarkSize), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetCheckMarkSize},
    {sipName_GetCollapseButtonSize, SIP_MLMETH_CAST(meth_wxRendererNative_GetCollapseButtonSize), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetCollapseButtonSize},
    {sipName_GetDefault, meth_wxRendererNative_GetDefault, METH_VARARGS, doc_wxRendererNative_GetDefault},
    {sipName_GetExpanderSize, SIP_MLMETH_CAST(meth_wxRendererNative_GetExpanderSize), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetExpanderSize},
    {sipName_GetGeneric, meth_wxRendererNative_GetGeneric, METH_VARARGS, doc_wxRendererNative_GetGeneric},
    {sipName_GetHeaderButtonHeight, SIP_MLMETH_CAST(meth_wxRendererNative_GetHeaderButtonHeight), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetHeaderButtonHeight},
    {sipName_GetHeaderButtonMargin, SIP_MLMETH_CAST(meth_wxRendererNative_GetHeaderButtonMargin), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetHeaderButtonMargin},
    {sipName_GetSplitterParams, SIP_MLMETH_CAST(meth_wxRendererNative_GetSplitterParams), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_GetSplitterParams},
    {sipName_GetVersion, meth_wxRendererNative_GetVersion, METH_VARARGS, doc_wxRendererNative_GetVersion},
    {sipName_Load, SIP_MLMETH_CAST(meth_wxRendererNative_Load), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_Load},
    {sipName_Set, SIP_MLMETH_CAST(meth_wxRendererNative_Set), METH_VARARGS|METH_KEYWORDS, doc_wxRendererNative_Set}
};

sipVariableDef variables_wxRendererNative[] = {
    {PropertyVariable, sipName_Version, &methods_wxRendererNative[30], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRendererNative, "First, a brief introduction to wxRendererNative and why it is needed.");


sipClassTypeDef sipTypeDef__core_wxRendererNative = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_wxRendererNative,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_RendererNative,
        {0, 0, 1},
        33, methods_wxRendererNative,
        0, SIP_NULLPTR,
        1, variables_wxRendererNative,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRendererNative,
    -1,
    -1,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRendererNative,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxRendererNative,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    0,
};
