comparison 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
comparison
equal deleted inserted replaced
186:f15c4f7c24e6 187:fbfd8e748ac0
50 class CursorWidget(Widget): 50 class CursorWidget(Widget):
51 """Mix-in widget to ensure that mouse_move is propogated to parents""" 51 """Mix-in widget to ensure that mouse_move is propogated to parents"""
52 52
53 cursor = HAND 53 cursor = HAND
54 54
55 def __init__(self, *args, **kwargs): 55 def __init__(self, screen, *args, **kwargs):
56 Widget.__init__(self, *args, **kwargs) 56 Widget.__init__(self, *args, **kwargs)
57 self._cursor_group = RenderUpdates() 57 self._cursor_group = RenderUpdates()
58 self._loaded_cursor = None 58 self._loaded_cursor = None
59 self.screen = screen
59 60
60 def enter_screen(self): 61 def enter_screen(self):
61 pygame.mouse.set_visible(0) 62 pygame.mouse.set_visible(0)
62 63
63 def leave_screen(self): 64 def leave_screen(self):
64 pygame.mouse.set_visible(1) 65 pygame.mouse.set_visible(1)
65 66
66 def draw_all(self, _surface): 67 def draw_all(self, _surface):
67 Widget.draw_all(self, _surface) 68 Widget.draw_all(self, _surface)
69 item = self.screen.state.tool
70 if item is None:
71 self.set_cursor(HAND)
72 else:
73 self.set_cursor(item.CURSOR)
68 surface = self.get_root().surface 74 surface = self.get_root().surface
69 if self.cursor != self._loaded_cursor: 75 if self.cursor != self._loaded_cursor:
70 self._loaded_cursor = self.cursor 76 self._loaded_cursor = self.cursor
71 if self.cursor is None: 77 if self.cursor is None:
72 pygame.mouse.set_visible(1) 78 pygame.mouse.set_visible(1)