- 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([0, 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))
+ 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)