01: import java.awt.*;
02: import java.awt.geom.*;
03:
04: /**
05: A house shape.
06: */
07: public class HouseShape extends CompoundShape
08: {
09: /**
10: Constructs a house shape.
11: @param x the left of the bounding rectangle
12: @param y the top of the bounding rectangle
13: @param width the width of the bounding rectangle
14: */
15: public HouseShape(int x, int y, int width)
16: {
17: Rectangle2D.Double base
18: = new Rectangle2D.Double(x, y + width, width, width);
19:
20: // the left bottom of the roof
21: Point2D.Double r1
22: = new Point2D.Double(x, y + width);
23: // the top of the roof
24: Point2D.Double r2
25: = new Point2D.Double(x + width / 2, y);
26: // the right bottom of the roof
27: Point2D.Double r3
28: = new Point2D.Double(x + width, y + width);
29:
30: Line2D.Double roofLeft
31: = new Line2D.Double(r1, r2);
32: Line2D.Double roofRight
33: = new Line2D.Double(r2, r3);
34:
35: add(base);
36: add(roofLeft);
37: add(roofRight);
38: }
39: }