Better menus, no default game.
[naja.git] / naja / widgets / text.py
index 4343d015e2519f77b48accf314f1d99bf21fe65d..9eba104065a18a2a84a4a947f683811f8c2e9241 100644 (file)
@@ -37,16 +37,22 @@ class Glyph(object):
 class TextWidget(Widget):
 
     def __init__(self, pos, text, size=None, fontname=None, fontsize=None,
-                 colour=None):
+                 colour=None, unselectable_colour=None):
         super(TextWidget, self).__init__(pos, size)
 
         self.text = text
         self.fontname = fontname or FONT
         self.fontsize = (fontsize or FONT_SIZE) // EIGHT_BIT_SCALE
         self.colour = convert_colour(colour or PALETTE.BLACK)
+        if unselectable_colour is not None:
+            unselectable_colour = convert_colour(unselectable_colour)
+        self.unselectable_colour = unselectable_colour
 
     def render_line(self, text):
-        text_surf = self.font.render(text, True, self.colour)
+        colour = self.colour
+        if not self.is_selectable() and self.unselectable_colour is not None:
+            colour = self.unselectable_colour
+        text_surf = self.font.render(text, True, colour)
         text_rect = text_surf.get_rect()
         return pygame.transform.scale(
             text_surf, (text_rect.width * EIGHT_BIT_SCALE,