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);
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
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 }