comparison gamelib/gamescreen.py @ 76:1a5fdc225939

Add description rendering to scene rendering.
author Simon Cross <hodgestar+bzr@gmail.com>
date Mon, 23 Aug 2010 22:11:41 +0200
parents 75e1040a1121
children 6bfebfbce42e
comparison
equal deleted inserted replaced
75:a62db6d10009 76:1a5fdc225939
47 class StateWidget(CursorWidget): 47 class StateWidget(CursorWidget):
48 48
49 def __init__(self, state): 49 def __init__(self, state):
50 Widget.__init__(self, Rect(0, 0, 800, 600 - BUTTON_SIZE)) 50 Widget.__init__(self, Rect(0, 0, 800, 600 - BUTTON_SIZE))
51 self.state = state 51 self.state = state
52 # current mouse-over thing description
53 self.description = None
54 52
55 def draw(self, surface): 53 def draw(self, surface):
56 self.state.draw(surface) 54 self.state.draw(surface)
57 if self.description:
58 print self.description
59 msg = self.state.get_message()
60 if msg:
61 # FIXME: add some timer to invalidate msgs
62 print msg
63 self.state.clear_message()
64 desc = self.state.get_description()
65 if desc:
66 print desc
67 55
68 def mouse_down(self, event): 56 def mouse_down(self, event):
69 self.state.interact(event.pos) 57 self.state.interact(event.pos)
70 58
71 def mouse_move(self, event): 59 def mouse_move(self, event):
72 self.state.mouse_move(event.pos) 60 self.state.mouse_move(event.pos)
73 if self.state.check_for_new_description(event.pos):
74 # queue a redraw
75 self.invalidate()
76 CursorWidget.mouse_move(self, event) 61 CursorWidget.mouse_move(self, event)
77 62
78 63
79 class DetailWindow(CursorWidget): 64 class DetailWindow(CursorWidget):
80 def mouse_down(self, e): 65 def mouse_down(self, e):