Mercurial > pyntnclick
changeset 407:c7a6846262e3
Fix cursor handling after message dismissal.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 28 Aug 2010 22:01:03 +0200 |
parents | 90ae05f25793 |
children | 308a433c4713 |
files | gamelib/gamescreen.py gamelib/widgets.py |
diffstat | 2 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gamelib/gamescreen.py Sat Aug 28 21:51:26 2010 +0200 +++ b/gamelib/gamescreen.py Sat Aug 28 22:01:03 2010 +0200 @@ -24,6 +24,7 @@ def __init__(self, screen): PaletteView.__init__(self, (BUTTON_SIZE, BUTTON_SIZE), 1, 6, scrolling=True) + self.screen = screen self.state = screen.state self.state_widget = screen.state_widget @@ -44,6 +45,12 @@ else: self.state.set_tool(self.state.inventory[item_no]) + def mouse_down(self, event): + if event.button != 1: + self.state.cancel_doodah(self.screen) + else: + PaletteView.handle_mouse(self, event) + def item_is_selected(self, item_no): return self.state.tool is self.state.inventory[item_no]
--- a/gamelib/widgets.py Sat Aug 28 21:51:26 2010 +0200 +++ b/gamelib/widgets.py Sat Aug 28 22:01:03 2010 +0200 @@ -10,6 +10,7 @@ from albow.resource import get_font, get_image from pygame.color import Color from pygame.rect import Rect +from pygame import mouse from constants import BUTTON_SIZE from cursor import CursorWidget @@ -120,6 +121,9 @@ def mouse_down(self, event): self.dismiss() + self.screen.state_widget._mouse_move(mouse.get_pos()) + for widget in self.screen.state_widget.subwidgets: + widget._mouse_move(mouse.get_pos()) def cursor_highlight(self): return False