File: /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IShape.java

1     //adopted from demo java code from class, AdapterDemo and FactoryDemo
2     package model.interfaces;
3     
4     import java.awt.Graphics;
5     import java.awt.Graphics2D;
6     import java.awt.Point;
7     import java.awt.Shape;
8     import java.awt.Stroke;
9     import java.util.List;
10     
11     import view.Enum.ShapeColor;
12     import view.Enum.ShapeShadingType;
13     import view.Enum.ShapeType;
14     
15     public interface IShape {
16     	void addX(int x);
17     
18     	void addY(int y);
19     
20     	Boolean contain(Point startpoint);
21     
22     	IShape copyShape();
23     
24     	void create();
25     
26     	void deleteShape();
27     
28     	void draw(Graphics g);
29     
30     	Shape getBoundingBox();
31     
32     	Point getEndPoint();
33     
34     	List<IShape> getNodeList();
35     
36     	ShapeColor getPrimaryColor();
37     
38     	ShapeColor getSecondaryColor();
39     
40     	ShapeShadingType getShadingType();
41     
42     	ShapeType getShapeType();
43     
44     	Point getStartPoint();
45     
46     	Stroke getStroke();
47     
48     	void highlightShape();
49     
50     	void moveShape(int transformOffsetX, int transformOffsetY);
51     
52     	void paintShapeOnCanvas();
53     
54     	IShape pasteShape();
55     
56     	void selectMaxandMin(Point start, Point end);
57     
58     	void setGraphics2d(Graphics2D graphics2d);
59     
60     	void setPrimaryColor(ShapeColor primaryColor);
61     
62     	void setSecondaryColor(ShapeColor secondaryColor);
63     
64     	void setShadingColor(ShapeShadingType shapeShadingType);
65     
66     	void setStroke(Stroke stroke);
67     
68     }
69