diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-11-20 19:46:23 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-11-20 19:46:23 (GMT) |
commit | 8a8e606b5a6d1888f4a31a5afff490b4629ebc29 (patch) | |
tree | 38bd847a749dff0879bfaefd41e44dd6fadc63c6 /window.py | |
parent | fb0edf6cddb3223fd9e0b704abe213f16e2b9203 (diff) |
convert to Cairo graphics
Diffstat (limited to 'window.py')
-rw-r--r-- | window.py | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -144,10 +144,21 @@ def distance(start,stop): # # Repaint # -def _expose_cb(win, event, tw): - tw.sprites.redraw_sprites() +def _expose_cb(tw, win, event): + ''' Callback to handle window expose events ''' + tw.do_expose_event(event) return True +def do_expose_event(tw, event): + ''' Handle the expose-event by drawing ''' + # Restrict Cairo to the exposed area + cr = tw.canvas.window.cairo_create() + cr.rectangle(event.area.x, event.area.y, + event.area.width, event.area.height) + cr.clip() + # Refresh sprite list + tw.sprites.redraw_sprites(cr=cr) + # # callbacks # |