Mercurial > pyntnclick
comparison gamelib/gamescreen.py @ 324:3476e8f3b100
Fixed mouse and cursor handling.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sat, 28 Aug 2010 13:30:44 +0200 |
parents | fd849354be58 |
children | 057e2a40c999 |
comparison
equal
deleted
inserted
replaced
323:0630a37cb371 | 324:3476e8f3b100 |
---|---|
83 # of what happens | 83 # of what happens |
84 result = self.state.check_enter_leave(self.screen) | 84 result = self.state.check_enter_leave(self.screen) |
85 handle_result(result, self) | 85 handle_result(result, self) |
86 | 86 |
87 def mouse_move(self, event): | 87 def mouse_move(self, event): |
88 self.state.highlight_override = False | |
88 if not self.subwidgets: | 89 if not self.subwidgets: |
89 self._mouse_move(event.pos) | 90 self._mouse_move(event.pos) |
90 | 91 |
91 def _mouse_move(self, pos): | 92 def _mouse_move(self, pos): |
92 self.state.mouse_move(pos, self.screen) | 93 self.state.highlight_override = False |
94 self.state.mouse_move(pos) | |
93 | 95 |
94 def show_message(self, message, style=None): | 96 def show_message(self, message, style=None): |
95 self.parent.cursor_highlight(False) | |
96 # Display the message as a modal dialog | 97 # Display the message as a modal dialog |
97 MessageDialog(self.screen, message, 60, style=style).present() | 98 MessageDialog(self.screen, message, 60, style=style).present() |
98 # queue a redraw to show updated state | 99 # queue a redraw to show updated state |
99 self.invalidate() | 100 self.invalidate() |
100 # The cursor could have gone anywhere | 101 # The cursor could have gone anywhere |
106 def show_detail(self, detail): | 107 def show_detail(self, detail): |
107 w, h = self.state.set_current_detail(detail) | 108 w, h = self.state.set_current_detail(detail) |
108 self.detail.set_image_rect(Rect(0, 0, w, h)) | 109 self.detail.set_image_rect(Rect(0, 0, w, h)) |
109 self.add_centered(self.detail) | 110 self.add_centered(self.detail) |
110 self.state.do_enter_detail() | 111 self.state.do_enter_detail() |
111 self.parent.cursor_highlight(False) | |
112 | 112 |
113 def clear_detail(self): | 113 def clear_detail(self): |
114 """Hide the detail view""" | 114 """Hide the detail view""" |
115 self.remove(self.detail) | 115 self.remove(self.detail) |
116 self.state.do_leave_detail() | 116 self.state.do_leave_detail() |
151 | 151 |
152 def mouse_move(self, event): | 152 def mouse_move(self, event): |
153 self._mouse_move(event.pos) | 153 self._mouse_move(event.pos) |
154 | 154 |
155 def _mouse_move(self, pos): | 155 def _mouse_move(self, pos): |
156 self.state.mouse_move_detail(self.global_to_local(pos), self.screen) | 156 self.state.highlight_override = False |
157 self.state.mouse_move_detail(self.global_to_local(pos)) | |
157 | 158 |
158 def show_message(self, message, style=None): | 159 def show_message(self, message, style=None): |
159 self.parent.show_message(message, style) | 160 self.parent.show_message(message, style) |
160 self.invalidate() | 161 self.invalidate() |
161 | 162 |
225 self.inventory.unselect() | 226 self.inventory.unselect() |
226 | 227 |
227 def begin_frame(self): | 228 def begin_frame(self): |
228 if self.running: | 229 if self.running: |
229 self.state_widget.animate() | 230 self.state_widget.animate() |
230 | |
231 def mouse_delta(self, event): | |
232 CursorWidget.mouse_delta(self, event) | |
233 if not self.state_widget.rect.collidepoint(event.pos): | |
234 self.cursor_highlight(False) |