Przeglądaj źródła

wxGUI: add support for png driver (cairo is default)

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@33114 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 16 lat temu
rodzic
commit
990da7ed13

+ 20 - 26
gui/wxpython/gui_modules/preferences.py

@@ -87,9 +87,9 @@ class Settings:
                 'displayFont' : {
                     'value' : ''
                     },
-                # 'driver': {
-                #    'type': 'default'
-                #    },
+                'driver': {
+                    'type': 'cairo'
+                    },
                 'compResolution' : {
                     'enabled' : False
                     },
@@ -506,7 +506,7 @@ class Settings:
         self.internalSettings['cmd']['verbosity']['choices'] = ('grassenv',
                                                                 'verbose',
                                                                 'quiet')
-#        self.internalSettings['display']['driver']['choices'] = ['default']
+        self.internalSettings['display']['driver']['choices'] = ['cairo', 'png']
         self.internalSettings['display']['statusbarMode']['choices'] = globalvar.MAP_DISPLAY_STATUSBAR_MODE
 
         self.internalSettings['nviz']['view'] = {}
@@ -972,29 +972,23 @@ class PreferencesDialog(wx.Dialog):
         #
         # display driver
         #
-        #         row = 0
-        #         gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
-        #                                          label=_("Display driver:")),
-        #                       flag=wx.ALIGN_LEFT |
-        #                       wx.ALIGN_CENTER_VERTICAL,
-        #                       pos=(row, 0))
-        #         listOfDrivers = self.settings.Get(group='display', key='driver', subkey='choices', internal=True)
-        #         # check if cairo is available
-        #         if 'cairo' not in listOfDrivers:
-        #             for line in gcmd.Command(['d.mon', '-l']).ReadStdOutput():
-        #                 if 'cairo' in line:
-        #                     listOfDrivers.append('cairo')
-        #                     break
-        #         driver = wx.Choice(parent=panel, id=wx.ID_ANY, size=(150, -1),
-        #                            choices=listOfDrivers,
-        #                            name="GetStringSelection")
-        #         driver.SetStringSelection(self.settings.Get(group='display', key='driver', subkey='type'))
-        #         self.winId['display:driver:type'] = driver.GetId()
+        row = 0
+        gridSizer.Add(item=wx.StaticText(parent=panel, id=wx.ID_ANY,
+                                         label=_("Display driver:")),
+                      flag=wx.ALIGN_LEFT |
+                      wx.ALIGN_CENTER_VERTICAL,
+                      pos=(row, 0))
+        listOfDrivers = self.settings.Get(group='display', key='driver', subkey='choices', internal=True)
+        driver = wx.Choice(parent=panel, id=wx.ID_ANY, size=(150, -1),
+                           choices=listOfDrivers,
+                           name="GetStringSelection")
+        driver.SetStringSelection(self.settings.Get(group='display', key='driver', subkey='type'))
+        self.winId['display:driver:type'] = driver.GetId()
+        
+        gridSizer.Add(item=driver,
+                      flag=wx.ALIGN_RIGHT,
+                      pos=(row, 1))
         
-        #         gridSizer.Add(item=driver,
-        #                       flag=wx.ALIGN_RIGHT,
-        #                       pos=(row, 1))
-
         #
         # Statusbar mode
         #

+ 7 - 1
gui/wxpython/gui_modules/render.py

@@ -850,7 +850,13 @@ class Map(object):
 	os.environ["GRASS_PNG_AUTO_WRITE"] = "TRUE"
 	os.environ["GRASS_COMPRESSION"] = "0"
 	os.environ["GRASS_TRUECOLOR"] = "TRUE"
-	os.environ["GRASS_RENDER_IMMEDIATE"] = "TRUE"
+        driver = UserSettings.Get(group='display', key='driver', subkey='type')
+        if driver == 'cairo':
+            os.environ["GRASS_RENDER_IMMEDIATE"] = "cairo"
+        elif driver == 'png':
+            os.environ["GRASS_RENDER_IMMEDIATE"] = "png"
+        else:
+            os.environ["GRASS_RENDER_IMMEDIATE"] = "TRUE"
         
         self._renderLayers(force, mapWindow, maps, masks, opacities)