X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/299647acac7960652aadb008775429c1f8ea9b8d..b4eecebd423df0c6efe86d7658cd3df818d67ed8:/wxPython/demo/DragImage.py diff --git a/wxPython/demo/DragImage.py b/wxPython/demo/DragImage.py index ad8f880a5d..2592c97728 100644 --- a/wxPython/demo/DragImage.py +++ b/wxPython/demo/DragImage.py @@ -1,7 +1,3 @@ -# 11/15/2003 - Jeff Grimmett (grimmtooth@softhome.net) -# -# o Updated for wx namespace -# import wx import images @@ -29,9 +25,9 @@ class DragShape: memDC = wx.MemoryDC() memDC.SelectObject(self.bmp) - dc.Blit((self.pos[0], self.pos[1]), - (self.bmp.GetWidth(), self.bmp.GetHeight()), - memDC, (0, 0), op, True) + dc.Blit(self.pos[0], self.pos[1], + self.bmp.GetWidth(), self.bmp.GetHeight(), + memDC, 0, 0, op, True) return True else: @@ -51,10 +47,12 @@ class DragCanvas(wx.ScrolledWindow): self.SetCursor(wx.StockCursor(wx.CURSOR_ARROW)) self.bg_bmp = images.getBackgroundBitmap() + self.SetBackgroundStyle(wx.BG_STYLE_CUSTOM) # Make a shape from an image and mask. This one will demo # dragging outside the window bmp = images.getTestStarBitmap() + #bmp = wx.Bitmap('bitmaps/toucan.png') shape = DragShape(bmp) shape.pos = (5, 5) shape.fullscreen = True @@ -76,9 +74,9 @@ class DragCanvas(wx.ScrolledWindow): dc.Clear() dc.SetTextForeground(wx.RED) dc.SetFont(font) - dc.DrawText(text, (0, 0)) + dc.DrawText(text, 0, 0) dc.SelectObject(wx.NullBitmap) - mask = wx.MaskColour(bmp, bg_colour) + mask = wx.Mask(bmp, bg_colour) bmp.SetMask(mask) shape = DragShape(bmp) shape.pos = (5, 100) @@ -86,17 +84,10 @@ class DragCanvas(wx.ScrolledWindow): self.shapes.append(shape) - # Make some shapes from some playing card images. - x = 200 - - for card in ['_01c_', '_12h_', '_13d_', '_10s_']: - bmpFunc = getattr(images, "get%sBitmap" % card) - bmp = bmpFunc() - shape = DragShape(bmp) - shape.pos = (x, 5) - self.shapes.append(shape) - x = x + 80 - + 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) @@ -125,7 +116,7 @@ class DragCanvas(wx.ScrolledWindow): y = 0 while y < sz.height: - dc.DrawBitmap(self.bg_bmp, (x, y)) + dc.DrawBitmap(self.bg_bmp, x, y) y = y + h x = x + w @@ -159,7 +150,7 @@ class DragCanvas(wx.ScrolledWindow): dc = evt.GetDC() if not dc: - dc = wxClientDC(self) + dc = wx.ClientDC(self) rect = self.GetUpdateRegion().GetBox() dc.SetClippingRect(rect) self.TileBackground(dc) @@ -194,10 +185,8 @@ class DragCanvas(wx.ScrolledWindow): self.dragImage.EndDrag() self.dragImage = None - dc = wx.ClientDC(self) - if self.hiliteShape: - self.hiliteShape.Draw(dc) + self.RefreshRect(self.hiliteShape.GetRect()) self.hiliteShape = None # reposition and draw the shape @@ -221,9 +210,10 @@ class DragCanvas(wx.ScrolledWindow): ) self.dragShape.shown = True - self.dragShape.Draw(dc) + self.RefreshRect(self.dragShape.GetRect()) self.dragShape = None + # The mouse is moving def OnMotion(self, evt): # Ignore mouse movement if we're not dragging. @@ -341,5 +331,5 @@ full-screen dragging. if __name__ == '__main__': import sys,os import run - run.main(['', os.path.basename(sys.argv[0])]) + run.main(['', os.path.basename(sys.argv[0])] + sys.argv[1:])