diff --git a/invesalius/gui/bitmap_preview_panel.py b/invesalius/gui/bitmap_preview_panel.py index c47f3db..c680846 100644 --- a/invesalius/gui/bitmap_preview_panel.py +++ b/invesalius/gui/bitmap_preview_panel.py @@ -12,6 +12,7 @@ import invesalius.data.vtk_utils as vtku import invesalius.data.converters as converters import invesalius.reader.bitmap_reader as bitmap_reader import invesalius.utils as utils +from invesalius.gui.widgets.canvas_renderer import CanvasRendererCTX NROWS = 3 NCOLS = 6 @@ -447,53 +448,68 @@ class SingleImagePreview(wx.Panel): self.window_level = const.WINDOW_LEVEL[_("Bone")][1] def __init_vtk(self): - text_image_size = vtku.Text() + text_image_size = vtku.TextZero() text_image_size.SetPosition(const.TEXT_POS_LEFT_UP) text_image_size.SetValue("") - text_image_size.SetSize(const.TEXT_SIZE_SMALL) + text_image_size.SetSymbolicSize(wx.FONTSIZE_SMALL) self.text_image_size = text_image_size - text_image_location = vtku.Text() - text_image_location.SetVerticalJustificationToBottom() + text_image_location = vtku.TextZero() + # text_image_location.SetVerticalJustificationToBottom() text_image_location.SetPosition(const.TEXT_POS_LEFT_DOWN) text_image_location.SetValue("") - text_image_location.SetSize(const.TEXT_SIZE_SMALL) + text_image_location.bottom_pos = True + text_image_location.SetSymbolicSize(wx.FONTSIZE_SMALL) self.text_image_location = text_image_location - text_patient = vtku.Text() - text_patient.SetJustificationToRight() + text_patient = vtku.TextZero() + # text_patient.SetJustificationToRight() text_patient.SetPosition(const.TEXT_POS_RIGHT_UP) text_patient.SetValue("") - text_patient.SetSize(const.TEXT_SIZE_SMALL) + text_patient.right_pos = True + text_patient.SetSymbolicSize(wx.FONTSIZE_SMALL) self.text_patient = text_patient - text_acquisition = vtku.Text() - text_acquisition.SetJustificationToRight() - text_acquisition.SetVerticalJustificationToBottom() + text_acquisition = vtku.TextZero() + # text_acquisition.SetJustificationToRight() + # text_acquisition.SetVerticalJustificationToBottom() text_acquisition.SetPosition(const.TEXT_POS_RIGHT_DOWN) text_acquisition.SetValue("") - text_acquisition.SetSize(const.TEXT_SIZE_SMALL) + text_acquisition.right_pos = True + text_acquisition.bottom_pos = True + text_acquisition.SetSymbolicSize(wx.FONTSIZE_SMALL) self.text_acquisition = text_acquisition - renderer = vtk.vtkRenderer() - renderer.AddActor(text_image_size.actor) - renderer.AddActor(text_image_location.actor) - renderer.AddActor(text_patient.actor) - renderer.AddActor(text_acquisition.actor) - self.renderer = renderer + self.renderer = vtk.vtkRenderer() + self.renderer.SetLayer(0) + + cam = self.renderer.GetActiveCamera() + + self.canvas_renderer = vtk.vtkRenderer() + self.canvas_renderer.SetLayer(1) + self.canvas_renderer.SetActiveCamera(cam) + self.canvas_renderer.SetInteractive(0) + self.canvas_renderer.PreserveDepthBufferOn() style = vtk.vtkInteractorStyleImage() - interactor = wxVTKRenderWindowInteractor(self.panel, -1, - size=wx.Size(340,340)) - interactor.SetRenderWhenDisabled(True) - interactor.GetRenderWindow().AddRenderer(renderer) - interactor.SetInteractorStyle(style) - interactor.Render() - self.interactor = interactor + self.interactor = wxVTKRenderWindowInteractor(self.panel, -1, + size=wx.Size(340,340)) + self.interactor.SetRenderWhenDisabled(True) + self.interactor.GetRenderWindow().SetNumberOfLayers(2) + self.interactor.GetRenderWindow().AddRenderer(self.renderer) + self.interactor.GetRenderWindow().AddRenderer(self.canvas_renderer) + self.interactor.SetInteractorStyle(style) + self.interactor.Render() + + self.canvas = CanvasRendererCTX(self, self.renderer, self.canvas_renderer) + self.canvas.draw_list.append(self.text_image_size) + self.canvas.draw_list.append(self.text_image_location) + self.canvas.draw_list.append(self.text_patient) + self.canvas.draw_list.append(self.text_acquisition) sizer = wx.BoxSizer(wx.VERTICAL) - sizer.Add(interactor, 1, wx.GROW|wx.EXPAND) + sizer.Add(self.interactor, 1, wx.GROW|wx.EXPAND) sizer.Fit(self.panel) self.panel.SetSizer(sizer) self.Layout() -- libgit2 0.21.2