comparison gamelib/gui_base.py @ 55:86d83dcb7d42

Make text drawing easier to poke at for subclasses
author Neil Muller <drnlmuller@gmail.com>
date Mon, 07 May 2012 22:53:18 +0200
parents d82d3e54a4ef
children 38f41d046c6f
comparison
equal deleted inserted replaced
54:168cfac9a445 55:86d83dcb7d42
154 154
155 def __init__(self, rect, normal_drawable, down_drawable, text): 155 def __init__(self, rect, normal_drawable, down_drawable, text):
156 super(TextButton, self).__init__(rect, normal_drawable, down_drawable) 156 super(TextButton, self).__init__(rect, normal_drawable, down_drawable)
157 self.surface = Surface((rect[2], rect[3])) 157 self.surface = Surface((rect[2], rect[3]))
158 self.text = text 158 self.text = text
159 self._draw_text()
160
161 def _draw_text(self):
159 font_large.set_bold(True) 162 font_large.set_bold(True)
160 self.text_surface = font_large.render(self.text, True, (128, 128, 128)) 163 self.text_surface = font_large.render(self.text, True, (128, 128, 128))
161 shadow = font_large.render(self.text, True, (0, 0, 0)) 164 shadow = font_large.render(self.text, True, (0, 0, 0))
162 font_large.set_bold(False) 165 font_large.set_bold(False)
163 self.text_surface.blit(shadow, (-2, -2)) 166 self.text_surface.blit(shadow, (-2, -2))
164 size = font_large.size(self.text) 167 size = font_large.size(self.text)
165 self.text_offset = ((rect[2] - size[0]) / 2, (rect[3] - size[1]) / 2) 168 self.text_offset = ((self.rect[2] - size[0]) / 2,
169 (self.rect[3] - size[1]) / 2)
166 170
167 def draw(self, surface): 171 def draw(self, surface):
168 self.surface.fill((0, 0, 0, 0)) 172 self.surface.fill((0, 0, 0, 0))
169 super(TextButton, self).draw(self.surface) 173 super(TextButton, self).draw(self.surface)
170 self.surface.blit(self.text_surface, self.text_offset) 174 self.surface.blit(self.text_surface, self.text_offset)