45 lines
1012 B
Python
45 lines
1012 B
Python
|
|
||
|
import wx
|
||
|
|
||
|
CLIP = True
|
||
|
|
||
|
class TestPanel(wx.Panel):
|
||
|
def __init__(self, parent, *args):
|
||
|
wx.Panel.__init__(self, parent, *args)
|
||
|
self.Bind(wx.EVT_PAINT, self.OnPaint)
|
||
|
|
||
|
def OnPaint(self, evt):
|
||
|
pdc = wx.PaintDC(self)
|
||
|
gcdc = wx.GCDC(pdc)
|
||
|
|
||
|
for dc, y in [(gcdc, 10), (pdc, 40)]:
|
||
|
r = wx.Rect(10, y, 100, 20)
|
||
|
|
||
|
dc.SetPen(wx.Pen("red", 1))
|
||
|
dc.SetBrush(wx.Brush("light blue"))
|
||
|
|
||
|
if CLIP: dc.SetClippingRect(r)
|
||
|
dc.DrawRectangleRect(r)
|
||
|
dc.DestroyClippingRegion()
|
||
|
|
||
|
r.Offset((120, 0))
|
||
|
if CLIP: dc.SetClippingRect(r)
|
||
|
dc.DrawRoundedRectangleRect(r, 8)
|
||
|
dc.DestroyClippingRegion()
|
||
|
|
||
|
|
||
|
r.Offset((120, 0))
|
||
|
if CLIP: dc.SetClippingRect(r)
|
||
|
dc.DrawEllipseRect(r)
|
||
|
dc.DestroyClippingRegion()
|
||
|
|
||
|
|
||
|
app = wx.App(False)
|
||
|
frm = wx.Frame(None, title="wxGCDC Drawing Rectangles")
|
||
|
pnl = TestPanel(frm)
|
||
|
frm.Show()
|
||
|
app.MainLoop()
|
||
|
|
||
|
|
||
|
|