Mercurial > boomslang
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) |