Draw locks on infobar above the text
authorNeil <neil@dip.sun.ac.za>
Thu, 15 May 2014 08:52:44 +0000 (10:52 +0200)
committerNeil <neil@dip.sun.ac.za>
Thu, 15 May 2014 08:52:44 +0000 (10:52 +0200)
naja/widgets/info_area.py

index 25dd6537361f98aa7b88c0c9894a8694a01b51e1..866fb86ba2bea38049163c6548766907f7f2cffb 100644 (file)
@@ -70,19 +70,11 @@ class InfoAreaWidget(Widget):
         self.surface.blit(hint.surface, (4, y_offset))
 
     def prepare_action(self, choice, action, y_offset):
-        if action.required_bits:
-            img_name = BIT_MAP[action.required_bits].replace(
-                '.png', '_small.png')
-            img = resources.get_image(img_name,
-                                      transforms=(EIGHT_BIT,))
-            self.surface.blit(img, (0, y_offset))
-            y_offset += 8
         text = TextBoxWidget(
-            (12, y_offset), action.get_text(),
-            box_width=(INFO_SIZE[0] - 12) // EIGHT_BIT_SCALE,
+            (18, y_offset), action.get_text(),
+            box_width=(INFO_SIZE[0] - 16) // EIGHT_BIT_SCALE,
             fontsize=28)
         text.render(self.surface)
-
         # self.chosen may be None, in which case we don't draw the border.
         if choice == self.chosen:
             if not action.check_available(self.state.player):
@@ -92,8 +84,14 @@ class InfoAreaWidget(Widget):
             bottom = y_offset + text.surface.get_rect().height
             right = text.surface.get_rect().width + 12
             pygame.draw.lines(self.surface, colour, True,
-                              [(12, y_offset), (right, y_offset),
-                               (right, bottom), (12, bottom)], 4)
+                              [(18, y_offset), (right, y_offset),
+                               (right, bottom), (18, bottom)], 4)
+        if action.required_bits:
+            img_name = BIT_MAP[action.required_bits].replace(
+                '.png', '_small.png')
+            img = resources.get_image(img_name,
+                                      transforms=(EIGHT_BIT,))
+            self.surface.blit(img, (0, y_offset))
         return y_offset + text.surface.get_rect().height + 16
 
     def set_position(self, position):