Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/window.py
diff options
context:
space:
mode:
authorWalter 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)
commit8a8e606b5a6d1888f4a31a5afff490b4629ebc29 (patch)
tree38bd847a749dff0879bfaefd41e44dd6fadc63c6 /window.py
parentfb0edf6cddb3223fd9e0b704abe213f16e2b9203 (diff)
convert to Cairo graphics
Diffstat (limited to 'window.py')
-rw-r--r--window.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/window.py b/window.py
index 60f6309..e72fe5a 100644
--- a/window.py
+++ b/window.py
@@ -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
#