View Javadoc

1   
2   package org.catacomb.graph.gui;
3   
4   import org.catacomb.interlish.interact.ClickListener;
5   import java.awt.BorderLayout;
6   import java.awt.Color;
7   import java.awt.Dimension;
8   
9   
10  
11  public class DrawingCanvas extends BasePanel {
12      static final long serialVersionUID = 1001;
13  
14      PickWorldCanvas pwCanvas;
15  
16  
17  
18      public DrawingCanvas(int w, int h) {
19          super();
20          setPreferredSize(new Dimension(w, h));
21  
22          pwCanvas = new PickWorldCanvas(w, h - 20, true); // POSERR - ever used in batch mode?
23  
24  
25          setLayout(new BorderLayout());
26          add("Center", pwCanvas);
27      }
28  
29      public void reframe() {
30          pwCanvas.reframe();
31      }
32  
33      public void setMouseMode(String s) {
34          pwCanvas.setMouseMode(s);
35      }
36  
37      public void setPaintInstructor(PaintInstructor pi) {
38          pwCanvas.setPaintInstructor(pi);
39      }
40  
41  
42      public void setBuildPaintInstructor(BuildPaintInstructor bpi) {
43          pwCanvas.setBuildPaintInstructor(bpi);
44      }
45  
46      public void setPickListener(PickListener pl) {
47          pwCanvas.setPickListener(pl);
48      }
49  
50  
51      public void setClickListener(ClickListener cl) {
52          pwCanvas.setClickListener(cl);
53      }
54  
55      public void setRotationListener(RotationListener rl) {
56          pwCanvas.setRotationListener(rl);
57      }
58  
59      public boolean isAntialiasing() {
60          return pwCanvas.isAntialiasing();
61      }
62  
63      public void setAntialias(boolean b) {
64          pwCanvas.setAntialias(b);
65      }
66  
67      public void setOnGridAxes() {
68          pwCanvas.setOnGridAxes();
69      }
70  
71      public void setThreeD() {
72          pwCanvas.setFixedAspectRatio(1.0);
73          // TODO tell it to add turn handlers?
74      }
75  
76      public void attach(Object obj) {
77          if (obj instanceof BuildPaintInstructor) {
78              setBuildPaintInstructor((BuildPaintInstructor)obj);
79  
80          } else if (obj instanceof PaintInstructor) {
81              setPaintInstructor((PaintInstructor)obj);
82          }
83  
84          if (obj instanceof PickListener) {
85              setPickListener((PickListener)obj);
86          }
87  
88          if (obj instanceof ClickListener) {
89              setClickListener((ClickListener)obj);
90          }
91  
92          if (obj instanceof RotationListener) {
93              setRotationListener((RotationListener)obj);
94          }
95  
96      }
97  
98  
99      public void setBackgroundColor(Color c) {
100         pwCanvas.setDataBackground(c);
101 
102     }
103 
104     public void setGridColor(Color c) {
105         pwCanvas.setGridColor(c);
106     }
107     public void setAxisColor(Color c) {
108         pwCanvas.setAxisColor(c);
109     }
110 
111     public void setXRange(double low, double high) {
112         pwCanvas.setXRange(low, high);
113     }
114 
115     public void setFixedAspectRatio(double ar) {
116         pwCanvas.setFixedAspectRatio(ar);
117     }
118 
119 
120     public void viewChanged() {
121         if (pwCanvas != null) {
122             pwCanvas.repaint();
123         }
124     }
125 
126     public double[][] getProjectionMatrix() {
127         return pwCanvas.getProjectionMatrix();
128     }
129 
130     public void setRollCenter(double x, double y, double z) {
131         pwCanvas.setRollCenter(x, y, z);
132 
133     }
134 
135     public void turn(double d) {
136         pwCanvas.turn(d);
137     }
138 
139     public double[] get3Center() {
140         return pwCanvas.get3Center();
141     }
142 
143     public double[] get2Center() {
144         return pwCanvas.get2Center();
145     }
146 
147     public void setShowGrid(boolean b) {
148         pwCanvas.setShowGrid(b);
149 
150     }
151 
152     public void setFourMatrix(double[] fm) {
153         pwCanvas.setFourMatrix(fm);
154 
155     }
156 
157     public double[] getFourMatrix() {
158         return pwCanvas.getFourMatrix();
159     }
160 
161 }