changeset 396:b3df20c76afd

Pass layout hint to overlays
author Neil Muller <drnlmuller@gmail.com>
date Sat, 07 Sep 2013 01:05:18 +0200
parents 450081926426
children a08965437df2
files nagslang/render.py nagslang/screens/area.py
diffstat 2 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/nagslang/render.py	Sat Sep 07 01:03:55 2013 +0200
+++ b/nagslang/render.py	Sat Sep 07 01:05:18 2013 +0200
@@ -166,7 +166,7 @@
     def set_game_object(self, game_object):
         self.game_object = game_object
 
-    def render(self, surface, display_offset):
+    def render(self, surface, display_offset, max_width):
         pass
 
     def is_visible(self):
@@ -178,7 +178,7 @@
         self.text = text
         self.widget = LabelWidget((20, 20), self.text)
 
-    def render(self, surface, display_offset):
+    def render(self, surface, display_offset, max_width):
         x, y = 20, 20
         if display_offset[0] < 0:
             x += abs(display_offset[0])
--- a/nagslang/screens/area.py	Sat Sep 07 01:03:55 2013 +0200
+++ b/nagslang/screens/area.py	Sat Sep 07 01:05:18 2013 +0200
@@ -214,9 +214,11 @@
             drawable.render(mysurface)
         render_rect = self._calc_viewport(mysurface, surface)
         surface.blit(mysurface, (0, 0), render_rect)
+        # Maximum width we allow for overlays
+        max_width = min(render_rect.width, mysurface.get_width())
         for overlay in self._level.overlay_drawables:
             if overlay.is_visible():
-                overlay.render(surface, render_rect.topleft)
+                overlay.render(surface, render_rect.topleft, max_width)
         self.render_health_bar(surface)
 
     def tick_protagonist(self):