01: import java.awt.*;
02: import java.awt.geom.*;
03:
04: /**
05: A shape that is a part of a scene.
06: */
07: public interface SceneShape
08: {
09: /**
10: Draws this item.
11: @param g2 the graphics context
12: */
13: void draw(Graphics2D g2);
14: /**
15: Draws the selection adornment of this item.
16: @param g2 the graphics context
17: */
18: void drawSelection(Graphics2D g2);
19: /**
20: Sets the selection state of this item.
21: @param b true if this item is selected
22: */
23: void setSelected(boolean b);
24: /**
25: Gets the selection state of this item.
26: @return true if this item is selected
27: */
28: boolean isSelected();
29: /**
30: Translates this item by a given amount.
31: @param dx the amount to translate in x-direction
32: @param dy the amount to translate in y-direction
33: */
34: void translate(double dx, double dy);
35: /**
36: Tests whether this item contains a given point.
37: @param p a point
38: @return true if this item contains p
39: */
40: boolean contains(Point2D p);
41: }
42: