/*
 * 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/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/window.h>
        #include <wx/ribbon/panel.h>
        #include <wx/ribbon/page.h>
        #include <wx/ribbon/gallery.h>
        #include <wx/gdicmn.h>
        #include <wx/bitmap.h>
        #include <wx/ribbon/bar.h>
        #include <wx/ribbon/bar.h>
        #include <wx/colour.h>
        #include <wx/font.h>


class sipwxRibbonArtProvider : public  ::wxRibbonArtProvider
{
public:
    sipwxRibbonArtProvider();
    sipwxRibbonArtProvider(const  ::wxRibbonArtProvider&);
    virtual ~sipwxRibbonArtProvider();

    /*
     * 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:
    sipwxRibbonArtProvider(const sipwxRibbonArtProvider &);
    sipwxRibbonArtProvider &operator = (const sipwxRibbonArtProvider &);

    char sipPyMethods[41];
};

sipwxRibbonArtProvider::sipwxRibbonArtProvider():  ::wxRibbonArtProvider(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

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

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

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

    if (!sipMeth)
        return  ::wxRect();

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

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

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

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

    if (!sipMeth)
        return  ::wxRect();

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

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

 ::wxSize sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetToolSize);

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetMinimisedPanelMinimumSize);

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetButtonBarButtonSize);

    if (!sipMeth)
        return 0;

    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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetPageBackgroundRedrawArea);

    if (!sipMeth)
        return  ::wxRect();

    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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetGalleryClientSize);

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::GetGallerySize( ::wxDC& dc,const  ::wxRibbonGallery*wnd, ::wxSize client_size)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::GetPanelExtButtonArea( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxRect rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxRect();

    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 sipwxRibbonArtProvider::GetPanelClientSize( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxSize size, ::wxPoint*client_offset)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::GetPanelSize( ::wxDC& dc,const  ::wxRibbonPanel*wnd, ::wxSize client_size, ::wxPoint*client_offset)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::GetScrollButtonMinimumSize( ::wxDC& dc, ::wxWindow*wnd,long style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxSize();

    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 sipwxRibbonArtProvider::GetTabCtrlHeight( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRibbonPageTabInfoArray& pages)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return 0;

    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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_GetBarTabWidth);

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawHelpButton( ::wxDC& dc, ::wxRibbonBar*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawToggleButton( ::wxDC& dc, ::wxRibbonBar*wnd,const  ::wxRect& rect, ::wxRibbonDisplayMode mode)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_DrawTool);

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawToolGroupBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawToolBarBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::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,sipName_RibbonArtProvider,sipName_DrawButtonBarButton);

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawButtonBarBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawMinimisedPanel( ::wxDC& dc, ::wxRibbonPanel*wnd,const  ::wxRect& rect, ::wxBitmap& bitmap)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawGalleryItemBackground( ::wxDC& dc, ::wxRibbonGallery*wnd,const  ::wxRect& rect, ::wxRibbonGalleryItem*item)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawGalleryBackground( ::wxDC& dc, ::wxRibbonGallery*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawPanelBackground( ::wxDC& dc, ::wxRibbonPanel*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawScrollButton( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect,long style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawPageBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawTabSeparator( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect,double visibility)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawTab( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRibbonPageTabInfo& tab)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::DrawTabCtrlBackground( ::wxDC& dc, ::wxWindow*wnd,const  ::wxRect& rect)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::SetColourScheme(const  ::wxColour& primary,const  ::wxColour& secondary,const  ::wxColour& tertiary)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::GetColourScheme( ::wxColour*primary, ::wxColour*secondary, ::wxColour*tertiary) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::SetColour(int id,const  ::wxColour& colour)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::GetColour(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return  ::wxColour();

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

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

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

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

    if (!sipMeth)
        return  ::wxFont();

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

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

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

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::SetMetric(int id,int new_val)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        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 sipwxRibbonArtProvider::GetMetric(int id) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return 0;

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

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

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

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

    if (!sipMeth)
        return 0;

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

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

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

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

    if (!sipMeth)
        return;

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

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

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

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

    if (!sipMeth)
        return 0;

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

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


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

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

    {
        const  ::wxRibbonArtProvider *sipCpp;

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_Clone);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = 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_RibbonArtProvider, sipName_Clone, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_SetFlags, "SetFlags(flags)\n"
"\n"
"Set the style flags.");

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

    {
        long flags;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bl", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &flags))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_SetFlags);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetFlags(flags);
            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_RibbonArtProvider, sipName_SetFlags, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetFlags, "GetFlags() -> long\n"
"\n"
"Get the previously set style flags.");

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

    {
        const  ::wxRibbonArtProvider *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp))
        {
            long sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetFlags);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetFlags();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetMetric, "GetMetric(id) -> int\n"
"\n"
"Get the value of a certain integer setting.");

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

    {
        int id;
        const  ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &id))
        {
            int sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetMetric);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetMetric(id);
            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_RibbonArtProvider, sipName_GetMetric, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_SetMetric, "SetMetric(id, new_val)\n"
"\n"
"Set the value of a certain integer setting to the value new_val.");

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

    {
        int id;
        int new_val;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &id, &new_val))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_SetMetric);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetMetric(id,new_val);
            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_RibbonArtProvider, sipName_SetMetric, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ9", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &id, sipType_wxFont, &font))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_SetFont);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetFont, "GetFont(id) -> wx.Font\n"
"\n"
"Get the value of a certain font setting.");

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

    {
        int id;
        const  ::wxRibbonArtProvider *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetFont);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxFont(sipCpp->GetFont(id));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

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

    return SIP_NULLPTR;
}


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

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

    {
        int id;
        const  ::wxRibbonArtProvider *sipCpp;

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetColour);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(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_RibbonArtProvider, sipName_GetColour, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &id, sipType_wxColour, &colour, &colourState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_SetColour);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetColor, "GetColor(id) -> wx.Colour");

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

    {
        int id;
        const  ::wxRibbonArtProvider *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxColour(sipCpp->GetColor(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_RibbonArtProvider, sipName_GetColor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_SetColor, "SetColor(id, color)");

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

    {
        int id;
        const  ::wxColour* color;
        int colorState = 0;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BiJ1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, &id, sipType_wxColour, &color, &colorState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetColor(id,*color);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxColour *>(color),sipType_wxColour,colorState);

            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_RibbonArtProvider, sipName_SetColor, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetColourScheme, "GetColourScheme() -> (primary, secondary, tertiary)\n"
"\n"
"Get the current colour scheme.");

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

    {
         ::wxColour* primary;
         ::wxColour* secondary;
         ::wxColour* tertiary;
        const  ::wxRibbonArtProvider *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp))
        {
            primary = new  ::wxColour();
            secondary = new  ::wxColour();
            tertiary = new  ::wxColour();

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetColourScheme);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetColourScheme(primary,secondary,tertiary);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0,"(NNN)",primary,sipType_wxColour,SIP_NULLPTR,secondary,sipType_wxColour,SIP_NULLPTR,tertiary,sipType_wxColour,SIP_NULLPTR);
        }
    }

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

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxColour, &primary, &primaryState, sipType_wxColour, &secondary, &secondaryState, sipType_wxColour, &tertiary, &tertiaryState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_SetColourScheme);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawTabCtrlBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawTabCtrlBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J9", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRibbonPageTabInfo, &tab))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawTab);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1d", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, &visibility))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawTabSeparator);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawTabSeparator, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawPageBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawPageBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1l", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, &style))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawScrollButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawScrollButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawPanelBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawPanelBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawGalleryBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawGalleryBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J8", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxRibbonGalleryItem, &item))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawGalleryItemBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawGalleryItemBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J9", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxBitmap, &bitmap))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawMinimisedPanel);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawMinimisedPanel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawButtonBarBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawButtonBarBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_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_wxRibbonArtProvider_DrawButtonBarButton(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRibbonArtProvider_DrawButtonBarButton(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = 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;
         ::wxRibbonArtProvider *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_wxRibbonArtProvider, &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))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawButtonBarButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

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

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawToolBarBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawToolBarBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawToolGroupBackground);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawToolGroupBackground, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
        const  ::wxBitmap* bitmap;
         ::wxRibbonButtonKind kind;
        long state;
         ::wxRibbonArtProvider *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_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxBitmap, &bitmap, sipType_wxRibbonButtonKind, &kind, &state))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawTool);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_DrawTool, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_DrawToggleButton, "DrawToggleButton(dc, wnd, rect, mode)\n"
"\n"
"Draw toggle button on wxRibbonBar.");

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

    {
         ::wxDC* dc;
         ::wxRibbonBar* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonDisplayMode mode;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1E", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonBar, &wnd, sipType_wxRect, &rect, &rectState, sipType_wxRibbonDisplayMode, &mode))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawToggleButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawToggleButton(*dc,wnd,*rect,mode);
            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_RibbonArtProvider, sipName_DrawToggleButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_DrawHelpButton, "DrawHelpButton(dc, wnd, rect)\n"
"\n"
"Draw help button on wxRibbonBar.");

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

    {
         ::wxDC* dc;
         ::wxRibbonBar* wnd;
        const  ::wxRect* rect;
        int rectState = 0;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonBar, &wnd, sipType_wxRect, &rect, &rectState))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_DrawHelpButton);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DrawHelpButton(*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_RibbonArtProvider, sipName_DrawHelpButton, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_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_wxRibbonArtProvider_GetBarTabWidth(PyObject *, PyObject *, PyObject *);}
static PyObject *meth_wxRibbonArtProvider_GetBarTabWidth(PyObject *sipSelf, PyObject *sipArgs, PyObject *sipKwds)
{
    PyObject *sipParseErr = SIP_NULLPTR;
    PyObject *sipOrigSelf = 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;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J9", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxString,&label, &labelState, sipType_wxBitmap, &bitmap))
        {
            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetBarTabWidth);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            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_RibbonArtProvider, sipName_GetBarTabWidth, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetTabCtrlHeight);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = 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_RibbonArtProvider, sipName_GetTabCtrlHeight, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetScrollButtonMinimumSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(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_RibbonArtProvider, sipName_GetScrollButtonMinimumSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxSize* client_size;
        int client_sizeState = 0;
         ::wxPoint* client_offset;
        int client_offsetState = 0;
         ::wxRibbonArtProvider *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_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxSize, &client_size, &client_sizeState, sipType_wxPoint, &client_offset, &client_offsetState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetPanelSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(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_RibbonArtProvider, sipName_GetPanelSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxSize* size;
        int sizeState = 0;
         ::wxPoint* client_offset;
        int client_offsetState = 0;
         ::wxRibbonArtProvider *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_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxSize, &size, &sizeState, sipType_wxPoint, &client_offset, &client_offsetState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetPanelClientSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(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_RibbonArtProvider, sipName_GetPanelClientSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetPanelExtButtonArea);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(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_RibbonArtProvider, sipName_GetPanelExtButtonArea, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetGallerySize, "GetGallerySize(dc, wnd, client_size) -> wx.Size\n"
"\n"
"Calculate the size of a wxRibbonGallery control for a given client\n"
"size.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonGallery* wnd;
         ::wxSize* client_size;
        int client_sizeState = 0;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxSize, &client_size, &client_sizeState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetGallerySize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetGallerySize(*dc,wnd,*client_size));
            Py_END_ALLOW_THREADS
            sipReleaseType(client_size,sipType_wxSize,client_sizeState);

            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_RibbonArtProvider, sipName_GetGallerySize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetGalleryClientSize, "GetGalleryClientSize(dc, wnd, size, client_offset, scroll_up_button, scroll_down_button, extension_button) -> wx.Size\n"
"\n"
"Calculate the client size of a wxRibbonGallery control for a given\n"
"size.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonGallery* wnd;
         ::wxSize* size;
        int sizeState = 0;
         ::wxPoint* client_offset;
        int client_offsetState = 0;
         ::wxRect* scroll_up_button;
        int scroll_up_buttonState = 0;
         ::wxRect* scroll_down_button;
        int scroll_down_buttonState = 0;
         ::wxRect* extension_button;
        int extension_buttonState = 0;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J0J0J0J0", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonGallery, &wnd, sipType_wxSize, &size, &sizeState, sipType_wxPoint, &client_offset, &client_offsetState, sipType_wxRect, &scroll_up_button, &scroll_up_buttonState, sipType_wxRect, &scroll_down_button, &scroll_down_buttonState, sipType_wxRect, &extension_button, &extension_buttonState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetGalleryClientSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetGalleryClientSize(*dc,wnd,*size,client_offset,scroll_up_button,scroll_down_button,extension_button));
            Py_END_ALLOW_THREADS
            sipReleaseType(size,sipType_wxSize,sizeState);
            sipReleaseType(client_offset,sipType_wxPoint,client_offsetState);
            sipReleaseType(scroll_up_button,sipType_wxRect,scroll_up_buttonState);
            sipReleaseType(scroll_down_button,sipType_wxRect,scroll_down_buttonState);
            sipReleaseType(extension_button,sipType_wxRect,extension_buttonState);

            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_RibbonArtProvider, sipName_GetGalleryClientSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetPageBackgroundRedrawArea, "GetPageBackgroundRedrawArea(dc, wnd, page_old_size, page_new_size) -> wx.Rect\n"
"\n"
"Calculate the portion of a page background which needs to be redrawn\n"
"when a page is resized.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonPage* wnd;
         ::wxSize* page_old_size;
        int page_old_sizeState = 0;
         ::wxSize* page_new_size;
        int page_new_sizeState = 0;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1J1", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPage, &wnd, sipType_wxSize, &page_old_size, &page_old_sizeState, sipType_wxSize, &page_new_size, &page_new_sizeState))
        {
             ::wxRect*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetPageBackgroundRedrawArea);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->GetPageBackgroundRedrawArea(*dc,wnd,*page_old_size,*page_new_size));
            Py_END_ALLOW_THREADS
            sipReleaseType(page_old_size,sipType_wxSize,page_old_sizeState);
            sipReleaseType(page_new_size,sipType_wxSize,page_new_sizeState);

            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_RibbonArtProvider, sipName_GetPageBackgroundRedrawArea, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetButtonBarButtonSize, "GetButtonBarButtonSize(dc, wnd, kind, size, label, bitmap_size_large, bitmap_size_small, button_size, normal_region, dropdown_region) -> bool\n"
"\n"
"Calculate the size of a button within a wxRibbonButtonBar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
         ::wxRibbonButtonKind kind;
         ::wxRibbonButtonBarButtonState size;
        const  ::wxString* label;
        int labelState = 0;
         ::wxSize* bitmap_size_large;
        int bitmap_size_largeState = 0;
         ::wxSize* bitmap_size_small;
        int bitmap_size_smallState = 0;
         ::wxSize* button_size;
        int button_sizeState = 0;
         ::wxRect* normal_region;
        int normal_regionState = 0;
         ::wxRect* dropdown_region;
        int dropdown_regionState = 0;
         ::wxRibbonArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_wnd,
            sipName_kind,
            sipName_size,
            sipName_label,
            sipName_bitmap_size_large,
            sipName_bitmap_size_small,
            sipName_button_size,
            sipName_normal_region,
            sipName_dropdown_region,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8EEJ1J1J1J0J0J0", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxRibbonButtonKind, &kind, sipType_wxRibbonButtonBarButtonState, &size, sipType_wxString,&label, &labelState, sipType_wxSize, &bitmap_size_large, &bitmap_size_largeState, sipType_wxSize, &bitmap_size_small, &bitmap_size_smallState, sipType_wxSize, &button_size, &button_sizeState, sipType_wxRect, &normal_region, &normal_regionState, sipType_wxRect, &dropdown_region, &dropdown_regionState))
        {
            bool sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetButtonBarButtonSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetButtonBarButtonSize(*dc,wnd,kind,size,*label,*bitmap_size_large,*bitmap_size_small,button_size,normal_region,dropdown_region);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxString *>(label),sipType_wxString,labelState);
            sipReleaseType(bitmap_size_large,sipType_wxSize,bitmap_size_largeState);
            sipReleaseType(bitmap_size_small,sipType_wxSize,bitmap_size_smallState);
            sipReleaseType(button_size,sipType_wxSize,button_sizeState);
            sipReleaseType(normal_region,sipType_wxRect,normal_regionState);
            sipReleaseType(dropdown_region,sipType_wxRect,dropdown_regionState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetMinimisedPanelMinimumSize, "GetMinimisedPanelMinimumSize(dc, wnd, desired_bitmap_size, expanded_panel_direction) -> wx.Size\n"
"\n"
"Calculate the size of a minimised ribbon panel.");

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

    {
         ::wxDC* dc;
        const  ::wxRibbonPanel* wnd;
         ::wxSize* desired_bitmap_size;
        int desired_bitmap_sizeState = 0;
         ::wxDirection expanded_panel_direction;
         ::wxRibbonArtProvider *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J0", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxRibbonPanel, &wnd, sipType_wxSize, &desired_bitmap_size, &desired_bitmap_sizeState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetMinimisedPanelMinimumSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetMinimisedPanelMinimumSize(*dc,wnd,desired_bitmap_size,&expanded_panel_direction));
            Py_END_ALLOW_THREADS
            sipReleaseType(desired_bitmap_size,sipType_wxSize,desired_bitmap_sizeState);

            if (PyErr_Occurred())
                return 0;

            PyObject *sipResObj = sipConvertFromNewType(sipRes,sipType_wxSize,SIP_NULLPTR);
            return sipBuildResult(0,"(RF)",sipResObj,expanded_panel_direction,sipType_wxDirection);
        }
    }

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

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetToolSize, "GetToolSize(dc, wnd, bitmap_size, kind, is_first, is_last, dropdown_region) -> wx.Size\n"
"\n"
"Calculate the size of a tool within a wxRibbonToolBar.");

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

    {
         ::wxDC* dc;
         ::wxWindow* wnd;
         ::wxSize* bitmap_size;
        int bitmap_sizeState = 0;
         ::wxRibbonButtonKind kind;
        bool is_first;
        bool is_last;
         ::wxRect* dropdown_region;
        int dropdown_regionState = 0;
         ::wxRibbonArtProvider *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_wnd,
            sipName_bitmap_size,
            sipName_kind,
            sipName_is_first,
            sipName_is_last,
            sipName_dropdown_region,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J8J1EbbJ0", &sipSelf, sipType_wxRibbonArtProvider, &sipCpp, sipType_wxDC, &dc, sipType_wxWindow, &wnd, sipType_wxSize, &bitmap_size, &bitmap_sizeState, sipType_wxRibbonButtonKind, &kind, &is_first, &is_last, sipType_wxRect, &dropdown_region, &dropdown_regionState))
        {
             ::wxSize*sipRes;

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetToolSize);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxSize(sipCpp->GetToolSize(*dc,wnd,*bitmap_size,kind,is_first,is_last,dropdown_region));
            Py_END_ALLOW_THREADS
            sipReleaseType(bitmap_size,sipType_wxSize,bitmap_sizeState);
            sipReleaseType(dropdown_region,sipType_wxRect,dropdown_regionState);

            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_RibbonArtProvider, sipName_GetToolSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetBarToggleButtonArea, "GetBarToggleButtonArea(rect) -> wx.Rect\n"
"\n"
"Calculate the position and size of the ribbon's toggle button.");

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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetBarToggleButtonArea);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->GetBarToggleButtonArea(*rect));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(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_RibbonArtProvider, sipName_GetBarToggleButtonArea, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRibbonArtProvider_GetRibbonHelpButtonArea, "GetRibbonHelpButtonArea(rect) -> wx.Rect\n"
"\n"
"Calculate the position and size of the ribbon's help button.");

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

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

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

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

            if (!sipOrigSelf)
            {
                sipAbstractMethod(sipName_RibbonArtProvider, sipName_GetRibbonHelpButtonArea);
                return SIP_NULLPTR;
            }

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new  ::wxRect(sipCpp->GetRibbonHelpButtonArea(*rect));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(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_RibbonArtProvider, sipName_GetRibbonHelpButtonArea, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRibbonArtProvider *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRibbonArtProvider *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


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

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRibbonArtProvider();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const  ::wxRibbonArtProvider* a0;

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


static PyMethodDef methods_wxRibbonArtProvider[] = {
    {SIP_MLNAME_CAST(sipName_Clone), meth_wxRibbonArtProvider_Clone, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_Clone)},
    {SIP_MLNAME_CAST(sipName_DrawButtonBarBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawButtonBarBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawButtonBarBackground)},
    {SIP_MLNAME_CAST(sipName_DrawButtonBarButton), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawButtonBarButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawButtonBarButton)},
    {SIP_MLNAME_CAST(sipName_DrawGalleryBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawGalleryBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawGalleryBackground)},
    {SIP_MLNAME_CAST(sipName_DrawGalleryItemBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawGalleryItemBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawGalleryItemBackground)},
    {SIP_MLNAME_CAST(sipName_DrawHelpButton), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawHelpButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawHelpButton)},
    {SIP_MLNAME_CAST(sipName_DrawMinimisedPanel), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawMinimisedPanel), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawMinimisedPanel)},
    {SIP_MLNAME_CAST(sipName_DrawPageBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawPageBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawPageBackground)},
    {SIP_MLNAME_CAST(sipName_DrawPanelBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawPanelBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawPanelBackground)},
    {SIP_MLNAME_CAST(sipName_DrawScrollButton), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawScrollButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawScrollButton)},
    {SIP_MLNAME_CAST(sipName_DrawTab), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawTab), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawTab)},
    {SIP_MLNAME_CAST(sipName_DrawTabCtrlBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawTabCtrlBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawTabCtrlBackground)},
    {SIP_MLNAME_CAST(sipName_DrawTabSeparator), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawTabSeparator), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawTabSeparator)},
    {SIP_MLNAME_CAST(sipName_DrawToggleButton), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawToggleButton), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawToggleButton)},
    {SIP_MLNAME_CAST(sipName_DrawTool), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawTool), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawTool)},
    {SIP_MLNAME_CAST(sipName_DrawToolBarBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawToolBarBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawToolBarBackground)},
    {SIP_MLNAME_CAST(sipName_DrawToolGroupBackground), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_DrawToolGroupBackground), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_DrawToolGroupBackground)},
    {SIP_MLNAME_CAST(sipName_GetBarTabWidth), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetBarTabWidth), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetBarTabWidth)},
    {SIP_MLNAME_CAST(sipName_GetBarToggleButtonArea), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetBarToggleButtonArea), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetBarToggleButtonArea)},
    {SIP_MLNAME_CAST(sipName_GetButtonBarButtonSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetButtonBarButtonSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetButtonBarButtonSize)},
    {SIP_MLNAME_CAST(sipName_GetColor), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetColor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetColor)},
    {SIP_MLNAME_CAST(sipName_GetColour), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetColour)},
    {SIP_MLNAME_CAST(sipName_GetColourScheme), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetColourScheme), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetColourScheme)},
    {SIP_MLNAME_CAST(sipName_GetFlags), meth_wxRibbonArtProvider_GetFlags, METH_VARARGS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetFlags)},
    {SIP_MLNAME_CAST(sipName_GetFont), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetFont)},
    {SIP_MLNAME_CAST(sipName_GetGalleryClientSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetGalleryClientSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetGalleryClientSize)},
    {SIP_MLNAME_CAST(sipName_GetGallerySize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetGallerySize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetGallerySize)},
    {SIP_MLNAME_CAST(sipName_GetMetric), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetMetric), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetMetric)},
    {SIP_MLNAME_CAST(sipName_GetMinimisedPanelMinimumSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetMinimisedPanelMinimumSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetMinimisedPanelMinimumSize)},
    {SIP_MLNAME_CAST(sipName_GetPageBackgroundRedrawArea), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetPageBackgroundRedrawArea), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetPageBackgroundRedrawArea)},
    {SIP_MLNAME_CAST(sipName_GetPanelClientSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetPanelClientSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetPanelClientSize)},
    {SIP_MLNAME_CAST(sipName_GetPanelExtButtonArea), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetPanelExtButtonArea), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetPanelExtButtonArea)},
    {SIP_MLNAME_CAST(sipName_GetPanelSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetPanelSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetPanelSize)},
    {SIP_MLNAME_CAST(sipName_GetRibbonHelpButtonArea), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetRibbonHelpButtonArea), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetRibbonHelpButtonArea)},
    {SIP_MLNAME_CAST(sipName_GetScrollButtonMinimumSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetScrollButtonMinimumSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetScrollButtonMinimumSize)},
    {SIP_MLNAME_CAST(sipName_GetTabCtrlHeight), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetTabCtrlHeight), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetTabCtrlHeight)},
    {SIP_MLNAME_CAST(sipName_GetToolSize), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_GetToolSize), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_GetToolSize)},
    {SIP_MLNAME_CAST(sipName_SetColor), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetColor), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetColor)},
    {SIP_MLNAME_CAST(sipName_SetColour), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetColour), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetColour)},
    {SIP_MLNAME_CAST(sipName_SetColourScheme), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetColourScheme), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetColourScheme)},
    {SIP_MLNAME_CAST(sipName_SetFlags), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetFlags), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetFlags)},
    {SIP_MLNAME_CAST(sipName_SetFont), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetFont), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetFont)},
    {SIP_MLNAME_CAST(sipName_SetMetric), SIP_MLMETH_CAST(meth_wxRibbonArtProvider_SetMetric), METH_VARARGS|METH_KEYWORDS, SIP_MLDOC_CAST(doc_wxRibbonArtProvider_SetMetric)}
};

sipVariableDef variables_wxRibbonArtProvider[] = {
    {PropertyVariable, sipName_Flags, &methods_wxRibbonArtProvider[23], &methods_wxRibbonArtProvider[40], SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRibbonArtProvider, "RibbonArtProvider()\n"
"\n"
"wxRibbonArtProvider is responsible for drawing all the components of\n"
"the ribbon interface.");


sipClassTypeDef sipTypeDef__ribbon_wxRibbonArtProvider = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_ABSTRACT|SIP_TYPE_CLASS,
        sipNameNr_wxRibbonArtProvider,
        {SIP_NULLPTR},
        SIP_NULLPTR
    },
    {
        sipNameNr_RibbonArtProvider,
        {0, 0, 1},
        43, methods_wxRibbonArtProvider,
        0, SIP_NULLPTR,
        1, variables_wxRibbonArtProvider,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRibbonArtProvider,
    -1,
    -1,
    SIP_NULLPTR,
    SIP_NULLPTR,
    init_type_wxRibbonArtProvider,
    SIP_NULLPTR,
    SIP_NULLPTR,
#if PY_MAJOR_VERSION >= 3
    SIP_NULLPTR,
    SIP_NULLPTR,
#else
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
#endif
    dealloc_wxRibbonArtProvider,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxRibbonArtProvider,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR
};
