diff gamelib/cursor.py @ 187:fbfd8e748ac0

Remove screen reference from State.
author Jeremy Thurgood <firxen@gmail.com>
date Wed, 25 Aug 2010 16:45:06 +0200
parents 3b5cfb3f794e
children 6d93e04036c9
line wrap: on
line diff
--- a/gamelib/cursor.py	Wed Aug 25 16:24:55 2010 +0200
+++ b/gamelib/cursor.py	Wed Aug 25 16:45:06 2010 +0200
@@ -52,10 +52,11 @@
 
     cursor = HAND
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, screen, *args, **kwargs):
         Widget.__init__(self, *args, **kwargs)
         self._cursor_group = RenderUpdates()
         self._loaded_cursor = None
+        self.screen = screen
 
     def enter_screen(self):
         pygame.mouse.set_visible(0)
@@ -65,6 +66,11 @@
 
     def draw_all(self, _surface):
         Widget.draw_all(self, _surface)
+        item = self.screen.state.tool
+        if item is None:
+            self.set_cursor(HAND)
+        else:
+            self.set_cursor(item.CURSOR)
         surface = self.get_root().surface
         if self.cursor != self._loaded_cursor:
             self._loaded_cursor = self.cursor