Mercurial > boomslang
comparison gamelib/cursor.py @ 114:13d8cb1d5962
Better cursor handling using draw_all() and mouse_delta().
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Tue, 24 Aug 2010 14:51:22 +0200 |
parents | ab11689aec36 |
children | 5e704ee7b84b |
comparison
equal
deleted
inserted
replaced
113:1a55d10c0469 | 114:13d8cb1d5962 |
---|---|
26 def __init__(self, *args, **kwargs): | 26 def __init__(self, *args, **kwargs): |
27 Widget.__init__(self, *args, **kwargs) | 27 Widget.__init__(self, *args, **kwargs) |
28 self._cursor_group = RenderUpdates() | 28 self._cursor_group = RenderUpdates() |
29 self._cursor_name = '' | 29 self._cursor_name = '' |
30 | 30 |
31 def draw_over(self, _surface): | 31 def draw_all(self, _surface): |
32 Widget.draw_over(self, _surface) | 32 Widget.draw_all(self, _surface) |
33 surface = self.get_root().surface | 33 surface = self.get_root().surface |
34 if self.rect.collidepoint(mouse.get_pos()): | 34 if self.rect.collidepoint(mouse.get_pos()): |
35 cursor = self.get_sprite_cursor() | 35 cursor = self.get_sprite_cursor() |
36 if cursor != self._cursor_name: | 36 if cursor != self._cursor_name: |
37 if self.get_sprite_cursor() is None: | 37 if self.get_sprite_cursor() is None: |
43 self._cursor_group.add(CursorSprite(cursor)) | 43 self._cursor_group.add(CursorSprite(cursor)) |
44 if cursor is not None: | 44 if cursor is not None: |
45 self._cursor_group.update() | 45 self._cursor_group.update() |
46 self._cursor_group.draw(surface) | 46 self._cursor_group.draw(surface) |
47 | 47 |
48 def mouse_move(self, event): | 48 def mouse_delta(self, event): |
49 self.invalidate() | 49 self.invalidate() |
50 | 50 |
51 def get_sprite_cursor(self): | 51 def get_sprite_cursor(self): |
52 return 'hand' | 52 return 'hand' |