Mercurial > sypikslang
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)) |