Mercurial > boomslang
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: |