]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/msw/_core.py
Add wxFS_SEEKABLE to wxFileSystem::OpenFile calls for images.
[wxWidgets.git] / wxPython / src / msw / _core.py
index e91dc1f2c3594e0daf624c950cc992b7b169a19a..f1b2555834502d9e7deefbb2c7733a6132a25a0c 100644 (file)
@@ -705,9 +705,18 @@ class Object(object):
 
         Deletes the C++ object this Python object is a proxy for.
         """
 
         Deletes the C++ object this Python object is a proxy for.
         """
-        val = _core_.Object_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Object_Destroy(*args, **kwargs)
+
+    def IsSameAs(*args, **kwargs):
+        """
+        IsSameAs(self, Object p) -> bool
+
+        For wx.Objects that use C++ reference counting internally, this method
+        can be used to determine if two objects are referencing the same data
+        object.
+        """
+        return _core_.Object_IsSameAs(*args, **kwargs)
 
     ClassName = property(GetClassName,doc="See `GetClassName`") 
 _core_.Object_swigregister(Object)
 
     ClassName = property(GetClassName,doc="See `GetClassName`") 
 _core_.Object_swigregister(Object)
@@ -735,6 +744,7 @@ BITMAP_TYPE_PICT = _core_.BITMAP_TYPE_PICT
 BITMAP_TYPE_ICON = _core_.BITMAP_TYPE_ICON
 BITMAP_TYPE_ANI = _core_.BITMAP_TYPE_ANI
 BITMAP_TYPE_IFF = _core_.BITMAP_TYPE_IFF
 BITMAP_TYPE_ICON = _core_.BITMAP_TYPE_ICON
 BITMAP_TYPE_ANI = _core_.BITMAP_TYPE_ANI
 BITMAP_TYPE_IFF = _core_.BITMAP_TYPE_IFF
+BITMAP_TYPE_TGA = _core_.BITMAP_TYPE_TGA
 BITMAP_TYPE_MACCURSOR = _core_.BITMAP_TYPE_MACCURSOR
 BITMAP_TYPE_ANY = _core_.BITMAP_TYPE_ANY
 CURSOR_NONE = _core_.CURSOR_NONE
 BITMAP_TYPE_MACCURSOR = _core_.BITMAP_TYPE_MACCURSOR
 BITMAP_TYPE_ANY = _core_.BITMAP_TYPE_ANY
 CURSOR_NONE = _core_.CURSOR_NONE
@@ -841,6 +851,14 @@ class Size(object):
         """
         return _core_.Size_DecTo(*args, **kwargs)
 
         """
         return _core_.Size_DecTo(*args, **kwargs)
 
+    def IncBy(*args, **kwargs):
+        """IncBy(self, int dx, int dy)"""
+        return _core_.Size_IncBy(*args, **kwargs)
+
+    def DecBy(*args, **kwargs):
+        """DecBy(self, int dx, int dy)"""
+        return _core_.Size_DecBy(*args, **kwargs)
+
     def Scale(*args, **kwargs):
         """
         Scale(self, float xscale, float yscale)
     def Scale(*args, **kwargs):
         """
         Scale(self, float xscale, float yscale)
@@ -1365,9 +1383,12 @@ class Rect(object):
         """
         return _core_.Rect_ContainsRect(*args, **kwargs)
 
         """
         return _core_.Rect_ContainsRect(*args, **kwargs)
 
-    Inside = wx._deprecated(Contains, "Use `Contains` instead.")
-    InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.")
-    InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.")
+    #Inside = wx._deprecated(Contains, "Use `Contains` instead.")
+    #InsideXY = wx._deprecated(ContainsXY, "Use `ContainsXY` instead.")
+    #InsideRect = wx._deprecated(ContainsRect, "Use `ContainsRect` instead.")
+    Inside = Contains
+    InsideXY = ContainsXY
+    InsideRect = ContainsRect
 
     def Intersects(*args, **kwargs):
         """
 
     def Intersects(*args, **kwargs):
         """
@@ -1490,6 +1511,8 @@ class Point2D(object):
         Create a w.Point2D object.
         """
         _core_.Point2D_swiginit(self,_core_.new_Point2D(*args, **kwargs))
         Create a w.Point2D object.
         """
         _core_.Point2D_swiginit(self,_core_.new_Point2D(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_Point2D
+    __del__ = lambda self : None;
     def GetFloor(*args, **kwargs):
         """
         GetFloor() -> (x,y)
     def GetFloor(*args, **kwargs):
         """
         GetFloor() -> (x,y)
@@ -1637,6 +1660,260 @@ def Point2DFromPoint(*args, **kwargs):
 
 #---------------------------------------------------------------------------
 
 
 #---------------------------------------------------------------------------
 
+Inside = _core_.Inside
+OutLeft = _core_.OutLeft
+OutRight = _core_.OutRight
+OutTop = _core_.OutTop
+OutBottom = _core_.OutBottom
+class Rect2D(object):
+    """
+    wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system
+    with floating point component values.
+    """
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self, wxDouble x=0.0, wxDouble y=0.0, wxDouble w=0.0, wxDouble h=0.0) -> Rect2D
+
+        wx.Rect2D is a rectangle, with position and size, in a 2D coordinate system
+        with floating point component values.
+        """
+        _core_.Rect2D_swiginit(self,_core_.new_Rect2D(*args, **kwargs))
+    __swig_destroy__ = _core_.delete_Rect2D
+    __del__ = lambda self : None;
+    def GetPosition(*args, **kwargs):
+        """GetPosition(self) -> Point2D"""
+        return _core_.Rect2D_GetPosition(*args, **kwargs)
+
+    def GetSize(*args, **kwargs):
+        """GetSize(self) -> Size"""
+        return _core_.Rect2D_GetSize(*args, **kwargs)
+
+    def GetLeft(*args, **kwargs):
+        """GetLeft(self) -> wxDouble"""
+        return _core_.Rect2D_GetLeft(*args, **kwargs)
+
+    def SetLeft(*args, **kwargs):
+        """SetLeft(self, wxDouble n)"""
+        return _core_.Rect2D_SetLeft(*args, **kwargs)
+
+    def MoveLeftTo(*args, **kwargs):
+        """MoveLeftTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveLeftTo(*args, **kwargs)
+
+    def GetTop(*args, **kwargs):
+        """GetTop(self) -> wxDouble"""
+        return _core_.Rect2D_GetTop(*args, **kwargs)
+
+    def SetTop(*args, **kwargs):
+        """SetTop(self, wxDouble n)"""
+        return _core_.Rect2D_SetTop(*args, **kwargs)
+
+    def MoveTopTo(*args, **kwargs):
+        """MoveTopTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveTopTo(*args, **kwargs)
+
+    def GetBottom(*args, **kwargs):
+        """GetBottom(self) -> wxDouble"""
+        return _core_.Rect2D_GetBottom(*args, **kwargs)
+
+    def SetBottom(*args, **kwargs):
+        """SetBottom(self, wxDouble n)"""
+        return _core_.Rect2D_SetBottom(*args, **kwargs)
+
+    def MoveBottomTo(*args, **kwargs):
+        """MoveBottomTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveBottomTo(*args, **kwargs)
+
+    def GetRight(*args, **kwargs):
+        """GetRight(self) -> wxDouble"""
+        return _core_.Rect2D_GetRight(*args, **kwargs)
+
+    def SetRight(*args, **kwargs):
+        """SetRight(self, wxDouble n)"""
+        return _core_.Rect2D_SetRight(*args, **kwargs)
+
+    def MoveRightTo(*args, **kwargs):
+        """MoveRightTo(self, wxDouble n)"""
+        return _core_.Rect2D_MoveRightTo(*args, **kwargs)
+
+    def GetLeftTop(*args, **kwargs):
+        """GetLeftTop(self) -> Point2D"""
+        return _core_.Rect2D_GetLeftTop(*args, **kwargs)
+
+    def SetLeftTop(*args, **kwargs):
+        """SetLeftTop(self, Point2D pt)"""
+        return _core_.Rect2D_SetLeftTop(*args, **kwargs)
+
+    def MoveLeftTopTo(*args, **kwargs):
+        """MoveLeftTopTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveLeftTopTo(*args, **kwargs)
+
+    def GetLeftBottom(*args, **kwargs):
+        """GetLeftBottom(self) -> Point2D"""
+        return _core_.Rect2D_GetLeftBottom(*args, **kwargs)
+
+    def SetLeftBottom(*args, **kwargs):
+        """SetLeftBottom(self, Point2D pt)"""
+        return _core_.Rect2D_SetLeftBottom(*args, **kwargs)
+
+    def MoveLeftBottomTo(*args, **kwargs):
+        """MoveLeftBottomTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveLeftBottomTo(*args, **kwargs)
+
+    def GetRightTop(*args, **kwargs):
+        """GetRightTop(self) -> Point2D"""
+        return _core_.Rect2D_GetRightTop(*args, **kwargs)
+
+    def SetRightTop(*args, **kwargs):
+        """SetRightTop(self, Point2D pt)"""
+        return _core_.Rect2D_SetRightTop(*args, **kwargs)
+
+    def MoveRightTopTo(*args, **kwargs):
+        """MoveRightTopTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveRightTopTo(*args, **kwargs)
+
+    def GetRightBottom(*args, **kwargs):
+        """GetRightBottom(self) -> Point2D"""
+        return _core_.Rect2D_GetRightBottom(*args, **kwargs)
+
+    def SetRightBottom(*args, **kwargs):
+        """SetRightBottom(self, Point2D pt)"""
+        return _core_.Rect2D_SetRightBottom(*args, **kwargs)
+
+    def MoveRightBottomTo(*args, **kwargs):
+        """MoveRightBottomTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveRightBottomTo(*args, **kwargs)
+
+    def GetCentre(*args, **kwargs):
+        """GetCentre(self) -> Point2D"""
+        return _core_.Rect2D_GetCentre(*args, **kwargs)
+
+    def SetCentre(*args, **kwargs):
+        """SetCentre(self, Point2D pt)"""
+        return _core_.Rect2D_SetCentre(*args, **kwargs)
+
+    def MoveCentreTo(*args, **kwargs):
+        """MoveCentreTo(self, Point2D pt)"""
+        return _core_.Rect2D_MoveCentreTo(*args, **kwargs)
+
+    def GetOutcode(*args, **kwargs):
+        """GetOutcode(self, Point2D pt) -> int"""
+        return _core_.Rect2D_GetOutcode(*args, **kwargs)
+
+    def Contains(*args, **kwargs):
+        """Contains(self, Point2D pt) -> bool"""
+        return _core_.Rect2D_Contains(*args, **kwargs)
+
+    def ContainsRect(*args, **kwargs):
+        """ContainsRect(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_ContainsRect(*args, **kwargs)
+
+    def IsEmpty(*args, **kwargs):
+        """IsEmpty(self) -> bool"""
+        return _core_.Rect2D_IsEmpty(*args, **kwargs)
+
+    def HaveEqualSize(*args, **kwargs):
+        """HaveEqualSize(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_HaveEqualSize(*args, **kwargs)
+
+    def Inset(*args):
+        """
+        Inset(self, wxDouble x, wxDouble y)
+        Inset(self, wxDouble left, wxDouble top, wxDouble right, wxDouble bottom)
+        """
+        return _core_.Rect2D_Inset(*args)
+
+    def Offset(*args, **kwargs):
+        """Offset(self, Point2D pt)"""
+        return _core_.Rect2D_Offset(*args, **kwargs)
+
+    def ConstrainTo(*args, **kwargs):
+        """ConstrainTo(self, Rect2D rect)"""
+        return _core_.Rect2D_ConstrainTo(*args, **kwargs)
+
+    def Interpolate(*args, **kwargs):
+        """Interpolate(self, int widthfactor, int heightfactor) -> Point2D"""
+        return _core_.Rect2D_Interpolate(*args, **kwargs)
+
+    def Intersect(*args, **kwargs):
+        """Intersect(self, Rect2D otherRect)"""
+        return _core_.Rect2D_Intersect(*args, **kwargs)
+
+    def CreateIntersection(*args, **kwargs):
+        """CreateIntersection(self, Rect2D otherRect) -> Rect2D"""
+        return _core_.Rect2D_CreateIntersection(*args, **kwargs)
+
+    def Intersects(*args, **kwargs):
+        """Intersects(self, Rect2D rect) -> bool"""
+        return _core_.Rect2D_Intersects(*args, **kwargs)
+
+    def Union(*args, **kwargs):
+        """Union(self, Rect2D otherRect)"""
+        return _core_.Rect2D_Union(*args, **kwargs)
+
+    def CreateUnion(*args, **kwargs):
+        """CreateUnion(self, Rect2D otherRect) -> Rect2D"""
+        return _core_.Rect2D_CreateUnion(*args, **kwargs)
+
+    def Scale(*args):
+        """
+        Scale(self, wxDouble f)
+        Scale(self, int num, int denum)
+        """
+        return _core_.Rect2D_Scale(*args)
+
+    def __eq__(*args, **kwargs):
+        """
+        __eq__(self, PyObject other) -> bool
+
+        Test for equality of wx.Rect2D objects.
+        """
+        return _core_.Rect2D___eq__(*args, **kwargs)
+
+    def __ne__(*args, **kwargs):
+        """
+        __ne__(self, PyObject other) -> bool
+
+        Test for inequality of wx.Rect2D objects.
+        """
+        return _core_.Rect2D___ne__(*args, **kwargs)
+
+    x = property(_core_.Rect2D_x_get, _core_.Rect2D_x_set)
+    y = property(_core_.Rect2D_y_get, _core_.Rect2D_y_set)
+    width = property(_core_.Rect2D_width_get, _core_.Rect2D_width_set)
+    height = property(_core_.Rect2D_height_get, _core_.Rect2D_height_set)
+    def Set(*args, **kwargs):
+        """Set(self, wxDouble x=0, wxDouble y=0, wxDouble width=0, wxDouble height=0)"""
+        return _core_.Rect2D_Set(*args, **kwargs)
+
+    def Get(*args, **kwargs):
+        """
+        Get() -> (x,y, width, height)
+
+        Return x, y, width and height y properties as a tuple.
+        """
+        return _core_.Rect2D_Get(*args, **kwargs)
+
+    def __str__(self):                   return str(self.Get())
+    def __repr__(self):                  return 'wx.Rect2D'+str(self.Get())
+    def __len__(self):                   return len(self.Get())
+    def __getitem__(self, index):        return self.Get()[index]
+    def __setitem__(self, index, val):
+        if index == 0: self.x = val
+        elif index == 1: self.y = val
+        elif index == 2: self.width = val
+        elif index == 3: self.height = val                        
+        else: raise IndexError
+    def __nonzero__(self):               return self.Get() != (0.0, 0.0, 0.0, 0.0)
+    __safe_for_unpickling__ = True
+    def __reduce__(self):                return (wx.Rect2D, self.Get())
+
+_core_.Rect2D_swigregister(Rect2D)
+
+#---------------------------------------------------------------------------
+
 FromStart = _core_.FromStart
 FromCurrent = _core_.FromCurrent
 FromEnd = _core_.FromEnd
 FromStart = _core_.FromStart
 FromCurrent = _core_.FromCurrent
 FromEnd = _core_.FromEnd
@@ -1793,7 +2070,7 @@ class FileSystemHandler(CPPFileSystemHandler):
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> FileSystemHandler"""
         _core_.FileSystemHandler_swiginit(self,_core_.new_FileSystemHandler(*args, **kwargs))
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> FileSystemHandler"""
         _core_.FileSystemHandler_swiginit(self,_core_.new_FileSystemHandler(*args, **kwargs))
-        self._setCallbackInfo(self, FileSystemHandler)
+        FileSystemHandler._setCallbackInfo(self, self, FileSystemHandler)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -2028,6 +2305,8 @@ def MemoryFSHandler_RemoveFile(*args, **kwargs):
 IMAGE_ALPHA_TRANSPARENT = _core_.IMAGE_ALPHA_TRANSPARENT
 IMAGE_ALPHA_THRESHOLD = _core_.IMAGE_ALPHA_THRESHOLD
 IMAGE_ALPHA_OPAQUE = _core_.IMAGE_ALPHA_OPAQUE
 IMAGE_ALPHA_TRANSPARENT = _core_.IMAGE_ALPHA_TRANSPARENT
 IMAGE_ALPHA_THRESHOLD = _core_.IMAGE_ALPHA_THRESHOLD
 IMAGE_ALPHA_OPAQUE = _core_.IMAGE_ALPHA_OPAQUE
+IMAGE_QUALITY_NORMAL = _core_.IMAGE_QUALITY_NORMAL
+IMAGE_QUALITY_HIGH = _core_.IMAGE_QUALITY_HIGH
 #---------------------------------------------------------------------------
 
 class ImageHandler(Object):
 #---------------------------------------------------------------------------
 
 class ImageHandler(Object):
@@ -2306,20 +2585,61 @@ class Image(Object):
 
         Destroys the image data.
         """
 
         Destroys the image data.
         """
-        val = _core_.Image_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Image_Destroy(*args, **kwargs)
 
     def Scale(*args, **kwargs):
         """
 
     def Scale(*args, **kwargs):
         """
-        Scale(self, int width, int height) -> Image
+        Scale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image
 
         Returns a scaled version of the image. This is also useful for scaling
         bitmaps in general as the only other way to scale bitmaps is to blit a
 
         Returns a scaled version of the image. This is also useful for scaling
         bitmaps in general as the only other way to scale bitmaps is to blit a
-        `wx.MemoryDC` into another `wx.MemoryDC`.
+        `wx.MemoryDC` into another `wx.MemoryDC`.  The ``quality`` parameter
+        specifies what method to use for resampling the image.  It can be
+        either wx.IMAGE_QUALITY_NORMAL, which uses the normal default scaling
+        method of pixel replication, or wx.IMAGE_QUALITY_HIGH which uses
+        bicubic and box averaging resampling methods for upsampling and
+        downsampling respectively.
         """
         return _core_.Image_Scale(*args, **kwargs)
 
         """
         return _core_.Image_Scale(*args, **kwargs)
 
+    def ResampleBox(*args, **kwargs):
+        """ResampleBox(self, int width, int height) -> Image"""
+        return _core_.Image_ResampleBox(*args, **kwargs)
+
+    def ResampleBicubic(*args, **kwargs):
+        """ResampleBicubic(self, int width, int height) -> Image"""
+        return _core_.Image_ResampleBicubic(*args, **kwargs)
+
+    def Blur(*args, **kwargs):
+        """
+        Blur(self, int radius) -> Image
+
+        Blurs the image in both horizontal and vertical directions by the
+        specified pixel ``radius``. This should not be used when using a
+        single mask colour for transparency.
+        """
+        return _core_.Image_Blur(*args, **kwargs)
+
+    def BlurHorizontal(*args, **kwargs):
+        """
+        BlurHorizontal(self, int radius) -> Image
+
+        Blurs the image in the horizontal direction only. This should not be
+        used when using a single mask colour for transparency.
+
+        """
+        return _core_.Image_BlurHorizontal(*args, **kwargs)
+
+    def BlurVertical(*args, **kwargs):
+        """
+        BlurVertical(self, int radius) -> Image
+
+        Blurs the image in the vertical direction only. This should not be
+        used when using a single mask colour for transparency.
+        """
+        return _core_.Image_BlurVertical(*args, **kwargs)
+
     def ShrinkBy(*args, **kwargs):
         """
         ShrinkBy(self, int xFactor, int yFactor) -> Image
     def ShrinkBy(*args, **kwargs):
         """
         ShrinkBy(self, int xFactor, int yFactor) -> Image
@@ -2330,7 +2650,7 @@ class Image(Object):
 
     def Rescale(*args, **kwargs):
         """
 
     def Rescale(*args, **kwargs):
         """
-        Rescale(self, int width, int height) -> Image
+        Rescale(self, int width, int height, int quality=IMAGE_QUALITY_NORMAL) -> Image
 
         Changes the size of the image in-place by scaling it: after a call to
         this function, the image will have the given width and height.
 
         Changes the size of the image in-place by scaling it: after a call to
         this function, the image will have the given width and height.
@@ -2594,14 +2914,15 @@ class Image(Object):
         """
         return _core_.Image_LoadMimeStream(*args, **kwargs)
 
         """
         return _core_.Image_LoadMimeStream(*args, **kwargs)
 
-    def Ok(*args, **kwargs):
+    def IsOk(*args, **kwargs):
         """
         """
-        Ok(self) -> bool
+        IsOk(self) -> bool
 
         Returns true if image data is present.
         """
 
         Returns true if image data is present.
         """
-        return _core_.Image_Ok(*args, **kwargs)
+        return _core_.Image_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
     def GetWidth(*args, **kwargs):
         """
         GetWidth(self) -> int
     def GetWidth(*args, **kwargs):
         """
         GetWidth(self) -> int
@@ -2979,7 +3300,7 @@ class Image(Object):
         return _core_.Image_HSVtoRGB(*args, **kwargs)
 
     HSVtoRGB = staticmethod(HSVtoRGB)
         return _core_.Image_HSVtoRGB(*args, **kwargs)
 
     HSVtoRGB = staticmethod(HSVtoRGB)
-    def __nonzero__(self): return self.Ok() 
+    def __nonzero__(self): return self.IsOk() 
     AlphaBuffer = property(GetAlphaBuffer,SetAlphaBuffer,doc="See `GetAlphaBuffer` and `SetAlphaBuffer`") 
     AlphaData = property(GetAlphaData,SetAlphaData,doc="See `GetAlphaData` and `SetAlphaData`") 
     Data = property(GetData,SetData,doc="See `GetData` and `SetData`") 
     AlphaBuffer = property(GetAlphaBuffer,SetAlphaBuffer,doc="See `GetAlphaBuffer` and `SetAlphaBuffer`") 
     AlphaData = property(GetAlphaData,SetAlphaData,doc="See `GetAlphaData` and `SetAlphaData`") 
     Data = property(GetData,SetData,doc="See `GetData` and `SetData`") 
@@ -2988,7 +3309,6 @@ class Image(Object):
     MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") 
     MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") 
     MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") 
     MaskBlue = property(GetMaskBlue,doc="See `GetMaskBlue`") 
     MaskGreen = property(GetMaskGreen,doc="See `GetMaskGreen`") 
     MaskRed = property(GetMaskRed,doc="See `GetMaskRed`") 
-    Size = property(GetSize,doc="See `GetSize`") 
     Width = property(GetWidth,doc="See `GetWidth`") 
 _core_.Image_swigregister(Image)
 
     Width = property(GetWidth,doc="See `GetWidth`") 
 _core_.Image_swigregister(Image)
 
@@ -3348,6 +3668,19 @@ class TIFFHandler(ImageHandler):
         _core_.TIFFHandler_swiginit(self,_core_.new_TIFFHandler(*args, **kwargs))
 _core_.TIFFHandler_swigregister(TIFFHandler)
 
         _core_.TIFFHandler_swiginit(self,_core_.new_TIFFHandler(*args, **kwargs))
 _core_.TIFFHandler_swigregister(TIFFHandler)
 
+class TGAHandler(ImageHandler):
+    """A `wx.ImageHandler` for TGA image files."""
+    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
+    __repr__ = _swig_repr
+    def __init__(self, *args, **kwargs): 
+        """
+        __init__(self) -> TGAHandler
+
+        A `wx.ImageHandler` for TGA image files.
+        """
+        _core_.TGAHandler_swiginit(self,_core_.new_TGAHandler(*args, **kwargs))
+_core_.TGAHandler_swigregister(TGAHandler)
+
 QUANTIZE_INCLUDE_WINDOWS_COLOURS = _core_.QUANTIZE_INCLUDE_WINDOWS_COLOURS
 QUANTIZE_FILL_DESTINATION_IMAGE = _core_.QUANTIZE_FILL_DESTINATION_IMAGE
 class Quantize(object):
 QUANTIZE_INCLUDE_WINDOWS_COLOURS = _core_.QUANTIZE_INCLUDE_WINDOWS_COLOURS
 QUANTIZE_FILL_DESTINATION_IMAGE = _core_.QUANTIZE_FILL_DESTINATION_IMAGE
 class Quantize(object):
@@ -3948,14 +4281,13 @@ class Event(Object):
         """
         Skip(self, bool skip=True)
 
         """
         Skip(self, bool skip=True)
 
-        Called by an event handler, it controls whether additional event
-        handlers bound to this event will be called after the current event
-        handler returns.  Skip(false) (the default setting) will prevent
-        additional event handlers from being called and control will be
-        returned to the sender of the event immediately after the current
-        handler has finished.  Skip(True) will cause the event processing
-        system to continue searching for a handler function for this event.
-
+        This method can be used inside an event handler to control whether
+        further event handlers bound to this event will be called after the
+        current one returns. Without Skip() (or equivalently if Skip(False) is
+        used), the event will not be processed any more. If Skip(True) is
+        called, the event processing system continues searching for a further
+        handler function for this event, even though it has been processed
+        already in the current handler.
         """
         return _core_.Event_Skip(*args, **kwargs)
 
         """
         return _core_.Event_Skip(*args, **kwargs)
 
@@ -6675,13 +7007,12 @@ class PyApp(EvtHandler):
         Create a new application object, starting the bootstrap process.
         """
         _core_.PyApp_swiginit(self,_core_.new_PyApp(*args, **kwargs))
         Create a new application object, starting the bootstrap process.
         """
         _core_.PyApp_swiginit(self,_core_.new_PyApp(*args, **kwargs))
-        self._setCallbackInfo(self, PyApp, False)
-        self._setOORInfo(self, False)
+        self._setOORInfo(self, False);PyApp._setCallbackInfo(self, self, PyApp)
 
     __swig_destroy__ = _core_.delete_PyApp
     __del__ = lambda self : None;
     def _setCallbackInfo(*args, **kwargs):
 
     __swig_destroy__ = _core_.delete_PyApp
     __del__ = lambda self : None;
     def _setCallbackInfo(*args, **kwargs):
-        """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref)"""
+        """_setCallbackInfo(self, PyObject self, PyObject _class, bool incref=False)"""
         return _core_.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
         return _core_.PyApp__setCallbackInfo(*args, **kwargs)
 
     def GetAppName(*args, **kwargs):
@@ -6916,7 +7247,7 @@ class PyApp(EvtHandler):
 
     def SetUseBestVisual(*args, **kwargs):
         """
 
     def SetUseBestVisual(*args, **kwargs):
         """
-        SetUseBestVisual(self, bool flag)
+        SetUseBestVisual(self, bool flag, bool forceTrueColour=False)
 
         Set whether the app should try to use the best available visual on
         systems where more than one is available, (Sun, SGI, XFree86 4, etc.)
 
         Set whether the app should try to use the best available visual on
         systems where more than one is available, (Sun, SGI, XFree86 4, etc.)
@@ -7409,6 +7740,9 @@ in on the main display of your Mac."""
         # Use Python's install prefix as the default  
         wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix)
 
         # Use Python's install prefix as the default  
         wx.StandardPaths.Get().SetInstallPrefix(_sys.prefix)
 
+        # Until the new native control for wxMac is up to par, still use the generic one.
+        wx.SystemOptions.SetOptionInt("mac.listctrl.always_use_generic", 1)
+
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
         # This finishes the initialization of wxWindows and then calls
         # the OnInit that should be present in the derived class
         self._BootstrapApp()
@@ -7428,8 +7762,8 @@ in on the main display of your Mac."""
         destroy(self)
 
     def Destroy(self):
         destroy(self)
 
     def Destroy(self):
+        self.this.own(False)
         wx.PyApp.Destroy(self)
         wx.PyApp.Destroy(self)
-        self.thisown = 0
 
     def SetTopWindow(self, frame):
         """Set the \"main\" top level window"""
 
     def SetTopWindow(self, frame):
         """Set the \"main\" top level window"""
@@ -7744,10 +8078,11 @@ class AcceleratorTable(Object):
         _core_.AcceleratorTable_swiginit(self,_core_.new_AcceleratorTable(*args, **kwargs))
     __swig_destroy__ = _core_.delete_AcceleratorTable
     __del__ = lambda self : None;
         _core_.AcceleratorTable_swiginit(self,_core_.new_AcceleratorTable(*args, **kwargs))
     __swig_destroy__ = _core_.delete_AcceleratorTable
     __del__ = lambda self : None;
-    def Ok(*args, **kwargs):
-        """Ok(self) -> bool"""
-        return _core_.AcceleratorTable_Ok(*args, **kwargs)
+    def IsOk(*args, **kwargs):
+        """IsOk(self) -> bool"""
+        return _core_.AcceleratorTable_IsOk(*args, **kwargs)
 
 
+    Ok = IsOk 
 _core_.AcceleratorTable_swigregister(AcceleratorTable)
 
 
 _core_.AcceleratorTable_swigregister(AcceleratorTable)
 
 
@@ -7834,9 +8169,8 @@ class Window(EvtHandler):
         Returns True if the window has either been successfully deleted, or it
         has been added to the list of windows pending real deletion.
         """
         Returns True if the window has either been successfully deleted, or it
         has been added to the list of windows pending real deletion.
         """
-        val = _core_.Window_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Window_Destroy(*args, **kwargs)
 
     def DestroyChildren(*args, **kwargs):
         """
 
     def DestroyChildren(*args, **kwargs):
         """
@@ -8047,15 +8381,16 @@ class Window(EvtHandler):
         """
         return _core_.Window_MoveXY(*args, **kwargs)
 
         """
         return _core_.Window_MoveXY(*args, **kwargs)
 
-    def SetBestFittingSize(*args, **kwargs):
+    def SetInitialSize(*args, **kwargs):
         """
         """
-        SetBestFittingSize(self, Size size=DefaultSize)
+        SetInitialSize(self, Size size=DefaultSize)
 
         A 'Smart' SetSize that will fill in default size components with the
         window's *best size* values.  Also set's the minsize for use with sizers.
         """
 
         A 'Smart' SetSize that will fill in default size components with the
         window's *best size* values.  Also set's the minsize for use with sizers.
         """
-        return _core_.Window_SetBestFittingSize(*args, **kwargs)
+        return _core_.Window_SetInitialSize(*args, **kwargs)
 
 
+    SetBestFittingSize = wx._deprecated(SetInitialSize, 'Use `SetInitialSize`') 
     def Raise(*args, **kwargs):
         """
         Raise(self)
     def Raise(*args, **kwargs):
         """
         Raise(self)
@@ -8263,29 +8598,23 @@ class Window(EvtHandler):
         """
         return _core_.Window_CacheBestSize(*args, **kwargs)
 
         """
         return _core_.Window_CacheBestSize(*args, **kwargs)
 
-    def GetBestFittingSize(*args, **kwargs):
+    def GetEffectiveMinSize(*args, **kwargs):
         """
         """
-        GetBestFittingSize(self) -> Size
+        GetEffectiveMinSize(self) -> Size
 
         This function will merge the window's best size into the window's
         minimum size, giving priority to the min size components, and returns
         the results.
 
         """
 
         This function will merge the window's best size into the window's
         minimum size, giving priority to the min size components, and returns
         the results.
 
         """
-        return _core_.Window_GetBestFittingSize(*args, **kwargs)
+        return _core_.Window_GetEffectiveMinSize(*args, **kwargs)
 
 
-    def GetAdjustedBestSize(*args, **kwargs):
-        """
-        GetAdjustedBestSize(self) -> Size
-
-        This method is similar to GetBestSize, except in one
-        thing. GetBestSize should return the minimum untruncated size of the
-        window, while this method will return the largest of BestSize and any
-        user specified minimum size. ie. it is the minimum size the window
-        should currently be drawn at, not the minimal size it can possibly
-        tolerate.
-        """
-        return _core_.Window_GetAdjustedBestSize(*args, **kwargs)
+    GetBestFittingSize = wx._deprecated(GetEffectiveMinSize, 'Use `GetEffectiveMinSize` instead.') 
+    def GetAdjustedBestSize(self):
+        s = self.GetBestSize()
+        return wx.Size(max(s.width,  self.GetMinWidth()),
+                       max(s.height, self.GetMinHeight()))
+    GetAdjustedBestSize = wx._deprecated(GetAdjustedBestSize, 'Use `GetEffectiveMinSize` instead.')
 
     def Center(*args, **kwargs):
         """
 
     def Center(*args, **kwargs):
         """
@@ -9121,7 +9450,7 @@ class Window(EvtHandler):
         window instead of waiting for the EVT_PAINT event to happen, (normally
         this would usually only happen when the flow of control returns to the
         event loop.)  Notice that this function doesn't refresh the window and
         window instead of waiting for the EVT_PAINT event to happen, (normally
         this would usually only happen when the flow of control returns to the
         event loop.)  Notice that this function doesn't refresh the window and
-        does nothing if the window has been already repainted.  Use Refresh
+        does nothing if the window has been already repainted.  Use `Refresh`
         first if you want to immediately redraw the window (or some portion of
         it) unconditionally.
         """
         first if you want to immediately redraw the window (or some portion of
         it) unconditionally.
         """
@@ -9184,6 +9513,17 @@ class Window(EvtHandler):
         """
         return _core_.Window_PrepareDC(*args, **kwargs)
 
         """
         return _core_.Window_PrepareDC(*args, **kwargs)
 
+    def IsDoubleBuffered(*args, **kwargs):
+        """
+        IsDoubleBuffered(self) -> bool
+
+        Returns ``True`` if the window contents is double-buffered by the
+        system, i.e. if any drawing done on the window is really done on a
+        temporary backing surface and transferred to the screen all at once
+        later.
+        """
+        return _core_.Window_IsDoubleBuffered(*args, **kwargs)
+
     def GetUpdateRegion(*args, **kwargs):
         """
         GetUpdateRegion(self) -> Region
     def GetUpdateRegion(*args, **kwargs):
         """
         GetUpdateRegion(self) -> Region
@@ -9995,7 +10335,7 @@ class Window(EvtHandler):
         if hasattr(self, '_setOORInfo'):
             self._setOORInfo(self)
         if hasattr(self, '_setCallbackInfo'):
         if hasattr(self, '_setOORInfo'):
             self._setOORInfo(self)
         if hasattr(self, '_setCallbackInfo'):
-            self._setCallbackInfo(self, self.__class__)
+            self._setCallbackInfo(self, pre.__class__)
 
     def SendSizeEvent(self):
         self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1)))
 
     def SendSizeEvent(self):
         self.GetEventHandler().ProcessEvent(wx.SizeEvent((-1,-1)))
@@ -10005,7 +10345,7 @@ class Window(EvtHandler):
     AutoLayout = property(GetAutoLayout,SetAutoLayout,doc="See `GetAutoLayout` and `SetAutoLayout`") 
     BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
     BackgroundStyle = property(GetBackgroundStyle,SetBackgroundStyle,doc="See `GetBackgroundStyle` and `SetBackgroundStyle`") 
     AutoLayout = property(GetAutoLayout,SetAutoLayout,doc="See `GetAutoLayout` and `SetAutoLayout`") 
     BackgroundColour = property(GetBackgroundColour,SetBackgroundColour,doc="See `GetBackgroundColour` and `SetBackgroundColour`") 
     BackgroundStyle = property(GetBackgroundStyle,SetBackgroundStyle,doc="See `GetBackgroundStyle` and `SetBackgroundStyle`") 
-    BestFittingSize = property(GetBestFittingSize,SetBestFittingSize,doc="See `GetBestFittingSize` and `SetBestFittingSize`") 
+    EffectiveMinSize = property(GetEffectiveMinSize,doc="See `GetEffectiveMinSize`") 
     BestSize = property(GetBestSize,doc="See `GetBestSize`") 
     BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") 
     Border = property(GetBorder,doc="See `GetBorder`") 
     BestSize = property(GetBestSize,doc="See `GetBestSize`") 
     BestVirtualSize = property(GetBestVirtualSize,doc="See `GetBestVirtualSize`") 
     Border = property(GetBorder,doc="See `GetBorder`") 
@@ -10264,12 +10604,10 @@ class PyValidator(Validator):
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyValidator"""
         _core_.PyValidator_swiginit(self,_core_.new_PyValidator(*args, **kwargs))
     def __init__(self, *args, **kwargs): 
         """__init__(self) -> PyValidator"""
         _core_.PyValidator_swiginit(self,_core_.new_PyValidator(*args, **kwargs))
-        
-        self._setCallbackInfo(self, PyValidator, 1)
-        self._setOORInfo(self)
+        self._setOORInfo(self);PyValidator._setCallbackInfo(self, self, PyValidator)
 
     def _setCallbackInfo(*args, **kwargs):
 
     def _setCallbackInfo(*args, **kwargs):
-        """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=True)"""
+        """_setCallbackInfo(self, PyObject self, PyObject _class, int incref=1)"""
         return _core_.PyValidator__setCallbackInfo(*args, **kwargs)
 
 _core_.PyValidator_swigregister(PyValidator)
         return _core_.PyValidator__setCallbackInfo(*args, **kwargs)
 
 _core_.PyValidator_swigregister(PyValidator)
@@ -10396,29 +10734,16 @@ class Menu(EvtHandler):
 
         Deletes the C++ object this Python object is a proxy for.
         """
 
         Deletes the C++ object this Python object is a proxy for.
         """
-        val = _core_.Menu_Destroy(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        args[0].this.own(False)
+        return _core_.Menu_Destroy(*args, **kwargs)
 
     def DestroyId(*args, **kwargs):
 
     def DestroyId(*args, **kwargs):
-        """
-        DestroyId(self, int id) -> bool
-
-        Deletes the C++ object this Python object is a proxy for.
-        """
-        val = _core_.Menu_DestroyId(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        """DestroyId(self, int id) -> bool"""
+        return _core_.Menu_DestroyId(*args, **kwargs)
 
     def DestroyItem(*args, **kwargs):
 
     def DestroyItem(*args, **kwargs):
-        """
-        DestroyItem(self, MenuItem item) -> bool
-
-        Deletes the C++ object this Python object is a proxy for.
-        """
-        val = _core_.Menu_DestroyItem(*args, **kwargs)
-        args[0].thisown = 0
-        return val
+        """DestroyItem(self, MenuItem item) -> bool"""
+        return _core_.Menu_DestroyItem(*args, **kwargs)
 
     def GetMenuItemCount(*args, **kwargs):
         """GetMenuItemCount(self) -> size_t"""
 
     def GetMenuItemCount(*args, **kwargs):
         """GetMenuItemCount(self) -> size_t"""
@@ -10960,14 +11285,6 @@ class Control(Window):
         """
         return _core_.Control_Command(*args, **kwargs)
 
         """
         return _core_.Control_Command(*args, **kwargs)
 
-    def GetLabel(*args, **kwargs):
-        """
-        GetLabel(self) -> String
-
-        Return a control's text.
-        """
-        return _core_.Control_GetLabel(*args, **kwargs)
-
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
     def GetClassDefaultAttributes(*args, **kwargs):
         """
         GetClassDefaultAttributes(int variant=WINDOW_VARIANT_NORMAL) -> VisualAttributes
@@ -10987,7 +11304,6 @@ class Control(Window):
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
     Alignment = property(GetAlignment,doc="See `GetAlignment`") 
 
     GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes)
     Alignment = property(GetAlignment,doc="See `GetAlignment`") 
-    Label = property(GetLabel,doc="See `GetLabel`") 
     LabelText = property(GetLabelText,doc="See `GetLabelText`") 
 _core_.Control_swigregister(Control)
 ControlNameStr = cvar.ControlNameStr
     LabelText = property(GetLabelText,doc="See `GetLabelText`") 
 _core_.Control_swigregister(Control)
 ControlNameStr = cvar.ControlNameStr
@@ -12117,7 +12433,7 @@ class PySizer(Sizer):
         class.
         """
         _core_.PySizer_swiginit(self,_core_.new_PySizer(*args, **kwargs))
         class.
         """
         _core_.PySizer_swiginit(self,_core_.new_PySizer(*args, **kwargs))
-        self._setCallbackInfo(self, PySizer);self._setOORInfo(self)
+        self._setOORInfo(self);PySizer._setCallbackInfo(self, self, PySizer)
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
 
     def _setCallbackInfo(*args, **kwargs):
         """_setCallbackInfo(self, PyObject self, PyObject _class)"""
@@ -13343,6 +13659,24 @@ if RELEASE_VERSION != _core_.RELEASE_VERSION:
     import warnings
     warnings.warn("wxPython/wxWidgets release number mismatch")
 
     import warnings
     warnings.warn("wxPython/wxWidgets release number mismatch")
 
+
+def version():
+    """Returns a string containing version and port info"""
+    ctype = wx.USE_UNICODE and 'unicode' or 'ansi'
+    if wx.Platform == '__WXMSW__':
+        port = 'msw'
+    elif wx.Platform == '__WXMAC__':
+        port = 'mac'
+    elif wx.Platform == '__WXGTK__':
+        port = 'gtk'
+        if 'gtk2' in wx.PlatformInfo:
+            port = 'gtk2'
+    else:
+        port = '?'
+
+    return "%s (%s-%s)" % (wx.VERSION_STRING, port, ctype)
+                       
+    
 #----------------------------------------------------------------------------
 
 # Set wxPython's default string<-->unicode conversion encoding from
 #----------------------------------------------------------------------------
 
 # Set wxPython's default string<-->unicode conversion encoding from
@@ -13440,7 +13774,7 @@ def CallAfter(callable, *args, **kw):
     method calls from non-GUI threads.  Any extra positional or
     keyword args are passed on to the callable when it is called.
 
     method calls from non-GUI threads.  Any extra positional or
     keyword args are passed on to the callable when it is called.
 
-    :see: `wx.FutureCall`
+    :see: `wx.CallLater`
     """
     app = wx.GetApp()
     assert app is not None, 'No wx.App created yet'
     """
     app = wx.GetApp()
     assert app is not None, 'No wx.App created yet'
@@ -13459,7 +13793,7 @@ def CallAfter(callable, *args, **kw):
 #----------------------------------------------------------------------------
 
 
 #----------------------------------------------------------------------------
 
 
-class FutureCall:
+class CallLater:
     """
     A convenience class for `wx.Timer`, that calls the given callable
     object once after the given amount of milliseconds, passing any
     """
     A convenience class for `wx.Timer`, that calls the given callable
     object once after the given amount of milliseconds, passing any
@@ -13470,7 +13804,7 @@ class FutureCall:
     then there is no need to hold a reference to this object.  It will
     hold a reference to itself while the timer is running (the timer
     has a reference to self.Notify) but the cycle will be broken when
     then there is no need to hold a reference to this object.  It will
     hold a reference to itself while the timer is running (the timer
     has a reference to self.Notify) but the cycle will be broken when
-    the timer completes, automatically cleaning up the wx.FutureCall
+    the timer completes, automatically cleaning up the wx.CallLater
     object.
 
     :see: `wx.CallAfter`
     object.
 
     :see: `wx.CallAfter`
@@ -13560,6 +13894,9 @@ class FutureCall:
     Result = property(GetResult)
 
 
     Result = property(GetResult)
 
 
+class FutureCall(CallLater):
+    """A compatibility alias for `CallLater`."""
+
 #----------------------------------------------------------------------------
 # Control which items in this module should be documented by epydoc.
 # We allow only classes and functions, which will help reduce the size
 #----------------------------------------------------------------------------
 # Control which items in this module should be documented by epydoc.
 # We allow only classes and functions, which will help reduce the size