Coverage Report - edu.uci.ics.jung.visualization.jai.PerspectiveViewTransformSupport
 
Classes in this File Line Coverage Branch Coverage Complexity
PerspectiveViewTransformSupport
0%
0/23
N/A
1
 
 1  
 /*
 2  
  * Copyright (c) 2003, the JUNG Project and the Regents of the University of
 3  
  * California All rights reserved.
 4  
  * 
 5  
  * This software is open-source under the BSD license; see either "license.txt"
 6  
  * or http://jung.sourceforge.net/license.txt for a description.
 7  
  * 
 8  
  */
 9  
 package edu.uci.ics.jung.visualization.jai;
 10  
 
 11  
 import javax.media.jai.PerspectiveTransform;
 12  
 
 13  
 import edu.uci.ics.jung.algorithms.layout.GraphElementAccessor;
 14  
 import edu.uci.ics.jung.visualization.Layer;
 15  
 import edu.uci.ics.jung.visualization.RenderContext;
 16  
 import edu.uci.ics.jung.visualization.VisualizationViewer;
 17  
 import edu.uci.ics.jung.visualization.picking.ViewLensShapePickSupport;
 18  
 import edu.uci.ics.jung.visualization.renderers.Renderer;
 19  
 import edu.uci.ics.jung.visualization.transform.shape.GraphicsDecorator;
 20  
 import edu.uci.ics.jung.visualization.transform.shape.TransformingGraphics;
 21  
 
 22  
 /**
 23  
  * Creates a PerspectiveShapeTransformer to use in the view
 24  
  * transform. This one will distort Vertex shapes.
 25  
  * 
 26  
  * @author Tom Nelson
 27  
  *
 28  
  *
 29  
  */
 30  
 public class PerspectiveViewTransformSupport<V,E> extends AbstractPerspectiveTransformSupport<V,E>
 31  
     implements PerspectiveTransformSupport {
 32  
     
 33  
         protected RenderContext<V,E> renderContext;
 34  
     protected Renderer<V,E> renderer;
 35  
     protected GraphicsDecorator lensGraphicsDecorator;
 36  
     protected GraphicsDecorator savedGraphicsDecorator;
 37  
     protected GraphElementAccessor<V,E> pickSupport;
 38  
 
 39  
     public PerspectiveViewTransformSupport(VisualizationViewer<V,E> vv) {
 40  0
         super(vv);
 41  0
         this.renderer = vv.getRenderer();
 42  0
         this.renderContext = vv.getRenderContext();
 43  0
         this.pickSupport = renderContext.getPickSupport();
 44  0
         this.perspectiveTransformer = 
 45  
             new PerspectiveShapeTransformer(new PerspectiveTransform(), 
 46  
                             vv.getRenderContext().getMultiLayerTransformer().getTransformer(Layer.VIEW));
 47  0
         this.savedGraphicsDecorator = renderContext.getGraphicsContext();
 48  0
         this.lensGraphicsDecorator = new TransformingGraphics(perspectiveTransformer);
 49  0
     }
 50  
     
 51  
     public void activate() {
 52  0
         lens = new Lens(perspectiveTransformer, vv.getSize());
 53  0
         renderContext.setPickSupport(new ViewLensShapePickSupport<V,E>(vv));
 54  0
         vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, perspectiveTransformer);
 55  0
         vv.getRenderContext().setGraphicsContext(lensGraphicsDecorator);
 56  0
         vv.addPreRenderPaintable(lens);
 57  0
         vv.setToolTipText(instructions);
 58  0
         vv.repaint();
 59  0
     }
 60  
 
 61  
     public void deactivate() {
 62  0
             renderContext.setPickSupport(pickSupport);
 63  0
         vv.getRenderContext().getMultiLayerTransformer().setTransformer(Layer.VIEW, perspectiveTransformer.getDelegate());
 64  0
         vv.removePreRenderPaintable(lens);
 65  0
         vv.getRenderContext().setGraphicsContext(savedGraphicsDecorator);
 66  0
         vv.setToolTipText(defaultToolTipText);
 67  0
         vv.repaint();
 68  0
     }
 69  
 
 70  
 }