Default to using full box_width
[naja.git] / naja / widgets / text.py
index 6862b968907ec7132a15bc1a01f509e63d446e45..3df09488e3a170502426b79d7724b196d2d22c32 100644 (file)
@@ -133,6 +133,8 @@ class TextBoxWidget(TextWidget):
                                                        PALETTE.BLACK))
         self.box_width = kwargs.pop('box_width', 0)
 
+        self.full_width = kwargs.pop('full_width', True)
+
         super(TextBoxWidget, self).__init__(*args, **kwargs)
 
     def lines(self, image_map):
@@ -219,6 +221,9 @@ class TextBoxWidget(TextWidget):
             width = max(width, line_rect.width + self.padding * 2)
             height += line_rect.height
 
+        if self.full_width:
+            width = max(width, self.box_width)
+
         self.surface = pygame.surface.Surface((width, height),
                                               pygame.locals.SRCALPHA)
         self.surface.fill(self.bg_colour)
@@ -226,6 +231,9 @@ class TextBoxWidget(TextWidget):
 
         x, y = self.padding, self.padding
         for line_surface in rendered_lines:
+            if self.centre:
+                x = (width - line_surface.get_rect().width) / 2
+                x += self.padding
             self.surface.blit(line_surface, (x, y))
             y += line_surface.get_rect().height
         for pos, img in image_map.items():