X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c368d904fc27d35ae1e533155e2154dc496432e4..922ba68045d84789ab1dfceb4d1aa1b6e2c5e810:/wxPython/demo/wxScrolledWindow.py?ds=sidebyside diff --git a/wxPython/demo/wxScrolledWindow.py b/wxPython/demo/wxScrolledWindow.py index 3b6edadb14..15806b1319 100644 --- a/wxPython/demo/wxScrolledWindow.py +++ b/wxPython/demo/wxScrolledWindow.py @@ -1,6 +1,8 @@ from wxPython.wx import * +import images + #--------------------------------------------------------------------------- class MyCanvas(wxScrolledWindow): @@ -15,18 +17,17 @@ class MyCanvas(wxScrolledWindow): 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 = wxBitmap('bitmaps/test2.bmp', wxBITMAP_TYPE_BMP) + bmp = images.getTest2Bitmap() mask = wxMaskColour(bmp, wxBLUE) bmp.SetMask(mask) self.bmp = bmp self.SetScrollbars(20, 20, self.maxWidth/20, self.maxHeight/20) + def getWidth(self): return self.maxWidth @@ -42,16 +43,14 @@ class MyCanvas(wxScrolledWindow): def DoDrawing(self, dc): dc.BeginDrawing() - pen1 = wxPen(wxNamedColour('RED')) - dc.SetPen(pen1) + dc.SetPen(wxPen(wxNamedColour('RED'))) dc.DrawRectangle(5, 5, 50, 50) dc.SetBrush(wxLIGHT_GREY_BRUSH) dc.SetPen(wxPen(wxNamedColour('BLUE'), 4)) dc.DrawRectangle(15, 15, 50, 50) - font = wxFont(14, wxSWISS, wxNORMAL, wxNORMAL) - dc.SetFont(font) + dc.SetFont(wxFont(14, wxSWISS, wxNORMAL, wxNORMAL)) dc.SetTextForeground(wxColour(0xFF, 0x20, 0xFF)) te = dc.GetTextExtent("Hello World") dc.DrawText("Hello World", 60, 65) @@ -81,11 +80,29 @@ class MyCanvas(wxScrolledWindow): dc.DrawRectangle(50,500,50,50) dc.DrawRectangle(100,500,50,50) - dc.SetPen(pen1) + dc.SetPen(wxPen(wxNamedColour('RED'))) dc.DrawEllipticArc(200, 500, 50, 75, 0, 90) - #from wxPython import dch - #dch.FillRect(dc, wxRect(50, 400, 50, 50), wxBLACK) + 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(wxNullBrush) + 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() @@ -130,6 +147,27 @@ class MyCanvas(wxScrolledWindow): self.curLine = [] self.ReleaseMouse() + +## This is an example of what to do for the EVT_MOUSEWHEEL event, +## but since wxScrolledWindow does this already it's not +## necessary to do it ourselves. + +## wheelScroll = 0 +## def OnWheel(self, evt): +## delta = evt.GetWheelDelta() +## rot = evt.GetWheelRotation() +## linesPer = evt.GetLinesPerAction() +## ws = self.wheelScroll +## ws = ws + rot +## lines = ws / delta +## ws = ws - lines * delta +## self.wheelScroll = ws +## if lines != 0: +## lines = lines * linesPer +## vsx, vsy = self.GetViewStart() +## scrollTo = vsy - lines +## self.Scroll(-1, scrollTo) + #--------------------------------------------------------------------------- def runTest(frame, nb, log):