]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - vtk.rendering/src/vtk/rendering/vtkAbstractComponent.java
Scale tooltip font by display DPI.
[simantics/3d.git] / vtk.rendering / src / vtk / rendering / vtkAbstractComponent.java
index e68bd467d8d5ac91dc4f2791fb3ef82455a4cd24..6cb4895327583c2d3a5a46fc950ed89fbd06a297 100644 (file)
@@ -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<T> implements vtkComponent<T> {
   protected vtkRenderWindow renderWindow;
   protected vtkRenderer renderer;
@@ -130,7 +133,8 @@ public abstract class vtkAbstractComponent<T> implements vtkComponent<T> {
     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<T> implements vtkComponent<T> {
 
   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