+
+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()
+
+
+