1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.jcurl.demo.tactics;
21
22 import java.awt.BorderLayout;
23
24 import javax.swing.JComponent;
25
26 import org.jcurl.demo.tactics.JCurlShotPlanner.ZoomHelper;
27
28 import edu.umd.cs.piccolo.PCanvas;
29 import edu.umd.cs.piccolo.util.PPaintContext;
30
31
32
33
34
35
36
37
38
39
40 public class BirdPiccoloBean extends JComponent {
41
42 private static final long serialVersionUID = -408035623675258196L;
43 private TrajectoryPiccoloBean master;
44 private PCanvas pc;
45
46 public BirdPiccoloBean() {
47 setLayout(new BorderLayout());
48 add(pc = new PCanvas(), BorderLayout.CENTER);
49 pc.setAnimatingRenderQuality(PPaintContext.HIGH_QUALITY_RENDERING);
50 pc.setInteractingRenderQuality(PPaintContext.HIGH_QUALITY_RENDERING);
51 pc.setPanEventHandler(null);
52 pc.setZoomEventHandler(null);
53
54 }
55
56 @Override
57 public void doLayout() {
58 super.doLayout();
59 pc.getCamera().setViewBounds(ZoomHelper.HousePlus);
60 }
61
62 public TrajectoryPiccoloBean getMaster() {
63 return master;
64 }
65
66 public void setMaster(final TrajectoryBean master) {
67 if (master instanceof TrajectoryPiccoloBean) {
68 this.master = (TrajectoryPiccoloBean) master;
69 pc.getCamera().removeAllChildren();
70 pc.getCamera().addLayer(this.master.getIceLayer());
71 }
72 }
73 }