self.maxHeight = 1000
self.x = self.y = 0
self.curLine = []
- self.drawing = false
+ self.drawing = False
self.SetBackgroundColour("WHITE")
self.SetCursor(wxStockCursor(wxCURSOR_PENCIL))
EVT_LEFT_UP(self, self.OnLeftButtonEvent)
EVT_MOTION(self, self.OnLeftButtonEvent)
EVT_PAINT(self, self.OnPaint)
+ ##EVT_MOUSEWHEEL(self, self.OnWheel)
def getWidth(self):
self.DoDrawing(dc)
- def DoDrawing(self, dc):
+ def DoDrawing(self, dc, printing=False):
dc.BeginDrawing()
dc.SetPen(wxPen('RED'))
dc.DrawRectangle(5, 5, 50, 50)
dc.SetPen(wxGREEN_PEN)
dc.DrawSpline(lst+[(100,100)])
- dc.DrawBitmap(self.bmp, 200, 20, true)
+ dc.DrawBitmap(self.bmp, 200, 20, True)
dc.SetTextForeground(wxColour(0, 0xFF, 0x80))
dc.DrawText("a bitmap", 200, 85)
+## dc.SetFont(wxFont(14, wxSWISS, wxNORMAL, wxNORMAL))
+## dc.SetTextForeground("BLACK")
+## dc.DrawText("TEST this STRING", 10, 200)
+## print dc.GetFullTextExtent("TEST this STRING")
+
font = wxFont(20, wxSWISS, wxNORMAL, wxNORMAL)
dc.SetFont(font)
dc.SetTextForeground(wxBLACK)
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
+ if not printing:
+ # This has troubles when used on a print preview in wxGTK,
+ # probably something to do with the pen styles and the scaling
+ # it does...
+ 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.SetCap(wxCAP_BUTT)
+ pen.SetDashes([1,2])
+ 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))
def OnLeftButtonEvent(self, event):
if event.LeftDown():
+ self.SetFocus()
self.SetXY(event)
self.curLine = []
self.CaptureMouse()
- self.drawing = true
+ self.drawing = True
elif event.Dragging() and self.drawing:
if BUFFERED:
self.lines.append(self.curLine)
self.curLine = []
self.ReleaseMouse()
- self.drawing = false
+ self.drawing = False
## This is an example of what to do for the EVT_MOUSEWHEEL event,
## delta = evt.GetWheelDelta()
## rot = evt.GetWheelRotation()
## linesPer = evt.GetLinesPerAction()
+## print delta, rot, linesPer
## ws = self.wheelScroll
## ws = ws + rot
## lines = ws / delta