Mercurial > boomslang
comparison 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 |
comparison
equal
deleted
inserted
replaced
159:ef4da30f0f38 | 160:a5a7bb2b4b9b |
---|---|
75 if result: | 75 if result: |
76 result.process(self) | 76 result.process(self) |
77 | 77 |
78 def mouse_move(self, event): | 78 def mouse_move(self, event): |
79 if not self.subwidgets: | 79 if not self.subwidgets: |
80 self.state.mouse_move(event.pos) | 80 self._mouse_move(event.pos) |
81 | |
82 def _mouse_move(self, pos): | |
83 self.state.mouse_move(pos) | |
81 | 84 |
82 def show_message(self, message): | 85 def show_message(self, message): |
83 self.parent.cursor_highlight(False) | 86 self.parent.cursor_highlight(False) |
84 # Display the message as a modal dialog | 87 # Display the message as a modal dialog |
85 MessageDialog(message, 60).present() | 88 MessageDialog(message, 60).present() |
86 # queue a redraw to show updated state | 89 # queue a redraw to show updated state |
87 self.invalidate() | 90 self.invalidate() |
88 # The cursor could have gone anywhere | 91 # The cursor could have gone anywhere |
89 self.state.current_scene.mouse_move(self.state.tool, mouse.get_pos()) | 92 if self.subwidgets: |
93 self.subwidgets[0]._mouse_move(mouse.get_pos()) | |
94 else: | |
95 self._mouse_move(mouse.get_pos()) | |
90 | 96 |
91 def show_detail(self, detail): | 97 def show_detail(self, detail): |
92 w, h = self.state.set_current_detail(detail) | 98 w, h = self.state.set_current_detail(detail) |
93 self.detail.set_image_rect(Rect(0, 0, w, h)) | 99 self.detail.set_image_rect(Rect(0, 0, w, h)) |
94 self.add_centered(self.detail) | 100 self.add_centered(self.detail) |
115 result = self.state.interact_detail(self.global_to_local(event.pos)) | 121 result = self.state.interact_detail(self.global_to_local(event.pos)) |
116 if result: | 122 if result: |
117 result.process(self) | 123 result.process(self) |
118 | 124 |
119 def mouse_move(self, event): | 125 def mouse_move(self, event): |
120 self.state.mouse_move_detail(self.global_to_local(event.pos)) | 126 self._mouse_move(event.pos) |
127 | |
128 def _mouse_move(self, pos): | |
129 self.state.mouse_move_detail(self.global_to_local(pos)) | |
121 | 130 |
122 def show_message(self, message): | 131 def show_message(self, message): |
123 self.parent.show_message(message) | 132 self.parent.show_message(message) |
124 self.invalidate() | 133 self.invalidate() |
125 | 134 |