comparison gamelib/gui_base.py @ 62:38f41d046c6f

Make button font a parameter. Tweak indication of points to be spent
author Neil Muller <drnlmuller@gmail.com>
date Tue, 08 May 2012 17:29:02 +0200
parents 86d83dcb7d42
children 24f0707695b4
comparison
equal deleted inserted replaced
61:a253fae32a6f 62:38f41d046c6f
150 self.set_state('NORMAL') 150 self.set_state('NORMAL')
151 151
152 152
153 class TextButton(Button): 153 class TextButton(Button):
154 154
155 def __init__(self, rect, normal_drawable, down_drawable, text): 155 def __init__(self, rect, normal_drawable, down_drawable, text, font,
156 shadow):
156 super(TextButton, self).__init__(rect, normal_drawable, down_drawable) 157 super(TextButton, self).__init__(rect, normal_drawable, down_drawable)
157 self.surface = Surface((rect[2], rect[3])) 158 self.surface = Surface((rect[2], rect[3]))
158 self.text = text 159 self.text = text
160 self.font = font
161 self.shadow = shadow
159 self._draw_text() 162 self._draw_text()
160 163
161 def _draw_text(self): 164 def _draw_text(self):
162 font_large.set_bold(True) 165 self.font.set_bold(True)
163 self.text_surface = font_large.render(self.text, True, (128, 128, 128)) 166 self.text_surface = self.font.render(self.text, True, (128, 128, 128))
164 shadow = font_large.render(self.text, True, (0, 0, 0)) 167 if self.shadow:
165 font_large.set_bold(False) 168 shadow = self.font.render(self.text, True, (0, 0, 0))
166 self.text_surface.blit(shadow, (-2, -2)) 169 self.text_surface.blit(shadow, (-2, -2))
167 size = font_large.size(self.text) 170 self.font.set_bold(False)
171 size = self.font.size(self.text)
168 self.text_offset = ((self.rect[2] - size[0]) / 2, 172 self.text_offset = ((self.rect[2] - size[0]) / 2,
169 (self.rect[3] - size[1]) / 2) 173 (self.rect[3] - size[1]) / 2)
170 174
171 def draw(self, surface): 175 def draw(self, surface):
172 self.surface.fill((0, 0, 0, 0)) 176 self.surface.fill((0, 0, 0, 0))