X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d1679124ae303fb78561ee2b0c56b5831fd0fafe..3216dbf5dccab8ed6dc0245b7e5c998738ef51d7:/wxPython/demo/wxScrolledWindow.py diff --git a/wxPython/demo/wxScrolledWindow.py b/wxPython/demo/wxScrolledWindow.py index 5f90e34f5a..76d83ee714 100644 --- a/wxPython/demo/wxScrolledWindow.py +++ b/wxPython/demo/wxScrolledWindow.py @@ -12,15 +12,14 @@ class MyCanvas(wxScrolledWindow): self.lines = [] self.maxWidth = 1000 self.maxHeight = 1000 + self.count = 0 - self.SetBackgroundColour(wxNamedColor("WHITE")) + self.SetBackgroundColour("WHITE") EVT_LEFT_DOWN(self, self.OnLeftButtonEvent) EVT_LEFT_UP(self, self.OnLeftButtonEvent) EVT_MOTION(self, self.OnLeftButtonEvent) - EVT_PAINT(self, self.OnPaint) - self.SetCursor(wxStockCursor(wxCURSOR_PENCIL)) bmp = images.getTest2Bitmap() mask = wxMaskColour(bmp, wxBLUE) @@ -29,6 +28,7 @@ class MyCanvas(wxScrolledWindow): self.SetScrollbars(20, 20, self.maxWidth/20, self.maxHeight/20) + def getWidth(self): return self.maxWidth @@ -37,18 +37,21 @@ class MyCanvas(wxScrolledWindow): def OnPaint(self, event): + #self.count += 1 + #print self.count, "begin paint...", dc = wxPaintDC(self) self.PrepareDC(dc) self.DoDrawing(dc) + #print "end paint" def DoDrawing(self, dc): dc.BeginDrawing() - dc.SetPen(wxPen(wxNamedColour('RED'))) + dc.SetPen(wxPen('RED')) dc.DrawRectangle(5, 5, 50, 50) dc.SetBrush(wxLIGHT_GREY_BRUSH) - dc.SetPen(wxPen(wxNamedColour('BLUE'), 4)) + dc.SetPen(wxPen('BLUE', 4)) dc.DrawRectangle(15, 15, 50, 50) dc.SetFont(wxFont(14, wxSWISS, wxNORMAL, wxNORMAL)) @@ -56,7 +59,7 @@ class MyCanvas(wxScrolledWindow): te = dc.GetTextExtent("Hello World") dc.DrawText("Hello World", 60, 65) - dc.SetPen(wxPen(wxNamedColour('VIOLET'), 4)) + dc.SetPen(wxPen('VIOLET', 4)) dc.DrawLine(5, 65+te[1], 60+te[0], 65+te[1]) lst = [(100,110), (150,110), (150,160), (100,160)] @@ -81,16 +84,36 @@ class MyCanvas(wxScrolledWindow): dc.DrawRectangle(50,500,50,50) dc.DrawRectangle(100,500,50,50) - dc.SetPen(wxPen(wxNamedColour('RED'))) + dc.SetPen(wxPen('RED')) dc.DrawEllipticArc(200, 500, 50, 75, 0, 90) + y = 20 + for style in [wxDOT, wxLONG_DASH, wxSHORT_DASH, wxDOT_DASH, wxUSER_DASH]: + pen = wxPen("DARK ORCHID", 1, style) + if style == wxUSER_DASH: + pen.SetDashes([1, 2, 3, 4, 5, 6, 7, 8]) + pen.SetColour("RED") + dc.SetPen(pen) + dc.DrawLine(300, y, 400, y) + y = y + 10 + + dc.SetBrush(wxTRANSPARENT_BRUSH) + dc.SetPen(wxPen(wxColour(0xFF, 0x20, 0xFF), 1, wxSOLID)) + dc.DrawRectangle(450, 50, 100, 100) + old_pen = dc.GetPen() + new_pen = wxPen("BLACK", 5) + dc.SetPen(new_pen) + dc.DrawRectangle(470, 70, 60, 60) + dc.SetPen(old_pen) + dc.DrawRectangle(490, 90, 20, 20) + + self.DrawSavedLines(dc) dc.EndDrawing() - def DrawSavedLines(self, dc): - dc.SetPen(wxPen(wxNamedColour('MEDIUM FOREST GREEN'), 4)) + dc.SetPen(wxPen('MEDIUM FOREST GREEN', 4)) for line in self.lines: for coords in line: apply(dc.DrawLine, coords) @@ -115,7 +138,7 @@ class MyCanvas(wxScrolledWindow): dc = wxClientDC(self) self.PrepareDC(dc) dc.BeginDrawing() - dc.SetPen(wxPen(wxNamedColour('MEDIUM FOREST GREEN'), 4)) + dc.SetPen(wxPen('MEDIUM FOREST GREEN', 4)) coords = (self.x, self.y) + self.ConvertEventCoords(event) self.curLine.append(coords) apply(dc.DrawLine, coords)