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

#include "sipAPI_core.h"
        #include <wx/scrolwin.h>
        #include <wx/window.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/window.h>
        #include <wx/event.h>
        #include <wx/validate.h>
        #include <wx/event.h>
        #include <wx/gdicmn.h>
        #include <wx/dc.h>
        #include <wx/event.h>
    #include <wx/setup.h>
    #include <wxPython/wxpy_api.h>
        #include <wx/event.h>
        #include <wx/cursor.h>
        #include <wx/caret.h>
        #include <wx/layout.h>
        #include <wx/sizer.h>
        #include <wx/dnd.h>
        #include <wx/access.h>
        #include <wx/accel.h>
        #include <wx/menu.h>
        #include <wx/tooltip.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/event.h>
        #include <wx/palette.h>
        #include <wx/colour.h>
        #include <wx/font.h>
        #include <wx/region.h>
        #include <wx/eventfilter.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxScrolledCanvas : public ::wxScrolledCanvas
{
public:
    sipwxScrolledCanvas();
    sipwxScrolledCanvas(::wxWindow*, ::wxWindowID, const ::wxPoint&, const ::wxSize&, long, const ::wxString&);
    virtual ~sipwxScrolledCanvas();

    /*
     * There is a public method for every protected method visible from
     * this class.
     */
    void sipProtect_SendDestroyEvent();
    bool sipProtectVirt_ProcessEvent(bool, ::wxEvent&);
    void sipProtectVirt_DoEnable(bool, bool);
    void sipProtectVirt_DoGetPosition(bool, int*, int*) const;
    void sipProtectVirt_DoGetSize(bool, int*, int*) const;
    void sipProtectVirt_DoGetClientSize(bool, int*, int*) const;
    ::wxSize sipProtectVirt_DoGetBestSize(bool) const;
    ::wxSize sipProtectVirt_DoGetBestClientSize(bool) const;
    void sipProtectVirt_DoSetSize(bool, int, int, int, int, int);
    void sipProtectVirt_DoSetClientSize(bool, int, int);
    void sipProtectVirt_DoSetSizeHints(bool, int, int, int, int, int, int);
    void sipProtectVirt_DoMoveWindow(bool, int, int, int, int);
    void sipProtectVirt_DoSetWindowVariant(bool, ::wxWindowVariant);
    ::wxBorder sipProtectVirt_GetDefaultBorder(bool) const;
    ::wxBorder sipProtectVirt_GetDefaultBorderForControl(bool) const;
    void sipProtectVirt_DoFreeze(bool);
    void sipProtectVirt_DoThaw(bool);
    bool sipProtectVirt_HasTransparentBackground(bool);
    bool sipProtectVirt_TryBefore(bool, ::wxEvent&);
    bool sipProtectVirt_TryAfter(bool, ::wxEvent&);
    bool sipProtectVirt_ShouldScrollToChildOnFocus(bool, ::wxWindow*);
    ::wxSize sipProtectVirt_GetSizeAvailableForScrollTarget(bool, const ::wxSize&);

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    ::wxSize GetSizeAvailableForScrollTarget(const ::wxSize&) SIP_OVERRIDE;
    bool ShouldScrollToChildOnFocus(::wxWindow*) SIP_OVERRIDE;
    bool SendAutoScrollEvents(::wxScrollWinEvent&) const SIP_OVERRIDE;
    void OnDraw(::wxDC&) SIP_OVERRIDE;
    void RemoveChild(::wxWindowBase*) SIP_OVERRIDE;
    void AddChild(::wxWindowBase*) SIP_OVERRIDE;
    bool ProcessEvent(::wxEvent&) SIP_OVERRIDE;
    bool TryBefore(::wxEvent&) SIP_OVERRIDE;
    bool TryAfter(::wxEvent&) SIP_OVERRIDE;
    bool AcceptsFocus() const SIP_OVERRIDE;
    bool AcceptsFocusFromKeyboard() const SIP_OVERRIDE;
    bool AcceptsFocusRecursively() const SIP_OVERRIDE;
    void SetCanFocus(bool) SIP_OVERRIDE;
    void EnableVisibleFocus(bool) SIP_OVERRIDE;
    bool InformFirstDirection(int, int, int) SIP_OVERRIDE;
    ::wxPoint GetClientAreaOrigin() const SIP_OVERRIDE;
    bool HasTransparentBackground() SIP_OVERRIDE;
    bool ShouldInheritColours() const SIP_OVERRIDE;
    ::wxValidator* GetValidator() SIP_OVERRIDE;
    void SetValidator(const ::wxValidator&) SIP_OVERRIDE;
    bool TransferDataFromWindow() SIP_OVERRIDE;
    bool TransferDataToWindow() SIP_OVERRIDE;
    bool Validate() SIP_OVERRIDE;
    bool Destroy() SIP_OVERRIDE;
    void InheritAttributes() SIP_OVERRIDE;
    void InitDialog() SIP_OVERRIDE;
    void OnInternalIdle() SIP_OVERRIDE;
    ::wxWindow* GetMainWindowOfCompositeControl() SIP_OVERRIDE;
    void DoEnable(bool) SIP_OVERRIDE;
    void DoGetPosition(int*, int*) const SIP_OVERRIDE;
    void DoGetSize(int*, int*) const SIP_OVERRIDE;
    void DoGetClientSize(int*, int*) const SIP_OVERRIDE;
    void DoSetSize(int, int, int, int, int) SIP_OVERRIDE;
    void DoSetClientSize(int, int) SIP_OVERRIDE;
    void DoSetSizeHints(int, int, int, int, int, int) SIP_OVERRIDE;
    void DoMoveWindow(int, int, int, int) SIP_OVERRIDE;
    void DoSetWindowVariant(::wxWindowVariant) SIP_OVERRIDE;
    ::wxBorder GetDefaultBorder() const SIP_OVERRIDE;
    ::wxBorder GetDefaultBorderForControl() const SIP_OVERRIDE;
    void DoFreeze() SIP_OVERRIDE;
    void DoThaw() SIP_OVERRIDE;
    ::wxSize DoGetBestSize() const SIP_OVERRIDE;
    ::wxSize DoGetBestClientSize() const SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[43];
};

sipwxScrolledCanvas::sipwxScrolledCanvas(): ::wxScrolledCanvas(), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxScrolledCanvas::sipwxScrolledCanvas(::wxWindow*parent, ::wxWindowID id, const ::wxPoint& pos, const ::wxSize& size, long style, const ::wxString& name): ::wxScrolledCanvas(parent, id, pos, size, style, name), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

::wxSize sipwxScrolledCanvas::GetSizeAvailableForScrollTarget(const ::wxSize& size)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::GetSizeAvailableForScrollTarget(size);

    extern ::wxSize sipVH__core_142(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxSize&);

    return sipVH__core_142(sipGILState, 0, sipPySelf, sipMeth, size);
}

bool sipwxScrolledCanvas::ShouldScrollToChildOnFocus(::wxWindow*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::ShouldScrollToChildOnFocus(child);

    extern bool sipVH__core_139(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxWindow*);

    return sipVH__core_139(sipGILState, 0, sipPySelf, sipMeth, child);
}

bool sipwxScrolledCanvas::SendAutoScrollEvents(::wxScrollWinEvent& event) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[2]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_SendAutoScrollEvents);

    if (!sipMeth)
        return ::wxScrolledCanvas::SendAutoScrollEvents(event);

    extern bool sipVH__core_141(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxScrollWinEvent&);

    return sipVH__core_141(sipGILState, 0, sipPySelf, sipMeth, event);
}

void sipwxScrolledCanvas::OnDraw(::wxDC& dc)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::OnDraw(dc);
        return;
    }

    extern void sipVH__core_140(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&);

    sipVH__core_140(sipGILState, 0, sipPySelf, sipMeth, dc);
}

void sipwxScrolledCanvas::RemoveChild(::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::RemoveChild(child);
        return;
    }

    extern void sipVH__core_124(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxWindowBase*);

    sipVH__core_124(sipGILState, 0, sipPySelf, sipMeth, child);
}

void sipwxScrolledCanvas::AddChild(::wxWindowBase*child)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::AddChild(child);
        return;
    }

    extern void sipVH__core_124(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxWindowBase*);

    sipVH__core_124(sipGILState, 0, sipPySelf, sipMeth, child);
}

bool sipwxScrolledCanvas::ProcessEvent(::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::ProcessEvent(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxScrolledCanvas::TryBefore(::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::TryBefore(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxScrolledCanvas::TryAfter(::wxEvent& event)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::TryAfter(event);

    extern bool sipVH__core_102(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxEvent&);

    return sipVH__core_102(sipGILState, 0, sipPySelf, sipMeth, event);
}

bool sipwxScrolledCanvas::AcceptsFocus() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[9]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocus);

    if (!sipMeth)
        return ::wxScrolledCanvas::AcceptsFocus();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::AcceptsFocusFromKeyboard() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[10]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocusFromKeyboard);

    if (!sipMeth)
        return ::wxScrolledCanvas::AcceptsFocusFromKeyboard();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::AcceptsFocusRecursively() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[11]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_AcceptsFocusRecursively);

    if (!sipMeth)
        return ::wxScrolledCanvas::AcceptsFocusRecursively();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxScrolledCanvas::SetCanFocus(bool canFocus)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::SetCanFocus(canFocus);
        return;
    }

    extern void sipVH__core_96(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, canFocus);
}

void sipwxScrolledCanvas::EnableVisibleFocus(bool enabled)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::EnableVisibleFocus(enabled);
        return;
    }

    extern void sipVH__core_96(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, enabled);
}

bool sipwxScrolledCanvas::InformFirstDirection(int direction, int size, int availableOtherDir)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::InformFirstDirection(direction, size, availableOtherDir);

    extern bool sipVH__core_125(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, int, int, int);

    return sipVH__core_125(sipGILState, 0, sipPySelf, sipMeth, direction, size, availableOtherDir);
}

::wxPoint sipwxScrolledCanvas::GetClientAreaOrigin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[15]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_GetClientAreaOrigin);

    if (!sipMeth)
        return ::wxScrolledCanvas::GetClientAreaOrigin();

    extern ::wxPoint sipVH__core_126(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::HasTransparentBackground()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::HasTransparentBackground();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::ShouldInheritColours() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[17]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_ShouldInheritColours);

    if (!sipMeth)
        return ::wxScrolledCanvas::ShouldInheritColours();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

::wxValidator* sipwxScrolledCanvas::GetValidator()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::GetValidator();

    extern ::wxValidator* sipVH__core_127(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxScrolledCanvas::SetValidator(const ::wxValidator& validator)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::SetValidator(validator);
        return;
    }

    extern void sipVH__core_128(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxValidator&);

    sipVH__core_128(sipGILState, 0, sipPySelf, sipMeth, validator);
}

bool sipwxScrolledCanvas::TransferDataFromWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::TransferDataFromWindow();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::TransferDataToWindow()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::TransferDataToWindow();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::Validate()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::Validate();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxScrolledCanvas::Destroy()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::Destroy();

    extern bool sipVH__core_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxScrolledCanvas::InheritAttributes()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::InheritAttributes();
        return;
    }

    extern void sipVH__core_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__core_57(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxScrolledCanvas::InitDialog()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::InitDialog();
        return;
    }

    extern void sipVH__core_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__core_57(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxScrolledCanvas::OnInternalIdle()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::OnInternalIdle();
        return;
    }

    extern void sipVH__core_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__core_57(sipGILState, 0, sipPySelf, sipMeth);
}

::wxWindow* sipwxScrolledCanvas::GetMainWindowOfCompositeControl()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::GetMainWindowOfCompositeControl();

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

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

void sipwxScrolledCanvas::DoEnable(bool enable)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoEnable(enable);
        return;
    }

    extern void sipVH__core_96(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, bool);

    sipVH__core_96(sipGILState, 0, sipPySelf, sipMeth, enable);
}

void sipwxScrolledCanvas::DoGetPosition(int*x, int*y) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[29]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetPosition);

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoGetPosition(x, y);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, x, y);
}

void sipwxScrolledCanvas::DoGetSize(int*width, int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[30]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetSize);

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoGetSize(width, height);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxScrolledCanvas::DoGetClientSize(int*width, int*height) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoGetClientSize(width, height);
        return;
    }

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

    sipVH__core_130(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxScrolledCanvas::DoSetSize(int x, int y, int width, int height, int sizeFlags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoSetSize(x, y, width, height, sizeFlags);
        return;
    }

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

    sipVH__core_131(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height, sizeFlags);
}

void sipwxScrolledCanvas::DoSetClientSize(int width, int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[33], &sipPySelf, SIP_NULLPTR, sipName_DoSetClientSize);

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoSetClientSize(width, height);
        return;
    }

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

    sipVH__core_132(sipGILState, 0, sipPySelf, sipMeth, width, height);
}

void sipwxScrolledCanvas::DoSetSizeHints(int minW, int minH, int maxW, int maxH, int incW, int incH)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[34], &sipPySelf, SIP_NULLPTR, sipName_DoSetSizeHints);

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoSetSizeHints(minW, minH, maxW, maxH, incW, incH);
        return;
    }

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

    sipVH__core_133(sipGILState, 0, sipPySelf, sipMeth, minW, minH, maxW, maxH, incW, incH);
}

void sipwxScrolledCanvas::DoMoveWindow(int x, int y, int width, int height)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoMoveWindow(x, y, width, height);
        return;
    }

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

    sipVH__core_134(sipGILState, 0, sipPySelf, sipMeth, x, y, width, height);
}

void sipwxScrolledCanvas::DoSetWindowVariant(::wxWindowVariant variant)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoSetWindowVariant(variant);
        return;
    }

    extern void sipVH__core_135(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxWindowVariant);

    sipVH__core_135(sipGILState, 0, sipPySelf, sipMeth, variant);
}

::wxBorder sipwxScrolledCanvas::GetDefaultBorder() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::GetDefaultBorder();

    extern ::wxBorder sipVH__core_136(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

::wxBorder sipwxScrolledCanvas::GetDefaultBorderForControl() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxScrolledCanvas::GetDefaultBorderForControl();

    extern ::wxBorder sipVH__core_136(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxScrolledCanvas::DoFreeze()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoFreeze();
        return;
    }

    extern void sipVH__core_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__core_57(sipGILState, 0, sipPySelf, sipMeth);
}

void sipwxScrolledCanvas::DoThaw()
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[40], &sipPySelf, SIP_NULLPTR, sipName_DoThaw);

    if (!sipMeth)
    {
        ::wxScrolledCanvas::DoThaw();
        return;
    }

    extern void sipVH__core_57(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

    sipVH__core_57(sipGILState, 0, sipPySelf, sipMeth);
}

::wxSize sipwxScrolledCanvas::DoGetBestSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[41]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetBestSize);

    if (!sipMeth)
        return ::wxScrolledCanvas::DoGetBestSize();

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

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

::wxSize sipwxScrolledCanvas::DoGetBestClientSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, const_cast<char *>(&sipPyMethods[42]), const_cast<sipSimpleWrapper **>(&sipPySelf), SIP_NULLPTR, sipName_DoGetBestClientSize);

    if (!sipMeth)
        return ::wxScrolledCanvas::DoGetBestClientSize();

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

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

void sipwxScrolledCanvas::sipProtect_SendDestroyEvent()
{
    ::wxWindow::SendDestroyEvent();
}

bool sipwxScrolledCanvas::sipProtectVirt_ProcessEvent(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::ProcessEvent(event) : ProcessEvent(event));
}

void sipwxScrolledCanvas::sipProtectVirt_DoEnable(bool sipSelfWasArg, bool enable)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoEnable(enable) : DoEnable(enable));
}

void sipwxScrolledCanvas::sipProtectVirt_DoGetPosition(bool sipSelfWasArg, int*x, int*y) const
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoGetPosition(x, y) : DoGetPosition(x, y));
}

void sipwxScrolledCanvas::sipProtectVirt_DoGetSize(bool sipSelfWasArg, int*width, int*height) const
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoGetSize(width, height) : DoGetSize(width, height));
}

void sipwxScrolledCanvas::sipProtectVirt_DoGetClientSize(bool sipSelfWasArg, int*width, int*height) const
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoGetClientSize(width, height) : DoGetClientSize(width, height));
}

::wxSize sipwxScrolledCanvas::sipProtectVirt_DoGetBestSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::DoGetBestSize() : DoGetBestSize());
}

::wxSize sipwxScrolledCanvas::sipProtectVirt_DoGetBestClientSize(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::DoGetBestClientSize() : DoGetBestClientSize());
}

void sipwxScrolledCanvas::sipProtectVirt_DoSetSize(bool sipSelfWasArg, int x, int y, int width, int height, int sizeFlags)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoSetSize(x, y, width, height, sizeFlags) : DoSetSize(x, y, width, height, sizeFlags));
}

void sipwxScrolledCanvas::sipProtectVirt_DoSetClientSize(bool sipSelfWasArg, int width, int height)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoSetClientSize(width, height) : DoSetClientSize(width, height));
}

void sipwxScrolledCanvas::sipProtectVirt_DoSetSizeHints(bool sipSelfWasArg, int minW, int minH, int maxW, int maxH, int incW, int incH)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoSetSizeHints(minW, minH, maxW, maxH, incW, incH) : DoSetSizeHints(minW, minH, maxW, maxH, incW, incH));
}

void sipwxScrolledCanvas::sipProtectVirt_DoMoveWindow(bool sipSelfWasArg, int x, int y, int width, int height)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoMoveWindow(x, y, width, height) : DoMoveWindow(x, y, width, height));
}

void sipwxScrolledCanvas::sipProtectVirt_DoSetWindowVariant(bool sipSelfWasArg, ::wxWindowVariant variant)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoSetWindowVariant(variant) : DoSetWindowVariant(variant));
}

::wxBorder sipwxScrolledCanvas::sipProtectVirt_GetDefaultBorder(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::GetDefaultBorder() : GetDefaultBorder());
}

::wxBorder sipwxScrolledCanvas::sipProtectVirt_GetDefaultBorderForControl(bool sipSelfWasArg) const
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::GetDefaultBorderForControl() : GetDefaultBorderForControl());
}

void sipwxScrolledCanvas::sipProtectVirt_DoFreeze(bool sipSelfWasArg)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoFreeze() : DoFreeze());
}

void sipwxScrolledCanvas::sipProtectVirt_DoThaw(bool sipSelfWasArg)
{
    (sipSelfWasArg ? ::wxScrolledCanvas::DoThaw() : DoThaw());
}

bool sipwxScrolledCanvas::sipProtectVirt_HasTransparentBackground(bool sipSelfWasArg)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::HasTransparentBackground() : HasTransparentBackground());
}

bool sipwxScrolledCanvas::sipProtectVirt_TryBefore(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::TryBefore(event) : TryBefore(event));
}

bool sipwxScrolledCanvas::sipProtectVirt_TryAfter(bool sipSelfWasArg, ::wxEvent& event)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::TryAfter(event) : TryAfter(event));
}

bool sipwxScrolledCanvas::sipProtectVirt_ShouldScrollToChildOnFocus(bool sipSelfWasArg, ::wxWindow*child)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::ShouldScrollToChildOnFocus(child) : ShouldScrollToChildOnFocus(child));
}

::wxSize sipwxScrolledCanvas::sipProtectVirt_GetSizeAvailableForScrollTarget(bool sipSelfWasArg, const ::wxSize& size)
{
    return (sipSelfWasArg ? ::wxScrolledCanvas::GetSizeAvailableForScrollTarget(size) : GetSizeAvailableForScrollTarget(size));
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SendDestroyEvent, "SendDestroyEvent()\n"
"\n"
"Generate wxWindowDestroyEvent for this window.");

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

    {
        sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtect_SendDestroyEvent();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SendDestroyEvent, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_CalcScrolledPosition, "CalcScrolledPosition(x, y) -> (xx, yy)\n"
"CalcScrolledPosition(pt) -> Point\n"
"\n"
"Translates the logical coordinates to the device ones.\n"
"");

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

    {
        int x;
        int y;
        int xx;
        int yy;
        const ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->CalcScrolledPosition(x, y, &xx, &yy);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", xx, yy);
        }
    }

    {
        const ::wxPoint* pt;
        int ptState = 0;
        const ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->CalcScrolledPosition(*pt));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_CalcScrolledPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_CalcUnscrolledPosition, "CalcUnscrolledPosition(x, y) -> (xx, yy)\n"
"CalcUnscrolledPosition(pt) -> Point\n"
"\n"
"Translates the device coordinates to the logical ones.\n"
"");

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

    {
        int x;
        int y;
        int xx;
        int yy;
        const ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->CalcUnscrolledPosition(x, y, &xx, &yy);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", xx, yy);
        }
    }

    {
        const ::wxPoint* pt;
        int ptState = 0;
        const ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            ::wxPoint*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint(sipCpp->CalcUnscrolledPosition(*pt));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_CalcUnscrolledPosition, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_Create, "Create(parent, id=-1, pos=DefaultPosition, size=DefaultSize, style=HSCROLL|VSCROLL, name=\"scrolledWindow\") -> bool\n"
"\n"
"Creates the window for two-step construction.");

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

    {
        ::wxWindow* parent;
        ::wxWindowID id = -1;
        const ::wxPoint& posdef = wxDefaultPosition;
        const ::wxPoint* pos = &posdef;
        int posState = 0;
        const ::wxSize& sizedef = wxDefaultSize;
        const ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxHSCROLL|wxVSCROLL;
        const ::wxString& namedef = "scrolledWindow";
        const ::wxString* name = &namedef;
        int nameState = 0;
        sipWrapper *sipOwner = SIP_NULLPTR;
        ::wxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_parent,
            sipName_id,
            sipName_pos,
            sipName_size,
            sipName_style,
            sipName_name,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJH|iJ1J1lJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindow, &parent, &sipOwner, &id, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxString, &name, &nameState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->Create(parent, id, *pos, *size, style, *name);
            Py_END_ALLOW_THREADS

            if (sipOwner)
                sipTransferTo(sipSelf, (PyObject *)sipOwner);
            else
                sipTransferBack(sipSelf);
            sipReleaseType(const_cast<::wxPoint *>(pos), sipType_wxPoint, posState);
            sipReleaseType(const_cast<::wxSize *>(size), sipType_wxSize, sizeState);
            sipReleaseType(const_cast<::wxString *>(name), sipType_wxString, nameState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_Create, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DisableKeyboardScrolling, "DisableKeyboardScrolling()\n"
"\n"
"Disable use of keyboard keys for scrolling.");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DisableKeyboardScrolling();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DisableKeyboardScrolling, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoPrepareDC, "DoPrepareDC(dc)\n"
"\n"
"Call this function to prepare the device context for drawing a\n"
"scrolled image.");

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

    {
        ::wxDC* dc;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxDC, &dc))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->DoPrepareDC(*dc);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoPrepareDC, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_EnableScrolling, "EnableScrolling(xScrolling, yScrolling)\n"
"\n"
"Enable or disable use of wxWindow::ScrollWindow() for scrolling.");

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

    {
        bool xScrolling;
        bool yScrolling;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bbb", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &xScrolling, &yScrolling))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->EnableScrolling(xScrolling, yScrolling);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_EnableScrolling, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_ShowScrollbars, "ShowScrollbars(horz, vert)\n"
"\n"
"Set the scrollbar visibility.");

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

    {
        ::wxScrollbarVisibility horz;
        ::wxScrollbarVisibility vert;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BEE", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxScrollbarVisibility, &horz, sipType_wxScrollbarVisibility, &vert))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ShowScrollbars(horz, vert);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_ShowScrollbars, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetScrollPixelsPerUnit, "GetScrollPixelsPerUnit() -> (xUnit, yUnit)\n"
"\n"
"Get the number of pixels per scroll unit (line), in each direction, as\n"
"set by SetScrollbars().");

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

    {
        int xUnit;
        int yUnit;
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetScrollPixelsPerUnit(&xUnit, &yUnit);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", xUnit, yUnit);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetScrollPixelsPerUnit, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetViewStart, "GetViewStart() -> (x, y)\n"
"\n"
"Get the position at which the visible portion of the window starts.");

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

    {
        int x;
        int y;
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->GetViewStart(&x, &y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", x, y);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetViewStart, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_IsRetained, "IsRetained() -> bool\n"
"\n"
"Motif only: true if the window has a backing bitmap.");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsRetained();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_IsRetained, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_OnDraw, "OnDraw(dc)\n"
"\n"
"Called by the default paint event handler to allow the application to\n"
"define painting behaviour without having to worry about calling\n"
"DoPrepareDC().");

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

    {
        ::wxDC* dc;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxDC, &dc))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::OnDraw(*dc) : sipCpp->OnDraw(*dc));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_OnDraw, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_PrepareDC, "PrepareDC(dc)\n"
"\n"
"This function is for backwards compatibility only and simply calls\n"
"DoPrepareDC() now.");

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

    {
        ::wxDC* dc;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxDC, &dc))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->PrepareDC(*dc);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_PrepareDC, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_Scroll, "Scroll(x, y)\n"
"Scroll(pt)\n"
"\n"
"Scrolls a window so the view start is at the given point.\n"
"");

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

    {
        int x;
        int y;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &x, &y))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Scroll(x, y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    {
        const ::wxPoint* pt;
        int ptState = 0;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxPoint, &pt, &ptState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Scroll(*pt);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pt), sipType_wxPoint, ptState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_Scroll, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetScrollRate, "SetScrollRate(xstep, ystep)\n"
"\n"
"Set the horizontal and vertical scrolling increment only.");

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

    {
        int xstep;
        int ystep;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &xstep, &ystep))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScrollRate(xstep, ystep);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetScrollRate, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetScrollbars, "SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos=0, yPos=0, noRefresh=False)\n"
"\n"
"Sets up vertical and/or horizontal scrollbars.");

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

    {
        int pixelsPerUnitX;
        int pixelsPerUnitY;
        int noUnitsX;
        int noUnitsY;
        int xPos = 0;
        int yPos = 0;
        bool noRefresh = 0;
        ::wxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_pixelsPerUnitX,
            sipName_pixelsPerUnitY,
            sipName_noUnitsX,
            sipName_noUnitsY,
            sipName_xPos,
            sipName_yPos,
            sipName_noRefresh,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii|iib", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &pixelsPerUnitX, &pixelsPerUnitY, &noUnitsX, &noUnitsY, &xPos, &yPos, &noRefresh))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScrollbars(pixelsPerUnitX, pixelsPerUnitY, noUnitsX, noUnitsY, xPos, yPos, noRefresh);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetScrollbars, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetTargetWindow, "SetTargetWindow(window)\n"
"\n"
"Call this function to tell wxScrolled to perform the actual scrolling\n"
"on a different window (and not on itself).");

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

    {
        ::wxWindow* window;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindow, &window))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetTargetWindow(window);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetTargetWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetTargetWindow, "GetTargetWindow() -> Window");

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

    {
        const ::wxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetTargetWindow();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetTargetWindow, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetTargetRect, "SetTargetRect(rect)");

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

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

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxRect, &rect, &rectState))
        {
            PyErr_Clear();

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetTargetRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetTargetRect, "GetTargetRect() -> Rect");

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

    {
        const ::wxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxRect(sipCpp->GetTargetRect());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetTargetRect, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetScrollPageSize, "GetScrollPageSize(orient) -> int");

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

    {
        int orient;
        const ::wxScrolledCanvas *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScrollPageSize(orient);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetScrollPageSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetScrollPageSize, "SetScrollPageSize(orient, pageSize)");

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

    {
        int orient;
        int pageSize;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &orient, &pageSize))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScrollPageSize(orient, pageSize);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetScrollPageSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetScrollLines, "GetScrollLines(orient) -> int");

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

    {
        int orient;
        const ::wxScrolledCanvas *sipCpp;

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

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScrollLines(orient);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetScrollLines, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetScale, "SetScale(xs, ys)");

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

    {
        double xs;
        double ys;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bdd", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &xs, &ys))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetScale(xs, ys);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetScale, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetScaleX, "GetScaleX() -> double");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            double sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScaleX();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetScaleX, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetScaleY, "GetScaleY() -> double");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            double sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetScaleY();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyFloat_FromDouble(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetScaleY, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_AdjustScrollbars, "AdjustScrollbars()");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->AdjustScrollbars();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_AdjustScrollbars, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_IsAutoScrolling, "IsAutoScrolling() -> bool\n"
"\n"
"Are we generating the autoscroll events?");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->IsAutoScrolling();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_IsAutoScrolling, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_StopAutoScrolling, "StopAutoScrolling()\n"
"\n"
"Stop generating the scroll events when mouse is held outside the\n"
"window.");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->StopAutoScrolling();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_StopAutoScrolling, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SendAutoScrollEvents, "SendAutoScrollEvents(event) -> bool\n"
"\n"
"This method can be overridden in a derived class to forbid sending the\n"
"auto scroll events - note that unlike StopAutoScrolling() it doesn't\n"
"stop the timer, so it will be called repeatedly and will typically\n"
"return different values depending on the current mouse position.");

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

    {
        ::wxScrollWinEvent* event;
        const ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxScrollWinEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::SendAutoScrollEvents(*event) : sipCpp->SendAutoScrollEvents(*event));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SendAutoScrollEvents, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetClientAreaOrigin, "GetClientAreaOrigin(self) -> Point");

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

    {
        const ::wxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxPoint((sipSelfWasArg ? sipCpp->::wxScrolledCanvas::GetClientAreaOrigin() : sipCpp->GetClientAreaOrigin()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetClientAreaOrigin, doc_wxScrolledCanvas_GetClientAreaOrigin);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_Validate, "Validate(self) -> bool");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::Validate() : sipCpp->Validate());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_Validate, doc_wxScrolledCanvas_Validate);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_TransferDataToWindow, "TransferDataToWindow(self) -> bool");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::TransferDataToWindow() : sipCpp->TransferDataToWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_TransferDataToWindow, doc_wxScrolledCanvas_TransferDataToWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_TransferDataFromWindow, "TransferDataFromWindow(self) -> bool");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::TransferDataFromWindow() : sipCpp->TransferDataFromWindow());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_TransferDataFromWindow, doc_wxScrolledCanvas_TransferDataFromWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_InitDialog, "InitDialog(self)");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::InitDialog() : sipCpp->InitDialog());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_InitDialog, doc_wxScrolledCanvas_InitDialog);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_AcceptsFocus, "AcceptsFocus(self) -> bool");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::AcceptsFocus() : sipCpp->AcceptsFocus());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_AcceptsFocus, doc_wxScrolledCanvas_AcceptsFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_AcceptsFocusRecursively, "AcceptsFocusRecursively(self) -> bool");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::AcceptsFocusRecursively() : sipCpp->AcceptsFocusRecursively());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_AcceptsFocusRecursively, doc_wxScrolledCanvas_AcceptsFocusRecursively);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_AcceptsFocusFromKeyboard, "AcceptsFocusFromKeyboard(self) -> bool");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::AcceptsFocusFromKeyboard() : sipCpp->AcceptsFocusFromKeyboard());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_AcceptsFocusFromKeyboard, doc_wxScrolledCanvas_AcceptsFocusFromKeyboard);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_AddChild, "AddChild(self, child: Optional[WindowBase])");

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

    {
        ::wxWindowBase* child;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::AddChild(child) : sipCpp->AddChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_AddChild, doc_wxScrolledCanvas_AddChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_RemoveChild, "RemoveChild(self, child: Optional[WindowBase])");

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

    {
        ::wxWindowBase* child;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindowBase, &child))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::RemoveChild(child) : sipCpp->RemoveChild(child));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_RemoveChild, doc_wxScrolledCanvas_RemoveChild);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_InheritAttributes, "InheritAttributes(self)");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::InheritAttributes() : sipCpp->InheritAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_InheritAttributes, doc_wxScrolledCanvas_InheritAttributes);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_ShouldInheritColours, "ShouldInheritColours(self) -> bool");

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

    {
        const ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::ShouldInheritColours() : sipCpp->ShouldInheritColours());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_ShouldInheritColours, doc_wxScrolledCanvas_ShouldInheritColours);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_OnInternalIdle, "OnInternalIdle(self)");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::OnInternalIdle() : sipCpp->OnInternalIdle());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_OnInternalIdle, doc_wxScrolledCanvas_OnInternalIdle);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetMainWindowOfCompositeControl, "GetMainWindowOfCompositeControl(self) -> Optional[Window]");

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

    {
        ::wxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::GetMainWindowOfCompositeControl() : sipCpp->GetMainWindowOfCompositeControl());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetMainWindowOfCompositeControl, doc_wxScrolledCanvas_GetMainWindowOfCompositeControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_InformFirstDirection, "InformFirstDirection(self, direction: int, size: int, availableOtherDir: int) -> bool");

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

    {
        int direction;
        int size;
        int availableOtherDir;
        ::wxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_direction,
            sipName_size,
            sipName_availableOtherDir,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &direction, &size, &availableOtherDir))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::InformFirstDirection(direction, size, availableOtherDir) : sipCpp->InformFirstDirection(direction, size, availableOtherDir));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_InformFirstDirection, doc_wxScrolledCanvas_InformFirstDirection);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetCanFocus, "SetCanFocus(self, canFocus: bool)");

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

    {
        bool canFocus;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &canFocus))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::SetCanFocus(canFocus) : sipCpp->SetCanFocus(canFocus));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetCanFocus, doc_wxScrolledCanvas_SetCanFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_Destroy, "Destroy(self) -> bool");

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

    {
        ::wxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::Destroy() : sipCpp->Destroy());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_Destroy, doc_wxScrolledCanvas_Destroy);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_SetValidator, "SetValidator(self, validator: Validator)");

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

    {
        const ::wxValidator* validator;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxValidator, &validator))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::SetValidator(*validator) : sipCpp->SetValidator(*validator));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_SetValidator, doc_wxScrolledCanvas_SetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetValidator, "GetValidator(self) -> Optional[Validator]");

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

    {
        ::wxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::GetValidator() : sipCpp->GetValidator());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetValidator, doc_wxScrolledCanvas_GetValidator);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_EnableVisibleFocus, "EnableVisibleFocus(self, enabled: bool)");

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

    {
        bool enabled;
        ::wxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &enabled))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            (sipSelfWasArg ? sipCpp->::wxScrolledCanvas::EnableVisibleFocus(enabled) : sipCpp->EnableVisibleFocus(enabled));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_EnableVisibleFocus, doc_wxScrolledCanvas_EnableVisibleFocus);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_ProcessEvent, "ProcessEvent(self, event: Event) -> bool");

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

    {
        ::wxEvent* event;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ProcessEvent(sipSelfWasArg, *event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_ProcessEvent, doc_wxScrolledCanvas_ProcessEvent);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoEnable, "DoEnable(self, enable: bool)");

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

    {
        bool enable;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bb", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &enable))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoEnable(sipSelfWasArg, enable);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoEnable, doc_wxScrolledCanvas_DoEnable);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoGetPosition, "DoGetPosition(self) -> (Optional[int], Optional[int])");

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

    {
        int x;
        int y;
        const sipwxScrolledCanvas *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetPosition(sipSelfWasArg, &x, &y);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", x, y);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoGetPosition, doc_wxScrolledCanvas_DoGetPosition);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoGetSize, "DoGetSize(self) -> (Optional[int], Optional[int])");

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

    {
        int width;
        int height;
        const sipwxScrolledCanvas *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetSize(sipSelfWasArg, &width, &height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", width, height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoGetSize, doc_wxScrolledCanvas_DoGetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoGetClientSize, "DoGetClientSize(self) -> (Optional[int], Optional[int])");

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

    {
        int width;
        int height;
        const sipwxScrolledCanvas *sipCpp;

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, SIP_NULLPTR, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoGetClientSize(sipSelfWasArg, &width, &height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(ii)", width, height);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoGetClientSize, doc_wxScrolledCanvas_DoGetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoGetBestSize, "DoGetBestSize(self) -> Size");

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

    {
        const sipwxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->sipProtectVirt_DoGetBestSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoGetBestSize, doc_wxScrolledCanvas_DoGetBestSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoGetBestClientSize, "DoGetBestClientSize(self) -> Size");

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

    {
        const sipwxScrolledCanvas *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->sipProtectVirt_DoGetBestClientSize(sipSelfWasArg));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoGetBestClientSize, doc_wxScrolledCanvas_DoGetBestClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoSetSize, "DoSetSize(self, x: int, y: int, width: int, height: int, sizeFlags: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        int sizeFlags;
        sipwxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
            sipName_sizeFlags,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &x, &y, &width, &height, &sizeFlags))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSize(sipSelfWasArg, x, y, width, height, sizeFlags);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoSetSize, doc_wxScrolledCanvas_DoSetSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoSetClientSize, "DoSetClientSize(self, width: int, height: int)");

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

    {
        int width;
        int height;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetClientSize(sipSelfWasArg, width, height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoSetClientSize, doc_wxScrolledCanvas_DoSetClientSize);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoSetSizeHints, "DoSetSizeHints(self, minW: int, minH: int, maxW: int, maxH: int, incW: int, incH: int)");

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

    {
        int minW;
        int minH;
        int maxW;
        int maxH;
        int incW;
        int incH;
        sipwxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_minW,
            sipName_minH,
            sipName_maxW,
            sipName_maxH,
            sipName_incW,
            sipName_incH,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiiiii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &minW, &minH, &maxW, &maxH, &incW, &incH))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetSizeHints(sipSelfWasArg, minW, minH, maxW, maxH, incW, incH);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoSetSizeHints, doc_wxScrolledCanvas_DoSetSizeHints);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoMoveWindow, "DoMoveWindow(self, x: int, y: int, width: int, height: int)");

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

    {
        int x;
        int y;
        int width;
        int height;
        sipwxScrolledCanvas *sipCpp;

        static const char *sipKwdList[] = {
            sipName_x,
            sipName_y,
            sipName_width,
            sipName_height,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Biiii", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, &x, &y, &width, &height))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoMoveWindow(sipSelfWasArg, x, y, width, height);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoMoveWindow, doc_wxScrolledCanvas_DoMoveWindow);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoSetWindowVariant, "DoSetWindowVariant(self, variant: WindowVariant)");

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

    {
        ::wxWindowVariant variant;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BE", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindowVariant, &variant))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoSetWindowVariant(sipSelfWasArg, variant);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoSetWindowVariant, doc_wxScrolledCanvas_DoSetWindowVariant);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetDefaultBorder, "GetDefaultBorder(self) -> Border");

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

    {
        const sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorder(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetDefaultBorder, doc_wxScrolledCanvas_GetDefaultBorder);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetDefaultBorderForControl, "GetDefaultBorderForControl(self) -> Border");

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

    {
        const sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            ::wxBorder sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_GetDefaultBorderForControl(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipConvertFromEnum(static_cast<int>(sipRes), sipType_wxBorder);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetDefaultBorderForControl, doc_wxScrolledCanvas_GetDefaultBorderForControl);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoFreeze, "DoFreeze(self)");

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

    {
        sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoFreeze(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoFreeze, doc_wxScrolledCanvas_DoFreeze);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_DoThaw, "DoThaw(self)");

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

    {
        sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->sipProtectVirt_DoThaw(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_DoThaw, doc_wxScrolledCanvas_DoThaw);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_HasTransparentBackground, "HasTransparentBackground(self) -> bool");

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

    {
        sipwxScrolledCanvas *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxScrolledCanvas, &sipCpp))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_HasTransparentBackground(sipSelfWasArg);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_HasTransparentBackground, doc_wxScrolledCanvas_HasTransparentBackground);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_TryBefore, "TryBefore(self, event: Event) -> bool");

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

    {
        ::wxEvent* event;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryBefore(sipSelfWasArg, *event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_TryBefore, doc_wxScrolledCanvas_TryBefore);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_TryAfter, "TryAfter(self, event: Event) -> bool");

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

    {
        ::wxEvent* event;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxEvent, &event))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_TryAfter(sipSelfWasArg, *event);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_TryAfter, doc_wxScrolledCanvas_TryAfter);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetClassDefaultAttributes, "GetClassDefaultAttributes(variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes");

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

    {
        ::wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "|E", sipType_wxWindowVariant, &variant))
        {
            ::wxVisualAttributes*sipRes;
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxVisualAttributes(::wxScrolledCanvas::GetClassDefaultAttributes(variant));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetClassDefaultAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_ShouldScrollToChildOnFocus, "ShouldScrollToChildOnFocus(child) -> bool\n"
"\n"
"This method can be overridden in a derived class to prevent scrolling\n"
"the child window into view automatically when it gets focus.");

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

    {
        ::wxWindow* child;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxWindow, &child))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->sipProtectVirt_ShouldScrollToChildOnFocus(sipSelfWasArg, child);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_ShouldScrollToChildOnFocus, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxScrolledCanvas_GetSizeAvailableForScrollTarget, "GetSizeAvailableForScrollTarget(size) -> Size\n"
"\n"
"Function which must be overridden to implement the size available for\n"
"the scroll target for the given size of the main window.");

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

    {
        const ::wxSize* size;
        int sizeState = 0;
        sipwxScrolledCanvas *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxScrolledCanvas, &sipCpp, sipType_wxSize, &size, &sizeState))
        {
            ::wxSize*sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxSize(sipCpp->sipProtectVirt_GetSizeAvailableForScrollTarget(sipSelfWasArg, *size));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxSize *>(size), sipType_wxSize, sizeState);

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_ScrolledCanvas, sipName_GetSizeAvailableForScrollTarget, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxScrolledCanvas)
        return sipCppV;

    sipCppV = ((const sipClassTypeDef *)sipType_wxWindow)->ctd_cast(static_cast<::wxWindow *>(sipCpp), targetType);
    if (sipCppV)
        return sipCppV;

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxScrolledCanvas *>(sipCppV);
    else
        delete reinterpret_cast<::wxScrolledCanvas *>(sipCppV);

    Py_END_ALLOW_THREADS
}


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

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


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

    {
        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, SIP_NULLPTR, sipUnused, ""))
        {
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxScrolledCanvas();
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        ::wxWindow* parent;
        ::wxWindowID id = -1;
        const ::wxPoint& posdef = wxDefaultPosition;
        const ::wxPoint* pos = &posdef;
        int posState = 0;
        const ::wxSize& sizedef = wxDefaultSize;
        const ::wxSize* size = &sizedef;
        int sizeState = 0;
        long style = wxHSCROLL|wxVSCROLL;
        const ::wxString& namedef = "scrolledWindow";
        const ::wxString* name = &namedef;
        int nameState = 0;

        static const char *sipKwdList[] = {
            sipName_parent,
            sipName_id,
            sipName_pos,
            sipName_size,
            sipName_style,
            sipName_name,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "JH|iJ1J1lJ1", sipType_wxWindow, &parent, sipOwner, &id, sipType_wxPoint, &pos, &posState, sipType_wxSize, &size, &sizeState, &style, sipType_wxString, &name, &nameState))
        {
        if (!wxPyCheckForApp()) return NULL;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxScrolledCanvas(parent, id, *pos, *size, style, *name);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast<::wxPoint *>(pos), sipType_wxPoint, posState);
            sipReleaseType(const_cast<::wxSize *>(size), sipType_wxSize, sizeState);
            sipReleaseType(const_cast<::wxString *>(name), sipType_wxString, nameState);

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxScrolledCanvas[] = {
    {sipName_AcceptsFocus, meth_wxScrolledCanvas_AcceptsFocus, METH_VARARGS, doc_wxScrolledCanvas_AcceptsFocus},
    {sipName_AcceptsFocusFromKeyboard, meth_wxScrolledCanvas_AcceptsFocusFromKeyboard, METH_VARARGS, doc_wxScrolledCanvas_AcceptsFocusFromKeyboard},
    {sipName_AcceptsFocusRecursively, meth_wxScrolledCanvas_AcceptsFocusRecursively, METH_VARARGS, doc_wxScrolledCanvas_AcceptsFocusRecursively},
    {sipName_AddChild, SIP_MLMETH_CAST(meth_wxScrolledCanvas_AddChild), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_AddChild},
    {sipName_AdjustScrollbars, meth_wxScrolledCanvas_AdjustScrollbars, METH_VARARGS, doc_wxScrolledCanvas_AdjustScrollbars},
    {sipName_CalcScrolledPosition, SIP_MLMETH_CAST(meth_wxScrolledCanvas_CalcScrolledPosition), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_CalcScrolledPosition},
    {sipName_CalcUnscrolledPosition, SIP_MLMETH_CAST(meth_wxScrolledCanvas_CalcUnscrolledPosition), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_CalcUnscrolledPosition},
    {sipName_Create, SIP_MLMETH_CAST(meth_wxScrolledCanvas_Create), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_Create},
    {sipName_Destroy, meth_wxScrolledCanvas_Destroy, METH_VARARGS, doc_wxScrolledCanvas_Destroy},
    {sipName_DisableKeyboardScrolling, meth_wxScrolledCanvas_DisableKeyboardScrolling, METH_VARARGS, doc_wxScrolledCanvas_DisableKeyboardScrolling},
    {sipName_DoEnable, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoEnable), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoEnable},
    {sipName_DoFreeze, meth_wxScrolledCanvas_DoFreeze, METH_VARARGS, doc_wxScrolledCanvas_DoFreeze},
    {sipName_DoGetBestClientSize, meth_wxScrolledCanvas_DoGetBestClientSize, METH_VARARGS, doc_wxScrolledCanvas_DoGetBestClientSize},
    {sipName_DoGetBestSize, meth_wxScrolledCanvas_DoGetBestSize, METH_VARARGS, doc_wxScrolledCanvas_DoGetBestSize},
    {sipName_DoGetClientSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoGetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoGetClientSize},
    {sipName_DoGetPosition, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoGetPosition), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoGetPosition},
    {sipName_DoGetSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoGetSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoGetSize},
    {sipName_DoMoveWindow, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoMoveWindow), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoMoveWindow},
    {sipName_DoPrepareDC, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoPrepareDC), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoPrepareDC},
    {sipName_DoSetClientSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoSetClientSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoSetClientSize},
    {sipName_DoSetSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoSetSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoSetSize},
    {sipName_DoSetSizeHints, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoSetSizeHints), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoSetSizeHints},
    {sipName_DoSetWindowVariant, SIP_MLMETH_CAST(meth_wxScrolledCanvas_DoSetWindowVariant), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_DoSetWindowVariant},
    {sipName_DoThaw, meth_wxScrolledCanvas_DoThaw, METH_VARARGS, doc_wxScrolledCanvas_DoThaw},
    {sipName_EnableScrolling, SIP_MLMETH_CAST(meth_wxScrolledCanvas_EnableScrolling), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_EnableScrolling},
    {sipName_EnableVisibleFocus, SIP_MLMETH_CAST(meth_wxScrolledCanvas_EnableVisibleFocus), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_EnableVisibleFocus},
    {sipName_GetClassDefaultAttributes, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetClassDefaultAttributes), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetClassDefaultAttributes},
    {sipName_GetClientAreaOrigin, meth_wxScrolledCanvas_GetClientAreaOrigin, METH_VARARGS, doc_wxScrolledCanvas_GetClientAreaOrigin},
    {sipName_GetDefaultBorder, meth_wxScrolledCanvas_GetDefaultBorder, METH_VARARGS, doc_wxScrolledCanvas_GetDefaultBorder},
    {sipName_GetDefaultBorderForControl, meth_wxScrolledCanvas_GetDefaultBorderForControl, METH_VARARGS, doc_wxScrolledCanvas_GetDefaultBorderForControl},
    {sipName_GetMainWindowOfCompositeControl, meth_wxScrolledCanvas_GetMainWindowOfCompositeControl, METH_VARARGS, doc_wxScrolledCanvas_GetMainWindowOfCompositeControl},
    {sipName_GetScaleX, meth_wxScrolledCanvas_GetScaleX, METH_VARARGS, doc_wxScrolledCanvas_GetScaleX},
    {sipName_GetScaleY, meth_wxScrolledCanvas_GetScaleY, METH_VARARGS, doc_wxScrolledCanvas_GetScaleY},
    {sipName_GetScrollLines, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetScrollLines), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetScrollLines},
    {sipName_GetScrollPageSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetScrollPageSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetScrollPageSize},
    {sipName_GetScrollPixelsPerUnit, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetScrollPixelsPerUnit), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetScrollPixelsPerUnit},
    {sipName_GetSizeAvailableForScrollTarget, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetSizeAvailableForScrollTarget), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetSizeAvailableForScrollTarget},
    {sipName_GetTargetRect, meth_wxScrolledCanvas_GetTargetRect, METH_VARARGS, doc_wxScrolledCanvas_GetTargetRect},
    {sipName_GetTargetWindow, meth_wxScrolledCanvas_GetTargetWindow, METH_VARARGS, doc_wxScrolledCanvas_GetTargetWindow},
    {sipName_GetValidator, meth_wxScrolledCanvas_GetValidator, METH_VARARGS, doc_wxScrolledCanvas_GetValidator},
    {sipName_GetViewStart, SIP_MLMETH_CAST(meth_wxScrolledCanvas_GetViewStart), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_GetViewStart},
    {sipName_HasTransparentBackground, meth_wxScrolledCanvas_HasTransparentBackground, METH_VARARGS, doc_wxScrolledCanvas_HasTransparentBackground},
    {sipName_InformFirstDirection, SIP_MLMETH_CAST(meth_wxScrolledCanvas_InformFirstDirection), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_InformFirstDirection},
    {sipName_InheritAttributes, meth_wxScrolledCanvas_InheritAttributes, METH_VARARGS, doc_wxScrolledCanvas_InheritAttributes},
    {sipName_InitDialog, meth_wxScrolledCanvas_InitDialog, METH_VARARGS, doc_wxScrolledCanvas_InitDialog},
    {sipName_IsAutoScrolling, meth_wxScrolledCanvas_IsAutoScrolling, METH_VARARGS, doc_wxScrolledCanvas_IsAutoScrolling},
    {sipName_IsRetained, meth_wxScrolledCanvas_IsRetained, METH_VARARGS, doc_wxScrolledCanvas_IsRetained},
    {sipName_OnDraw, SIP_MLMETH_CAST(meth_wxScrolledCanvas_OnDraw), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_OnDraw},
    {sipName_OnInternalIdle, meth_wxScrolledCanvas_OnInternalIdle, METH_VARARGS, doc_wxScrolledCanvas_OnInternalIdle},
    {sipName_PrepareDC, SIP_MLMETH_CAST(meth_wxScrolledCanvas_PrepareDC), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_PrepareDC},
    {sipName_ProcessEvent, SIP_MLMETH_CAST(meth_wxScrolledCanvas_ProcessEvent), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_ProcessEvent},
    {sipName_RemoveChild, SIP_MLMETH_CAST(meth_wxScrolledCanvas_RemoveChild), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_RemoveChild},
    {sipName_Scroll, SIP_MLMETH_CAST(meth_wxScrolledCanvas_Scroll), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_Scroll},
    {sipName_SendAutoScrollEvents, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SendAutoScrollEvents), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SendAutoScrollEvents},
    {sipName_SendDestroyEvent, meth_wxScrolledCanvas_SendDestroyEvent, METH_VARARGS, SIP_NULLPTR},
    {sipName_SetCanFocus, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetCanFocus), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetCanFocus},
    {sipName_SetScale, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetScale), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetScale},
    {sipName_SetScrollPageSize, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetScrollPageSize), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetScrollPageSize},
    {sipName_SetScrollRate, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetScrollRate), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetScrollRate},
    {sipName_SetScrollbars, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetScrollbars), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetScrollbars},
    {sipName_SetTargetRect, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetTargetRect), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetTargetRect},
    {sipName_SetTargetWindow, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetTargetWindow), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetTargetWindow},
    {sipName_SetValidator, SIP_MLMETH_CAST(meth_wxScrolledCanvas_SetValidator), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_SetValidator},
    {sipName_ShouldInheritColours, meth_wxScrolledCanvas_ShouldInheritColours, METH_VARARGS, doc_wxScrolledCanvas_ShouldInheritColours},
    {sipName_ShouldScrollToChildOnFocus, SIP_MLMETH_CAST(meth_wxScrolledCanvas_ShouldScrollToChildOnFocus), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_ShouldScrollToChildOnFocus},
    {sipName_ShowScrollbars, SIP_MLMETH_CAST(meth_wxScrolledCanvas_ShowScrollbars), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_ShowScrollbars},
    {sipName_StopAutoScrolling, meth_wxScrolledCanvas_StopAutoScrolling, METH_VARARGS, doc_wxScrolledCanvas_StopAutoScrolling},
    {sipName_TransferDataFromWindow, meth_wxScrolledCanvas_TransferDataFromWindow, METH_VARARGS, doc_wxScrolledCanvas_TransferDataFromWindow},
    {sipName_TransferDataToWindow, meth_wxScrolledCanvas_TransferDataToWindow, METH_VARARGS, doc_wxScrolledCanvas_TransferDataToWindow},
    {sipName_TryAfter, SIP_MLMETH_CAST(meth_wxScrolledCanvas_TryAfter), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_TryAfter},
    {sipName_TryBefore, SIP_MLMETH_CAST(meth_wxScrolledCanvas_TryBefore), METH_VARARGS|METH_KEYWORDS, doc_wxScrolledCanvas_TryBefore},
    {sipName_Validate, meth_wxScrolledCanvas_Validate, METH_VARARGS, doc_wxScrolledCanvas_Validate}
};

sipVariableDef variables_wxScrolledCanvas[] = {
    {PropertyVariable, sipName_TargetWindow, &methods_wxScrolledCanvas[38], &methods_wxScrolledCanvas[61], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_TargetRect, &methods_wxScrolledCanvas[37], &methods_wxScrolledCanvas[60], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ScaleY, &methods_wxScrolledCanvas[32], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ScaleX, &methods_wxScrolledCanvas[31], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxScrolledCanvas, "Scrolled()\n"
"Scrolled(parent, id=-1, pos=DefaultPosition, size=DefaultSize, style=HSCROLL|VSCROLL, name=\"scrolledWindow\")\n"
"\n"
"The wxScrolled class manages scrolling for its client area,\n"
"transforming the coordinates according to the scrollbar positions, and\n"
"setting the scroll positions, thumb sizes and ranges according to the\n"
"area in view.");


sipClassTypeDef sipTypeDef__core_wxScrolledCanvas = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxScrolledCanvas,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_ScrolledCanvas,
        {0, 0, 1},
        72, methods_wxScrolledCanvas,
        0, SIP_NULLPTR,
        4, variables_wxScrolledCanvas,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxScrolledCanvas,
    -1,
    -1,
    supers_wxScrolledCanvas,
    SIP_NULLPTR,
    init_type_wxScrolledCanvas,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxScrolledCanvas,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    release_wxScrolledCanvas,
    cast_wxScrolledCanvas,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
};
