File: /Users/shatabdi/Education/GitHub/se450_project/src/model/interfaces/IShape.java
1
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