view nagslang/widgets/text.py @ 33:d9b65cf72db4

Prettier resource loading module
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 01 Sep 2013 16:44:04 +0200
parents 58505d3482b6
children 40f618978c00
line wrap: on
line source

from nagslang.constants import FONT, FONT_SIZE
from nagslang.widgets.base import Widget
from nagslang.utils import convert_colour
from nagslang.resources import resources


class TextWidget(Widget):
    def __init__(self, pos, text, size=None, fontname=None, fontsize=None,
                 colour=None):
        super(TextWidget, self).__init__(pos, size)

        self.text = text
        self.fontname = fontname or FONT
        self.fontsize = fontsize or FONT_SIZE
        self.colour = convert_colour(colour or (0, 0, 0))

        self.prepare()

    def prepare(self):
        self.font = resources.get_font(self.fontname, self.fontsize)
        self.surface = self.font.render(self.text, True, self.colour)
        self.text_rect = self.surface.get_rect()
        if not self.size:
            self.rect.size = self.text_rect.size

    def draw(self, surface):
        if self.visible:
            self.do_prepare()
            surface.blit(self.surface, self.rect)