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

#include "sipAPI_richtext.h"
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/image.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/dc.h>
        #include <wx/bitmap.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/xml/xml.h>
        #include <wx/richtext/richtextxml.h>
        #include <wx/window.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/gdicmn.h>
        #include <wx/gdicmn.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/richtext/richtextbuffer.h>
        #include <wx/object.h>
        #include <wx/object.h>
        #include <wx/object.h>


class sipwxRichTextImage : public ::wxRichTextImage
{
public:
    sipwxRichTextImage(::wxRichTextObject*);
    sipwxRichTextImage(const ::wxImage&, ::wxRichTextObject*, ::wxRichTextAttr*);
    sipwxRichTextImage(const ::wxRichTextImageBlock&, ::wxRichTextObject*, ::wxRichTextAttr*);
    sipwxRichTextImage(const ::wxRichTextImage&);
    virtual ~sipwxRichTextImage();

    /*
     * There is a protected method for every virtual method visible from
     * this class.
     */
protected:
    bool LoadAndScaleImageCache(::wxImage&, const ::wxSize&, ::wxRichTextDrawingContext&, bool&) SIP_OVERRIDE;
    bool LoadImageCache(::wxDC&, ::wxRichTextDrawingContext&, ::wxSize&, bool, const ::wxSize&) SIP_OVERRIDE;
    bool Draw(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRichTextRange&, const ::wxRichTextSelection&, const ::wxRect&, int, int) SIP_OVERRIDE;
    bool Layout(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&, const ::wxRect&, int) SIP_OVERRIDE;
    int HitTest(::wxDC&, ::wxRichTextDrawingContext&, const ::wxPoint&, long&, ::wxRichTextObject**, ::wxRichTextObject**, int) SIP_OVERRIDE;
    bool FindPosition(::wxDC&, ::wxRichTextDrawingContext&, long, ::wxPoint&, int*, bool) SIP_OVERRIDE;
    ::wxSize GetBestSize() const SIP_OVERRIDE;
    bool GetRangeSize(const ::wxRichTextRange&, ::wxSize&, int&, ::wxDC&, ::wxRichTextDrawingContext&, int, const ::wxPoint&, const ::wxSize&, ::wxArrayInt*) const SIP_OVERRIDE;
    ::wxRichTextObject* DoSplit(long) SIP_OVERRIDE;
    void CalculateRange(long, long&) SIP_OVERRIDE;
    bool DeleteRange(const ::wxRichTextRange&) SIP_OVERRIDE;
    bool IsEmpty() const SIP_OVERRIDE;
    bool IsFloatable() const SIP_OVERRIDE;
    bool IsFloating() const SIP_OVERRIDE;
    int GetFloatDirection() const SIP_OVERRIDE;
    ::wxString GetTextForRange(const ::wxRichTextRange&) const SIP_OVERRIDE;
    bool CanMerge(::wxRichTextObject*, ::wxRichTextDrawingContext&) const SIP_OVERRIDE;
    bool Merge(::wxRichTextObject*, ::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool CanSplit(::wxRichTextDrawingContext&) const SIP_OVERRIDE;
    ::wxRichTextObject* Split(::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool CanEditProperties() const SIP_OVERRIDE;
    bool EditProperties(::wxWindow*, ::wxRichTextBuffer*) SIP_OVERRIDE;
    ::wxString GetPropertiesMenuLabel() const SIP_OVERRIDE;
    bool AcceptsFocus() const SIP_OVERRIDE;
    bool ImportFromXML(::wxRichTextBuffer*, ::wxXmlNode*, ::wxRichTextXMLHandler*, bool*) SIP_OVERRIDE;
    bool UsesParagraphAttributes() const SIP_OVERRIDE;
    ::wxString GetXMLNodeName() const SIP_OVERRIDE;
    void Invalidate(const ::wxRichTextRange&) SIP_OVERRIDE;
    bool HandlesChildSelections() const SIP_OVERRIDE;
    ::wxRichTextSelection GetSelection(long, long) const SIP_OVERRIDE;
    ::wxSize GetCachedSize() const SIP_OVERRIDE;
    void SetCachedSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxSize GetMaxSize() const SIP_OVERRIDE;
    void SetMaxSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxSize GetMinSize() const SIP_OVERRIDE;
    void SetMinSize(const ::wxSize&) SIP_OVERRIDE;
    ::wxTextAttrSize GetNaturalSize() const SIP_OVERRIDE;
    ::wxPoint GetPosition() const SIP_OVERRIDE;
    void SetPosition(const ::wxPoint&) SIP_OVERRIDE;
    ::wxPoint GetAbsolutePosition() const SIP_OVERRIDE;
    ::wxRect GetRect() const SIP_OVERRIDE;
    bool IsComposite() const SIP_OVERRIDE;
    bool IsAtomic() const SIP_OVERRIDE;
    ::wxRichTextObject* GetParent() const SIP_OVERRIDE;
    void SetParent(::wxRichTextObject*) SIP_OVERRIDE;
    ::wxRichTextParagraphLayoutBox* GetContainer() const SIP_OVERRIDE;
    ::wxRichTextParagraphLayoutBox* GetParentContainer() const SIP_OVERRIDE;
    void SetMargins(int) SIP_OVERRIDE;
    void SetMargins(int, int, int, int) SIP_OVERRIDE;
    int GetLeftMargin() const SIP_OVERRIDE;
    int GetRightMargin() const SIP_OVERRIDE;
    int GetTopMargin() const SIP_OVERRIDE;
    int GetBottomMargin() const SIP_OVERRIDE;
    ::wxRect GetAvailableContentArea(::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&) const SIP_OVERRIDE;
    bool LayoutToBestSize(::wxDC&, ::wxRichTextDrawingContext&, ::wxRichTextBuffer*, const ::wxRichTextAttr&, const ::wxRichTextAttr&, const ::wxRect&, const ::wxRect&, int) SIP_OVERRIDE;
    bool AdjustAttributes(::wxRichTextAttr&, ::wxRichTextDrawingContext&) SIP_OVERRIDE;
    bool IsTopLevel() const SIP_OVERRIDE;
    void Show(bool) SIP_OVERRIDE;
    ::wxRichTextObject* Clone() const SIP_OVERRIDE;
    void Move(const ::wxPoint&) SIP_OVERRIDE;

public:
    sipSimpleWrapper *sipPySelf;

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

    char sipPyMethods[60];
};

sipwxRichTextImage::sipwxRichTextImage(::wxRichTextObject*parent): ::wxRichTextImage(parent), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextImage::sipwxRichTextImage(const ::wxImage& image, ::wxRichTextObject*parent, ::wxRichTextAttr*charStyle): ::wxRichTextImage(image, parent, charStyle), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextImage::sipwxRichTextImage(const ::wxRichTextImageBlock& imageBlock, ::wxRichTextObject*parent, ::wxRichTextAttr*charStyle): ::wxRichTextImage(imageBlock, parent, charStyle), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

sipwxRichTextImage::sipwxRichTextImage(const ::wxRichTextImage& obj): ::wxRichTextImage(obj), sipPySelf(SIP_NULLPTR)
{
    memset(sipPyMethods, 0, sizeof (sipPyMethods));
}

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

bool sipwxRichTextImage::LoadAndScaleImageCache(::wxImage& image, const ::wxSize& sz, ::wxRichTextDrawingContext& context, bool& changed)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::LoadAndScaleImageCache(image, sz, context, changed);

    extern bool sipVH__richtext_92(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxImage&, const ::wxSize&, ::wxRichTextDrawingContext&, bool&);

    return sipVH__richtext_92(sipGILState, 0, sipPySelf, sipMeth, image, sz, context, changed);
}

bool sipwxRichTextImage::LoadImageCache(::wxDC& dc, ::wxRichTextDrawingContext& context, ::wxSize& retImageSize, bool resetCache, const ::wxSize& parentSize)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::LoadImageCache(dc, context, retImageSize, resetCache, parentSize);

    extern bool sipVH__richtext_91(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, ::wxSize&, bool, const ::wxSize&);

    return sipVH__richtext_91(sipGILState, 0, sipPySelf, sipMeth, dc, context, retImageSize, resetCache, parentSize);
}

bool sipwxRichTextImage::Draw(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRichTextRange& range, const ::wxRichTextSelection& selection, const ::wxRect& rect, int descent, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::Draw(dc, context, range, selection, rect, descent, style);

    extern bool sipVH__richtext_0(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRichTextRange&, const ::wxRichTextSelection&, const ::wxRect&, int, int);

    return sipVH__richtext_0(sipGILState, 0, sipPySelf, sipMeth, dc, context, range, selection, rect, descent, style);
}

bool sipwxRichTextImage::Layout(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRect& rect, const ::wxRect& parentRect, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::Layout(dc, context, rect, parentRect, style);

    extern bool sipVH__richtext_1(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&, const ::wxRect&, int);

    return sipVH__richtext_1(sipGILState, 0, sipPySelf, sipMeth, dc, context, rect, parentRect, style);
}

int sipwxRichTextImage::HitTest(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxPoint& pt, long& textPosition, ::wxRichTextObject**obj, ::wxRichTextObject**contextObj, int flags)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::HitTest(dc, context, pt, textPosition, obj, contextObj, flags);

    extern int sipVH__richtext_2(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxPoint&, long&, ::wxRichTextObject**, ::wxRichTextObject**, int);

    return sipVH__richtext_2(sipGILState, 0, sipPySelf, sipMeth, dc, context, pt, textPosition, obj, contextObj, flags);
}

bool sipwxRichTextImage::FindPosition(::wxDC& dc, ::wxRichTextDrawingContext& context, long index, ::wxPoint& pt, int*height, bool forceLineStart)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::FindPosition(dc, context, index, pt, height, forceLineStart);

    extern bool sipVH__richtext_3(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, long, ::wxPoint&, int*, bool);

    return sipVH__richtext_3(sipGILState, 0, sipPySelf, sipMeth, dc, context, index, pt, height, forceLineStart);
}

::wxSize sipwxRichTextImage::GetBestSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetBestSize();

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

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

bool sipwxRichTextImage::GetRangeSize(const ::wxRichTextRange& range, ::wxSize& size, int& descent, ::wxDC& dc, ::wxRichTextDrawingContext& context, int flags, const ::wxPoint& position, const ::wxSize& parentSize, ::wxArrayInt*partialExtents) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetRangeSize(range, size, descent, dc, context, flags, position, parentSize, partialExtents);

    extern bool sipVH__richtext_5(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&, ::wxSize&, int&, ::wxDC&, ::wxRichTextDrawingContext&, int, const ::wxPoint&, const ::wxSize&, ::wxArrayInt*);

    return sipVH__richtext_5(sipGILState, 0, sipPySelf, sipMeth, range, size, descent, dc, context, flags, position, parentSize, partialExtents);
}

::wxRichTextObject* sipwxRichTextImage::DoSplit(long pos)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::DoSplit(pos);

    extern ::wxRichTextObject* sipVH__richtext_6(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long);

    return sipVH__richtext_6(sipGILState, 0, sipPySelf, sipMeth, pos);
}

void sipwxRichTextImage::CalculateRange(long start, long& end)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxRichTextImage::CalculateRange(start, end);
        return;
    }

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

    sipVH__richtext_7(sipGILState, 0, sipPySelf, sipMeth, start, end);
}

bool sipwxRichTextImage::DeleteRange(const ::wxRichTextRange& range)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::DeleteRange(range);

    extern bool sipVH__richtext_8(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    return sipVH__richtext_8(sipGILState, 0, sipPySelf, sipMeth, range);
}

bool sipwxRichTextImage::IsEmpty() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsEmpty();

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

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

bool sipwxRichTextImage::IsFloatable() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsFloatable();

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

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

bool sipwxRichTextImage::IsFloating() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsFloating();

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

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

int sipwxRichTextImage::GetFloatDirection() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetFloatDirection();

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

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

::wxString sipwxRichTextImage::GetTextForRange(const ::wxRichTextRange& range) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetTextForRange(range);

    extern ::wxString sipVH__richtext_11(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    return sipVH__richtext_11(sipGILState, 0, sipPySelf, sipMeth, range);
}

bool sipwxRichTextImage::CanMerge(::wxRichTextObject*object, ::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::CanMerge(object, context);

    extern bool sipVH__richtext_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*, ::wxRichTextDrawingContext&);

    return sipVH__richtext_12(sipGILState, 0, sipPySelf, sipMeth, object, context);
}

bool sipwxRichTextImage::Merge(::wxRichTextObject*object, ::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::Merge(object, context);

    extern bool sipVH__richtext_12(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*, ::wxRichTextDrawingContext&);

    return sipVH__richtext_12(sipGILState, 0, sipPySelf, sipMeth, object, context);
}

bool sipwxRichTextImage::CanSplit(::wxRichTextDrawingContext& context) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::CanSplit(context);

    extern bool sipVH__richtext_13(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextDrawingContext&);

    return sipVH__richtext_13(sipGILState, 0, sipPySelf, sipMeth, context);
}

::wxRichTextObject* sipwxRichTextImage::Split(::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::Split(context);

    extern ::wxRichTextObject* sipVH__richtext_14(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextDrawingContext&);

    return sipVH__richtext_14(sipGILState, 0, sipPySelf, sipMeth, context);
}

bool sipwxRichTextImage::CanEditProperties() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::CanEditProperties();

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

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

bool sipwxRichTextImage::EditProperties(::wxWindow*parent, ::wxRichTextBuffer*buffer)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::EditProperties(parent, buffer);

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

    return sipVH__richtext_15(sipGILState, 0, sipPySelf, sipMeth, parent, buffer);
}

::wxString sipwxRichTextImage::GetPropertiesMenuLabel() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetPropertiesMenuLabel();

    extern ::wxString sipVH__richtext_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

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

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

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

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

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

bool sipwxRichTextImage::ImportFromXML(::wxRichTextBuffer*buffer, ::wxXmlNode*node, ::wxRichTextXMLHandler*handler, bool*recurse)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::ImportFromXML(buffer, node, handler, recurse);

    extern bool sipVH__richtext_17(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextBuffer*, ::wxXmlNode*, ::wxRichTextXMLHandler*, bool*);

    return sipVH__richtext_17(sipGILState, 0, sipPySelf, sipMeth, buffer, node, handler, recurse);
}

bool sipwxRichTextImage::UsesParagraphAttributes() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::UsesParagraphAttributes();

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

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

::wxString sipwxRichTextImage::GetXMLNodeName() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetXMLNodeName();

    extern ::wxString sipVH__richtext_16(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxRichTextImage::Invalidate(const ::wxRichTextRange& invalidRange)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxRichTextImage::Invalidate(invalidRange);
        return;
    }

    extern void sipVH__richtext_18(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxRichTextRange&);

    sipVH__richtext_18(sipGILState, 0, sipPySelf, sipMeth, invalidRange);
}

bool sipwxRichTextImage::HandlesChildSelections() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::HandlesChildSelections();

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

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

::wxRichTextSelection sipwxRichTextImage::GetSelection(long start, long end) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetSelection(start, end);

    extern ::wxRichTextSelection sipVH__richtext_19(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, long, long);

    return sipVH__richtext_19(sipGILState, 0, sipPySelf, sipMeth, start, end);
}

::wxSize sipwxRichTextImage::GetCachedSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetCachedSize();

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

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

void sipwxRichTextImage::SetCachedSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[31], &sipPySelf, SIP_NULLPTR, sipName_SetCachedSize);

    if (!sipMeth)
    {
        ::wxRichTextImage::SetCachedSize(sz);
        return;
    }

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

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxSize sipwxRichTextImage::GetMaxSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetMaxSize();

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

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

void sipwxRichTextImage::SetMaxSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxRichTextImage::SetMaxSize(sz);
        return;
    }

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

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxSize sipwxRichTextImage::GetMinSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetMinSize();

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

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

void sipwxRichTextImage::SetMinSize(const ::wxSize& sz)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
    {
        ::wxRichTextImage::SetMinSize(sz);
        return;
    }

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

    sipVH__richtext_20(sipGILState, 0, sipPySelf, sipMeth, sz);
}

::wxTextAttrSize sipwxRichTextImage::GetNaturalSize() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetNaturalSize();

    extern ::wxTextAttrSize sipVH__richtext_21(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

::wxPoint sipwxRichTextImage::GetPosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetPosition();

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

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

void sipwxRichTextImage::SetPosition(const ::wxPoint& pos)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[38], &sipPySelf, SIP_NULLPTR, sipName_SetPosition);

    if (!sipMeth)
    {
        ::wxRichTextImage::SetPosition(pos);
        return;
    }

    extern void sipVH__richtext_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxPoint&);

    sipVH__richtext_23(sipGILState, 0, sipPySelf, sipMeth, pos);
}

::wxPoint sipwxRichTextImage::GetAbsolutePosition() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetAbsolutePosition();

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

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

::wxRect sipwxRichTextImage::GetRect() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetRect();

    extern ::wxRect sipVH__richtext_24(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

bool sipwxRichTextImage::IsComposite() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsComposite();

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

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

bool sipwxRichTextImage::IsAtomic() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsAtomic();

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

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

::wxRichTextObject* sipwxRichTextImage::GetParent() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetParent();

    extern ::wxRichTextObject* sipVH__richtext_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxRichTextImage::SetParent(::wxRichTextObject*parent)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[44], &sipPySelf, SIP_NULLPTR, sipName_SetParent);

    if (!sipMeth)
    {
        ::wxRichTextImage::SetParent(parent);
        return;
    }

    extern void sipVH__richtext_26(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextObject*);

    sipVH__richtext_26(sipGILState, 0, sipPySelf, sipMeth, parent);
}

::wxRichTextParagraphLayoutBox* sipwxRichTextImage::GetContainer() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetContainer();

    extern ::wxRichTextParagraphLayoutBox* sipVH__richtext_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

::wxRichTextParagraphLayoutBox* sipwxRichTextImage::GetParentContainer() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetParentContainer();

    extern ::wxRichTextParagraphLayoutBox* sipVH__richtext_27(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxRichTextImage::SetMargins(int margin)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[47], &sipPySelf, SIP_NULLPTR, sipName_SetMargins);

    if (!sipMeth)
    {
        ::wxRichTextImage::SetMargins(margin);
        return;
    }

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

    sipVH__richtext_28(sipGILState, 0, sipPySelf, sipMeth, margin);
}

void sipwxRichTextImage::SetMargins(int leftMargin, int rightMargin, int topMargin, int bottomMargin)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[48], &sipPySelf, SIP_NULLPTR, sipName_SetMargins);

    if (!sipMeth)
    {
        ::wxRichTextImage::SetMargins(leftMargin, rightMargin, topMargin, bottomMargin);
        return;
    }

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

    sipVH__richtext_29(sipGILState, 0, sipPySelf, sipMeth, leftMargin, rightMargin, topMargin, bottomMargin);
}

int sipwxRichTextImage::GetLeftMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetLeftMargin();

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

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

int sipwxRichTextImage::GetRightMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetRightMargin();

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

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

int sipwxRichTextImage::GetTopMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetTopMargin();

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

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

int sipwxRichTextImage::GetBottomMargin() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetBottomMargin();

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

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

::wxRect sipwxRichTextImage::GetAvailableContentArea(::wxDC& dc, ::wxRichTextDrawingContext& context, const ::wxRect& outerRect) const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::GetAvailableContentArea(dc, context, outerRect);

    extern ::wxRect sipVH__richtext_30(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, const ::wxRect&);

    return sipVH__richtext_30(sipGILState, 0, sipPySelf, sipMeth, dc, context, outerRect);
}

bool sipwxRichTextImage::LayoutToBestSize(::wxDC& dc, ::wxRichTextDrawingContext& context, ::wxRichTextBuffer*buffer, const ::wxRichTextAttr& parentAttr, const ::wxRichTextAttr& attr, const ::wxRect& availableParentSpace, const ::wxRect& availableContainerSpace, int style)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[54], &sipPySelf, SIP_NULLPTR, sipName_LayoutToBestSize);

    if (!sipMeth)
        return ::wxRichTextImage::LayoutToBestSize(dc, context, buffer, parentAttr, attr, availableParentSpace, availableContainerSpace, style);

    extern bool sipVH__richtext_31(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxDC&, ::wxRichTextDrawingContext&, ::wxRichTextBuffer*, const ::wxRichTextAttr&, const ::wxRichTextAttr&, const ::wxRect&, const ::wxRect&, int);

    return sipVH__richtext_31(sipGILState, 0, sipPySelf, sipMeth, dc, context, buffer, parentAttr, attr, availableParentSpace, availableContainerSpace, style);
}

bool sipwxRichTextImage::AdjustAttributes(::wxRichTextAttr& attr, ::wxRichTextDrawingContext& context)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[55], &sipPySelf, SIP_NULLPTR, sipName_AdjustAttributes);

    if (!sipMeth)
        return ::wxRichTextImage::AdjustAttributes(attr, context);

    extern bool sipVH__richtext_32(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, ::wxRichTextAttr&, ::wxRichTextDrawingContext&);

    return sipVH__richtext_32(sipGILState, 0, sipPySelf, sipMeth, attr, context);
}

bool sipwxRichTextImage::IsTopLevel() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

    if (!sipMeth)
        return ::wxRichTextImage::IsTopLevel();

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

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

void sipwxRichTextImage::Show(bool show)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[57], &sipPySelf, SIP_NULLPTR, sipName_Show);

    if (!sipMeth)
    {
        ::wxRichTextImage::Show(show);
        return;
    }

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

    sipVH__richtext_33(sipGILState, 0, sipPySelf, sipMeth, show);
}

::wxRichTextObject* sipwxRichTextImage::Clone() const
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

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

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

    extern ::wxRichTextObject* sipVH__richtext_34(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *);

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

void sipwxRichTextImage::Move(const ::wxPoint& pt)
{
    sip_gilstate_t sipGILState;
    PyObject *sipMeth;

    sipMeth = sipIsPyMethod(&sipGILState, &sipPyMethods[59], &sipPySelf, SIP_NULLPTR, sipName_Move);

    if (!sipMeth)
    {
        ::wxRichTextImage::Move(pt);
        return;
    }

    extern void sipVH__richtext_23(sip_gilstate_t, sipVirtErrorHandlerFunc, sipSimpleWrapper *, PyObject *, const ::wxPoint&);

    sipVH__richtext_23(sipGILState, 0, sipPySelf, sipMeth, pt);
}


PyDoc_STRVAR(doc_wxRichTextImage_Draw, "Draw(dc, context, range, selection, rect, descent, style) -> bool\n"
"\n"
"Draw the item, within the given range.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRichTextRange* range;
        int rangeState = 0;
        const ::wxRichTextSelection* selection;
        const ::wxRect* rect;
        int rectState = 0;
        int descent;
        int style;
        ::wxRichTextImage *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_range,
            sipName_selection,
            sipName_rect,
            sipName_descent,
            sipName_style,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1J9J1ii", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRichTextRange, &range, &rangeState, sipType_wxRichTextSelection, &selection, sipType_wxRect, &rect, &rectState, &descent, &style))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::Draw(*dc, *context, *range, *selection, *rect, descent, style) : sipCpp->Draw(*dc, *context, *range, *selection, *rect, descent, style));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);
            sipReleaseType(const_cast< ::wxRect *>(rect), sipType_wxRect, rectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_Draw, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_Layout, "Layout(dc, context, rect, parentRect, style) -> bool\n"
"\n"
"Lay the item out at the specified position with the given size\n"
"constraint.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        const ::wxRect* rect;
        int rectState = 0;
        const ::wxRect* parentRect;
        int parentRectState = 0;
        int style;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1J1i", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxRect, &rect, &rectState, sipType_wxRect, &parentRect, &parentRectState, &style))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::Layout(*dc, *context, *rect, *parentRect, style) : sipCpp->Layout(*dc, *context, *rect, *parentRect, style));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRect *>(rect), sipType_wxRect, rectState);
            sipReleaseType(const_cast< ::wxRect *>(parentRect), sipType_wxRect, parentRectState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_Layout, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetRangeSize, "GetRangeSize(range, size, descent, dc, context, flags, position=wx.Point(0,0), parentSize=wx.DefaultSize, partialExtents=None) -> bool\n"
"\n"
"Returns the object size for the given range.");

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

    {
        const ::wxRichTextRange* range;
        int rangeState = 0;
        ::wxSize* size;
        int sizeState = 0;
        int descent;
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        int flags;
        const ::wxPoint& positiondef = wxPoint(0, 0);
        const ::wxPoint* position = &positiondef;
        int positionState = 0;
        const ::wxSize& parentSizedef = wxDefaultSize;
        const ::wxSize* parentSize = &parentSizedef;
        int parentSizeState = 0;
        ::wxArrayInt* partialExtents = 0;
        int partialExtentsState = 0;
        const ::wxRichTextImage *sipCpp;

        static const char *sipKwdList[] = {
            sipName_range,
            sipName_size,
            sipName_dc,
            sipName_context,
            sipName_flags,
            sipName_position,
            sipName_parentSize,
            sipName_partialExtents,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1J1J9J9i|J1J1J0", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxRichTextRange, &range, &rangeState, sipType_wxSize, &size, &sizeState, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, &flags, sipType_wxPoint, &position, &positionState, sipType_wxSize, &parentSize, &parentSizeState, sipType_wxArrayInt, &partialExtents, &partialExtentsState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::GetRangeSize(*range, *size, descent, *dc, *context, flags, *position, *parentSize, partialExtents) : sipCpp->GetRangeSize(*range, *size, descent, *dc, *context, flags, *position, *parentSize, partialExtents));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxRichTextRange *>(range), sipType_wxRichTextRange, rangeState);
            sipReleaseType(size, sipType_wxSize, sizeState);
            sipReleaseType(const_cast< ::wxPoint *>(position), sipType_wxPoint, positionState);
            sipReleaseType(const_cast< ::wxSize *>(parentSize), sipType_wxSize, parentSizeState);
            sipReleaseType(partialExtents, sipType_wxArrayInt, partialExtentsState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bi)", sipRes, descent);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetRangeSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetNaturalSize, "GetNaturalSize() -> TextAttrSize\n"
"\n"
"Returns the 'natural' size for this object - the image size.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxTextAttrSize((sipSelfWasArg ? sipCpp->::wxRichTextImage::GetNaturalSize() : sipCpp->GetNaturalSize()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetNaturalSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_IsEmpty, "IsEmpty() -> bool\n"
"\n"
"Returns true if the object is empty.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::IsEmpty() : sipCpp->IsEmpty());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_IsEmpty, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_CanEditProperties, "CanEditProperties() -> bool\n"
"\n"
"Returns true if we can edit the object's properties via a GUI.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::CanEditProperties() : sipCpp->CanEditProperties());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_CanEditProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_EditProperties, "EditProperties(parent, buffer) -> bool\n"
"\n"
"Edits the object's properties via a GUI.");

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

    {
        ::wxWindow* parent;
        ::wxRichTextBuffer* buffer;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J8", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxWindow, &parent, sipType_wxRichTextBuffer, &buffer))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::EditProperties(parent, buffer) : sipCpp->EditProperties(parent, buffer));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_EditProperties, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetPropertiesMenuLabel, "GetPropertiesMenuLabel() -> str\n"
"\n"
"Returns the label to be used for the properties context menu item.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextImage::GetPropertiesMenuLabel() : sipCpp->GetPropertiesMenuLabel()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetPropertiesMenuLabel, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_UsesParagraphAttributes, "UsesParagraphAttributes() -> bool\n"
"\n"
"Returns true if this object takes note of paragraph attributes (text\n"
"and image objects don't).");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::UsesParagraphAttributes() : sipCpp->UsesParagraphAttributes());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_UsesParagraphAttributes, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_ImportFromXML, "ImportFromXML(buffer, node, handler, recurse) -> bool\n"
"\n"
"Imports this object from XML.");

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

    {
        ::wxRichTextBuffer* buffer;
        ::wxXmlNode* node;
        ::wxRichTextXMLHandler* handler;
        bool recurse;
        ::wxRichTextImage *sipCpp;

        static const char *sipKwdList[] = {
            sipName_buffer,
            sipName_node,
            sipName_handler,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ8J8J8", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxRichTextBuffer, &buffer, sipType_wxXmlNode, &node, sipType_wxRichTextXMLHandler, &handler))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::ImportFromXML(buffer, node, handler, &recurse) : sipCpp->ImportFromXML(buffer, node, handler, &recurse));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bb)", sipRes, recurse);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_ImportFromXML, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_IsFloatable, "IsFloatable() -> bool\n"
"\n"
"Returns true if this class of object is floatable.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::IsFloatable() : sipCpp->IsFloatable());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_IsFloatable, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetXMLNodeName, "GetXMLNodeName() -> str\n"
"\n"
"Returns the XML node name of this object.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxString((sipSelfWasArg ? sipCpp->::wxRichTextImage::GetXMLNodeName() : sipCpp->GetXMLNodeName()));
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetXMLNodeName, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetImageCache, "GetImageCache() -> wx.Bitmap\n"
"\n"
"Returns the image cache (a scaled bitmap).");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = new ::wxBitmap(sipCpp->GetImageCache());
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetImageCache, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_SetImageCache, "SetImageCache(bitmap) -> None\n"
"\n"
"Sets the image cache.");

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

    {
        const ::wxBitmap* bitmap;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxBitmap, &bitmap))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetImageCache(*bitmap);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_SetImageCache, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_ResetImageCache, "ResetImageCache() -> None\n"
"\n"
"Resets the image cache.");

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

    {
        ::wxRichTextImage *sipCpp;

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

            Py_BEGIN_ALLOW_THREADS
            sipCpp->ResetImageCache();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_ResetImageCache, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetImageBlock, "GetImageBlock() -> RichTextImageBlock\n"
"\n"
"Returns the image block containing the raw data.");

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

    {
        ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = &sipCpp->GetImageBlock();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetImageBlock, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetOriginalImageSize, "GetOriginalImageSize() -> wx.Size\n"
"\n"
"Gets the original image size.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetOriginalImageSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_SetOriginalImageSize, "SetOriginalImageSize(sz) -> None\n"
"\n"
"Sets the original image size.");

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

    {
        const ::wxSize* sz;
        int szState = 0;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ1", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxSize, &sz, &szState))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetOriginalImageSize(*sz);
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxSize *>(sz), sipType_wxSize, szState);

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_SetOriginalImageSize, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_Copy, "Copy(obj) -> None\n"
"\n"
"Copies the image object.");

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

    {
        const ::wxRichTextImage* obj;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxRichTextImage, &obj))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->Copy(*obj);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_Copy, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_Clone, "Clone() -> RichTextObject\n"
"\n"
"Clones the image object.");

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

    {
        const ::wxRichTextImage *sipCpp;

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

            PyErr_Clear();

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

            if (PyErr_Occurred())
                return 0;

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

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_Clone, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_LoadImageCache, "LoadImageCache(dc, context, retImageSize, resetCache=False, parentSize=wx.DefaultSize) -> bool\n"
"\n"
"Creates a cached image at the required size.");

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

    {
        ::wxDC* dc;
        ::wxRichTextDrawingContext* context;
        ::wxSize* retImageSize;
        int retImageSizeState = 0;
        bool resetCache = 0;
        const ::wxSize& parentSizedef = wxDefaultSize;
        const ::wxSize* parentSize = &parentSizedef;
        int parentSizeState = 0;
        ::wxRichTextImage *sipCpp;

        static const char *sipKwdList[] = {
            sipName_dc,
            sipName_context,
            sipName_retImageSize,
            sipName_resetCache,
            sipName_parentSize,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J9J1|bJ1", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxDC, &dc, sipType_wxRichTextDrawingContext, &context, sipType_wxSize, &retImageSize, &retImageSizeState, &resetCache, sipType_wxSize, &parentSize, &parentSizeState))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::LoadImageCache(*dc, *context, *retImageSize, resetCache, *parentSize) : sipCpp->LoadImageCache(*dc, *context, *retImageSize, resetCache, *parentSize));
            Py_END_ALLOW_THREADS
            sipReleaseType(retImageSize, sipType_wxSize, retImageSizeState);
            sipReleaseType(const_cast< ::wxSize *>(parentSize), sipType_wxSize, parentSizeState);

            if (PyErr_Occurred())
                return 0;

            return PyBool_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_LoadImageCache, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_LoadAndScaleImageCache, "LoadAndScaleImageCache(image, sz, context, changed) -> Tuple[bool, bool]\n"
"\n"
"Do the loading and scaling.");

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

    {
        ::wxImage* image;
        const ::wxSize* sz;
        int szState = 0;
        ::wxRichTextDrawingContext* context;
        bool changed;
        ::wxRichTextImage *sipCpp;

        static const char *sipKwdList[] = {
            sipName_image,
            sipName_sz,
            sipName_context,
            sipName_changed,
        };

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "BJ9J1J9b", &sipSelf, sipType_wxRichTextImage, &sipCpp, sipType_wxImage, &image, sipType_wxSize, &sz, &szState, sipType_wxRichTextDrawingContext, &context, &changed))
        {
            bool sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = (sipSelfWasArg ? sipCpp->::wxRichTextImage::LoadAndScaleImageCache(*image, *sz, *context, changed) : sipCpp->LoadAndScaleImageCache(*image, *sz, *context, changed));
            Py_END_ALLOW_THREADS
            sipReleaseType(const_cast< ::wxSize *>(sz), sipType_wxSize, szState);

            if (PyErr_Occurred())
                return 0;

            return sipBuildResult(0, "(bb)", sipRes, changed);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_LoadAndScaleImageCache, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_GetImageState, "GetImageState() -> int\n"
"\n"
"Gets the image state.");

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

    {
        const ::wxRichTextImage *sipCpp;

        if (sipParseArgs(&sipParseErr, sipArgs, "B", &sipSelf, sipType_wxRichTextImage, &sipCpp))
        {
            int sipRes;

            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipRes = sipCpp->GetImageState();
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            return PyLong_FromLong(sipRes);
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_GetImageState, SIP_NULLPTR);

    return SIP_NULLPTR;
}


PyDoc_STRVAR(doc_wxRichTextImage_SetImageState, "SetImageState(state) -> None\n"
"\n"
"Sets the image state.");

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

    {
        int state;
        ::wxRichTextImage *sipCpp;

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

        if (sipParseKwdArgs(&sipParseErr, sipArgs, sipKwds, sipKwdList, SIP_NULLPTR, "Bi", &sipSelf, sipType_wxRichTextImage, &sipCpp, &state))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp->SetImageState(state);
            Py_END_ALLOW_THREADS

            if (PyErr_Occurred())
                return 0;

            Py_INCREF(Py_None);
            return Py_None;
        }
    }

    sipNoMethod(sipParseErr, sipName_RichTextImage, sipName_SetImageState, SIP_NULLPTR);

    return SIP_NULLPTR;
}


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

    if (targetType == sipType_wxRichTextImage)
        return sipCppV;

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

    return SIP_NULLPTR;
}


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

    if (sipState & SIP_DERIVED_CLASS)
        delete reinterpret_cast<sipwxRichTextImage *>(sipCppV);
    else
        delete reinterpret_cast< ::wxRichTextImage *>(sipCppV);

    Py_END_ALLOW_THREADS
}


extern "C" {static void *array_wxRichTextImage(Py_ssize_t);}
static void *array_wxRichTextImage(Py_ssize_t sipNrElem)
{
    return new ::wxRichTextImage[sipNrElem];
}


extern "C" {static void array_delete_wxRichTextImage(void *);}
static void array_delete_wxRichTextImage(void *sipCpp)
{
    delete[] reinterpret_cast< ::wxRichTextImage *>(sipCpp);
}


extern "C" {static void assign_wxRichTextImage(void *, Py_ssize_t, void *);}
static void assign_wxRichTextImage(void *sipDst, Py_ssize_t sipDstIdx, void *sipSrc)
{
    reinterpret_cast< ::wxRichTextImage *>(sipDst)[sipDstIdx] = *reinterpret_cast< ::wxRichTextImage *>(sipSrc);
}


extern "C" {static void *copy_wxRichTextImage(const void *, Py_ssize_t);}
static void *copy_wxRichTextImage(const void *sipSrc, Py_ssize_t sipSrcIdx)
{
    return new ::wxRichTextImage(reinterpret_cast<const ::wxRichTextImage *>(sipSrc)[sipSrcIdx]);
}


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

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


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

    {
        ::wxRichTextObject* parent = 0;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "|J8", sipType_wxRichTextObject, &parent))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextImage(parent);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxImage* image;
        ::wxRichTextObject* parent = 0;
        ::wxRichTextAttr* charStyle = 0;

        static const char *sipKwdList[] = {
            sipName_image,
            sipName_parent,
            sipName_charStyle,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9|J8J8", sipType_wxImage, &image, sipType_wxRichTextObject, &parent, sipType_wxRichTextAttr, &charStyle))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextImage(*image, parent, charStyle);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxRichTextImageBlock* imageBlock;
        ::wxRichTextObject* parent = 0;
        ::wxRichTextAttr* charStyle = 0;

        static const char *sipKwdList[] = {
            sipName_imageBlock,
            sipName_parent,
            sipName_charStyle,
        };

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9|J8J8", sipType_wxRichTextImageBlock, &imageBlock, sipType_wxRichTextObject, &parent, sipType_wxRichTextAttr, &charStyle))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextImage(*imageBlock, parent, charStyle);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    {
        const ::wxRichTextImage* obj;

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

        if (sipParseKwdArgs(sipParseErr, sipArgs, sipKwds, sipKwdList, sipUnused, "J9", sipType_wxRichTextImage, &obj))
        {
            PyErr_Clear();

            Py_BEGIN_ALLOW_THREADS
            sipCpp = new sipwxRichTextImage(*obj);
            Py_END_ALLOW_THREADS

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

            sipCpp->sipPySelf = sipSelf;

            return sipCpp;
        }
    }

    return SIP_NULLPTR;
}


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


static PyMethodDef methods_wxRichTextImage[] = {
    {sipName_CanEditProperties, meth_wxRichTextImage_CanEditProperties, METH_VARARGS, doc_wxRichTextImage_CanEditProperties},
    {sipName_Clone, meth_wxRichTextImage_Clone, METH_VARARGS, doc_wxRichTextImage_Clone},
    {sipName_Copy, SIP_MLMETH_CAST(meth_wxRichTextImage_Copy), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_Copy},
    {sipName_Draw, SIP_MLMETH_CAST(meth_wxRichTextImage_Draw), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_Draw},
    {sipName_EditProperties, SIP_MLMETH_CAST(meth_wxRichTextImage_EditProperties), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_EditProperties},
    {sipName_GetImageBlock, meth_wxRichTextImage_GetImageBlock, METH_VARARGS, doc_wxRichTextImage_GetImageBlock},
    {sipName_GetImageCache, meth_wxRichTextImage_GetImageCache, METH_VARARGS, doc_wxRichTextImage_GetImageCache},
    {sipName_GetImageState, meth_wxRichTextImage_GetImageState, METH_VARARGS, doc_wxRichTextImage_GetImageState},
    {sipName_GetNaturalSize, meth_wxRichTextImage_GetNaturalSize, METH_VARARGS, doc_wxRichTextImage_GetNaturalSize},
    {sipName_GetOriginalImageSize, meth_wxRichTextImage_GetOriginalImageSize, METH_VARARGS, doc_wxRichTextImage_GetOriginalImageSize},
    {sipName_GetPropertiesMenuLabel, meth_wxRichTextImage_GetPropertiesMenuLabel, METH_VARARGS, doc_wxRichTextImage_GetPropertiesMenuLabel},
    {sipName_GetRangeSize, SIP_MLMETH_CAST(meth_wxRichTextImage_GetRangeSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_GetRangeSize},
    {sipName_GetXMLNodeName, meth_wxRichTextImage_GetXMLNodeName, METH_VARARGS, doc_wxRichTextImage_GetXMLNodeName},
    {sipName_ImportFromXML, SIP_MLMETH_CAST(meth_wxRichTextImage_ImportFromXML), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_ImportFromXML},
    {sipName_IsEmpty, meth_wxRichTextImage_IsEmpty, METH_VARARGS, doc_wxRichTextImage_IsEmpty},
    {sipName_IsFloatable, meth_wxRichTextImage_IsFloatable, METH_VARARGS, doc_wxRichTextImage_IsFloatable},
    {sipName_Layout, SIP_MLMETH_CAST(meth_wxRichTextImage_Layout), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_Layout},
    {sipName_LoadAndScaleImageCache, SIP_MLMETH_CAST(meth_wxRichTextImage_LoadAndScaleImageCache), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_LoadAndScaleImageCache},
    {sipName_LoadImageCache, SIP_MLMETH_CAST(meth_wxRichTextImage_LoadImageCache), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_LoadImageCache},
    {sipName_ResetImageCache, meth_wxRichTextImage_ResetImageCache, METH_VARARGS, doc_wxRichTextImage_ResetImageCache},
    {sipName_SetImageCache, SIP_MLMETH_CAST(meth_wxRichTextImage_SetImageCache), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_SetImageCache},
    {sipName_SetImageState, SIP_MLMETH_CAST(meth_wxRichTextImage_SetImageState), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_SetImageState},
    {sipName_SetOriginalImageSize, SIP_MLMETH_CAST(meth_wxRichTextImage_SetOriginalImageSize), METH_VARARGS|METH_KEYWORDS, doc_wxRichTextImage_SetOriginalImageSize},
    {sipName_UsesParagraphAttributes, meth_wxRichTextImage_UsesParagraphAttributes, METH_VARARGS, doc_wxRichTextImage_UsesParagraphAttributes}
};

sipVariableDef variables_wxRichTextImage[] = {
    {PropertyVariable, sipName_XMLNodeName, &methods_wxRichTextImage[12], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_PropertiesMenuLabel, &methods_wxRichTextImage[10], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_OriginalImageSize, &methods_wxRichTextImage[9], &methods_wxRichTextImage[22], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_NaturalSize, &methods_wxRichTextImage[8], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ImageState, &methods_wxRichTextImage[7], &methods_wxRichTextImage[21], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ImageCache, &methods_wxRichTextImage[6], &methods_wxRichTextImage[20], SIP_NULLPTR, SIP_NULLPTR},
    {PropertyVariable, sipName_ImageBlock, &methods_wxRichTextImage[5], SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
};

PyDoc_STRVAR(doc_wxRichTextImage, "RichTextImage(parent=None) -> None\n"
"RichTextImage(image, parent=None, charStyle=None) -> None\n"
"RichTextImage(imageBlock, parent=None, charStyle=None) -> None\n"
"RichTextImage(obj) -> None\n"
"\n"
"This class implements a graphic object.");


sipClassTypeDef sipTypeDef__richtext_wxRichTextImage = {
    {
        -1,
        SIP_NULLPTR,
        SIP_NULLPTR,
        SIP_TYPE_SCC|SIP_TYPE_CLASS,
        sipNameNr_wxRichTextImage,
        SIP_NULLPTR,
        SIP_NULLPTR,
    },
    {
        sipNameNr_RichTextImage,
        {0, 0, 1},
        24, methods_wxRichTextImage,
        0, SIP_NULLPTR,
        7, variables_wxRichTextImage,
        {SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR, SIP_NULLPTR},
    },
    doc_wxRichTextImage,
    -1,
    -1,
    supers_wxRichTextImage,
    SIP_NULLPTR,
    init_type_wxRichTextImage,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    dealloc_wxRichTextImage,
    assign_wxRichTextImage,
    array_wxRichTextImage,
    copy_wxRichTextImage,
    release_wxRichTextImage,
    cast_wxRichTextImage,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    SIP_NULLPTR,
    array_delete_wxRichTextImage,
    sizeof (::wxRichTextImage),
};
