From 4d27f42c6ce2ae699df500caef81dcf46c16bb8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Mon, 28 Nov 2016 19:35:53 +0100 Subject: [PATCH] renderer: implement wall shadows with opacity --- src/c3nav/mapdata/render/renderer.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/c3nav/mapdata/render/renderer.py b/src/c3nav/mapdata/render/renderer.py index 3a528ac0..e629095e 100644 --- a/src/c3nav/mapdata/render/renderer.py +++ b/src/c3nav/mapdata/render/renderer.py @@ -22,7 +22,7 @@ class LevelRenderer(): ) @staticmethod - def polygon_svg(geometry, fill_color=None, stroke_width=0.0, stroke_color=None, filter=None): + def polygon_svg(geometry, fill_color=None, fill_opacity=None, stroke_width=0.0, stroke_color=None, filter=None): element = ET.fromstring(scale(geometry, xfact=32, yfact=32, origin=(0, 0)).svg(0, fill_color or '#FFFFFF')) if element.tag != 'g': new_element = ET.Element('g') @@ -37,6 +37,9 @@ class LevelRenderer(): path.attrib.pop('fill') path.set('fill-opacity', '0') + if fill_opacity is not None: + path.set('fill-opacity', str(fill_opacity)) + if stroke_color is not None: path.set('stroke', stroke_color) elif 'stroke' in path.attrib: @@ -71,7 +74,8 @@ class LevelRenderer(): fill_color='#DCE6DC')) contents.append(self.polygon_svg(self.level.geometries.walls_shadow, - fill_color='#CCCCCC')) + fill_color='#000000', + fill_opacity=0.05)) contents.append(self.polygon_svg(self.level.geometries.doors, fill_color='#FFFFFF',