1: import java.awt.*;
2: import java.awt.geom.*;
4: /**
5: A scene shape that is composed of multiple geometric shapes.
6: */
7: public abstract class CompoundShape extends SelectableShape
8: {
9: public CompoundShape()
10: {
11: path = new GeneralPath();
12: }
14: protected void add(Shape s)
15: {
16: path.append(s, false);
17: }
19: public boolean contains(Point2D aPoint)
20: {
21: return path.contains(aPoint);
22: }
24: public void translate(int dx, int dy)
25: {
26: path.transform(
27: AffineTransform.getTranslateInstance(dx, dy));
28: }
30: public void draw(Graphics2D g2)
31: {
32: g2.draw(path);
33: }
34:
35: private GeneralPath path;
36: }