A TextWidget
[naja.git] / naja / widgets / text.py
1 from naja.constants import FONT, FONT_SIZE
2 from naja.widgets.base import Widget
3 from naja.resources import resources
4
5
6 class TextWidget(Widget):
7     def __init__(self, pos, text, size=None, fontname=None, fontsize=None,
8                  colour=None):
9         super(TextWidget, self).__init__(pos, size)
10
11         self.text = text
12         self.fontname = fontname or FONT
13         self.fontsize = fontsize or FONT_SIZE
14         self.colour = colour or (0, 0, 0)
15
16     def _prepare(self):
17         self.font = resources.get_font(self.fontname, self.fontsize)
18         self.surface = self.font.render(self.text, True, self.colour)
19         self.size = self.surface.get_rect().size
20
21     def draw(self, surface):
22         self.prepare()
23         surface.blit(self.surface, self.rect)