Commit 8e3344855bacb9b6a46ed0b927fca633e0f448e8
1 parent
5c2aa651
Exists in
master
and in
26 other branches
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,6 +192,7 @@ class CanvasRendererCTX: | ||
| 192 | self.image = wx.ImageFromBuffer(w, h, self.rgb, self.alpha) | 192 | self.image = wx.ImageFromBuffer(w, h, self.rgb, self.alpha) |
| 193 | 193 | ||
| 194 | def OnPaint(self, evt, obj): | 194 | def OnPaint(self, evt, obj): |
| 195 | + self._array[:] = 0 | ||
| 195 | size = self.canvas_renderer.GetSize() | 196 | size = self.canvas_renderer.GetSize() |
| 196 | w, h = size | 197 | w, h = size |
| 197 | if self._size != size: | 198 | if self._size != size: |
| @@ -219,17 +220,20 @@ class CanvasRendererCTX: | @@ -219,17 +220,20 @@ class CanvasRendererCTX: | ||
| 219 | gc.SetBrush(brush) | 220 | gc.SetBrush(brush) |
| 220 | gc.Scale(1, -1) | 221 | gc.Scale(1, -1) |
| 221 | 222 | ||
| 223 | + modified = False | ||
| 222 | for (m, mr) in self.viewer.measures.get(self.viewer.orientation, self.viewer.slice_data.number): | 224 | for (m, mr) in self.viewer.measures.get(self.viewer.orientation, self.viewer.slice_data.number): |
| 223 | if not m.visible: | 225 | if not m.visible: |
| 224 | continue | 226 | continue |
| 225 | mr.draw_to_canvas(gc, self) | 227 | mr.draw_to_canvas(gc, self) |
| 228 | + modified = True | ||
| 226 | 229 | ||
| 227 | gc.Destroy() | 230 | gc.Destroy() |
| 228 | 231 | ||
| 229 | self.gc = None | 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 | self._cv_image.Modified() | 238 | self._cv_image.Modified() |
| 235 | 239 | ||
| @@ -248,6 +252,7 @@ class CanvasRendererCTX: | @@ -248,6 +252,7 @@ class CanvasRendererCTX: | ||
| 248 | p1y = -p1y | 252 | p1y = -p1y |
| 249 | 253 | ||
| 250 | pen = wx.Pen(wx.Colour(*colour), width, wx.SOLID) | 254 | pen = wx.Pen(wx.Colour(*colour), width, wx.SOLID) |
| 255 | + pen.SetCap(wx.CAP_BUTT) | ||
| 251 | gc.SetPen(pen) | 256 | gc.SetPen(pen) |
| 252 | 257 | ||
| 253 | path = gc.CreatePath() | 258 | path = gc.CreatePath() |