Mercurial > boomslang
diff gamelib/gamescreen.py @ 160:a5a7bb2b4b9b
Fix mouse_move() handling after dismissing message.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Wed, 25 Aug 2010 08:09:59 +0200 |
parents | a039d3b81b3d |
children | 5184d30669b5 |
line wrap: on
line diff
--- a/gamelib/gamescreen.py Wed Aug 25 00:32:44 2010 +0200 +++ b/gamelib/gamescreen.py Wed Aug 25 08:09:59 2010 +0200 @@ -77,7 +77,10 @@ def mouse_move(self, event): if not self.subwidgets: - self.state.mouse_move(event.pos) + self._mouse_move(event.pos) + + def _mouse_move(self, pos): + self.state.mouse_move(pos) def show_message(self, message): self.parent.cursor_highlight(False) @@ -86,7 +89,10 @@ # queue a redraw to show updated state self.invalidate() # The cursor could have gone anywhere - self.state.current_scene.mouse_move(self.state.tool, mouse.get_pos()) + if self.subwidgets: + self.subwidgets[0]._mouse_move(mouse.get_pos()) + else: + self._mouse_move(mouse.get_pos()) def show_detail(self, detail): w, h = self.state.set_current_detail(detail) @@ -117,7 +123,10 @@ result.process(self) def mouse_move(self, event): - self.state.mouse_move_detail(self.global_to_local(event.pos)) + self._mouse_move(event.pos) + + def _mouse_move(self, pos): + self.state.mouse_move_detail(self.global_to_local(pos)) def show_message(self, message): self.parent.show_message(message)