Commit b5a74ff2bddf6839b5ce7ab48e6646af1e6f5ee0

Authored by Thiago Franco de Moraes
1 parent cb4d834e

Added a method to draw a rectangle inside the canvas

Showing 1 changed file with 20 additions and 3 deletions   Show diff stats
invesalius/data/viewer_slice.py
@@ -324,6 +324,25 @@ class CanvasRendererCTX: @@ -324,6 +324,25 @@ class CanvasRendererCTX:
324 gc.StrokePath(path) 324 gc.StrokePath(path)
325 gc.FillPath(path) 325 gc.FillPath(path)
326 326
  327 + def draw_rectangle(self, pos, width, height, line_colour=(255, 0, 0, 128), fill_colour=(0, 0, 0, 0)):
  328 + """
  329 + Draw a rectangle with its top left at pos and with the given width and height.
  330 +
  331 + Params:
  332 + pos: The top left pos (x, y) of the rectangle.
  333 + width: width of the rectangle.
  334 + height: heigth of the rectangle.
  335 + line_colour: RGBA line colour.
  336 + fill_colour: RGBA fill colour.
  337 + """
  338 + if self.gc is None:
  339 + return None
  340 + gc = self.gc
  341 +
  342 + px, py = pos
  343 + gc.SetPen(wx.Pen(line_colour))
  344 + gc.SetBrush(wx.Brush(fill_colour))
  345 + gc.DrawRectangle(px, py, width, height)
327 346
328 def draw_text_box(self, text, pos, font=None, txt_colour=(255, 255, 255), bg_colour=(128, 128, 128, 128), border=5): 347 def draw_text_box(self, text, pos, font=None, txt_colour=(255, 255, 255), bg_colour=(128, 128, 128, 128), border=5):
329 """ 348 """
@@ -353,9 +372,7 @@ class CanvasRendererCTX: @@ -353,9 +372,7 @@ class CanvasRendererCTX:
353 372
354 # Drawing the box 373 # Drawing the box
355 cw, ch = w + border * 2, h + border * 2 374 cw, ch = w + border * 2, h + border * 2
356 - gc.SetBrush(wx.Brush(bg_colour))  
357 - gc.SetPen(wx.Pen(bg_colour))  
358 - gc.DrawRectangle(px, py, cw, ch) 375 + self.draw_rectangle((px, py), cw, ch, bg_colour, bg_colour)
359 376
360 tpx, tpy = px + border, py + border 377 tpx, tpy = px + border, py + border
361 gc.DrawText(text, tpx, tpy) 378 gc.DrawText(text, tpx, tpy)