View Javadoc
1   /*
2    * Copyright (c) 2003, The JUNG Authors
3    * All rights reserved.
4    * 
5    * This software is open-source under the BSD license; see either "license.txt"
6    * or https://github.com/jrtom/jung/blob/master/LICENSE for a description.
7    * 
8    */
9   package edu.uci.ics.jung.visualization.transform;
10  
11  import java.awt.Shape;
12  import java.awt.geom.AffineTransform;
13  import java.awt.geom.Point2D;
14  
15  import javax.swing.event.ChangeListener;
16  
17  /**
18   * a complete decorator that wraps a MutableTransformer. Subclasses
19   * use this to allow them to only declare methods they need to change.
20   * 
21   * @author Tom Nelson 
22   *
23   */
24  public abstract class MutableTransformerDecorator implements MutableTransformer {
25  	
26  	protected MutableTransformer delegate;
27  	
28  	public MutableTransformerDecorator(MutableTransformer delegate) {
29  		if(delegate == null) {
30  			delegate = new MutableAffineTransformer();
31  		}
32  		this.delegate = delegate;
33  	}
34  	
35  	public MutableTransformer getDelegate() {
36  		return delegate;
37  	}
38  
39  	public void setDelegate(MutableTransformer delegate) {
40  		this.delegate = delegate;
41  	}
42  
43  	public void addChangeListener(ChangeListener l) {
44  		delegate.addChangeListener(l);
45  	}
46  
47  	public void concatenate(AffineTransform transform) {
48  		delegate.concatenate(transform);
49  	}
50  
51  	public void fireStateChanged() {
52  		delegate.fireStateChanged();
53  	}
54  
55  	public ChangeListener[] getChangeListeners() {
56  		return delegate.getChangeListeners();
57  	}
58  
59  	public double getScale() {
60  		return delegate.getScale();
61  	}
62  
63  	public double getScaleX() {
64  		return delegate.getScaleX();
65  	}
66  
67  	public double getScaleY() {
68  		return delegate.getScaleY();
69  	}
70  
71  	public double getShearX() {
72  		return delegate.getShearX();
73  	}
74  
75  	public double getShearY() {
76  		return delegate.getShearY();
77  	}
78  
79  	public AffineTransform getTransform() {
80  		return delegate.getTransform();
81  	}
82  
83  	public double getTranslateX() {
84  		return delegate.getTranslateX();
85  	}
86  
87  	public double getTranslateY() {
88  		return delegate.getTranslateY();
89  	}
90  
91  	public Point2D inverseTransform(Point2D p) {
92  		return delegate.inverseTransform(p);
93  	}
94  
95  	public Shape inverseTransform(Shape shape) {
96  		return delegate.inverseTransform(shape);
97  	}
98  
99  	public void preConcatenate(AffineTransform transform) {
100 		delegate.preConcatenate(transform);
101 	}
102 
103 	public void removeChangeListener(ChangeListener l) {
104 		delegate.removeChangeListener(l);
105 	}
106 
107 	public void rotate(double radians, Point2D point) {
108 		delegate.rotate(radians, point);
109 	}
110 
111 	public void scale(double sx, double sy, Point2D point) {
112 		delegate.scale(sx, sy, point);
113 	}
114 
115 	public void setScale(double sx, double sy, Point2D point) {
116 		delegate.setScale(sx, sy, point);
117 	}
118 
119 	public void setToIdentity() {
120 		delegate.setToIdentity();
121 	}
122 
123 	public void setTranslate(double dx, double dy) {
124 		delegate.setTranslate(dx, dy);
125 	}
126 
127 	public void shear(double shx, double shy, Point2D from) {
128 		delegate.shear(shx, shy, from);
129 	}
130 
131 	public Point2D transform(Point2D p) {
132 		return delegate.transform(p);
133 	}
134 
135 	public Shape transform(Shape shape) {
136 		return delegate.transform(shape);
137 	}
138 
139 	public void translate(double dx, double dy) {
140 		delegate.translate(dx, dy);
141 	}
142 
143     public double getRotation() {
144         return delegate.getRotation();
145     }
146 
147     public void rotate(double radians, double x, double y) {
148         delegate.rotate(radians, x, y);
149     }
150 
151 }