Some random test apps that I've been playing with
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
101
wxPython/tests/test_gc.py
Normal file
101
wxPython/tests/test_gc.py
Normal file
@@ -0,0 +1,101 @@
|
||||
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()
|
Reference in New Issue
Block a user