X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=vtk.rendering%2Fsrc%2Fvtk%2Frendering%2FvtkAbstractComponent.java;h=6cb4895327583c2d3a5a46fc950ed89fbd06a297;hb=refs%2Fchanges%2F07%2F3507%2F1;hp=e68bd467d8d5ac91dc4f2791fb3ef82455a4cd24;hpb=d40911aa559213f660ac87c9bbd9f98fe81fba28;p=simantics%2F3d.git diff --git a/vtk.rendering/src/vtk/rendering/vtkAbstractComponent.java b/vtk.rendering/src/vtk/rendering/vtkAbstractComponent.java index e68bd467..6cb48953 100644 --- a/vtk.rendering/src/vtk/rendering/vtkAbstractComponent.java +++ b/vtk.rendering/src/vtk/rendering/vtkAbstractComponent.java @@ -2,6 +2,8 @@ package vtk.rendering; import java.util.concurrent.locks.ReentrantLock; +import org.eclipse.swt.internal.DPIUtil; + import vtk.vtkAxesActor; import vtk.vtkCamera; import vtk.vtkGenericRenderWindowInteractor; @@ -25,6 +27,7 @@ import vtk.vtkRenderer; * Commissariat a l'Energie Atomique et aux Energies Alternatives, * 15 avenue des Sablieres, CS 60001, 33116 Le Barp, France. */ +@SuppressWarnings("restriction") public abstract class vtkAbstractComponent implements vtkComponent { protected vtkRenderWindow renderWindow; protected vtkRenderer renderer; @@ -130,7 +133,8 @@ public abstract class vtkAbstractComponent implements vtkComponent { if (renderWindow == null || windowInteractor == null) { return; // Nothing to do we are deleted... } - + w = DPIUtil.autoScaleUp(w); + h = DPIUtil.autoScaleUp(h); try { lock.lockInterruptibly(); renderWindow.SetSize(w, h); @@ -144,8 +148,12 @@ public abstract class vtkAbstractComponent implements vtkComponent { public void Delete() { this.lock.lock(); + this.renderer.DrawOff(); + this.renderer.Delete(); this.renderer = null; + this.camera.Delete(); this.camera = null; + this.windowInteractor.Delete(); this.windowInteractor = null; // removing the renderWindow is let to the superclass // because in the very special case of an AWT component