Commit 8e3344855bacb9b6a46ed0b927fca633e0f448e8

Authored by Thiago Franco de Moraes
1 parent 5c2aa651

Better Windows support

Showing 1 changed file with 7 additions and 2 deletions   Show diff stats
invesalius/data/viewer_slice.py
... ... @@ -192,6 +192,7 @@ class CanvasRendererCTX:
192 192 self.image = wx.ImageFromBuffer(w, h, self.rgb, self.alpha)
193 193  
194 194 def OnPaint(self, evt, obj):
  195 + self._array[:] = 0
195 196 size = self.canvas_renderer.GetSize()
196 197 w, h = size
197 198 if self._size != size:
... ... @@ -219,17 +220,20 @@ class CanvasRendererCTX:
219 220 gc.SetBrush(brush)
220 221 gc.Scale(1, -1)
221 222  
  223 + modified = False
222 224 for (m, mr) in self.viewer.measures.get(self.viewer.orientation, self.viewer.slice_data.number):
223 225 if not m.visible:
224 226 continue
225 227 mr.draw_to_canvas(gc, self)
  228 + modified = True
226 229  
227 230 gc.Destroy()
228 231  
229 232 self.gc = None
230 233  
231   - self.bitmap = self.image.ConvertToBitmap()
232   - self.bitmap.CopyToBuffer(self._array, wx.BitmapBufferFormat_RGBA)
  234 + if modified:
  235 + self.bitmap = self.image.ConvertToBitmap()
  236 + self.bitmap.CopyToBuffer(self._array, wx.BitmapBufferFormat_RGBA)
233 237  
234 238 self._cv_image.Modified()
235 239  
... ... @@ -248,6 +252,7 @@ class CanvasRendererCTX:
248 252 p1y = -p1y
249 253  
250 254 pen = wx.Pen(wx.Colour(*colour), width, wx.SOLID)
  255 + pen.SetCap(wx.CAP_BUTT)
251 256 gc.SetPen(pen)
252 257  
253 258 path = gc.CreatePath()
... ...