# This file was created automatically by SWIG.
# Don't modify this file, modify the SWIG interface instead.

"""
The Object Graphics Library provides for simple drawing and manipulation
of 2D objects.
"""

import _ogl

import _windows
import _core
wx = _core 
__docfilter__ = wx.__DocFilter(globals()) 
#---------------------------------------------------------------------------

class ShapeRegion(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxShapeRegion instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> ShapeRegion"""
        newobj = _ogl.new_ShapeRegion(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    def SetText(*args, **kwargs):
        """SetText(self, String s)"""
        return _ogl.ShapeRegion_SetText(*args, **kwargs)

    def SetFont(*args, **kwargs):
        """SetFont(self, Font f)"""
        return _ogl.ShapeRegion_SetFont(*args, **kwargs)

    def SetMinSize(*args, **kwargs):
        """SetMinSize(self, double w, double h)"""
        return _ogl.ShapeRegion_SetMinSize(*args, **kwargs)

    def SetSize(*args, **kwargs):
        """SetSize(self, double w, double h)"""
        return _ogl.ShapeRegion_SetSize(*args, **kwargs)

    def SetPosition(*args, **kwargs):
        """SetPosition(self, double x, double y)"""
        return _ogl.ShapeRegion_SetPosition(*args, **kwargs)

    def SetProportions(*args, **kwargs):
        """SetProportions(self, double x, double y)"""
        return _ogl.ShapeRegion_SetProportions(*args, **kwargs)

    def SetFormatMode(*args, **kwargs):
        """SetFormatMode(self, int mode)"""
        return _ogl.ShapeRegion_SetFormatMode(*args, **kwargs)

    def SetName(*args, **kwargs):
        """SetName(self, String s)"""
        return _ogl.ShapeRegion_SetName(*args, **kwargs)

    def SetColour(*args, **kwargs):
        """SetColour(self, String col)"""
        return _ogl.ShapeRegion_SetColour(*args, **kwargs)

    def GetText(*args, **kwargs):
        """GetText(self) -> String"""
        return _ogl.ShapeRegion_GetText(*args, **kwargs)

    def GetFont(*args, **kwargs):
        """GetFont(self) -> Font"""
        return _ogl.ShapeRegion_GetFont(*args, **kwargs)

    def GetMinSize(*args, **kwargs):
        """GetMinSize(self, double OUTPUT, double OUTPUT)"""
        return _ogl.ShapeRegion_GetMinSize(*args, **kwargs)

    def GetProportion(*args, **kwargs):
        """GetProportion(self, double OUTPUT, double OUTPUT)"""
        return _ogl.ShapeRegion_GetProportion(*args, **kwargs)

    def GetSize(*args, **kwargs):
        """GetSize(self, double OUTPUT, double OUTPUT)"""
        return _ogl.ShapeRegion_GetSize(*args, **kwargs)

    def GetPosition(*args, **kwargs):
        """GetPosition(self, double OUTPUT, double OUTPUT)"""
        return _ogl.ShapeRegion_GetPosition(*args, **kwargs)

    def GetFormatMode(*args, **kwargs):
        """GetFormatMode(self) -> int"""
        return _ogl.ShapeRegion_GetFormatMode(*args, **kwargs)

    def GetName(*args, **kwargs):
        """GetName(self) -> String"""
        return _ogl.ShapeRegion_GetName(*args, **kwargs)

    def GetColour(*args, **kwargs):
        """GetColour(self) -> String"""
        return _ogl.ShapeRegion_GetColour(*args, **kwargs)

    def GetActualColourObject(*args, **kwargs):
        """GetActualColourObject(self) -> Colour"""
        return _ogl.ShapeRegion_GetActualColourObject(*args, **kwargs)

    def GetFormattedText(*args, **kwargs):
        """GetFormattedText(self) -> wxList"""
        return _ogl.ShapeRegion_GetFormattedText(*args, **kwargs)

    def GetPenColour(*args, **kwargs):
        """GetPenColour(self) -> String"""
        return _ogl.ShapeRegion_GetPenColour(*args, **kwargs)

    def GetPenStyle(*args, **kwargs):
        """GetPenStyle(self) -> int"""
        return _ogl.ShapeRegion_GetPenStyle(*args, **kwargs)

    def SetPenStyle(*args, **kwargs):
        """SetPenStyle(self, int style)"""
        return _ogl.ShapeRegion_SetPenStyle(*args, **kwargs)

    def SetPenColour(*args, **kwargs):
        """SetPenColour(self, String col)"""
        return _ogl.ShapeRegion_SetPenColour(*args, **kwargs)

    def GetActualPen(*args, **kwargs):
        """GetActualPen(self) -> wxPen"""
        return _ogl.ShapeRegion_GetActualPen(*args, **kwargs)

    def GetWidth(*args, **kwargs):
        """GetWidth(self) -> double"""
        return _ogl.ShapeRegion_GetWidth(*args, **kwargs)

    def GetHeight(*args, **kwargs):
        """GetHeight(self) -> double"""
        return _ogl.ShapeRegion_GetHeight(*args, **kwargs)

    def ClearText(*args, **kwargs):
        """ClearText(self)"""
        return _ogl.ShapeRegion_ClearText(*args, **kwargs)


class ShapeRegionPtr(ShapeRegion):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = ShapeRegion
_ogl.ShapeRegion_swigregister(ShapeRegionPtr)

class AttachmentPoint(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxAttachmentPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, int id=0, double x=0.0, double y=0.0) -> AttachmentPoint"""
        newobj = _ogl.new_AttachmentPoint(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    m_id = property(_ogl.AttachmentPoint_m_id_get, _ogl.AttachmentPoint_m_id_set)
    m_x = property(_ogl.AttachmentPoint_m_x_get, _ogl.AttachmentPoint_m_x_set)
    m_y = property(_ogl.AttachmentPoint_m_y_get, _ogl.AttachmentPoint_m_y_set)

class AttachmentPointPtr(AttachmentPoint):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = AttachmentPoint
_ogl.AttachmentPoint_swigregister(AttachmentPointPtr)

class PyShapeEvtHandler(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyShapeEvtHandler instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, PyShapeEvtHandler prev=None, PyShape shape=None) -> PyShapeEvtHandler"""
        newobj = _ogl.new_PyShapeEvtHandler(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyShapeEvtHandler)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyShapeEvtHandler__setCallbackInfo(*args, **kwargs)

    def _setOORInfo(*args, **kwargs):
        """_setOORInfo(self, PyObject _self)"""
        return _ogl.PyShapeEvtHandler__setOORInfo(*args, **kwargs)

    def _setOORandCallbackInfo(self, _class):
        self._setOORInfo(self)
        self._setCallbackInfo(self, _class)

    def SetShape(*args, **kwargs):
        """SetShape(self, PyShape sh)"""
        return _ogl.PyShapeEvtHandler_SetShape(*args, **kwargs)

    def GetShape(*args, **kwargs):
        """GetShape(self) -> PyShape"""
        return _ogl.PyShapeEvtHandler_GetShape(*args, **kwargs)

    def SetPreviousHandler(*args, **kwargs):
        """SetPreviousHandler(self, PyShapeEvtHandler handler)"""
        return _ogl.PyShapeEvtHandler_SetPreviousHandler(*args, **kwargs)

    def GetPreviousHandler(*args, **kwargs):
        """GetPreviousHandler(self) -> PyShapeEvtHandler"""
        return _ogl.PyShapeEvtHandler_GetPreviousHandler(*args, **kwargs)

    def CreateNewCopy(*args, **kwargs):
        """CreateNewCopy(self) -> PyShapeEvtHandler"""
        return _ogl.PyShapeEvtHandler_CreateNewCopy(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyShapeEvtHandler_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=False)"""
        return _ogl.PyShapeEvtHandler_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyShapeEvtHandler_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyShapeEvtHandler_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyShapeEvtHandler_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShapeEvtHandler_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyShapeEvtHandler_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyShapeEvtHandler_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyShapeEvtHandler_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShapeEvtHandler_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShapeEvtHandler_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShapeEvtHandler_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyShapeEvtHandler_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyShapeEvtHandler_base_OnEndSize(*args, **kwargs)


class PyShapeEvtHandlerPtr(PyShapeEvtHandler):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyShapeEvtHandler
_ogl.PyShapeEvtHandler_swigregister(PyShapeEvtHandlerPtr)

class PyShape(PyShapeEvtHandler):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, PyShapeCanvas can=None) -> PyShape"""
        newobj = _ogl.new_PyShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyShape__setCallbackInfo(*args, **kwargs)

    def GetBoundingBoxMax(*args, **kwargs):
        """GetBoundingBoxMax(self, double OUTPUT, double OUTPUT)"""
        return _ogl.PyShape_GetBoundingBoxMax(*args, **kwargs)

    def GetBoundingBoxMin(*args, **kwargs):
        """GetBoundingBoxMin(self, double OUTPUT, double OUTPUT)"""
        return _ogl.PyShape_GetBoundingBoxMin(*args, **kwargs)

    def GetPerimeterPoint(*args, **kwargs):
        """
        GetPerimeterPoint(self, double x1, double y1, double x2, double y2, double OUTPUT, 
            double OUTPUT) -> bool
        """
        return _ogl.PyShape_GetPerimeterPoint(*args, **kwargs)

    def GetCanvas(*args, **kwargs):
        """GetCanvas(self) -> PyShapeCanvas"""
        return _ogl.PyShape_GetCanvas(*args, **kwargs)

    def SetCanvas(*args, **kwargs):
        """SetCanvas(self, PyShapeCanvas the_canvas)"""
        return _ogl.PyShape_SetCanvas(*args, **kwargs)

    def AddToCanvas(*args, **kwargs):
        """AddToCanvas(self, PyShapeCanvas the_canvas, PyShape addAfter=None)"""
        return _ogl.PyShape_AddToCanvas(*args, **kwargs)

    def InsertInCanvas(*args, **kwargs):
        """InsertInCanvas(self, PyShapeCanvas the_canvas)"""
        return _ogl.PyShape_InsertInCanvas(*args, **kwargs)

    def RemoveFromCanvas(*args, **kwargs):
        """RemoveFromCanvas(self, PyShapeCanvas the_canvas)"""
        return _ogl.PyShape_RemoveFromCanvas(*args, **kwargs)

    def GetX(*args, **kwargs):
        """GetX(self) -> double"""
        return _ogl.PyShape_GetX(*args, **kwargs)

    def GetY(*args, **kwargs):
        """GetY(self) -> double"""
        return _ogl.PyShape_GetY(*args, **kwargs)

    def SetX(*args, **kwargs):
        """SetX(self, double x)"""
        return _ogl.PyShape_SetX(*args, **kwargs)

    def SetY(*args, **kwargs):
        """SetY(self, double y)"""
        return _ogl.PyShape_SetY(*args, **kwargs)

    def GetParent(*args, **kwargs):
        """GetParent(self) -> PyShape"""
        return _ogl.PyShape_GetParent(*args, **kwargs)

    def SetParent(*args, **kwargs):
        """SetParent(self, PyShape p)"""
        return _ogl.PyShape_SetParent(*args, **kwargs)

    def GetTopAncestor(*args, **kwargs):
        """GetTopAncestor(self) -> PyShape"""
        return _ogl.PyShape_GetTopAncestor(*args, **kwargs)

    def GetChildren(*args, **kwargs):
        """GetChildren(self) -> PyObject"""
        return _ogl.PyShape_GetChildren(*args, **kwargs)

    def Unlink(*args, **kwargs):
        """Unlink(self)"""
        return _ogl.PyShape_Unlink(*args, **kwargs)

    def SetDrawHandles(*args, **kwargs):
        """SetDrawHandles(self, bool drawH)"""
        return _ogl.PyShape_SetDrawHandles(*args, **kwargs)

    def GetDrawHandles(*args, **kwargs):
        """GetDrawHandles(self) -> bool"""
        return _ogl.PyShape_GetDrawHandles(*args, **kwargs)

    def MakeControlPoints(*args, **kwargs):
        """MakeControlPoints(self)"""
        return _ogl.PyShape_MakeControlPoints(*args, **kwargs)

    def DeleteControlPoints(*args, **kwargs):
        """DeleteControlPoints(self, DC dc=None)"""
        return _ogl.PyShape_DeleteControlPoints(*args, **kwargs)

    def ResetControlPoints(*args, **kwargs):
        """ResetControlPoints(self)"""
        return _ogl.PyShape_ResetControlPoints(*args, **kwargs)

    def GetEventHandler(*args, **kwargs):
        """GetEventHandler(self) -> PyShapeEvtHandler"""
        return _ogl.PyShape_GetEventHandler(*args, **kwargs)

    def SetEventHandler(*args, **kwargs):
        """SetEventHandler(self, PyShapeEvtHandler handler)"""
        return _ogl.PyShape_SetEventHandler(*args, **kwargs)

    def MakeMandatoryControlPoints(*args, **kwargs):
        """MakeMandatoryControlPoints(self)"""
        return _ogl.PyShape_MakeMandatoryControlPoints(*args, **kwargs)

    def ResetMandatoryControlPoints(*args, **kwargs):
        """ResetMandatoryControlPoints(self)"""
        return _ogl.PyShape_ResetMandatoryControlPoints(*args, **kwargs)

    def Recompute(*args, **kwargs):
        """Recompute(self) -> bool"""
        return _ogl.PyShape_Recompute(*args, **kwargs)

    def CalculateSize(*args, **kwargs):
        """CalculateSize(self)"""
        return _ogl.PyShape_CalculateSize(*args, **kwargs)

    def Select(*args, **kwargs):
        """Select(self, bool select=True, DC dc=None)"""
        return _ogl.PyShape_Select(*args, **kwargs)

    def SetHighlight(*args, **kwargs):
        """SetHighlight(self, bool hi=True, bool recurse=False)"""
        return _ogl.PyShape_SetHighlight(*args, **kwargs)

    def IsHighlighted(*args, **kwargs):
        """IsHighlighted(self) -> bool"""
        return _ogl.PyShape_IsHighlighted(*args, **kwargs)

    def Selected(*args, **kwargs):
        """Selected(self) -> bool"""
        return _ogl.PyShape_Selected(*args, **kwargs)

    def AncestorSelected(*args, **kwargs):
        """AncestorSelected(self) -> bool"""
        return _ogl.PyShape_AncestorSelected(*args, **kwargs)

    def SetSensitivityFilter(*args, **kwargs):
        """SetSensitivityFilter(self, int sens=OP_ALL, bool recursive=False)"""
        return _ogl.PyShape_SetSensitivityFilter(*args, **kwargs)

    def GetSensitivityFilter(*args, **kwargs):
        """GetSensitivityFilter(self) -> int"""
        return _ogl.PyShape_GetSensitivityFilter(*args, **kwargs)

    def SetDraggable(*args, **kwargs):
        """SetDraggable(self, bool drag, bool recursive=False)"""
        return _ogl.PyShape_SetDraggable(*args, **kwargs)

    def SetFixedSize(*args, **kwargs):
        """SetFixedSize(self, bool x, bool y)"""
        return _ogl.PyShape_SetFixedSize(*args, **kwargs)

    def GetFixedSize(*args, **kwargs):
        """GetFixedSize(self, bool OUTPUT, bool OUTPUT)"""
        return _ogl.PyShape_GetFixedSize(*args, **kwargs)

    def GetFixedWidth(*args, **kwargs):
        """GetFixedWidth(self) -> bool"""
        return _ogl.PyShape_GetFixedWidth(*args, **kwargs)

    def GetFixedHeight(*args, **kwargs):
        """GetFixedHeight(self) -> bool"""
        return _ogl.PyShape_GetFixedHeight(*args, **kwargs)

    def SetSpaceAttachments(*args, **kwargs):
        """SetSpaceAttachments(self, bool sp)"""
        return _ogl.PyShape_SetSpaceAttachments(*args, **kwargs)

    def GetSpaceAttachments(*args, **kwargs):
        """GetSpaceAttachments(self) -> bool"""
        return _ogl.PyShape_GetSpaceAttachments(*args, **kwargs)

    def SetShadowMode(*args, **kwargs):
        """SetShadowMode(self, int mode, bool redraw=False)"""
        return _ogl.PyShape_SetShadowMode(*args, **kwargs)

    def GetShadowMode(*args, **kwargs):
        """GetShadowMode(self) -> int"""
        return _ogl.PyShape_GetShadowMode(*args, **kwargs)

    def HitTest(*args, **kwargs):
        """HitTest(self, double x, double y, int OUTPUT, double OUTPUT) -> bool"""
        return _ogl.PyShape_HitTest(*args, **kwargs)

    def SetCentreResize(*args, **kwargs):
        """SetCentreResize(self, bool cr)"""
        return _ogl.PyShape_SetCentreResize(*args, **kwargs)

    def GetCentreResize(*args, **kwargs):
        """GetCentreResize(self) -> bool"""
        return _ogl.PyShape_GetCentreResize(*args, **kwargs)

    def SetMaintainAspectRatio(*args, **kwargs):
        """SetMaintainAspectRatio(self, bool ar)"""
        return _ogl.PyShape_SetMaintainAspectRatio(*args, **kwargs)

    def GetMaintainAspectRatio(*args, **kwargs):
        """GetMaintainAspectRatio(self) -> bool"""
        return _ogl.PyShape_GetMaintainAspectRatio(*args, **kwargs)

    def GetLines(*args, **kwargs):
        """GetLines(self) -> PyObject"""
        return _ogl.PyShape_GetLines(*args, **kwargs)

    def SetDisableLabel(*args, **kwargs):
        """SetDisableLabel(self, bool flag)"""
        return _ogl.PyShape_SetDisableLabel(*args, **kwargs)

    def GetDisableLabel(*args, **kwargs):
        """GetDisableLabel(self) -> bool"""
        return _ogl.PyShape_GetDisableLabel(*args, **kwargs)

    def SetAttachmentMode(*args, **kwargs):
        """SetAttachmentMode(self, int mode)"""
        return _ogl.PyShape_SetAttachmentMode(*args, **kwargs)

    def GetAttachmentMode(*args, **kwargs):
        """GetAttachmentMode(self) -> int"""
        return _ogl.PyShape_GetAttachmentMode(*args, **kwargs)

    def SetId(*args, **kwargs):
        """SetId(self, long i)"""
        return _ogl.PyShape_SetId(*args, **kwargs)

    def GetId(*args, **kwargs):
        """GetId(self) -> long"""
        return _ogl.PyShape_GetId(*args, **kwargs)

    def SetPen(*args, **kwargs):
        """SetPen(self, wxPen pen)"""
        return _ogl.PyShape_SetPen(*args, **kwargs)

    def SetBrush(*args, **kwargs):
        """SetBrush(self, wxBrush brush)"""
        return _ogl.PyShape_SetBrush(*args, **kwargs)

    def SetClientData(self, data):
        self.clientData = data
    def GetClientData(self):
        if hasattr(self, 'clientData'):
            return self.clientData
        else:
            return None

    def Show(*args, **kwargs):
        """Show(self, bool show)"""
        return _ogl.PyShape_Show(*args, **kwargs)

    def IsShown(*args, **kwargs):
        """IsShown(self) -> bool"""
        return _ogl.PyShape_IsShown(*args, **kwargs)

    def Move(*args, **kwargs):
        """Move(self, DC dc, double x1, double y1, bool display=True)"""
        return _ogl.PyShape_Move(*args, **kwargs)

    def Erase(*args, **kwargs):
        """Erase(self, DC dc)"""
        return _ogl.PyShape_Erase(*args, **kwargs)

    def EraseContents(*args, **kwargs):
        """EraseContents(self, DC dc)"""
        return _ogl.PyShape_EraseContents(*args, **kwargs)

    def Draw(*args, **kwargs):
        """Draw(self, DC dc)"""
        return _ogl.PyShape_Draw(*args, **kwargs)

    def Flash(*args, **kwargs):
        """Flash(self)"""
        return _ogl.PyShape_Flash(*args, **kwargs)

    def MoveLinks(*args, **kwargs):
        """MoveLinks(self, DC dc)"""
        return _ogl.PyShape_MoveLinks(*args, **kwargs)

    def DrawContents(*args, **kwargs):
        """DrawContents(self, DC dc)"""
        return _ogl.PyShape_DrawContents(*args, **kwargs)

    def SetSize(*args, **kwargs):
        """SetSize(self, double x, double y, bool recursive=True)"""
        return _ogl.PyShape_SetSize(*args, **kwargs)

    def SetAttachmentSize(*args, **kwargs):
        """SetAttachmentSize(self, double x, double y)"""
        return _ogl.PyShape_SetAttachmentSize(*args, **kwargs)

    def Attach(*args, **kwargs):
        """Attach(self, PyShapeCanvas can)"""
        return _ogl.PyShape_Attach(*args, **kwargs)

    def Detach(*args, **kwargs):
        """Detach(self)"""
        return _ogl.PyShape_Detach(*args, **kwargs)

    def Constrain(*args, **kwargs):
        """Constrain(self) -> bool"""
        return _ogl.PyShape_Constrain(*args, **kwargs)

    def AddLine(*args, **kwargs):
        """
        AddLine(self, PyLineShape line, PyShape other, int attachFrom=0, 
            int attachTo=0, int positionFrom=-1, int positionTo=-1)
        """
        return _ogl.PyShape_AddLine(*args, **kwargs)

    def GetLinePosition(*args, **kwargs):
        """GetLinePosition(self, PyLineShape line) -> int"""
        return _ogl.PyShape_GetLinePosition(*args, **kwargs)

    def AddText(*args, **kwargs):
        """AddText(self, String string)"""
        return _ogl.PyShape_AddText(*args, **kwargs)

    def GetPen(*args, **kwargs):
        """GetPen(self) -> wxPen"""
        return _ogl.PyShape_GetPen(*args, **kwargs)

    def GetBrush(*args, **kwargs):
        """GetBrush(self) -> wxBrush"""
        return _ogl.PyShape_GetBrush(*args, **kwargs)

    def SetDefaultRegionSize(*args, **kwargs):
        """SetDefaultRegionSize(self)"""
        return _ogl.PyShape_SetDefaultRegionSize(*args, **kwargs)

    def FormatText(*args, **kwargs):
        """FormatText(self, DC dc, String s, int regionId=0)"""
        return _ogl.PyShape_FormatText(*args, **kwargs)

    def SetFormatMode(*args, **kwargs):
        """SetFormatMode(self, int mode, int regionId=0)"""
        return _ogl.PyShape_SetFormatMode(*args, **kwargs)

    def GetFormatMode(*args, **kwargs):
        """GetFormatMode(self, int regionId=0) -> int"""
        return _ogl.PyShape_GetFormatMode(*args, **kwargs)

    def SetFont(*args, **kwargs):
        """SetFont(self, Font font, int regionId=0)"""
        return _ogl.PyShape_SetFont(*args, **kwargs)

    def GetFont(*args, **kwargs):
        """GetFont(self, int regionId=0) -> Font"""
        return _ogl.PyShape_GetFont(*args, **kwargs)

    def SetTextColour(*args, **kwargs):
        """SetTextColour(self, String colour, int regionId=0)"""
        return _ogl.PyShape_SetTextColour(*args, **kwargs)

    def GetTextColour(*args, **kwargs):
        """GetTextColour(self, int regionId=0) -> String"""
        return _ogl.PyShape_GetTextColour(*args, **kwargs)

    def GetNumberOfTextRegions(*args, **kwargs):
        """GetNumberOfTextRegions(self) -> int"""
        return _ogl.PyShape_GetNumberOfTextRegions(*args, **kwargs)

    def SetRegionName(*args, **kwargs):
        """SetRegionName(self, String name, int regionId=0)"""
        return _ogl.PyShape_SetRegionName(*args, **kwargs)

    def GetRegionName(*args, **kwargs):
        """GetRegionName(self, int regionId) -> String"""
        return _ogl.PyShape_GetRegionName(*args, **kwargs)

    def GetRegionId(*args, **kwargs):
        """GetRegionId(self, String name) -> int"""
        return _ogl.PyShape_GetRegionId(*args, **kwargs)

    def NameRegions(*args, **kwargs):
        """NameRegions(self, String parentName=EmptyString)"""
        return _ogl.PyShape_NameRegions(*args, **kwargs)

    def GetRegions(*args, **kwargs):
        """GetRegions(self) -> PyObject"""
        return _ogl.PyShape_GetRegions(*args, **kwargs)

    def AddRegion(*args, **kwargs):
        """AddRegion(self, ShapeRegion region)"""
        return _ogl.PyShape_AddRegion(*args, **kwargs)

    def ClearRegions(*args, **kwargs):
        """ClearRegions(self)"""
        return _ogl.PyShape_ClearRegions(*args, **kwargs)

    def AssignNewIds(*args, **kwargs):
        """AssignNewIds(self)"""
        return _ogl.PyShape_AssignNewIds(*args, **kwargs)

    def FindRegion(*args, **kwargs):
        """FindRegion(self, String regionName, int OUTPUT) -> PyShape"""
        return _ogl.PyShape_FindRegion(*args, **kwargs)

    def FindRegionNames(*args, **kwargs):
        """FindRegionNames(self, wxStringList list)"""
        return _ogl.PyShape_FindRegionNames(*args, **kwargs)

    def ClearText(*args, **kwargs):
        """ClearText(self, int regionId=0)"""
        return _ogl.PyShape_ClearText(*args, **kwargs)

    def RemoveLine(*args, **kwargs):
        """RemoveLine(self, PyLineShape line)"""
        return _ogl.PyShape_RemoveLine(*args, **kwargs)

    def GetAttachmentPosition(*args, **kwargs):
        """
        GetAttachmentPosition(self, int attachment, double OUTPUT, double OUTPUT, int nth=0, 
            int no_arcs=1, PyLineShape line=None) -> bool
        """
        return _ogl.PyShape_GetAttachmentPosition(*args, **kwargs)

    def GetNumberOfAttachments(*args, **kwargs):
        """GetNumberOfAttachments(self) -> int"""
        return _ogl.PyShape_GetNumberOfAttachments(*args, **kwargs)

    def AttachmentIsValid(*args, **kwargs):
        """AttachmentIsValid(self, int attachment) -> bool"""
        return _ogl.PyShape_AttachmentIsValid(*args, **kwargs)

    def GetAttachments(*args, **kwargs):
        """GetAttachments(self) -> PyObject"""
        return _ogl.PyShape_GetAttachments(*args, **kwargs)

    def GetAttachmentPositionEdge(*args, **kwargs):
        """
        GetAttachmentPositionEdge(self, int attachment, double OUTPUT, double OUTPUT, int nth=0, 
            int no_arcs=1, PyLineShape line=None) -> bool
        """
        return _ogl.PyShape_GetAttachmentPositionEdge(*args, **kwargs)

    def CalcSimpleAttachment(*args, **kwargs):
        """
        CalcSimpleAttachment(self, RealPoint pt1, RealPoint pt2, int nth, int noArcs, 
            PyLineShape line) -> RealPoint
        """
        return _ogl.PyShape_CalcSimpleAttachment(*args, **kwargs)

    def AttachmentSortTest(*args, **kwargs):
        """AttachmentSortTest(self, int attachmentPoint, RealPoint pt1, RealPoint pt2) -> bool"""
        return _ogl.PyShape_AttachmentSortTest(*args, **kwargs)

    def EraseLinks(*args, **kwargs):
        """EraseLinks(self, DC dc, int attachment=-1, bool recurse=False)"""
        return _ogl.PyShape_EraseLinks(*args, **kwargs)

    def DrawLinks(*args, **kwargs):
        """DrawLinks(self, DC dc, int attachment=-1, bool recurse=False)"""
        return _ogl.PyShape_DrawLinks(*args, **kwargs)

    def MoveLineToNewAttachment(*args, **kwargs):
        """MoveLineToNewAttachment(self, DC dc, PyLineShape to_move, double x, double y) -> bool"""
        return _ogl.PyShape_MoveLineToNewAttachment(*args, **kwargs)

    def ApplyAttachmentOrdering(*args, **kwargs):
        """ApplyAttachmentOrdering(self, PyObject linesToSort)"""
        return _ogl.PyShape_ApplyAttachmentOrdering(*args, **kwargs)

    def GetBranchingAttachmentRoot(*args, **kwargs):
        """GetBranchingAttachmentRoot(self, int attachment) -> RealPoint"""
        return _ogl.PyShape_GetBranchingAttachmentRoot(*args, **kwargs)

    def GetBranchingAttachmentInfo(*args, **kwargs):
        """
        GetBranchingAttachmentInfo(self, int attachment, RealPoint root, RealPoint neck, RealPoint shoulder1, 
            RealPoint shoulder2) -> bool
        """
        return _ogl.PyShape_GetBranchingAttachmentInfo(*args, **kwargs)

    def GetBranchingAttachmentPoint(*args, **kwargs):
        """GetBranchingAttachmentPoint(self, int attachment, int n, RealPoint attachmentPoint, RealPoint stemPoint) -> bool"""
        return _ogl.PyShape_GetBranchingAttachmentPoint(*args, **kwargs)

    def GetAttachmentLineCount(*args, **kwargs):
        """GetAttachmentLineCount(self, int attachment) -> int"""
        return _ogl.PyShape_GetAttachmentLineCount(*args, **kwargs)

    def SetBranchNeckLength(*args, **kwargs):
        """SetBranchNeckLength(self, int len)"""
        return _ogl.PyShape_SetBranchNeckLength(*args, **kwargs)

    def GetBranchNeckLength(*args, **kwargs):
        """GetBranchNeckLength(self) -> int"""
        return _ogl.PyShape_GetBranchNeckLength(*args, **kwargs)

    def SetBranchStemLength(*args, **kwargs):
        """SetBranchStemLength(self, int len)"""
        return _ogl.PyShape_SetBranchStemLength(*args, **kwargs)

    def GetBranchStemLength(*args, **kwargs):
        """GetBranchStemLength(self) -> int"""
        return _ogl.PyShape_GetBranchStemLength(*args, **kwargs)

    def SetBranchSpacing(*args, **kwargs):
        """SetBranchSpacing(self, int len)"""
        return _ogl.PyShape_SetBranchSpacing(*args, **kwargs)

    def GetBranchSpacing(*args, **kwargs):
        """GetBranchSpacing(self) -> int"""
        return _ogl.PyShape_GetBranchSpacing(*args, **kwargs)

    def SetBranchStyle(*args, **kwargs):
        """SetBranchStyle(self, long style)"""
        return _ogl.PyShape_SetBranchStyle(*args, **kwargs)

    def GetBranchStyle(*args, **kwargs):
        """GetBranchStyle(self) -> long"""
        return _ogl.PyShape_GetBranchStyle(*args, **kwargs)

    def PhysicalToLogicalAttachment(*args, **kwargs):
        """PhysicalToLogicalAttachment(self, int physicalAttachment) -> int"""
        return _ogl.PyShape_PhysicalToLogicalAttachment(*args, **kwargs)

    def LogicalToPhysicalAttachment(*args, **kwargs):
        """LogicalToPhysicalAttachment(self, int logicalAttachment) -> int"""
        return _ogl.PyShape_LogicalToPhysicalAttachment(*args, **kwargs)

    def Draggable(*args, **kwargs):
        """Draggable(self) -> bool"""
        return _ogl.PyShape_Draggable(*args, **kwargs)

    def HasDescendant(*args, **kwargs):
        """HasDescendant(self, PyShape image) -> bool"""
        return _ogl.PyShape_HasDescendant(*args, **kwargs)

    def CreateNewCopy(*args, **kwargs):
        """CreateNewCopy(self, bool resetMapping=True, bool recompute=True) -> PyShape"""
        return _ogl.PyShape_CreateNewCopy(*args, **kwargs)

    def Copy(*args, **kwargs):
        """Copy(self, PyShape copy)"""
        return _ogl.PyShape_Copy(*args, **kwargs)

    def CopyWithHandler(*args, **kwargs):
        """CopyWithHandler(self, PyShape copy)"""
        return _ogl.PyShape_CopyWithHandler(*args, **kwargs)

    def Rotate(*args, **kwargs):
        """Rotate(self, double x, double y, double theta)"""
        return _ogl.PyShape_Rotate(*args, **kwargs)

    def GetRotation(*args, **kwargs):
        """GetRotation(self) -> double"""
        return _ogl.PyShape_GetRotation(*args, **kwargs)

    def SetRotation(*args, **kwargs):
        """SetRotation(self, double rotation)"""
        return _ogl.PyShape_SetRotation(*args, **kwargs)

    def ClearAttachments(*args, **kwargs):
        """ClearAttachments(self)"""
        return _ogl.PyShape_ClearAttachments(*args, **kwargs)

    def Recentre(*args, **kwargs):
        """Recentre(self, DC dc)"""
        return _ogl.PyShape_Recentre(*args, **kwargs)

    def ClearPointList(*args, **kwargs):
        """ClearPointList(self, wxList list)"""
        return _ogl.PyShape_ClearPointList(*args, **kwargs)

    def GetBackgroundPen(*args, **kwargs):
        """GetBackgroundPen(self) -> wxPen"""
        return _ogl.PyShape_GetBackgroundPen(*args, **kwargs)

    def GetBackgroundBrush(*args, **kwargs):
        """GetBackgroundBrush(self) -> wxBrush"""
        return _ogl.PyShape_GetBackgroundBrush(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=False)"""
        return _ogl.PyShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyShape_base_OnEndSize(*args, **kwargs)


class PyShapePtr(PyShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyShape
_ogl.PyShape_swigregister(PyShapePtr)

oglMETAFLAGS_OUTLINE = _ogl.oglMETAFLAGS_OUTLINE
oglMETAFLAGS_ATTACHMENTS = _ogl.oglMETAFLAGS_ATTACHMENTS
class PseudoMetaFile(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPseudoMetaFile instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PseudoMetaFile"""
        newobj = _ogl.new_PseudoMetaFile(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    def __del__(self, destroy=_ogl.delete_PseudoMetaFile):
        """__del__(self)"""
        try:
            if self.thisown: destroy(self)
        except: pass

    def Draw(*args, **kwargs):
        """Draw(self, DC dc, double xoffset, double yoffset)"""
        return _ogl.PseudoMetaFile_Draw(*args, **kwargs)

    def Clear(*args, **kwargs):
        """Clear(self)"""
        return _ogl.PseudoMetaFile_Clear(*args, **kwargs)

    def Copy(*args, **kwargs):
        """Copy(self, PseudoMetaFile copy)"""
        return _ogl.PseudoMetaFile_Copy(*args, **kwargs)

    def Scale(*args, **kwargs):
        """Scale(self, double sx, double sy)"""
        return _ogl.PseudoMetaFile_Scale(*args, **kwargs)

    def ScaleTo(*args, **kwargs):
        """ScaleTo(self, double w, double h)"""
        return _ogl.PseudoMetaFile_ScaleTo(*args, **kwargs)

    def Translate(*args, **kwargs):
        """Translate(self, double x, double y)"""
        return _ogl.PseudoMetaFile_Translate(*args, **kwargs)

    def Rotate(*args, **kwargs):
        """Rotate(self, double x, double y, double theta)"""
        return _ogl.PseudoMetaFile_Rotate(*args, **kwargs)

    def LoadFromMetaFile(*args, **kwargs):
        """LoadFromMetaFile(self, String filename, double width, double height) -> bool"""
        return _ogl.PseudoMetaFile_LoadFromMetaFile(*args, **kwargs)

    def GetBounds(*args, **kwargs):
        """GetBounds(self, double minX, double minY, double maxX, double maxY)"""
        return _ogl.PseudoMetaFile_GetBounds(*args, **kwargs)

    def CalculateSize(*args, **kwargs):
        """CalculateSize(self, PyDrawnShape shape)"""
        return _ogl.PseudoMetaFile_CalculateSize(*args, **kwargs)

    def SetRotateable(*args, **kwargs):
        """SetRotateable(self, bool rot)"""
        return _ogl.PseudoMetaFile_SetRotateable(*args, **kwargs)

    def GetRotateable(*args, **kwargs):
        """GetRotateable(self) -> bool"""
        return _ogl.PseudoMetaFile_GetRotateable(*args, **kwargs)

    def SetSize(*args, **kwargs):
        """SetSize(self, double w, double h)"""
        return _ogl.PseudoMetaFile_SetSize(*args, **kwargs)

    def SetFillBrush(*args, **kwargs):
        """SetFillBrush(self, wxBrush brush)"""
        return _ogl.PseudoMetaFile_SetFillBrush(*args, **kwargs)

    def GetFillBrush(*args, **kwargs):
        """GetFillBrush(self) -> wxBrush"""
        return _ogl.PseudoMetaFile_GetFillBrush(*args, **kwargs)

    def SetOutlinePen(*args, **kwargs):
        """SetOutlinePen(self, wxPen pen)"""
        return _ogl.PseudoMetaFile_SetOutlinePen(*args, **kwargs)

    def GetOutlinePen(*args, **kwargs):
        """GetOutlinePen(self) -> wxPen"""
        return _ogl.PseudoMetaFile_GetOutlinePen(*args, **kwargs)

    def SetOutlineOp(*args, **kwargs):
        """SetOutlineOp(self, int op)"""
        return _ogl.PseudoMetaFile_SetOutlineOp(*args, **kwargs)

    def GetOutlineOp(*args, **kwargs):
        """GetOutlineOp(self) -> int"""
        return _ogl.PseudoMetaFile_GetOutlineOp(*args, **kwargs)

    def IsValid(*args, **kwargs):
        """IsValid(self) -> bool"""
        return _ogl.PseudoMetaFile_IsValid(*args, **kwargs)

    def DrawLine(*args, **kwargs):
        """DrawLine(self, Point pt1, Point pt2)"""
        return _ogl.PseudoMetaFile_DrawLine(*args, **kwargs)

    def DrawRectangle(*args, **kwargs):
        """DrawRectangle(self, Rect rect)"""
        return _ogl.PseudoMetaFile_DrawRectangle(*args, **kwargs)

    def DrawRoundedRectangle(*args, **kwargs):
        """DrawRoundedRectangle(self, Rect rect, double radius)"""
        return _ogl.PseudoMetaFile_DrawRoundedRectangle(*args, **kwargs)

    def DrawArc(*args, **kwargs):
        """DrawArc(self, Point centrePt, Point startPt, Point endPt)"""
        return _ogl.PseudoMetaFile_DrawArc(*args, **kwargs)

    def DrawEllipticArc(*args, **kwargs):
        """DrawEllipticArc(self, Rect rect, double startAngle, double endAngle)"""
        return _ogl.PseudoMetaFile_DrawEllipticArc(*args, **kwargs)

    def DrawEllipse(*args, **kwargs):
        """DrawEllipse(self, Rect rect)"""
        return _ogl.PseudoMetaFile_DrawEllipse(*args, **kwargs)

    def DrawPoint(*args, **kwargs):
        """DrawPoint(self, Point pt)"""
        return _ogl.PseudoMetaFile_DrawPoint(*args, **kwargs)

    def DrawText(*args, **kwargs):
        """DrawText(self, String text, Point pt)"""
        return _ogl.PseudoMetaFile_DrawText(*args, **kwargs)

    def DrawLines(*args, **kwargs):
        """DrawLines(self, int points, Point points_array)"""
        return _ogl.PseudoMetaFile_DrawLines(*args, **kwargs)

    def DrawPolygon(*args, **kwargs):
        """DrawPolygon(self, int points, Point points_array, int flags=0)"""
        return _ogl.PseudoMetaFile_DrawPolygon(*args, **kwargs)

    def DrawSpline(*args, **kwargs):
        """DrawSpline(self, int points, Point points_array)"""
        return _ogl.PseudoMetaFile_DrawSpline(*args, **kwargs)

    def SetClippingRect(*args, **kwargs):
        """SetClippingRect(self, Rect rect)"""
        return _ogl.PseudoMetaFile_SetClippingRect(*args, **kwargs)

    def DestroyClippingRect(*args, **kwargs):
        """DestroyClippingRect(self)"""
        return _ogl.PseudoMetaFile_DestroyClippingRect(*args, **kwargs)

    def SetPen(*args, **kwargs):
        """SetPen(self, wxPen pen, bool isOutline=FALSE)"""
        return _ogl.PseudoMetaFile_SetPen(*args, **kwargs)

    def SetBrush(*args, **kwargs):
        """SetBrush(self, wxBrush brush, bool isFill=FALSE)"""
        return _ogl.PseudoMetaFile_SetBrush(*args, **kwargs)

    def SetFont(*args, **kwargs):
        """SetFont(self, Font font)"""
        return _ogl.PseudoMetaFile_SetFont(*args, **kwargs)

    def SetTextColour(*args, **kwargs):
        """SetTextColour(self, Colour colour)"""
        return _ogl.PseudoMetaFile_SetTextColour(*args, **kwargs)

    def SetBackgroundColour(*args, **kwargs):
        """SetBackgroundColour(self, Colour colour)"""
        return _ogl.PseudoMetaFile_SetBackgroundColour(*args, **kwargs)

    def SetBackgroundMode(*args, **kwargs):
        """SetBackgroundMode(self, int mode)"""
        return _ogl.PseudoMetaFile_SetBackgroundMode(*args, **kwargs)


class PseudoMetaFilePtr(PseudoMetaFile):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PseudoMetaFile
_ogl.PseudoMetaFile_swigregister(PseudoMetaFilePtr)

class PyRectangleShape(PyShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyRectangleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, double width=0.0, double height=0.0) -> PyRectangleShape"""
        newobj = _ogl.new_PyRectangleShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyRectangleShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyRectangleShape__setCallbackInfo(*args, **kwargs)

    def SetCornerRadius(*args, **kwargs):
        """SetCornerRadius(self, double radius)"""
        return _ogl.PyRectangleShape_SetCornerRadius(*args, **kwargs)

    def GetCornerRadius(*args, **kwargs):
        """GetCornerRadius(self) -> double"""
        return _ogl.PyRectangleShape_GetCornerRadius(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyRectangleShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyRectangleShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyRectangleShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyRectangleShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyRectangleShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyRectangleShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyRectangleShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyRectangleShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyRectangleShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyRectangleShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyRectangleShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyRectangleShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyRectangleShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyRectangleShape_base_OnEndSize(*args, **kwargs)


class PyRectangleShapePtr(PyRectangleShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyRectangleShape
_ogl.PyRectangleShape_swigregister(PyRectangleShapePtr)

class PyControlPoint(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyControlPoint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """
        __init__(self, PyShapeCanvas the_canvas=None, PyShape object=None, 
            double size=0.0, double the_xoffset=0.0, double the_yoffset=0.0, 
            int the_type=0) -> PyControlPoint
        """
        newobj = _ogl.new_PyControlPoint(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyControlPoint)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyControlPoint__setCallbackInfo(*args, **kwargs)

    def SetCornerRadius(*args, **kwargs):
        """SetCornerRadius(self, double radius)"""
        return _ogl.PyControlPoint_SetCornerRadius(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyControlPoint_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyControlPoint_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyControlPoint_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyControlPoint_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyControlPoint_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyControlPoint_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyControlPoint_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyControlPoint_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyControlPoint_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyControlPoint_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyControlPoint_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyControlPoint_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyControlPoint_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyControlPoint_base_OnEndSize(*args, **kwargs)


class PyControlPointPtr(PyControlPoint):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyControlPoint
_ogl.PyControlPoint_swigregister(PyControlPointPtr)

class PyBitmapShape(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyBitmapShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyBitmapShape"""
        newobj = _ogl.new_PyBitmapShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyBitmapShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyBitmapShape__setCallbackInfo(*args, **kwargs)

    def GetBitmap(*args, **kwargs):
        """GetBitmap(self) -> Bitmap"""
        return _ogl.PyBitmapShape_GetBitmap(*args, **kwargs)

    def GetFilename(*args, **kwargs):
        """GetFilename(self) -> String"""
        return _ogl.PyBitmapShape_GetFilename(*args, **kwargs)

    def SetBitmap(*args, **kwargs):
        """SetBitmap(self, Bitmap bitmap)"""
        return _ogl.PyBitmapShape_SetBitmap(*args, **kwargs)

    def SetFilename(*args, **kwargs):
        """SetFilename(self, String filename)"""
        return _ogl.PyBitmapShape_SetFilename(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyBitmapShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyBitmapShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyBitmapShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyBitmapShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyBitmapShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyBitmapShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyBitmapShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyBitmapShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyBitmapShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyBitmapShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyBitmapShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyBitmapShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyBitmapShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyBitmapShape_base_OnEndSize(*args, **kwargs)


class PyBitmapShapePtr(PyBitmapShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyBitmapShape
_ogl.PyBitmapShape_swigregister(PyBitmapShapePtr)

class PyDrawnShape(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyDrawnShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyDrawnShape"""
        newobj = _ogl.new_PyDrawnShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyDrawnShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyDrawnShape__setCallbackInfo(*args, **kwargs)

    def CalculateSize(*args, **kwargs):
        """CalculateSize(self)"""
        return _ogl.PyDrawnShape_CalculateSize(*args, **kwargs)

    def DestroyClippingRect(*args, **kwargs):
        """DestroyClippingRect(self)"""
        return _ogl.PyDrawnShape_DestroyClippingRect(*args, **kwargs)

    def DrawArc(*args, **kwargs):
        """DrawArc(self, Point centrePoint, Point startPoint, Point endPoint)"""
        return _ogl.PyDrawnShape_DrawArc(*args, **kwargs)

    def DrawAtAngle(*args, **kwargs):
        """DrawAtAngle(self, int angle)"""
        return _ogl.PyDrawnShape_DrawAtAngle(*args, **kwargs)

    def DrawEllipticArc(*args, **kwargs):
        """DrawEllipticArc(self, Rect rect, double startAngle, double endAngle)"""
        return _ogl.PyDrawnShape_DrawEllipticArc(*args, **kwargs)

    def DrawLine(*args, **kwargs):
        """DrawLine(self, Point point1, Point point2)"""
        return _ogl.PyDrawnShape_DrawLine(*args, **kwargs)

    def DrawLines(*args, **kwargs):
        """DrawLines(self, int points, Point points_array)"""
        return _ogl.PyDrawnShape_DrawLines(*args, **kwargs)

    def DrawPoint(*args, **kwargs):
        """DrawPoint(self, Point point)"""
        return _ogl.PyDrawnShape_DrawPoint(*args, **kwargs)

    def DrawPolygon(*args, **kwargs):
        """DrawPolygon(self, int points, Point points_array, int flags=0)"""
        return _ogl.PyDrawnShape_DrawPolygon(*args, **kwargs)

    def DrawRectangle(*args, **kwargs):
        """DrawRectangle(self, Rect rect)"""
        return _ogl.PyDrawnShape_DrawRectangle(*args, **kwargs)

    def DrawRoundedRectangle(*args, **kwargs):
        """DrawRoundedRectangle(self, Rect rect, double radius)"""
        return _ogl.PyDrawnShape_DrawRoundedRectangle(*args, **kwargs)

    def DrawSpline(*args, **kwargs):
        """DrawSpline(self, int points, Point points_array)"""
        return _ogl.PyDrawnShape_DrawSpline(*args, **kwargs)

    def DrawText(*args, **kwargs):
        """DrawText(self, String text, Point point)"""
        return _ogl.PyDrawnShape_DrawText(*args, **kwargs)

    def GetAngle(*args, **kwargs):
        """GetAngle(self) -> int"""
        return _ogl.PyDrawnShape_GetAngle(*args, **kwargs)

    def GetMetaFile(*args, **kwargs):
        """GetMetaFile(self) -> PseudoMetaFile"""
        return _ogl.PyDrawnShape_GetMetaFile(*args, **kwargs)

    def GetRotation(*args, **kwargs):
        """GetRotation(self) -> double"""
        return _ogl.PyDrawnShape_GetRotation(*args, **kwargs)

    def LoadFromMetaFile(*args, **kwargs):
        """LoadFromMetaFile(self, String filename) -> bool"""
        return _ogl.PyDrawnShape_LoadFromMetaFile(*args, **kwargs)

    def Rotate(*args, **kwargs):
        """Rotate(self, double x, double y, double theta)"""
        return _ogl.PyDrawnShape_Rotate(*args, **kwargs)

    def SetClippingRect(*args, **kwargs):
        """SetClippingRect(self, Rect rect)"""
        return _ogl.PyDrawnShape_SetClippingRect(*args, **kwargs)

    def SetDrawnBackgroundColour(*args, **kwargs):
        """SetDrawnBackgroundColour(self, Colour colour)"""
        return _ogl.PyDrawnShape_SetDrawnBackgroundColour(*args, **kwargs)

    def SetDrawnBackgroundMode(*args, **kwargs):
        """SetDrawnBackgroundMode(self, int mode)"""
        return _ogl.PyDrawnShape_SetDrawnBackgroundMode(*args, **kwargs)

    def SetDrawnBrush(*args, **kwargs):
        """SetDrawnBrush(self, wxBrush pen, bool isOutline=FALSE)"""
        return _ogl.PyDrawnShape_SetDrawnBrush(*args, **kwargs)

    def SetDrawnFont(*args, **kwargs):
        """SetDrawnFont(self, Font font)"""
        return _ogl.PyDrawnShape_SetDrawnFont(*args, **kwargs)

    def SetDrawnPen(*args, **kwargs):
        """SetDrawnPen(self, wxPen pen, bool isOutline=FALSE)"""
        return _ogl.PyDrawnShape_SetDrawnPen(*args, **kwargs)

    def SetDrawnTextColour(*args, **kwargs):
        """SetDrawnTextColour(self, Colour colour)"""
        return _ogl.PyDrawnShape_SetDrawnTextColour(*args, **kwargs)

    def Scale(*args, **kwargs):
        """Scale(self, double sx, double sy)"""
        return _ogl.PyDrawnShape_Scale(*args, **kwargs)

    def SetSaveToFile(*args, **kwargs):
        """SetSaveToFile(self, bool save)"""
        return _ogl.PyDrawnShape_SetSaveToFile(*args, **kwargs)

    def Translate(*args, **kwargs):
        """Translate(self, double x, double y)"""
        return _ogl.PyDrawnShape_Translate(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyDrawnShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyDrawnShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyDrawnShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyDrawnShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyDrawnShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDrawnShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyDrawnShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyDrawnShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyDrawnShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDrawnShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDrawnShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDrawnShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyDrawnShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyDrawnShape_base_OnEndSize(*args, **kwargs)


class PyDrawnShapePtr(PyDrawnShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyDrawnShape
_ogl.PyDrawnShape_swigregister(PyDrawnShapePtr)

class OGLConstraint(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxOGLConstraint instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
        newobj = _ogl.new_OGLConstraint(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    def Evaluate(*args, **kwargs):
        """Evaluate(self) -> bool"""
        return _ogl.OGLConstraint_Evaluate(*args, **kwargs)

    def SetSpacing(*args, **kwargs):
        """SetSpacing(self, double x, double y)"""
        return _ogl.OGLConstraint_SetSpacing(*args, **kwargs)

    def Equals(*args, **kwargs):
        """Equals(self, double a, double b) -> bool"""
        return _ogl.OGLConstraint_Equals(*args, **kwargs)


class OGLConstraintPtr(OGLConstraint):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = OGLConstraint
_ogl.OGLConstraint_swigregister(OGLConstraintPtr)

class PyCompositeShape(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyCompositeShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyCompositeShape"""
        newobj = _ogl.new_PyCompositeShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyCompositeShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyCompositeShape__setCallbackInfo(*args, **kwargs)

    def AddChild(*args, **kwargs):
        """AddChild(self, PyShape child, PyShape addAfter=None)"""
        return _ogl.PyCompositeShape_AddChild(*args, **kwargs)

    def AddConstraint(*args, **kwargs):
        """AddConstraint(self, OGLConstraint constraint) -> OGLConstraint"""
        return _ogl.PyCompositeShape_AddConstraint(*args, **kwargs)

    def AddConstrainedShapes(*args, **kwargs):
        """AddConstrainedShapes(self, int type, PyShape constraining, PyObject constrained) -> OGLConstraint"""
        return _ogl.PyCompositeShape_AddConstrainedShapes(*args, **kwargs)

    def AddSimpleConstraint(*args, **kwargs):
        """AddSimpleConstraint(self, int type, PyShape constraining, PyShape constrained) -> OGLConstraint"""
        return _ogl.PyCompositeShape_AddSimpleConstraint(*args, **kwargs)

    def CalculateSize(*args, **kwargs):
        """CalculateSize(self)"""
        return _ogl.PyCompositeShape_CalculateSize(*args, **kwargs)

    def ContainsDivision(*args, **kwargs):
        """ContainsDivision(self, PyDivisionShape division) -> bool"""
        return _ogl.PyCompositeShape_ContainsDivision(*args, **kwargs)

    def DeleteConstraint(*args, **kwargs):
        """DeleteConstraint(self, OGLConstraint constraint)"""
        return _ogl.PyCompositeShape_DeleteConstraint(*args, **kwargs)

    def DeleteConstraintsInvolvingChild(*args, **kwargs):
        """DeleteConstraintsInvolvingChild(self, PyShape child)"""
        return _ogl.PyCompositeShape_DeleteConstraintsInvolvingChild(*args, **kwargs)

    def FindContainerImage(*args, **kwargs):
        """FindContainerImage(self) -> PyShape"""
        return _ogl.PyCompositeShape_FindContainerImage(*args, **kwargs)

    def GetConstraints(*args, **kwargs):
        """GetConstraints(self) -> PyObject"""
        return _ogl.PyCompositeShape_GetConstraints(*args, **kwargs)

    def GetDivisions(*args, **kwargs):
        """GetDivisions(self) -> PyObject"""
        return _ogl.PyCompositeShape_GetDivisions(*args, **kwargs)

    def MakeContainer(*args, **kwargs):
        """MakeContainer(self)"""
        return _ogl.PyCompositeShape_MakeContainer(*args, **kwargs)

    def Recompute(*args, **kwargs):
        """Recompute(self) -> bool"""
        return _ogl.PyCompositeShape_Recompute(*args, **kwargs)

    def RemoveChild(*args, **kwargs):
        """RemoveChild(self, PyShape child)"""
        return _ogl.PyCompositeShape_RemoveChild(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyCompositeShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyCompositeShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyCompositeShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyCompositeShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyCompositeShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCompositeShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyCompositeShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyCompositeShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyCompositeShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCompositeShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCompositeShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCompositeShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyCompositeShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyCompositeShape_base_OnEndSize(*args, **kwargs)


class PyCompositeShapePtr(PyCompositeShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyCompositeShape
_ogl.PyCompositeShape_swigregister(PyCompositeShapePtr)

class PyDividedShape(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyDividedShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, double width=0.0, double height=0.0) -> PyDividedShape"""
        newobj = _ogl.new_PyDividedShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyDividedShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyDividedShape__setCallbackInfo(*args, **kwargs)

    def EditRegions(*args, **kwargs):
        """EditRegions(self)"""
        return _ogl.PyDividedShape_EditRegions(*args, **kwargs)

    def SetRegionSizes(*args, **kwargs):
        """SetRegionSizes(self)"""
        return _ogl.PyDividedShape_SetRegionSizes(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyDividedShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyDividedShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyDividedShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyDividedShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyDividedShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDividedShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyDividedShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyDividedShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyDividedShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDividedShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDividedShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDividedShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyDividedShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyDividedShape_base_OnEndSize(*args, **kwargs)


class PyDividedShapePtr(PyDividedShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyDividedShape
_ogl.PyDividedShape_swigregister(PyDividedShapePtr)

class PyDivisionShape(PyCompositeShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyDivisionShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyDivisionShape"""
        newobj = _ogl.new_PyDivisionShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyDivisionShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyDivisionShape__setCallbackInfo(*args, **kwargs)

    def AdjustBottom(*args, **kwargs):
        """AdjustBottom(self, double bottom, bool test)"""
        return _ogl.PyDivisionShape_AdjustBottom(*args, **kwargs)

    def AdjustLeft(*args, **kwargs):
        """AdjustLeft(self, double left, bool test)"""
        return _ogl.PyDivisionShape_AdjustLeft(*args, **kwargs)

    def AdjustRight(*args, **kwargs):
        """AdjustRight(self, double right, bool test)"""
        return _ogl.PyDivisionShape_AdjustRight(*args, **kwargs)

    def AdjustTop(*args, **kwargs):
        """AdjustTop(self, double top, bool test)"""
        return _ogl.PyDivisionShape_AdjustTop(*args, **kwargs)

    def Divide(*args, **kwargs):
        """Divide(self, int direction)"""
        return _ogl.PyDivisionShape_Divide(*args, **kwargs)

    def EditEdge(*args, **kwargs):
        """EditEdge(self, int side)"""
        return _ogl.PyDivisionShape_EditEdge(*args, **kwargs)

    def GetBottomSide(*args, **kwargs):
        """GetBottomSide(self) -> PyDivisionShape"""
        return _ogl.PyDivisionShape_GetBottomSide(*args, **kwargs)

    def GetHandleSide(*args, **kwargs):
        """GetHandleSide(self) -> int"""
        return _ogl.PyDivisionShape_GetHandleSide(*args, **kwargs)

    def GetLeftSide(*args, **kwargs):
        """GetLeftSide(self) -> PyDivisionShape"""
        return _ogl.PyDivisionShape_GetLeftSide(*args, **kwargs)

    def GetLeftSideColour(*args, **kwargs):
        """GetLeftSideColour(self) -> String"""
        return _ogl.PyDivisionShape_GetLeftSideColour(*args, **kwargs)

    def GetLeftSidePen(*args, **kwargs):
        """GetLeftSidePen(self) -> wxPen"""
        return _ogl.PyDivisionShape_GetLeftSidePen(*args, **kwargs)

    def GetRightSide(*args, **kwargs):
        """GetRightSide(self) -> PyDivisionShape"""
        return _ogl.PyDivisionShape_GetRightSide(*args, **kwargs)

    def GetTopSide(*args, **kwargs):
        """GetTopSide(self) -> PyDivisionShape"""
        return _ogl.PyDivisionShape_GetTopSide(*args, **kwargs)

    def GetTopSidePen(*args, **kwargs):
        """GetTopSidePen(self) -> wxPen"""
        return _ogl.PyDivisionShape_GetTopSidePen(*args, **kwargs)

    def ResizeAdjoining(*args, **kwargs):
        """ResizeAdjoining(self, int side, double newPos, bool test)"""
        return _ogl.PyDivisionShape_ResizeAdjoining(*args, **kwargs)

    def PopupMenu(*args, **kwargs):
        """PopupMenu(self, double x, double y)"""
        return _ogl.PyDivisionShape_PopupMenu(*args, **kwargs)

    def SetBottomSide(*args, **kwargs):
        """SetBottomSide(self, PyDivisionShape shape)"""
        return _ogl.PyDivisionShape_SetBottomSide(*args, **kwargs)

    def SetHandleSide(*args, **kwargs):
        """SetHandleSide(self, int side)"""
        return _ogl.PyDivisionShape_SetHandleSide(*args, **kwargs)

    def SetLeftSide(*args, **kwargs):
        """SetLeftSide(self, PyDivisionShape shape)"""
        return _ogl.PyDivisionShape_SetLeftSide(*args, **kwargs)

    def SetLeftSideColour(*args, **kwargs):
        """SetLeftSideColour(self, String colour)"""
        return _ogl.PyDivisionShape_SetLeftSideColour(*args, **kwargs)

    def SetLeftSidePen(*args, **kwargs):
        """SetLeftSidePen(self, wxPen pen)"""
        return _ogl.PyDivisionShape_SetLeftSidePen(*args, **kwargs)

    def SetRightSide(*args, **kwargs):
        """SetRightSide(self, PyDivisionShape shape)"""
        return _ogl.PyDivisionShape_SetRightSide(*args, **kwargs)

    def SetTopSide(*args, **kwargs):
        """SetTopSide(self, PyDivisionShape shape)"""
        return _ogl.PyDivisionShape_SetTopSide(*args, **kwargs)

    def SetTopSideColour(*args, **kwargs):
        """SetTopSideColour(self, String colour)"""
        return _ogl.PyDivisionShape_SetTopSideColour(*args, **kwargs)

    def SetTopSidePen(*args, **kwargs):
        """SetTopSidePen(self, wxPen pen)"""
        return _ogl.PyDivisionShape_SetTopSidePen(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyDivisionShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyDivisionShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyDivisionShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyDivisionShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyDivisionShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyDivisionShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyDivisionShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyDivisionShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyDivisionShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDivisionShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDivisionShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyDivisionShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyDivisionShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyDivisionShape_base_OnEndSize(*args, **kwargs)


class PyDivisionShapePtr(PyDivisionShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyDivisionShape
_ogl.PyDivisionShape_swigregister(PyDivisionShapePtr)

class PyEllipseShape(PyShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyEllipseShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, double width=0.0, double height=0.0) -> PyEllipseShape"""
        newobj = _ogl.new_PyEllipseShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyEllipseShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyEllipseShape__setCallbackInfo(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyEllipseShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyEllipseShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyEllipseShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyEllipseShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyEllipseShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyEllipseShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyEllipseShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyEllipseShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyEllipseShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyEllipseShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyEllipseShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyEllipseShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyEllipseShape_base_OnEndSize(*args, **kwargs)


class PyEllipseShapePtr(PyEllipseShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyEllipseShape
_ogl.PyEllipseShape_swigregister(PyEllipseShapePtr)

class PyCircleShape(PyEllipseShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyCircleShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, double width=0.0) -> PyCircleShape"""
        newobj = _ogl.new_PyCircleShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyCircleShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyCircleShape__setCallbackInfo(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyCircleShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyCircleShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyCircleShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyCircleShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyCircleShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyCircleShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyCircleShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyCircleShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCircleShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCircleShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyCircleShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyCircleShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyCircleShape_base_OnEndSize(*args, **kwargs)


class PyCircleShapePtr(PyCircleShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyCircleShape
_ogl.PyCircleShape_swigregister(PyCircleShapePtr)

class ArrowHead(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxArrowHead instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """
        __init__(self, int type=0, int end=0, double size=0.0, double dist=0.0, 
            String name=EmptyString, PseudoMetaFile mf=None, 
            long arrowId=-1) -> ArrowHead
        """
        newobj = _ogl.new_ArrowHead(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    def __del__(self, destroy=_ogl.delete_ArrowHead):
        """__del__(self)"""
        try:
            if self.thisown: destroy(self)
        except: pass

    def _GetType(*args, **kwargs):
        """_GetType(self) -> int"""
        return _ogl.ArrowHead__GetType(*args, **kwargs)

    def GetPosition(*args, **kwargs):
        """GetPosition(self) -> int"""
        return _ogl.ArrowHead_GetPosition(*args, **kwargs)

    def SetPosition(*args, **kwargs):
        """SetPosition(self, int pos)"""
        return _ogl.ArrowHead_SetPosition(*args, **kwargs)

    def GetXOffset(*args, **kwargs):
        """GetXOffset(self) -> double"""
        return _ogl.ArrowHead_GetXOffset(*args, **kwargs)

    def GetYOffset(*args, **kwargs):
        """GetYOffset(self) -> double"""
        return _ogl.ArrowHead_GetYOffset(*args, **kwargs)

    def GetSpacing(*args, **kwargs):
        """GetSpacing(self) -> double"""
        return _ogl.ArrowHead_GetSpacing(*args, **kwargs)

    def GetSize(*args, **kwargs):
        """GetSize(self) -> double"""
        return _ogl.ArrowHead_GetSize(*args, **kwargs)

    def GetName(*args, **kwargs):
        """GetName(self) -> String"""
        return _ogl.ArrowHead_GetName(*args, **kwargs)

    def SetXOffset(*args, **kwargs):
        """SetXOffset(self, double x)"""
        return _ogl.ArrowHead_SetXOffset(*args, **kwargs)

    def SetYOffset(*args, **kwargs):
        """SetYOffset(self, double y)"""
        return _ogl.ArrowHead_SetYOffset(*args, **kwargs)

    def GetMetaFile(*args, **kwargs):
        """GetMetaFile(self) -> PseudoMetaFile"""
        return _ogl.ArrowHead_GetMetaFile(*args, **kwargs)

    def GetId(*args, **kwargs):
        """GetId(self) -> long"""
        return _ogl.ArrowHead_GetId(*args, **kwargs)

    def GetArrowEnd(*args, **kwargs):
        """GetArrowEnd(self) -> int"""
        return _ogl.ArrowHead_GetArrowEnd(*args, **kwargs)

    def GetArrowSize(*args, **kwargs):
        """GetArrowSize(self) -> double"""
        return _ogl.ArrowHead_GetArrowSize(*args, **kwargs)

    def SetSize(*args, **kwargs):
        """SetSize(self, double size)"""
        return _ogl.ArrowHead_SetSize(*args, **kwargs)

    def SetSpacing(*args, **kwargs):
        """SetSpacing(self, double sp)"""
        return _ogl.ArrowHead_SetSpacing(*args, **kwargs)


class ArrowHeadPtr(ArrowHead):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = ArrowHead
_ogl.ArrowHead_swigregister(ArrowHeadPtr)

class PyLineShape(PyShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyLineShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyLineShape"""
        newobj = _ogl.new_PyLineShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyLineShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyLineShape__setCallbackInfo(*args, **kwargs)

    def AddArrow(*args, **kwargs):
        """
        AddArrow(self, int type, int end=ARROW_POSITION_END, double arrowSize=10.0, 
            double xOffset=0.0, String name=EmptyString, 
            PseudoMetaFile mf=None, long arrowId=-1)
        """
        return _ogl.PyLineShape_AddArrow(*args, **kwargs)

    def AddArrowOrdered(*args, **kwargs):
        """AddArrowOrdered(self, ArrowHead arrow, PyObject referenceList, int end)"""
        return _ogl.PyLineShape_AddArrowOrdered(*args, **kwargs)

    def ClearArrow(*args, **kwargs):
        """ClearArrow(self, String name) -> bool"""
        return _ogl.PyLineShape_ClearArrow(*args, **kwargs)

    def ClearArrowsAtPosition(*args, **kwargs):
        """ClearArrowsAtPosition(self, int position=-1)"""
        return _ogl.PyLineShape_ClearArrowsAtPosition(*args, **kwargs)

    def DrawArrow(*args, **kwargs):
        """DrawArrow(self, DC dc, ArrowHead arrow, double xOffset, bool proportionalOffset)"""
        return _ogl.PyLineShape_DrawArrow(*args, **kwargs)

    def DeleteArrowHeadId(*args, **kwargs):
        """DeleteArrowHeadId(self, long arrowId) -> bool"""
        return _ogl.PyLineShape_DeleteArrowHeadId(*args, **kwargs)

    def DeleteArrowHead(*args, **kwargs):
        """DeleteArrowHead(self, int position, String name) -> bool"""
        return _ogl.PyLineShape_DeleteArrowHead(*args, **kwargs)

    def DeleteLineControlPoint(*args, **kwargs):
        """DeleteLineControlPoint(self) -> bool"""
        return _ogl.PyLineShape_DeleteLineControlPoint(*args, **kwargs)

    def DrawArrows(*args, **kwargs):
        """DrawArrows(self, DC dc)"""
        return _ogl.PyLineShape_DrawArrows(*args, **kwargs)

    def DrawRegion(*args, **kwargs):
        """DrawRegion(self, DC dc, ShapeRegion region, double x, double y)"""
        return _ogl.PyLineShape_DrawRegion(*args, **kwargs)

    def EraseRegion(*args, **kwargs):
        """EraseRegion(self, DC dc, ShapeRegion region, double x, double y)"""
        return _ogl.PyLineShape_EraseRegion(*args, **kwargs)

    def FindArrowHeadId(*args, **kwargs):
        """FindArrowHeadId(self, long arrowId) -> ArrowHead"""
        return _ogl.PyLineShape_FindArrowHeadId(*args, **kwargs)

    def FindArrowHead(*args, **kwargs):
        """FindArrowHead(self, int position, String name) -> ArrowHead"""
        return _ogl.PyLineShape_FindArrowHead(*args, **kwargs)

    def FindLineEndPoints(*args, **kwargs):
        """FindLineEndPoints(self, double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
        return _ogl.PyLineShape_FindLineEndPoints(*args, **kwargs)

    def FindLinePosition(*args, **kwargs):
        """FindLinePosition(self, double x, double y) -> int"""
        return _ogl.PyLineShape_FindLinePosition(*args, **kwargs)

    def FindMinimumWidth(*args, **kwargs):
        """FindMinimumWidth(self) -> double"""
        return _ogl.PyLineShape_FindMinimumWidth(*args, **kwargs)

    def FindNth(*args, **kwargs):
        """FindNth(self, PyShape image, int OUTPUT, int OUTPUT, bool incoming)"""
        return _ogl.PyLineShape_FindNth(*args, **kwargs)

    def GetAttachmentFrom(*args, **kwargs):
        """GetAttachmentFrom(self) -> int"""
        return _ogl.PyLineShape_GetAttachmentFrom(*args, **kwargs)

    def GetAttachmentTo(*args, **kwargs):
        """GetAttachmentTo(self) -> int"""
        return _ogl.PyLineShape_GetAttachmentTo(*args, **kwargs)

    def GetEnds(*args, **kwargs):
        """GetEnds(self, double OUTPUT, double OUTPUT, double OUTPUT, double OUTPUT)"""
        return _ogl.PyLineShape_GetEnds(*args, **kwargs)

    def GetFrom(*args, **kwargs):
        """GetFrom(self) -> PyShape"""
        return _ogl.PyLineShape_GetFrom(*args, **kwargs)

    def GetLabelPosition(*args, **kwargs):
        """GetLabelPosition(self, int position, double OUTPUT, double OUTPUT)"""
        return _ogl.PyLineShape_GetLabelPosition(*args, **kwargs)

    def GetNextControlPoint(*args, **kwargs):
        """GetNextControlPoint(self, PyShape shape) -> RealPoint"""
        return _ogl.PyLineShape_GetNextControlPoint(*args, **kwargs)

    def GetTo(*args, **kwargs):
        """GetTo(self) -> PyShape"""
        return _ogl.PyLineShape_GetTo(*args, **kwargs)

    def Initialise(*args, **kwargs):
        """Initialise(self)"""
        return _ogl.PyLineShape_Initialise(*args, **kwargs)

    def InsertLineControlPoint(*args, **kwargs):
        """InsertLineControlPoint(self, DC dc)"""
        return _ogl.PyLineShape_InsertLineControlPoint(*args, **kwargs)

    def IsEnd(*args, **kwargs):
        """IsEnd(self, PyShape shape) -> bool"""
        return _ogl.PyLineShape_IsEnd(*args, **kwargs)

    def IsSpline(*args, **kwargs):
        """IsSpline(self) -> bool"""
        return _ogl.PyLineShape_IsSpline(*args, **kwargs)

    def MakeLineControlPoints(*args, **kwargs):
        """MakeLineControlPoints(self, int n)"""
        return _ogl.PyLineShape_MakeLineControlPoints(*args, **kwargs)

    def GetLineControlPoints(*args, **kwargs):
        """GetLineControlPoints(self) -> PyObject"""
        return _ogl.PyLineShape_GetLineControlPoints(*args, **kwargs)

    def SetLineControlPoints(*args, **kwargs):
        """SetLineControlPoints(self, PyObject list)"""
        return _ogl.PyLineShape_SetLineControlPoints(*args, **kwargs)

    def SetAttachmentFrom(*args, **kwargs):
        """SetAttachmentFrom(self, int fromAttach)"""
        return _ogl.PyLineShape_SetAttachmentFrom(*args, **kwargs)

    def SetAttachments(*args, **kwargs):
        """SetAttachments(self, int fromAttach, int toAttach)"""
        return _ogl.PyLineShape_SetAttachments(*args, **kwargs)

    def SetAttachmentTo(*args, **kwargs):
        """SetAttachmentTo(self, int toAttach)"""
        return _ogl.PyLineShape_SetAttachmentTo(*args, **kwargs)

    def SetEnds(*args, **kwargs):
        """SetEnds(self, double x1, double y1, double x2, double y2)"""
        return _ogl.PyLineShape_SetEnds(*args, **kwargs)

    def SetFrom(*args, **kwargs):
        """SetFrom(self, PyShape object)"""
        return _ogl.PyLineShape_SetFrom(*args, **kwargs)

    def SetIgnoreOffsets(*args, **kwargs):
        """SetIgnoreOffsets(self, bool ignore)"""
        return _ogl.PyLineShape_SetIgnoreOffsets(*args, **kwargs)

    def SetSpline(*args, **kwargs):
        """SetSpline(self, bool spline)"""
        return _ogl.PyLineShape_SetSpline(*args, **kwargs)

    def SetTo(*args, **kwargs):
        """SetTo(self, PyShape object)"""
        return _ogl.PyLineShape_SetTo(*args, **kwargs)

    def Straighten(*args, **kwargs):
        """Straighten(self, DC dc=None)"""
        return _ogl.PyLineShape_Straighten(*args, **kwargs)

    def Unlink(*args, **kwargs):
        """Unlink(self)"""
        return _ogl.PyLineShape_Unlink(*args, **kwargs)

    def SetAlignmentOrientation(*args, **kwargs):
        """SetAlignmentOrientation(self, bool isEnd, bool isHoriz)"""
        return _ogl.PyLineShape_SetAlignmentOrientation(*args, **kwargs)

    def SetAlignmentType(*args, **kwargs):
        """SetAlignmentType(self, bool isEnd, int alignType)"""
        return _ogl.PyLineShape_SetAlignmentType(*args, **kwargs)

    def GetAlignmentOrientation(*args, **kwargs):
        """GetAlignmentOrientation(self, bool isEnd) -> bool"""
        return _ogl.PyLineShape_GetAlignmentOrientation(*args, **kwargs)

    def GetAlignmentType(*args, **kwargs):
        """GetAlignmentType(self, bool isEnd) -> int"""
        return _ogl.PyLineShape_GetAlignmentType(*args, **kwargs)

    def GetAlignmentStart(*args, **kwargs):
        """GetAlignmentStart(self) -> int"""
        return _ogl.PyLineShape_GetAlignmentStart(*args, **kwargs)

    def GetAlignmentEnd(*args, **kwargs):
        """GetAlignmentEnd(self) -> int"""
        return _ogl.PyLineShape_GetAlignmentEnd(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyLineShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyLineShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyLineShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyLineShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyLineShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyLineShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyLineShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyLineShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyLineShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyLineShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyLineShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyLineShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyLineShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyLineShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyLineShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyLineShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyLineShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyLineShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyLineShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyLineShape_base_OnEndSize(*args, **kwargs)


class PyLineShapePtr(PyLineShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyLineShape
_ogl.PyLineShape_swigregister(PyLineShapePtr)

class PyPolygonShape(PyShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyPolygonShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> PyPolygonShape"""
        newobj = _ogl.new_PyPolygonShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyPolygonShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyPolygonShape__setCallbackInfo(*args, **kwargs)

    def Create(*args, **kwargs):
        """Create(self, PyObject points) -> PyObject"""
        return _ogl.PyPolygonShape_Create(*args, **kwargs)

    def AddPolygonPoint(*args, **kwargs):
        """AddPolygonPoint(self, int pos=0)"""
        return _ogl.PyPolygonShape_AddPolygonPoint(*args, **kwargs)

    def CalculatePolygonCentre(*args, **kwargs):
        """CalculatePolygonCentre(self)"""
        return _ogl.PyPolygonShape_CalculatePolygonCentre(*args, **kwargs)

    def DeletePolygonPoint(*args, **kwargs):
        """DeletePolygonPoint(self, int pos=0)"""
        return _ogl.PyPolygonShape_DeletePolygonPoint(*args, **kwargs)

    def GetPoints(*args, **kwargs):
        """GetPoints(self) -> PyObject"""
        return _ogl.PyPolygonShape_GetPoints(*args, **kwargs)

    def GetOriginalPoints(*args, **kwargs):
        """GetOriginalPoints(self) -> PyObject"""
        return _ogl.PyPolygonShape_GetOriginalPoints(*args, **kwargs)

    def GetOriginalWidth(*args, **kwargs):
        """GetOriginalWidth(self) -> double"""
        return _ogl.PyPolygonShape_GetOriginalWidth(*args, **kwargs)

    def GetOriginalHeight(*args, **kwargs):
        """GetOriginalHeight(self) -> double"""
        return _ogl.PyPolygonShape_GetOriginalHeight(*args, **kwargs)

    def SetOriginalWidth(*args, **kwargs):
        """SetOriginalWidth(self, double w)"""
        return _ogl.PyPolygonShape_SetOriginalWidth(*args, **kwargs)

    def SetOriginalHeight(*args, **kwargs):
        """SetOriginalHeight(self, double h)"""
        return _ogl.PyPolygonShape_SetOriginalHeight(*args, **kwargs)

    def UpdateOriginalPoints(*args, **kwargs):
        """UpdateOriginalPoints(self)"""
        return _ogl.PyPolygonShape_UpdateOriginalPoints(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyPolygonShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyPolygonShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyPolygonShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyPolygonShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyPolygonShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyPolygonShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyPolygonShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyPolygonShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyPolygonShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyPolygonShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyPolygonShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyPolygonShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyPolygonShape_base_OnEndSize(*args, **kwargs)


class PyPolygonShapePtr(PyPolygonShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyPolygonShape
_ogl.PyPolygonShape_swigregister(PyPolygonShapePtr)

class PyTextShape(PyRectangleShape):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyTextShape instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self, double width=0.0, double height=0.0) -> PyTextShape"""
        newobj = _ogl.new_PyTextShape(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyTextShape)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyTextShape__setCallbackInfo(*args, **kwargs)

    def base_OnDelete(*args, **kwargs):
        """base_OnDelete(self)"""
        return _ogl.PyTextShape_base_OnDelete(*args, **kwargs)

    def base_OnDraw(*args, **kwargs):
        """base_OnDraw(self, DC dc)"""
        return _ogl.PyTextShape_base_OnDraw(*args, **kwargs)

    def base_OnDrawContents(*args, **kwargs):
        """base_OnDrawContents(self, DC dc)"""
        return _ogl.PyTextShape_base_OnDrawContents(*args, **kwargs)

    def base_OnDrawBranches(*args, **kwargs):
        """base_OnDrawBranches(self, DC dc, bool erase=FALSE)"""
        return _ogl.PyTextShape_base_OnDrawBranches(*args, **kwargs)

    def base_OnMoveLinks(*args, **kwargs):
        """base_OnMoveLinks(self, DC dc)"""
        return _ogl.PyTextShape_base_OnMoveLinks(*args, **kwargs)

    def base_OnErase(*args, **kwargs):
        """base_OnErase(self, DC dc)"""
        return _ogl.PyTextShape_base_OnErase(*args, **kwargs)

    def base_OnEraseContents(*args, **kwargs):
        """base_OnEraseContents(self, DC dc)"""
        return _ogl.PyTextShape_base_OnEraseContents(*args, **kwargs)

    def base_OnHighlight(*args, **kwargs):
        """base_OnHighlight(self, DC dc)"""
        return _ogl.PyTextShape_base_OnHighlight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnLeftClick(*args, **kwargs)

    def base_OnLeftDoubleClick(*args, **kwargs):
        """base_OnLeftDoubleClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnLeftDoubleClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnRightClick(*args, **kwargs)

    def base_OnSize(*args, **kwargs):
        """base_OnSize(self, double x, double y)"""
        return _ogl.PyTextShape_base_OnSize(*args, **kwargs)

    def base_OnMovePre(*args, **kwargs):
        """
        base_OnMovePre(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True) -> bool
        """
        return _ogl.PyTextShape_base_OnMovePre(*args, **kwargs)

    def base_OnMovePost(*args, **kwargs):
        """
        base_OnMovePost(self, DC dc, double x, double y, double old_x, double old_y, 
            bool display=True)
        """
        return _ogl.PyTextShape_base_OnMovePost(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnDragLeft(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnEndDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnDragRight(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0, int attachment=0)"""
        return _ogl.PyTextShape_base_OnEndDragRight(*args, **kwargs)

    def base_OnDrawOutline(*args, **kwargs):
        """base_OnDrawOutline(self, DC dc, double x, double y, double w, double h)"""
        return _ogl.PyTextShape_base_OnDrawOutline(*args, **kwargs)

    def base_OnDrawControlPoints(*args, **kwargs):
        """base_OnDrawControlPoints(self, DC dc)"""
        return _ogl.PyTextShape_base_OnDrawControlPoints(*args, **kwargs)

    def base_OnEraseControlPoints(*args, **kwargs):
        """base_OnEraseControlPoints(self, DC dc)"""
        return _ogl.PyTextShape_base_OnEraseControlPoints(*args, **kwargs)

    def base_OnMoveLink(*args, **kwargs):
        """base_OnMoveLink(self, DC dc, bool moveControlPoints=True)"""
        return _ogl.PyTextShape_base_OnMoveLink(*args, **kwargs)

    def base_OnSizingDragLeft(*args, **kwargs):
        """
        base_OnSizingDragLeft(self, PyControlPoint pt, bool draw, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyTextShape_base_OnSizingDragLeft(*args, **kwargs)

    def base_OnSizingBeginDragLeft(*args, **kwargs):
        """
        base_OnSizingBeginDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyTextShape_base_OnSizingBeginDragLeft(*args, **kwargs)

    def base_OnSizingEndDragLeft(*args, **kwargs):
        """
        base_OnSizingEndDragLeft(self, PyControlPoint pt, double x, double y, int keys=0, 
            int attachment=0)
        """
        return _ogl.PyTextShape_base_OnSizingEndDragLeft(*args, **kwargs)

    def base_OnBeginSize(*args, **kwargs):
        """base_OnBeginSize(self, double w, double h)"""
        return _ogl.PyTextShape_base_OnBeginSize(*args, **kwargs)

    def base_OnEndSize(*args, **kwargs):
        """base_OnEndSize(self, double w, double h)"""
        return _ogl.PyTextShape_base_OnEndSize(*args, **kwargs)


class PyTextShapePtr(PyTextShape):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyTextShape
_ogl.PyTextShape_swigregister(PyTextShapePtr)

class Diagram(_core.Object):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxDiagram instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """__init__(self) -> Diagram"""
        newobj = _ogl.new_Diagram(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
    def AddShape(*args, **kwargs):
        """AddShape(self, PyShape shape, PyShape addAfter=None)"""
        return _ogl.Diagram_AddShape(*args, **kwargs)

    def Clear(*args, **kwargs):
        """Clear(self, DC dc)"""
        return _ogl.Diagram_Clear(*args, **kwargs)

    def DeleteAllShapes(*args, **kwargs):
        """DeleteAllShapes(self)"""
        return _ogl.Diagram_DeleteAllShapes(*args, **kwargs)

    def DrawOutline(*args, **kwargs):
        """DrawOutline(self, DC dc, double x1, double y1, double x2, double y2)"""
        return _ogl.Diagram_DrawOutline(*args, **kwargs)

    def FindShape(*args, **kwargs):
        """FindShape(self, long id) -> PyShape"""
        return _ogl.Diagram_FindShape(*args, **kwargs)

    def GetCanvas(*args, **kwargs):
        """GetCanvas(self) -> PyShapeCanvas"""
        return _ogl.Diagram_GetCanvas(*args, **kwargs)

    def GetCount(*args, **kwargs):
        """GetCount(self) -> int"""
        return _ogl.Diagram_GetCount(*args, **kwargs)

    def GetGridSpacing(*args, **kwargs):
        """GetGridSpacing(self) -> double"""
        return _ogl.Diagram_GetGridSpacing(*args, **kwargs)

    def GetMouseTolerance(*args, **kwargs):
        """GetMouseTolerance(self) -> int"""
        return _ogl.Diagram_GetMouseTolerance(*args, **kwargs)

    def GetShapeList(*args, **kwargs):
        """GetShapeList(self) -> PyObject"""
        return _ogl.Diagram_GetShapeList(*args, **kwargs)

    def GetQuickEditMode(*args, **kwargs):
        """GetQuickEditMode(self) -> bool"""
        return _ogl.Diagram_GetQuickEditMode(*args, **kwargs)

    def GetSnapToGrid(*args, **kwargs):
        """GetSnapToGrid(self) -> bool"""
        return _ogl.Diagram_GetSnapToGrid(*args, **kwargs)

    def InsertShape(*args, **kwargs):
        """InsertShape(self, PyShape shape)"""
        return _ogl.Diagram_InsertShape(*args, **kwargs)

    def RecentreAll(*args, **kwargs):
        """RecentreAll(self, DC dc)"""
        return _ogl.Diagram_RecentreAll(*args, **kwargs)

    def Redraw(*args, **kwargs):
        """Redraw(self, DC dc)"""
        return _ogl.Diagram_Redraw(*args, **kwargs)

    def RemoveAllShapes(*args, **kwargs):
        """RemoveAllShapes(self)"""
        return _ogl.Diagram_RemoveAllShapes(*args, **kwargs)

    def RemoveShape(*args, **kwargs):
        """RemoveShape(self, PyShape shape)"""
        return _ogl.Diagram_RemoveShape(*args, **kwargs)

    def SetCanvas(*args, **kwargs):
        """SetCanvas(self, PyShapeCanvas canvas)"""
        return _ogl.Diagram_SetCanvas(*args, **kwargs)

    def SetGridSpacing(*args, **kwargs):
        """SetGridSpacing(self, double spacing)"""
        return _ogl.Diagram_SetGridSpacing(*args, **kwargs)

    def SetMouseTolerance(*args, **kwargs):
        """SetMouseTolerance(self, int tolerance)"""
        return _ogl.Diagram_SetMouseTolerance(*args, **kwargs)

    def SetQuickEditMode(*args, **kwargs):
        """SetQuickEditMode(self, bool mode)"""
        return _ogl.Diagram_SetQuickEditMode(*args, **kwargs)

    def SetSnapToGrid(*args, **kwargs):
        """SetSnapToGrid(self, bool snap)"""
        return _ogl.Diagram_SetSnapToGrid(*args, **kwargs)

    def ShowAll(*args, **kwargs):
        """ShowAll(self, bool show)"""
        return _ogl.Diagram_ShowAll(*args, **kwargs)

    def Snap(*args, **kwargs):
        """Snap(self, double INOUT, double INOUT)"""
        return _ogl.Diagram_Snap(*args, **kwargs)


class DiagramPtr(Diagram):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = Diagram
_ogl.Diagram_swigregister(DiagramPtr)

class PyShapeCanvas(_windows.ScrolledWindow):
    def __repr__(self):
        return "<%s.%s; proxy of C++ wxPyShapeCanvas instance at %s>" % (self.__class__.__module__, self.__class__.__name__, self.this,)
    def __init__(self, *args, **kwargs):
        """
        __init__(self, Window parent=None, int id=-1, Point pos=DefaultPosition, 
            Size size=DefaultSize, long style=BORDER, 
            String name=wxPyShapeCanvasNameStr) -> PyShapeCanvas
        """
        newobj = _ogl.new_PyShapeCanvas(*args, **kwargs)
        self.this = newobj.this
        self.thisown = 1
        del newobj.thisown
        self._setOORandCallbackInfo(PyShapeCanvas)

    def _setCallbackInfo(*args, **kwargs):
        """_setCallbackInfo(self, PyObject self, PyObject _class)"""
        return _ogl.PyShapeCanvas__setCallbackInfo(*args, **kwargs)

    def _setOORandCallbackInfo(self, _class):
        self._setOORInfo(self)
        self._setCallbackInfo(self, _class)

    def AddShape(*args, **kwargs):
        """AddShape(self, PyShape shape, PyShape addAfter=None)"""
        return _ogl.PyShapeCanvas_AddShape(*args, **kwargs)

    def FindShape(*args, **kwargs):
        """
        FindShape(self, double x1, double y, int OUTPUT, wxClassInfo info=None, 
            PyShape notImage=None) -> PyShape
        """
        return _ogl.PyShapeCanvas_FindShape(*args, **kwargs)

    def FindFirstSensitiveShape(*args, **kwargs):
        """FindFirstSensitiveShape(self, double x1, double y, int OUTPUT, int op) -> PyShape"""
        return _ogl.PyShapeCanvas_FindFirstSensitiveShape(*args, **kwargs)

    def GetDiagram(*args, **kwargs):
        """GetDiagram(self) -> Diagram"""
        return _ogl.PyShapeCanvas_GetDiagram(*args, **kwargs)

    def GetQuickEditMode(*args, **kwargs):
        """GetQuickEditMode(self) -> bool"""
        return _ogl.PyShapeCanvas_GetQuickEditMode(*args, **kwargs)

    def InsertShape(*args, **kwargs):
        """InsertShape(self, PyShape shape)"""
        return _ogl.PyShapeCanvas_InsertShape(*args, **kwargs)

    def base_OnBeginDragLeft(*args, **kwargs):
        """base_OnBeginDragLeft(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnBeginDragLeft(*args, **kwargs)

    def base_OnBeginDragRight(*args, **kwargs):
        """base_OnBeginDragRight(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnBeginDragRight(*args, **kwargs)

    def base_OnEndDragLeft(*args, **kwargs):
        """base_OnEndDragLeft(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnEndDragLeft(*args, **kwargs)

    def base_OnEndDragRight(*args, **kwargs):
        """base_OnEndDragRight(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnEndDragRight(*args, **kwargs)

    def base_OnDragLeft(*args, **kwargs):
        """base_OnDragLeft(self, bool draw, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnDragLeft(*args, **kwargs)

    def base_OnDragRight(*args, **kwargs):
        """base_OnDragRight(self, bool draw, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnDragRight(*args, **kwargs)

    def base_OnLeftClick(*args, **kwargs):
        """base_OnLeftClick(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnLeftClick(*args, **kwargs)

    def base_OnRightClick(*args, **kwargs):
        """base_OnRightClick(self, double x, double y, int keys=0)"""
        return _ogl.PyShapeCanvas_base_OnRightClick(*args, **kwargs)

    def Redraw(*args, **kwargs):
        """Redraw(self, DC dc)"""
        return _ogl.PyShapeCanvas_Redraw(*args, **kwargs)

    def RemoveShape(*args, **kwargs):
        """RemoveShape(self, PyShape shape)"""
        return _ogl.PyShapeCanvas_RemoveShape(*args, **kwargs)

    def SetDiagram(*args, **kwargs):
        """SetDiagram(self, Diagram diagram)"""
        return _ogl.PyShapeCanvas_SetDiagram(*args, **kwargs)

    def Snap(*args, **kwargs):
        """Snap(self, double INOUT, double INOUT)"""
        return _ogl.PyShapeCanvas_Snap(*args, **kwargs)

    def GetShapeList(self):
        return self.GetDiagram().GetShapeList()


class PyShapeCanvasPtr(PyShapeCanvas):
    def __init__(self, this):
        self.this = this
        if not hasattr(self,"thisown"): self.thisown = 0
        self.__class__ = PyShapeCanvas
_ogl.PyShapeCanvas_swigregister(PyShapeCanvasPtr)

# Aliases    
ShapeCanvas =       PyShapeCanvas
ShapeEvtHandler =   PyShapeEvtHandler
Shape =             PyShape
RectangleShape =    PyRectangleShape
BitmapShape =       PyBitmapShape
DrawnShape =        PyDrawnShape
CompositeShape =    PyCompositeShape
DividedShape =      PyDividedShape
DivisionShape =     PyDivisionShape
EllipseShape =      PyEllipseShape
CircleShape =       PyCircleShape
LineShape =         PyLineShape
PolygonShape =      PyPolygonShape
TextShape =         PyTextShape
ControlPoint =      PyControlPoint

KEY_SHIFT = _ogl.KEY_SHIFT
KEY_CTRL = _ogl.KEY_CTRL
ARROW_NONE = _ogl.ARROW_NONE
ARROW_END = _ogl.ARROW_END
ARROW_BOTH = _ogl.ARROW_BOTH
ARROW_MIDDLE = _ogl.ARROW_MIDDLE
ARROW_START = _ogl.ARROW_START
ARROW_HOLLOW_CIRCLE = _ogl.ARROW_HOLLOW_CIRCLE
ARROW_FILLED_CIRCLE = _ogl.ARROW_FILLED_CIRCLE
ARROW_ARROW = _ogl.ARROW_ARROW
ARROW_SINGLE_OBLIQUE = _ogl.ARROW_SINGLE_OBLIQUE
ARROW_DOUBLE_OBLIQUE = _ogl.ARROW_DOUBLE_OBLIQUE
ARROW_METAFILE = _ogl.ARROW_METAFILE
ARROW_POSITION_END = _ogl.ARROW_POSITION_END
ARROW_POSITION_START = _ogl.ARROW_POSITION_START
CONTROL_POINT_VERTICAL = _ogl.CONTROL_POINT_VERTICAL
CONTROL_POINT_HORIZONTAL = _ogl.CONTROL_POINT_HORIZONTAL
CONTROL_POINT_DIAGONAL = _ogl.CONTROL_POINT_DIAGONAL
CONTROL_POINT_ENDPOINT_TO = _ogl.CONTROL_POINT_ENDPOINT_TO
CONTROL_POINT_ENDPOINT_FROM = _ogl.CONTROL_POINT_ENDPOINT_FROM
CONTROL_POINT_LINE = _ogl.CONTROL_POINT_LINE
FORMAT_NONE = _ogl.FORMAT_NONE
FORMAT_CENTRE_HORIZ = _ogl.FORMAT_CENTRE_HORIZ
FORMAT_CENTRE_VERT = _ogl.FORMAT_CENTRE_VERT
FORMAT_SIZE_TO_CONTENTS = _ogl.FORMAT_SIZE_TO_CONTENTS
LINE_ALIGNMENT_HORIZ = _ogl.LINE_ALIGNMENT_HORIZ
LINE_ALIGNMENT_VERT = _ogl.LINE_ALIGNMENT_VERT
LINE_ALIGNMENT_TO_NEXT_HANDLE = _ogl.LINE_ALIGNMENT_TO_NEXT_HANDLE
LINE_ALIGNMENT_NONE = _ogl.LINE_ALIGNMENT_NONE
SHADOW_NONE = _ogl.SHADOW_NONE
SHADOW_LEFT = _ogl.SHADOW_LEFT
SHADOW_RIGHT = _ogl.SHADOW_RIGHT
OP_CLICK_LEFT = _ogl.OP_CLICK_LEFT
OP_CLICK_RIGHT = _ogl.OP_CLICK_RIGHT
OP_DRAG_LEFT = _ogl.OP_DRAG_LEFT
OP_DRAG_RIGHT = _ogl.OP_DRAG_RIGHT
OP_ALL = _ogl.OP_ALL
ATTACHMENT_MODE_NONE = _ogl.ATTACHMENT_MODE_NONE
ATTACHMENT_MODE_EDGE = _ogl.ATTACHMENT_MODE_EDGE
ATTACHMENT_MODE_BRANCHING = _ogl.ATTACHMENT_MODE_BRANCHING
BRANCHING_ATTACHMENT_NORMAL = _ogl.BRANCHING_ATTACHMENT_NORMAL
BRANCHING_ATTACHMENT_BLOB = _ogl.BRANCHING_ATTACHMENT_BLOB
gyCONSTRAINT_CENTRED_VERTICALLY = _ogl.gyCONSTRAINT_CENTRED_VERTICALLY
gyCONSTRAINT_CENTRED_HORIZONTALLY = _ogl.gyCONSTRAINT_CENTRED_HORIZONTALLY
gyCONSTRAINT_CENTRED_BOTH = _ogl.gyCONSTRAINT_CENTRED_BOTH
gyCONSTRAINT_LEFT_OF = _ogl.gyCONSTRAINT_LEFT_OF
gyCONSTRAINT_RIGHT_OF = _ogl.gyCONSTRAINT_RIGHT_OF
gyCONSTRAINT_ABOVE = _ogl.gyCONSTRAINT_ABOVE
gyCONSTRAINT_BELOW = _ogl.gyCONSTRAINT_BELOW
gyCONSTRAINT_ALIGNED_TOP = _ogl.gyCONSTRAINT_ALIGNED_TOP
gyCONSTRAINT_ALIGNED_BOTTOM = _ogl.gyCONSTRAINT_ALIGNED_BOTTOM
gyCONSTRAINT_ALIGNED_LEFT = _ogl.gyCONSTRAINT_ALIGNED_LEFT
gyCONSTRAINT_ALIGNED_RIGHT = _ogl.gyCONSTRAINT_ALIGNED_RIGHT
gyCONSTRAINT_MIDALIGNED_TOP = _ogl.gyCONSTRAINT_MIDALIGNED_TOP
gyCONSTRAINT_MIDALIGNED_BOTTOM = _ogl.gyCONSTRAINT_MIDALIGNED_BOTTOM
gyCONSTRAINT_MIDALIGNED_LEFT = _ogl.gyCONSTRAINT_MIDALIGNED_LEFT
gyCONSTRAINT_MIDALIGNED_RIGHT = _ogl.gyCONSTRAINT_MIDALIGNED_RIGHT
DIVISION_SIDE_NONE = _ogl.DIVISION_SIDE_NONE
DIVISION_SIDE_LEFT = _ogl.DIVISION_SIDE_LEFT
DIVISION_SIDE_TOP = _ogl.DIVISION_SIDE_TOP
DIVISION_SIDE_RIGHT = _ogl.DIVISION_SIDE_RIGHT
DIVISION_SIDE_BOTTOM = _ogl.DIVISION_SIDE_BOTTOM

def OGLInitialize(*args, **kwargs):
    """OGLInitialize()"""
    return _ogl.OGLInitialize(*args, **kwargs)

def OGLCleanUp(*args, **kwargs):
    """OGLCleanUp()"""
    return _ogl.OGLCleanUp(*args, **kwargs)

