From e7d921e6b5f0ca7c3e707ea684915686aae9e262 Mon Sep 17 00:00:00 2001
From: "Egli Adrian (IT-SCI-API-PFI)" <adrian.egli@sbb.ch>
Date: Wed, 29 May 2019 13:58:27 +0200
Subject: [PATCH] cairo support windows solved

---
 flatland/utils/graphics_layer.py | 12 ------------
 flatland/utils/graphics_pil.py   | 17 +++++++++++++++--
 flatland/utils/rendertools.py    |  1 +
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/flatland/utils/graphics_layer.py b/flatland/utils/graphics_layer.py
index 4dd5179e..327cf4f6 100644
--- a/flatland/utils/graphics_layer.py
+++ b/flatland/utils/graphics_layer.py
@@ -2,18 +2,6 @@
 import matplotlib.pyplot as plt
 from numpy import array
 
-import os
-if os.name=='nt':
-    import site
-    import ctypes.util
-    default_os_path = os.environ['PATH']
-    os.environ['PATH'] = ''
-    for s in site.getsitepackages():
-        os.environ['PATH'] = os.environ['PATH'] + ';' + s + '\\cairo'
-    os.environ['PATH'] = os.environ['PATH'] + ';' + default_os_path
-    if ctypes.util.find_library('cairo') is not None:
-        print("cairo installed: OK")
-
 class GraphicsLayer(object):
     def __init__(self):
         pass
diff --git a/flatland/utils/graphics_pil.py b/flatland/utils/graphics_pil.py
index 96951c83..6fb83844 100644
--- a/flatland/utils/graphics_pil.py
+++ b/flatland/utils/graphics_pil.py
@@ -6,8 +6,21 @@ import numpy as np
 # from flatland.utils.svg import Track, Zug
 import time
 import io
-
-
+import os
+
+def enable_windows_cairo_support():
+    if os.name=='nt':
+        import site
+        import ctypes.util
+        default_os_path = os.environ['PATH']
+        os.environ['PATH'] = ''
+        for s in site.getsitepackages():
+            os.environ['PATH'] = os.environ['PATH'] + ';' + s + '\\cairo'
+        os.environ['PATH'] = os.environ['PATH'] + ';' + default_os_path
+        if ctypes.util.find_library('cairo') is not None:
+            print("cairo installed: OK")
+
+enable_windows_cairo_support()
 from cairosvg import svg2png
 
 from IPython.display import SVG
diff --git a/flatland/utils/rendertools.py b/flatland/utils/rendertools.py
index b8dd5cde..14a2de1f 100644
--- a/flatland/utils/rendertools.py
+++ b/flatland/utils/rendertools.py
@@ -12,6 +12,7 @@ import numpy as np
 
 # TODO: suggested renaming to RailEnvRenderTool, as it will only work with RailEnv!
 
+import os
 
 class MPLGL(GraphicsLayer):
     def __init__(self, width, height):
-- 
GitLab