diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2014-09-12 21:04:47 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2014-09-12 21:04:47 (GMT) |
commit | e40924288954679b718fe000c51a29c2e398a148 (patch) | |
tree | e3604c929c464387fc5fca44b68a91ceb9cb28bc /simplecairodraw.py | |
parent | 566ee052c69ca02427f2874b5bc19e8577dd6b0f (diff) |
Many more tests
Diffstat (limited to 'simplecairodraw.py')
-rw-r--r-- | simplecairodraw.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/simplecairodraw.py b/simplecairodraw.py new file mode 100644 index 0000000..9b87aeb --- /dev/null +++ b/simplecairodraw.py @@ -0,0 +1,54 @@ +#!/usr/bin/python + +# ZetCode PyGTK tutorial +# +# This code example draws basic shapes +# with the cairo library +# +# author: jan bodnar +# website: zetcode.com +# last edited: February 2009 + +import gtk +import math + +class PyApp(gtk.Window): + + def __init__(self): + super(PyApp, self).__init__() + + self.set_title("Basic shapes") + self.set_size_request(390, 240) + self.set_position(gtk.WIN_POS_CENTER) + + self.connect("destroy", gtk.main_quit) + + darea = gtk.DrawingArea() + darea.connect("expose-event", self.expose) + self.add(darea) + + self.show_all() + + def expose(self, widget, event): + + cr = widget.window.cairo_create() + cr.set_source_rgb(0.6, 0.6, 0.6) + + cr.rectangle(20, 20, 120, 80) + cr.rectangle(180, 20, 80, 80) + cr.fill() + + cr.arc(330, 60, 40, 0, 2*math.pi) + cr.fill() + + cr.arc(90, 160, 40, math.pi/4, math.pi) + cr.fill() + + cr.translate(220, 180) + cr.scale(1, 0.7) + cr.arc(0, 0, 50, 0, 2*math.pi) + cr.fill() + + +PyApp() +gtk.main() |