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

#include "sipAPI_ribbon.h"

        #include <wx/ribbon/art.h>

        #include <wx/dc.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/bitmap.h>
        #include <wx/ribbon/gallery.h>
        #include <wx/ribbon/panel.h>
        #include <wx/ribbon/bar.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/font.h>
        #include <wx/colour.h>
        #include <wx/ribbon/art.h>
        #include <wx/ribbon/page.h>
        #include <wx/ribbon/bar.h>


class sipwxRibbonAUIArtProvider : public  ::wxRibbonAUIArtProvider
{
public:
    sipwxRibbonAUIArtProvider();
    sipwxRibbonAUIArtProvider(const  ::wxRibbonAUIArtProvider&);
    virtual ~sipwxRibbonAUIArtProvider();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
     ::wxRect GetRibbonHelpButtonArea(const  ::wxRect&) SIP_OVERRIDE;
     ::wxRect GetBarToggleButtonArea(const  ::wxRect&) SIP_OVERRIDE;
     ::wxSize GetToolSize( ::wxDC&, ::wxWindow*, ::wxSize, ::wxRibbonButtonKind,bool,bool, ::wxRect*) SIP_OVERRIDE;
     ::wxSize GetMinimisedPanelMinimumSize( ::wxDC&,const  ::wxRibbonPanel*, ::wxSize*, ::wxDirection*) SIP_OVERRIDE;
    bool GetButtonBarButtonSize( ::wxDC&, ::wxWindow*, ::wxRibbonButtonKind, ::wxRibbonButtonBarButtonState,const  ::wxString&, ::wxSize, ::wxSize, ::wxSize*, ::wxRect*, ::wxRect*) SIP_OVERRIDE;
     ::wxRect GetPageBackgroundRedrawArea( ::wxDC&,const  ::wxRibbonPage*, ::wxSize, ::wxSize) SIP_OVERRIDE;
     ::wxSize GetGalleryClientSize( ::wxDC&,const  ::wxRibbonGallery*, ::wxSize, ::wxPoint*, ::wxRect*, ::wxRect*, ::wxRect*) SIP_OVERRIDE;
     ::wxSize GetGallerySize( ::wxDC&,const  ::wxRibbonGallery*, ::wxSize) SIP_OVERRIDE;
     ::wxRect GetPanelExtButtonArea( ::wxDC&,const  ::wxRibbonPanel*, ::wxRect) SIP_OVERRIDE;
     ::wxSize GetPanelClientSize( ::wxDC&,const  ::wxRibbonPanel*, ::wxSize, ::wxPoint*) SIP_OVERRIDE;
     ::wxSize GetPanelSize( ::wxDC&,const  ::wxRibbonPanel*, ::wxSize, ::wxPoint*) SIP_OVERRIDE;
     ::wxSize GetScrollButtonMinimumSize( ::wxDC&, ::wxWindow*,long) SIP_OVERRIDE;
    int GetTabCtrlHeight( ::wxDC&, ::wxWindow*,const  ::wxRibbonPageTabInfoArray&) SIP_OVERRIDE;
    void GetBarTabWidth( ::wxDC&, ::wxWindow*,const  ::wxString&,const  ::wxBitmap&,int*,int*,int*,int*) SIP_OVERRIDE;
    void DrawHelpButton( ::wxDC&, ::wxRibbonBar*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawToggleButton( ::wxDC&, ::wxRibbonBar*,const  ::wxRect&, ::wxRibbonDisplayMode) SIP_OVERRIDE;
    void DrawTool( ::wxDC&, ::wxWindow*,const  ::wxRect&,const  ::wxBitmap&, ::wxRibbonButtonKind,long) SIP_OVERRIDE;
    void DrawToolGroupBackground( ::wxDC&, ::wxWindow*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawToolBarBackground( ::wxDC&, ::wxWindow*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawButtonBarButton( ::wxDC&, ::wxWindow*,const  ::wxRect&, ::wxRibbonButtonKind,long,const  ::wxString&,const  ::wxBitmap&,const  ::wxBitmap&) SIP_OVERRIDE;
    void DrawButtonBarBackground( ::wxDC&, ::wxWindow*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawMinimisedPanel( ::wxDC&, ::wxRibbonPanel*,const  ::wxRect&, ::wxBitmap&) SIP_OVERRIDE;
    void DrawGalleryItemBackground( ::wxDC&, ::wxRibbonGallery*,const  ::wxRect&, ::wxRibbonGalleryItem*) SIP_OVERRIDE;
    void DrawGalleryBackground( ::wxDC&, ::wxRibbonGallery*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawPanelBackground( ::wxDC&, ::wxRibbonPanel*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawScrollButton( ::wxDC&, ::wxWindow*,const  ::wxRect&,long) SIP_OVERRIDE;
    void DrawPageBackground( ::wxDC&, ::wxWindow*,const  ::wxRect&) SIP_OVERRIDE;
    void DrawTabSeparator( ::wxDC&, ::wxWindow*,const  ::wxRect&,double) SIP_OVERRIDE;
    void DrawTab( ::wxDC&, ::wxWindow*,const  ::wxRibbonPageTabInfo&) SIP_OVERRIDE;
    void DrawTabCtrlBackground( ::wxDC&, ::wxWindow*,const  ::wxRect&) SIP_OVERRIDE;
    void SetColourScheme(const  ::wxColour&,const  ::wxColour&,const  ::wxColour&) SIP_OVERRIDE;
    void GetColourScheme( ::wxColour*, ::wxColour*, ::wxColour*) const SIP_OVERRIDE;
    void SetColour(int,const  ::wxColour&) SIP_OVERRIDE;
     ::wxColour GetColour(int) const SIP_OVERRIDE;
     ::wxFont GetFont(int) const SIP_OVERRIDE;
    void SetFont(int,const  ::wxFont&) SIP_OVERRIDE;
    void SetMetric(int,int) SIP_OVERRIDE;
    int GetMetric(int) const SIP_OVERRIDE;
    long GetFlags() const SIP_OVERRIDE;
    void SetFlags(long) SIP_OVERRIDE;
     ::wxRibbonArtProvider* Clone() const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[41];
};

sipwxRibbonAUIArtProvider::sipwxRibbonAUIArtProvider():  ::wxRibbonAUIArtProvider(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRibbonAUIArtProvider::sipwxRibbonAUIArtProvider(const  ::wxRibbonAUIArtProvider& a0):  ::wxRibbonAUIArtProvider(a0), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

 ::wxRect sipwxRibbonAUIArtProvider::GetRibbonHelpButtonArea(const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetRibbonHelpButtonArea(rect);

    extern  ::wxRect sipVH__ribbon_53(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxRect&);

    return sipVH__ribbon_53(sipGILState, 0, sipPySelf, sipMeth, rect);
}

 ::wxRect sipwxRibbonAUIArtProvider::GetBarToggleButtonArea(const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetBarToggleButtonArea(rect);

    extern  ::wxRect sipVH__ribbon_53(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxRect&);

    return sipVH__ribbon_53(sipGILState, 0, sipPySelf, sipMeth, rect);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetToolSize( ::wxDC& dc, ::wxWindow*wnd, ::wxSize bitmap_size, ::wxRibbonButtonKind kind,bool is_first,bool is_last, ::wxRect*dropdown_region)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetToolSize(dc,wnd,bitmap_size,kind,is_first,is_last,dropdown_region);

    extern  ::wxSize sipVH__ribbon_52(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*, ::wxSize, ::wxRibbonButtonKind,bool,bool, ::wxRect*);

    return sipVH__ribbon_52(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, bitmap_size, kind, is_first, is_last, dropdown_region);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetMinimisedPanelMinimumSize( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxSize*desired_bitmap_size, ::wxDirection*expanded_panel_direction)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetMinimisedPanelMinimumSize(dc,wnd,desired_bitmap_size,expanded_panel_direction);

    extern  ::wxSize sipVH__ribbon_51(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonPanel*, ::wxSize*, ::wxDirection*);

    return sipVH__ribbon_51(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, desired_bitmap_size, expanded_panel_direction);
}

bool sipwxRibbonAUIArtProvider::GetButtonBarButtonSize( ::wxDC& dc, ::wxWindow*wnd, ::wxRibbonButtonKind kind, ::wxRibbonButtonBarButtonState size,const  ::wxString& label, ::wxSize bitmap_size_large, ::wxSize bitmap_size_small, ::wxSize*button_size, ::wxRect*normal_region, ::wxRect*dropdown_region)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetButtonBarButtonSize(dc,wnd,kind,size,label,bitmap_size_large,bitmap_size_small,button_size,normal_region,dropdown_region);

    extern bool sipVH__ribbon_50(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*, ::wxRibbonButtonKind, ::wxRibbonButtonBarButtonState,const  ::wxString&, ::wxSize, ::wxSize, ::wxSize*, ::wxRect*, ::wxRect*);

    return sipVH__ribbon_50(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, kind, size, label, bitmap_size_large, bitmap_size_small, button_size, normal_region, dropdown_region);
}

 ::wxRect sipwxRibbonAUIArtProvider::GetPageBackgroundRedrawArea( ::wxDC& dc,const  ::wxRibbonPage*wnd, ::wxSize page_old_size, ::wxSize page_new_size)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetPageBackgroundRedrawArea(dc,wnd,page_old_size,page_new_size);

    extern  ::wxRect sipVH__ribbon_49(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonPage*, ::wxSize, ::wxSize);

    return sipVH__ribbon_49(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, page_old_size, page_new_size);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetGalleryClientSize( ::wxDC& dc,const  ::wxRibbonGallery*wnd, ::wxSize size, ::wxPoint*client_offset, ::wxRect*scroll_up_button, ::wxRect*scroll_down_button, ::wxRect*extension_button)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetGalleryClientSize(dc,wnd,size,client_offset,scroll_up_button,scroll_down_button,extension_button);

    extern  ::wxSize sipVH__ribbon_48(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonGallery*, ::wxSize, ::wxPoint*, ::wxRect*, ::wxRect*, ::wxRect*);

    return sipVH__ribbon_48(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, size, client_offset, scroll_up_button, scroll_down_button, extension_button);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetGallerySize( ::wxDC& dc,const  ::wxRibbonGallery*wnd, ::wxSize client_size)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetGallerySize(dc,wnd,client_size);

    extern  ::wxSize sipVH__ribbon_47(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonGallery*, ::wxSize);

    return sipVH__ribbon_47(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, client_size);
}

 ::wxRect sipwxRibbonAUIArtProvider::GetPanelExtButtonArea( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxRect rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetPanelExtButtonArea(dc,wnd,rect);

    extern  ::wxRect sipVH__ribbon_46(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonPanel*, ::wxRect);

    return sipVH__ribbon_46(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetPanelClientSize( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxSize size, ::wxPoint*client_offset)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetPanelClientSize(dc,wnd,size,client_offset);

    extern  ::wxSize sipVH__ribbon_45(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonPanel*, ::wxSize, ::wxPoint*);

    return sipVH__ribbon_45(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, size, client_offset);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetPanelSize( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxSize client_size, ::wxPoint*client_offset)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetPanelSize(dc,wnd,client_size,client_offset);

    extern  ::wxSize sipVH__ribbon_45(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&,const  ::wxRibbonPanel*, ::wxSize, ::wxPoint*);

    return sipVH__ribbon_45(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, client_size, client_offset);
}

 ::wxSize sipwxRibbonAUIArtProvider::GetScrollButtonMinimumSize( ::wxDC& dc, ::wxWindow*wnd,long style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[11],sipPySelf,SIP_NULLPTR,sipName_GetScrollButtonMinimumSize);

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetScrollButtonMinimumSize(dc,wnd,style);

    extern  ::wxSize sipVH__ribbon_44(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,long);

    return sipVH__ribbon_44(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, style);
}

int sipwxRibbonAUIArtProvider::GetTabCtrlHeight( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRibbonPageTabInfoArray& pages)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[12],sipPySelf,SIP_NULLPTR,sipName_GetTabCtrlHeight);

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetTabCtrlHeight(dc,wnd,pages);

    extern int sipVH__ribbon_43(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,const  ::wxRibbonPageTabInfoArray&);

    return sipVH__ribbon_43(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, pages);
}

void sipwxRibbonAUIArtProvider::GetBarTabWidth( ::wxDC& dc, ::wxWindow*wnd,const  ::wxString& label,const  ::wxBitmap& bitmap,int*ideal,int*small_begin_need_separator,int*small_must_have_separator,int*minimum)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[13],sipPySelf,SIP_NULLPTR,sipName_GetBarTabWidth);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::GetBarTabWidth(dc,wnd,label,bitmap,ideal,small_begin_need_separator,small_must_have_separator,minimum);
        return;
    }

    extern void sipVH__ribbon_42(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,const  ::wxString&,const  ::wxBitmap&,int*,int*,int*,int*);

    sipVH__ribbon_42(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, label, bitmap, ideal, small_begin_need_separator, small_must_have_separator, minimum);
}

void sipwxRibbonAUIArtProvider::DrawHelpButton( ::wxDC& dc, ::wxRibbonBar*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[14],sipPySelf,SIP_NULLPTR,sipName_DrawHelpButton);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawHelpButton(dc,wnd,rect);
        return;
    }

    extern void sipVH__ribbon_41(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonBar*,const  ::wxRect&);

    sipVH__ribbon_41(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawToggleButton( ::wxDC& dc, ::wxRibbonBar*wnd,const  ::wxRect& rect, ::wxRibbonDisplayMode mode)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawToggleButton(dc,wnd,rect,mode);
        return;
    }

    extern void sipVH__ribbon_40(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonBar*,const  ::wxRect&, ::wxRibbonDisplayMode);

    sipVH__ribbon_40(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, mode);
}

void sipwxRibbonAUIArtProvider::DrawTool( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect,const  ::wxBitmap& bitmap, ::wxRibbonButtonKind kind,long state)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawTool(dc,wnd,rect,bitmap,kind,state);
        return;
    }

    extern void sipVH__ribbon_39(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,const  ::wxRect&,const  ::wxBitmap&, ::wxRibbonButtonKind,long);

    sipVH__ribbon_39(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, bitmap, kind, state);
}

void sipwxRibbonAUIArtProvider::DrawToolGroupBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawToolGroupBackground(dc,wnd,rect);
        return;
    }

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

    sipVH__ribbon_30(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawToolBarBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawToolBarBackground(dc,wnd,rect);
        return;
    }

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

    sipVH__ribbon_30(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawButtonBarButton( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect, ::wxRibbonButtonKind kind,long state,const  ::wxString& label,const  ::wxBitmap& bitmap_large,const  ::wxBitmap& bitmap_small)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[19],sipPySelf,SIP_NULLPTR,sipName_DrawButtonBarButton);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawButtonBarButton(dc,wnd,rect,kind,state,label,bitmap_large,bitmap_small);
        return;
    }

    extern void sipVH__ribbon_38(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,const  ::wxRect&, ::wxRibbonButtonKind,long,const  ::wxString&,const  ::wxBitmap&,const  ::wxBitmap&);

    sipVH__ribbon_38(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, kind, state, label, bitmap_large, bitmap_small);
}

void sipwxRibbonAUIArtProvider::DrawButtonBarBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[20],sipPySelf,SIP_NULLPTR,sipName_DrawButtonBarBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawButtonBarBackground(dc,wnd,rect);
        return;
    }

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

    sipVH__ribbon_30(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawMinimisedPanel( ::wxDC& dc, ::wxRibbonPanel*wnd,const  ::wxRect& rect, ::wxBitmap& bitmap)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[21],sipPySelf,SIP_NULLPTR,sipName_DrawMinimisedPanel);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawMinimisedPanel(dc,wnd,rect,bitmap);
        return;
    }

    extern void sipVH__ribbon_37(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonPanel*,const  ::wxRect&, ::wxBitmap&);

    sipVH__ribbon_37(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, bitmap);
}

void sipwxRibbonAUIArtProvider::DrawGalleryItemBackground( ::wxDC& dc, ::wxRibbonGallery*wnd,const  ::wxRect& rect, ::wxRibbonGalleryItem*item)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[22],sipPySelf,SIP_NULLPTR,sipName_DrawGalleryItemBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawGalleryItemBackground(dc,wnd,rect,item);
        return;
    }

    extern void sipVH__ribbon_36(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonGallery*,const  ::wxRect&, ::wxRibbonGalleryItem*);

    sipVH__ribbon_36(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, item);
}

void sipwxRibbonAUIArtProvider::DrawGalleryBackground( ::wxDC& dc, ::wxRibbonGallery*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[23],sipPySelf,SIP_NULLPTR,sipName_DrawGalleryBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawGalleryBackground(dc,wnd,rect);
        return;
    }

    extern void sipVH__ribbon_35(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonGallery*,const  ::wxRect&);

    sipVH__ribbon_35(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawPanelBackground( ::wxDC& dc, ::wxRibbonPanel*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[24],sipPySelf,SIP_NULLPTR,sipName_DrawPanelBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawPanelBackground(dc,wnd,rect);
        return;
    }

    extern void sipVH__ribbon_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxRibbonPanel*,const  ::wxRect&);

    sipVH__ribbon_34(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawScrollButton( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect,long style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[25],sipPySelf,SIP_NULLPTR,sipName_DrawScrollButton);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawScrollButton(dc,wnd,rect,style);
        return;
    }

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

    sipVH__ribbon_33(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, style);
}

void sipwxRibbonAUIArtProvider::DrawPageBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[26],sipPySelf,SIP_NULLPTR,sipName_DrawPageBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawPageBackground(dc,wnd,rect);
        return;
    }

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

    sipVH__ribbon_30(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::DrawTabSeparator( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect,double visibility)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[27],sipPySelf,SIP_NULLPTR,sipName_DrawTabSeparator);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawTabSeparator(dc,wnd,rect,visibility);
        return;
    }

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

    sipVH__ribbon_32(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect, visibility);
}

void sipwxRibbonAUIArtProvider::DrawTab( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRibbonPageTabInfo& tab)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[28],sipPySelf,SIP_NULLPTR,sipName_DrawTab);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawTab(dc,wnd,tab);
        return;
    }

    extern void sipVH__ribbon_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxDC&, ::wxWindow*,const  ::wxRibbonPageTabInfo&);

    sipVH__ribbon_31(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, tab);
}

void sipwxRibbonAUIArtProvider::DrawTabCtrlBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[29],sipPySelf,SIP_NULLPTR,sipName_DrawTabCtrlBackground);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::DrawTabCtrlBackground(dc,wnd,rect);
        return;
    }

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

    sipVH__ribbon_30(sipGILState, 0, sipPySelf, sipMeth, dc, wnd, rect);
}

void sipwxRibbonAUIArtProvider::SetColourScheme(const  ::wxColour& primary,const  ::wxColour& secondary,const  ::wxColour& tertiary)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[30],sipPySelf,SIP_NULLPTR,sipName_SetColourScheme);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::SetColourScheme(primary,secondary,tertiary);
        return;
    }

    extern void sipVH__ribbon_29(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const  ::wxColour&,const  ::wxColour&,const  ::wxColour&);

    sipVH__ribbon_29(sipGILState, 0, sipPySelf, sipMeth, primary, secondary, tertiary);
}

void sipwxRibbonAUIArtProvider::GetColourScheme( ::wxColour*primary, ::wxColour*secondary, ::wxColour*tertiary) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::GetColourScheme(primary,secondary,tertiary);
        return;
    }

    extern void sipVH__ribbon_28(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *,  ::wxColour*, ::wxColour*, ::wxColour*);

    sipVH__ribbon_28(sipGILState, 0, sipPySelf, sipMeth, primary, secondary, tertiary);
}

void sipwxRibbonAUIArtProvider::SetColour(int id,const  ::wxColour& colour)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[32],sipPySelf,SIP_NULLPTR,sipName_SetColour);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::SetColour(id,colour);
        return;
    }

    extern void sipVH__ribbon_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,const  ::wxColour&);

    sipVH__ribbon_27(sipGILState, 0, sipPySelf, sipMeth, id, colour);
}

 ::wxColour sipwxRibbonAUIArtProvider::GetColour(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetColour(id);

    extern  ::wxColour sipVH__ribbon_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__ribbon_26(sipGILState, 0, sipPySelf, sipMeth, id);
}

 ::wxFont sipwxRibbonAUIArtProvider::GetFont(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetFont(id);

    extern  ::wxFont sipVH__ribbon_25(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__ribbon_25(sipGILState, 0, sipPySelf, sipMeth, id);
}

void sipwxRibbonAUIArtProvider::SetFont(int id,const  ::wxFont& font)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[35],sipPySelf,SIP_NULLPTR,sipName_SetFont);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::SetFont(id,font);
        return;
    }

    extern void sipVH__ribbon_24(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,const  ::wxFont&);

    sipVH__ribbon_24(sipGILState, 0, sipPySelf, sipMeth, id, font);
}

void sipwxRibbonAUIArtProvider::SetMetric(int id,int new_val)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[36],sipPySelf,SIP_NULLPTR,sipName_SetMetric);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::SetMetric(id,new_val);
        return;
    }

    extern void sipVH__ribbon_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int,int);

    sipVH__ribbon_12(sipGILState, 0, sipPySelf, sipMeth, id, new_val);
}

int sipwxRibbonAUIArtProvider::GetMetric(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetMetric(id);

    extern int sipVH__ribbon_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int);

    return sipVH__ribbon_23(sipGILState, 0, sipPySelf, sipMeth, id);
}

long sipwxRibbonAUIArtProvider::GetFlags() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::GetFlags();

    extern long sipVH__ribbon_22(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxRibbonAUIArtProvider::SetFlags(long flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState,&sipPyMethods[39],sipPySelf,SIP_NULLPTR,sipName_SetFlags);

    if (!sipMeth)
    {
         ::wxRibbonAUIArtProvider::SetFlags(flags);
        return;
    }

    extern void sipVH__ribbon_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    sipVH__ribbon_21(sipGILState, 0, sipPySelf, sipMeth, flags);
}

 ::wxRibbonArtProvider* sipwxRibbonAUIArtProvider::Clone() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRibbonAUIArtProvider::Clone();

    extern  ::wxRibbonArtProvider* sipVH__ribbon_20(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_Clone, "Clone() -> RibbonArtProvider\n"
"\n"
"Create a new art provider which is a clone of this one.");

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

    {
        const  ::wxRibbonAUIArtProvider *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::Clone() : sipCpp->Clone());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetColour, "GetColour(id) -> wx.Colour\n"
"\n"
"Get the value of a certain colour setting.");

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

    {
        int id;
        const  ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, &id))
        {
             ::wxColour*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour((sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetColour(id) : sipCpp->GetColour(id)));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_SetColour, "SetColour(id, colour)\n"
"\n"
"Set the value of a certain colour setting to the value colour.");

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

    {
        int id;
        const  ::wxColour* colour;
        int colourState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, &id, sipType_wxColour, &colour, &colourState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::SetColour(id,*colour) : sipCpp->SetColour(id,*colour));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(colour),sipType_wxColour,colourState);

            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_RibbonAUIArtProvider, sipName_SetColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_SetColourScheme, "SetColourScheme(primary, secondary, tertiary)\n"
"\n"
"Set all applicable colour settings from a few base colours.");

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

    {
        const  ::wxColour* primary;
        int primaryState = 0;
        const  ::wxColour* secondary;
        int secondaryState = 0;
        const  ::wxColour* tertiary;
        int tertiaryState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_primary,
            sipName_secondary,
            sipName_tertiary,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxColour, &primary, &primaryState, sipType_wxColour, &secondary, &secondaryState, sipType_wxColour, &tertiary, &tertiaryState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::SetColourScheme(*primary,*secondary,*tertiary) : sipCpp->SetColourScheme(*primary,*secondary,*tertiary));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(primary),sipType_wxColour,primaryState);
            sipReleaseType(const_cast< ::wxColour *>(secondary),sipType_wxColour,secondaryState);
            sipReleaseType(const_cast< ::wxColour *>(tertiary),sipType_wxColour,tertiaryState);

            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_RibbonAUIArtProvider, sipName_SetColourScheme, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_SetFont, "SetFont(id, font)\n"
"\n"
"Set the value of a certain font setting to the value font.");

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

    {
        int id;
        const  ::wxFont* font;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, &id, sipType_wxFont, &font))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::SetFont(id,*font) : sipCpp->SetFont(id,*font));
            Py_END_ALLOW_THREADS

            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_RibbonAUIArtProvider, sipName_SetFont, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetScrollButtonMinimumSize, "GetScrollButtonMinimumSize(dc, wnd, style) -> wx.Size\n"
"\n"
"Calculate the minimum size (in pixels) of a scroll button.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        long style;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8l", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, &style))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize((sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetScrollButtonMinimumSize(*dc,wnd,style) : sipCpp->GetScrollButtonMinimumSize(*dc,wnd,style)));
            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_RibbonAUIArtProvider, sipName_GetScrollButtonMinimumSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawScrollButton, "DrawScrollButton(dc, wnd, rect, style)\n"
"\n"
"Draw a ribbon-style scroll button.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
        long style;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1l", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, &style))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawScrollButton(*dc,wnd,*rect,style) : sipCpp->DrawScrollButton(*dc,wnd,*rect,style));
            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_RibbonAUIArtProvider, sipName_DrawScrollButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetPanelSize, "GetPanelSize(dc, wnd, client_size, client_offset) -> wx.Size\n"
"\n"
"Calculate the size of a panel for a given client size.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxSize* client_size;
        int client_sizeState = 0;
         ::wxPoint* client_offset;
        int client_offsetState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_wnd,
            sipName_client_size,
            sipName_client_offset,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J0", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxSize, &client_size, &client_sizeState, sipType_wxPoint, &client_offset, &client_offsetState))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize((sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetPanelSize(*dc,wnd,*client_size,client_offset) : sipCpp->GetPanelSize(*dc,wnd,*client_size,client_offset)));
            Py_END_ALLOW_THREADS
            sipReleaseType(client_size,sipType_wxSize,client_sizeState);
            sipReleaseType(client_offset,sipType_wxPoint,client_offsetState);

            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_RibbonAUIArtProvider, sipName_GetPanelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetPanelClientSize, "GetPanelClientSize(dc, wnd, size, client_offset) -> wx.Size\n"
"\n"
"Calculate the client size of a panel for a given overall size.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxSize* size;
        int sizeState = 0;
         ::wxPoint* client_offset;
        int client_offsetState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J0", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxSize, &size, &sizeState, sipType_wxPoint, &client_offset, &client_offsetState))
        {
             ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize((sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetPanelClientSize(*dc,wnd,*size,client_offset) : sipCpp->GetPanelClientSize(*dc,wnd,*size,client_offset)));
            Py_END_ALLOW_THREADS
            sipReleaseType(size,sipType_wxSize,sizeState);
            sipReleaseType(client_offset,sipType_wxPoint,client_offsetState);

            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_RibbonAUIArtProvider, sipName_GetPanelClientSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetPanelExtButtonArea, "GetPanelExtButtonArea(dc, wnd, rect) -> wx.Rect\n"
"\n"
"Calculate the position and size of the panel extension button.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxRect, &rect, &rectState))
        {
             ::wxRect*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect((sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetPanelExtButtonArea(*dc,wnd,*rect) : sipCpp->GetPanelExtButtonArea(*dc,wnd,*rect)));
            Py_END_ALLOW_THREADS
            sipReleaseType(rect,sipType_wxRect,rectState);

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawTabCtrlBackground, "DrawTabCtrlBackground(dc, wnd, rect)\n"
"\n"
"Draw the background of the tab region of a ribbon bar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawTabCtrlBackground(*dc,wnd,*rect) : sipCpp->DrawTabCtrlBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawTabCtrlBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetTabCtrlHeight, "GetTabCtrlHeight(dc, wnd, pages) -> int\n"
"\n"
"Calculate the height (in pixels) of the tab region of a ribbon bar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRibbonPageTabInfoArray* pages;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRibbonPageTabInfoArray, &pages))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetTabCtrlHeight(*dc,wnd,*pages) : sipCpp->GetTabCtrlHeight(*dc,wnd,*pages));
            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_RibbonAUIArtProvider, sipName_GetTabCtrlHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_GetBarTabWidth, "GetBarTabWidth(dc, wnd, label, bitmap, ideal, small_begin_need_separator, small_must_have_separator, minimum)\n"
"\n"
"Calculate the ideal and minimum width (in pixels) of a tab in a ribbon\n"
"bar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxString* label;
        int labelState = 0;
        const  ::wxBitmap* bitmap;
        int ideal;
        int small_begin_need_separator;
        int small_must_have_separator;
        int minimum;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxString,&label, &labelState, sipType_wxBitmap, &bitmap))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::GetBarTabWidth(*dc,wnd,*label,*bitmap,&ideal,&small_begin_need_separator,&small_must_have_separator,&minimum) : sipCpp->GetBarTabWidth(*dc,wnd,*label,*bitmap,&ideal,&small_begin_need_separator,&small_must_have_separator,&minimum));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(label),sipType_wxString,labelState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(iiii)",ideal,small_begin_need_separator,small_must_have_separator,minimum);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawTab, "DrawTab(dc, wnd, tab)\n"
"\n"
"Draw a single tab in the tab region of a ribbon bar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRibbonPageTabInfo* tab;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRibbonPageTabInfo, &tab))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawTab(*dc,wnd,*tab) : sipCpp->DrawTab(*dc,wnd,*tab));
            Py_END_ALLOW_THREADS

            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_RibbonAUIArtProvider, sipName_DrawTab, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawTabSeparator, "DrawTabSeparator(dc, wnd, rect, visibility)\n"
"\n"
"Draw a separator between two tabs in a ribbon bar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
        double visibility;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1d", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, &visibility))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawTabSeparator(*dc,wnd,*rect,visibility) : sipCpp->DrawTabSeparator(*dc,wnd,*rect,visibility));
            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_RibbonAUIArtProvider, sipName_DrawTabSeparator, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawPageBackground, "DrawPageBackground(dc, wnd, rect)\n"
"\n"
"Draw the background of a ribbon page.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawPageBackground(*dc,wnd,*rect) : sipCpp->DrawPageBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawPageBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawPanelBackground, "DrawPanelBackground(dc, wnd, rect)\n"
"\n"
"Draw the background and chrome for a ribbon panel.");

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

    {
         ::wxDC* dc;
         ::wxRibbonPanel* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawPanelBackground(*dc,wnd,*rect) : sipCpp->DrawPanelBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawPanelBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawMinimisedPanel, "DrawMinimisedPanel(dc, wnd, rect, bitmap)\n"
"\n"
"Draw a minimised ribbon panel.");

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

    {
         ::wxDC* dc;
         ::wxRibbonPanel* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxBitmap* bitmap;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxBitmap, &bitmap))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawMinimisedPanel(*dc,wnd,*rect,*bitmap) : sipCpp->DrawMinimisedPanel(*dc,wnd,*rect,*bitmap));
            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_RibbonAUIArtProvider, sipName_DrawMinimisedPanel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawGalleryBackground, "DrawGalleryBackground(dc, wnd, rect)\n"
"\n"
"Draw the background and chrome for a wxRibbonGallery control.");

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

    {
         ::wxDC* dc;
         ::wxRibbonGallery* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawGalleryBackground(*dc,wnd,*rect) : sipCpp->DrawGalleryBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawGalleryBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawGalleryItemBackground, "DrawGalleryItemBackground(dc, wnd, rect, item)\n"
"\n"
"Draw the background of a single item in a wxRibbonGallery control.");

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

    {
         ::wxDC* dc;
         ::wxRibbonGallery* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonGalleryItem* item;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J8", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxRibbonGalleryItem, &item))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawGalleryItemBackground(*dc,wnd,*rect,item) : sipCpp->DrawGalleryItemBackground(*dc,wnd,*rect,item));
            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_RibbonAUIArtProvider, sipName_DrawGalleryItemBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawButtonBarBackground, "DrawButtonBarBackground(dc, wnd, rect)\n"
"\n"
"Draw the background for a wxRibbonButtonBar control.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawButtonBarBackground(*dc,wnd,*rect) : sipCpp->DrawButtonBarBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawButtonBarBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawButtonBarButton, "DrawButtonBarButton(dc, wnd, rect, kind, state, label, bitmap_large, bitmap_small)\n"
"\n"
"Draw a single button for a wxRibbonButtonBar control.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonButtonKind kind;
        long state;
        const  ::wxString* label;
        int labelState = 0;
        const  ::wxBitmap* bitmap_large;
        const  ::wxBitmap* bitmap_small;
         ::wxRibbonAUIArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_wnd,
            sipName_rect,
            sipName_kind,
            sipName_state,
            sipName_label,
            sipName_bitmap_large,
            sipName_bitmap_small,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1ElJ1J9J9", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxRibbonButtonKind, &kind, &state, sipType_wxString,&label, &labelState, sipType_wxBitmap, &bitmap_large, sipType_wxBitmap, &bitmap_small))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawButtonBarButton(*dc,wnd,*rect,kind,state,*label,*bitmap_large,*bitmap_small) : sipCpp->DrawButtonBarButton(*dc,wnd,*rect,kind,state,*label,*bitmap_large,*bitmap_small));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect),sipType_wxRect,rectState);
            sipReleaseType(const_cast< ::wxString *>(label),sipType_wxString,labelState);

            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_RibbonAUIArtProvider, sipName_DrawButtonBarButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawToolBarBackground, "DrawToolBarBackground(dc, wnd, rect)\n"
"\n"
"Draw the background for a wxRibbonToolBar control.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawToolBarBackground(*dc,wnd,*rect) : sipCpp->DrawToolBarBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawToolBarBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawToolGroupBackground, "DrawToolGroupBackground(dc, wnd, rect)\n"
"\n"
"Draw the background for a group of tools on a wxRibbonToolBar control.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonAUIArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawToolGroupBackground(*dc,wnd,*rect) : sipCpp->DrawToolGroupBackground(*dc,wnd,*rect));
            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_RibbonAUIArtProvider, sipName_DrawToolGroupBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonAUIArtProvider_DrawTool, "DrawTool(dc, wnd, rect, bitmap, kind, state)\n"
"\n"
"Draw a single tool (for a wxRibbonToolBar control).");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
        const  ::wxBitmap* bitmap;
         ::wxRibbonButtonKind kind;
        long state;
         ::wxRibbonAUIArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_wnd,
            sipName_rect,
            sipName_bitmap,
            sipName_kind,
            sipName_state,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J9El", &sipSelf, sipType_wxRibbonAUIArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxBitmap, &bitmap, sipType_wxRibbonButtonKind, &kind, &state))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp-> ::wxRibbonAUIArtProvider::DrawTool(*dc,wnd,*rect,*bitmap,kind,state) : sipCpp->DrawTool(*dc,wnd,*rect,*bitmap,kind,state));
            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_RibbonAUIArtProvider, sipName_DrawTool, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxRibbonMSWArtProvider)
        return static_cast< ::wxRibbonMSWArtProvider *>(sipCpp);

    if (targetType == sipType_wxRibbonArtProvider)
        return static_cast< ::wxRibbonArtProvider *>(sipCpp);

    return sipCppV;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRibbonAUIArtProvider *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRibbonAUIArtProvider *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void assign_wxRibbonAUIArtProvider(void *, SIP_SSIZE_T, void *);}
static void assign_wxRibbonAUIArtProvider(void *sipDst, SIP_SSIZE_T sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxRibbonAUIArtProvider *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxRibbonAUIArtProvider *>(sipSrc);
}


extern "C" {static void *array_wxRibbonAUIArtProvider(SIP_SSIZE_T);}
static void *array_wxRibbonAUIArtProvider(SIP_SSIZE_T sipNrElem)
{
    return new  ::wxRibbonAUIArtProvider[sipNrElem];
}


extern "C" {static void *copy_wxRibbonAUIArtProvider(const void *, SIP_SSIZE_T);}
static void *copy_wxRibbonAUIArtProvider(const void *sipSrc, SIP_SSIZE_T sipSrcIdx)
{
    return new  ::wxRibbonAUIArtProvider(reinterpret_cast<const  ::wxRibbonAUIArtProvider *>(sipSrc)[sipSrcIdx]);
}


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

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


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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRibbonAUIArtProvider();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const  ::wxRibbonAUIArtProvider* a0;

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, "J9", sipType_wxRibbonAUIArtProvider, &a0))
        {
            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRibbonAUIArtProvider(*a0);
            Py_END_ALLOW_THREADS

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxRibbonAUIArtProvider[] = {
    {SIP_MLNAME_CAST(sipName_Clone), meth_wxRibbonAUIArtProvider_Clone, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_Clone)},
    {SIP_MLNAME_CAST(sipName_DrawButtonBarBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawButtonBarBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawButtonBarBackground)},
    {SIP_MLNAME_CAST(sipName_DrawButtonBarButton), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawButtonBarButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawButtonBarButton)},
    {SIP_MLNAME_CAST(sipName_DrawGalleryBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawGalleryBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawGalleryBackground)},
    {SIP_MLNAME_CAST(sipName_DrawGalleryItemBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawGalleryItemBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawGalleryItemBackground)},
    {SIP_MLNAME_CAST(sipName_DrawMinimisedPanel), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawMinimisedPanel), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawMinimisedPanel)},
    {SIP_MLNAME_CAST(sipName_DrawPageBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawPageBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawPageBackground)},
    {SIP_MLNAME_CAST(sipName_DrawPanelBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawPanelBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawPanelBackground)},
    {SIP_MLNAME_CAST(sipName_DrawScrollButton), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawScrollButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawScrollButton)},
    {SIP_MLNAME_CAST(sipName_DrawTab), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawTab), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawTab)},
    {SIP_MLNAME_CAST(sipName_DrawTabCtrlBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawTabCtrlBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawTabCtrlBackground)},
    {SIP_MLNAME_CAST(sipName_DrawTabSeparator), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawTabSeparator), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawTabSeparator)},
    {SIP_MLNAME_CAST(sipName_DrawTool), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawTool), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawTool)},
    {SIP_MLNAME_CAST(sipName_DrawToolBarBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawToolBarBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawToolBarBackground)},
    {SIP_MLNAME_CAST(sipName_DrawToolGroupBackground), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_DrawToolGroupBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_DrawToolGroupBackground)},
    {SIP_MLNAME_CAST(sipName_GetBarTabWidth), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetBarTabWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetBarTabWidth)},
    {SIP_MLNAME_CAST(sipName_GetColour), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetColour)},
    {SIP_MLNAME_CAST(sipName_GetPanelClientSize), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetPanelClientSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetPanelClientSize)},
    {SIP_MLNAME_CAST(sipName_GetPanelExtButtonArea), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetPanelExtButtonArea), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetPanelExtButtonArea)},
    {SIP_MLNAME_CAST(sipName_GetPanelSize), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetPanelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetPanelSize)},
    {SIP_MLNAME_CAST(sipName_GetScrollButtonMinimumSize), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetScrollButtonMinimumSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetScrollButtonMinimumSize)},
    {SIP_MLNAME_CAST(sipName_GetTabCtrlHeight), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_GetTabCtrlHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_GetTabCtrlHeight)},
    {SIP_MLNAME_CAST(sipName_SetColour), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_SetColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_SetColour)},
    {SIP_MLNAME_CAST(sipName_SetColourScheme), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_SetColourScheme), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_SetColourScheme)},
    {SIP_MLNAME_CAST(sipName_SetFont), SIP_MLMETH_CAST(meth_wxRibbonAUIArtProvider_SetFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonAUIArtProvider_SetFont)}
};

PyDoc_STRVAR(doc_wxRibbonAUIArtProvider, "RibbonAUIArtProvider()");


sipClassTypeDef sipTypeDef__ribbon_wxRibbonAUIArtProvider = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_CLASS,
        sipNameNr_wxRibbonAUIArtProvider,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_RibbonAUIArtProvider,
        {0, 0, 1},
        25, methods_wxRibbonAUIArtProvider,
        0, SIP_NULLPTR,
        0, SIP_NULLPTR,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRibbonAUIArtProvider,
    -1,
    -1,
    supers_wxRibbonAUIArtProvider,
    SIP_NULLPTR,
    init_type_wxRibbonAUIArtProvider,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxRibbonAUIArtProvider,
    assign_wxRibbonAUIArtProvider,
    array_wxRibbonAUIArtProvider,
    copy_wxRibbonAUIArtProvider,
    release_wxRibbonAUIArtProvider,
    cast_wxRibbonAUIArtProvider,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
