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'