+++ /dev/null
-import wx
-
-class TestPanel(wx.Panel):
- def __init__(self, *args, **kw):
- wx.Panel.__init__(self, *args, **kw)
- self.Bind(wx.EVT_PAINT, self.OnPaint)
-
- def OnPaint(self, evt):
- gc = wx.GraphicsContext.Create(wx.PaintDC(self))
-
- pen = wx.Pen("navy", 2)
- gc.SetPen(pen)
- brush = wx.Brush((255,32,32,128))
- gc.SetBrush(brush)
- gc.PushState()
-
- path = gc.CreatePath()
- path.MoveToPoint(50, 50)
- path.AddLineToPoint(25,25)
- path.AddLineToPoint(50,25)
- path.AddLineToPoint(50,50)
- path.CloseSubpath()
-
- gc.DrawPath(path)
-
- gc.Scale(2,2)
- gc.Translate(10,5)
- gc.DrawPath(path)
-
- gc.Translate(50,0)
- gc.FillPath(path)
- gc.Translate(0,5)
- gc.StrokePath(path)
- gc.Translate(0,5)
-
- brush = wx.Brush((32,32,255,128))
- gc.SetBrush(brush)
-
- gc.FillPath(path)
- gc.Translate(50,0)
- gc.DrawPath(path)
-
- gc.PopState()
-
- points = [ (5.2, 5.9),
- (50, 50),
- (35, 50),
- (25,40),
- wx.Point2D(20.5,50.9),
- wx.Point2D(5,25),
- (5,6)
- ]
-
- gc.Translate(0, 150)
- gc.DrawLines(points)
- gc.Translate(75, 0)
- gc.StrokeLines(points)
-
-
- begin = [ (0,0),
- (0,10),
- (0,20),
- (0,30),
- (0,40),
- (0,50),
- ]
-
- end = [ (50,0),
- (50,10),
- (50,20),
- (50,30),
- (50,40),
- (50,50),
- ]
-
- # in a floating point coordinate system the center of the
- # pixel is actually at x+0.5, y+0.5, so with anti-aliasing
- # turned on we'll get a crisper line by positioning our line
- # segments at the 0.5 offset. For this test we'll just let
- # the GC do the translation for us.
- gc.Translate(0.5, 0.5)
-
- pen = wx.Pen("purple", 1)
- gc.SetPen(pen)
-
- gc.Translate(75, 0)
- gc.StrokeLineSegements(begin, end)
-
- gc.Translate(75, 0)
- gc.Scale(2,2)
- gc.StrokeLineSegements(begin, end)
- gc.DrawLines(points)
-
- del path
-
-
-app = wx.App(False)
-frm = wx.Frame(None)
-pnl = TestPanel(frm)
-frm.Show()
-app.MainLoop()