Browse Source

wxGUI/mapwin: fix rendered image size according actual map display size (#1064)

(e.g. d.mon start=wx0 && d.rast elevation && d.legend elevation && d.barscale)
Tomas Zigo 4 năm trước cách đây
mục cha
commit
297c43fe8b

+ 4 - 0
gui/wxpython/core/render.py

@@ -529,6 +529,10 @@ class RenderMapMgr(wx.EvtHandler):
                 # is rendered but its size differes from current env
                 if not layer.forceRender and (size[0] != w or size[1] != h):
                     layer.forceRender = True
+            # Force render cmd (e.g. d.mon start=wx0 && d.rast elevation)
+            # mapfile size is default d.mon size 720 x 480
+            elif not size and layer.IsRendered():
+                layer.forceRender = True
 
     def UpdateRenderEnv(self, env):
         self._render_env.update(env)

+ 1 - 1
gui/wxpython/mapdisp/main.py

@@ -507,7 +507,7 @@ class MapApp(wx.App):
             toolbars.append('map')
 
         if __name__ == "__main__":
-            self.cmdTimeStamp = os.path.getmtime(monFile['cmd'])
+            self.cmdTimeStamp = 0 # fake initial timestamp
             self.Map = DMonMap(giface=self._giface, cmdfile=monFile['cmd'],
                                mapfile=monFile['map'])
 

+ 1 - 1
gui/wxpython/mapwin/buffered.py

@@ -876,7 +876,7 @@ class BufferedMapWindow(MapWindowBase, Window):
         updTime = time.time()
         self.lastUpdateMapReq = updTime
 
-        if self.updDelay <= 0.0:
+        if self.updDelay < 0.0:
             self._runUpdateMap()
         else:
             self.timerRunId = self.renderTimingThr.GetId()