X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce6b371d148acc73fa3516f4f75a9c7a362f3144..a15107c002d8dee9e64692ecb307e41c5f90d70d:/wxPython/demo/DragImage.py diff --git a/wxPython/demo/DragImage.py b/wxPython/demo/DragImage.py index 2592c97728..d0173caf03 100644 --- a/wxPython/demo/DragImage.py +++ b/wxPython/demo/DragImage.py @@ -58,6 +58,11 @@ class DragCanvas(wx.ScrolledWindow): shape.fullscreen = True self.shapes.append(shape) + bmp = images.getTheKidBitmap() + shape = DragShape(bmp) + shape.pos = (200, 5) + self.shapes.append(shape) + # Make a shape from some text text = "Some Text" bg_colour = wx.Colour(57, 115, 57) # matches the bg image @@ -84,11 +89,6 @@ class DragCanvas(wx.ScrolledWindow): self.shapes.append(shape) - bmp = images.getTheKidBitmap() - shape = DragShape(bmp) - shape.pos = (200, 5) - self.shapes.append(shape) - self.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground) self.Bind(wx.EVT_PAINT, self.OnPaint) self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) @@ -136,19 +136,11 @@ class DragCanvas(wx.ScrolledWindow): return shape return None - # Remove a shape from the display - def EraseShape(self, shape, dc): - r = shape.GetRect() - dc.SetClippingRect(r) - self.TileBackground(dc) - self.DrawShapes(dc) - dc.DestroyClippingRegion() # Clears the background, then redraws it. If the DC is passed, then # we only do so in the area so designated. Otherwise, it's the whole thing. def OnEraseBackground(self, evt): dc = evt.GetDC() - if not dc: dc = wx.ClientDC(self) rect = self.GetUpdateRegion().GetBox() @@ -231,11 +223,11 @@ class DragCanvas(wx.ScrolledWindow): if dx <= tolerance and dy <= tolerance: return - # erase the shape since it will be drawn independently now - dc = wx.ClientDC(self) + # refresh the area of the window where the shape was so it + # will get erased. self.dragShape.shown = False - self.EraseShape(self.dragShape, dc) - + self.RefreshRect(self.dragShape.GetRect(), True) + self.Update() if self.dragShape.text: self.dragImage = wx.DragString(self.dragShape.text,