File: /Users/shatabdi/Education/GitHub/se450_project/src/view/adapter/DrawMouseAdapter.java

1     package view.adapter;
2     
3     import java.awt.Color;
4     import java.awt.Point;
5     
6     import model.GeometricShape;
7     import model.commands.ShapeCreateCommand;
8     import model.interfaces.IApplicationState;
9     import model.shape.DrawShape;
10     import view.Enum.ShapeShadingType;
11     import view.Enum.ShapeType;
12     import view.interfaces.PaintCanvasBase;
13     
14     public class DrawMouseAdapter extends MouseMode {
15     
16     	private PaintCanvasBase canvasBase;
17     	private java.awt.Point endPoint;
18     	GeometricShape geometricShape;
19     	private java.awt.Point startPoint;
20     
21     	public DrawMouseAdapter(Point startPoint, Point endPoint, PaintCanvasBase canvasBase, IApplicationState appState) {
22     		this.canvasBase = canvasBase;
23     		this.startPoint = startPoint;
24     		this.endPoint = endPoint;
25     
26     		ShapeType shapeType = appState.getActiveShapeType();
27     		ShapeShadingType shadingType = appState.getActiveShapeShadingType();
28     		Color primaryColor = ColorAdapter.getColor(appState.getActivePrimaryColor());
29     		Color secondaryColor = ColorAdapter.getColor(appState.getActiveSecondaryColor());
30     
31     		geometricShape = new GeometricShape(startPoint, endPoint);
32     		geometricShape.setShapeType(shapeType).setShadingType(shadingType).setPrimaryColor(primaryColor)
33     				.setSecondaryColor(secondaryColor);
34     	}
35     
36     	@Override
37     	public void update() {
38     		if (!startPoint.equals(endPoint)) {
39     			DrawShape drawShape = new DrawShape(canvasBase, geometricShape);
40     			ShapeCreateCommand shapeCreateCommand = new ShapeCreateCommand(drawShape);
41     			shapeCreateCommand.run();
42     		}
43     	}
44     }
45