comparison gamelib/gamescreen.py @ 121:2f672e98d488

Added border to DetailWindow.
author Jeremy Thurgood <firxen@gmail.com>
date Tue, 24 Aug 2010 17:33:37 +0200
parents 48d24a48d0ce
children d2f84f22def0
comparison
equal deleted inserted replaced
120:48d24a48d0ce 121:2f672e98d488
107 if not self.subwidgets: 107 if not self.subwidgets:
108 self.state.mouse_move(event.pos) 108 self.state.mouse_move(event.pos)
109 109
110 def show_detail(self, detail): 110 def show_detail(self, detail):
111 w, h = self.state.set_current_detail(detail) 111 w, h = self.state.set_current_detail(detail)
112 self.detail.set_rect(Rect(0, 0, w, h)) 112 self.detail.set_image_rect(Rect(0, 0, w, h))
113 self.add_centered(self.detail) 113 self.add_centered(self.detail)
114 114
115 115
116 class DetailWindow(Widget): 116 class DetailWindow(Widget):
117 def __init__(self, state): 117 def __init__(self, state):
118 Widget.__init__(self) 118 Widget.__init__(self)
119 self.state = state 119 self.state = state
120 self.border_width = 5
121 self.border_color = (0, 0, 0)
122
123 def set_image_rect(self, rect):
124 bw = self.border_width
125 self.image_rect = rect
126 self.image_rect.topleft = (bw, bw)
127 self.set_rect(rect.inflate(bw*2, bw*2))
120 128
121 def draw(self, surface): 129 def draw(self, surface):
122 self.state.draw_detail(surface) 130 self.state.draw_detail(surface.subsurface(self.image_rect))
123 131
124 def mouse_down(self, event): 132 def mouse_down(self, event):
125 result = self.state.interact_detail(self.global_to_local(event.pos)) 133 result = self.state.interact_detail(self.global_to_local(event.pos))
126 if result: 134 if result:
127 if result.sound: 135 if result.sound: