File: /Users/shatabdi/Education/GitHub/se450_project/src/model/Rectangle.java
1
2
3
4 package model;
5
6 import java.awt.Color;
7 import java.awt.Graphics;
8 import java.awt.Graphics2D;
9 import java.awt.Shape;
10 import java.awt.Stroke;
11 import java.awt.geom.Rectangle2D;
12
13 import model.strategy.ShapeTypeStrategy;
14 import view.Enum.ShapeColor;
15 import view.Enum.ShapeShadingType;
16 import view.adapter.ColorAdapter;
17
18 public class Rectangle extends ShapeTypeStrategy {
19
20 ShapeColor color;
21 private Graphics2D graphics2d;
22
23 int height;
24 ShapeColor primaryColor;
25
26 ColorAdapter primaryColorAdapter;
27 ShapeColor secondaryColor;
28 ColorAdapter secondaryColorAdapter;
29
30 Shape shape;
31 ShapeShadingType shapeShadingType;
32 Stroke stroke;
33 int width;
34 int x;
35 int y;
36
37
38 public Shape createShapeType() {
39 Rectangle2D rect = new Rectangle2D.Double(x, y, width, height);
40 return rect;
41 }
42
43 public Rectangle(int x, int y, int width, int height) {
44 this.x = x;
45 this.y = y;
46 this.width = width;
47 this.height = height;
48 }
49 public void draw() {
50 Color color2 = ColorAdapter.getColor(color);
51 graphics2d.setPaint(color2);
52 graphics2d.fill(shape);
53 }
54
55 public void draw(Graphics g) {
56 Graphics2D g2 = (Graphics2D) g;
57 if (shapeShadingType.equals(ShapeShadingType.OUTLINE)) {
58 g2.setStroke(stroke);
59 g.setColor(ColorAdapter.getColor(primaryColor));
60 g.drawRect(x, y, width, height);
61 } else if (shapeShadingType.equals(ShapeShadingType.FILLED_IN)) {
62 g2.setStroke(stroke);
63 g.setColor(ColorAdapter.getColor(secondaryColor));
64 g.fillRect(x, y, width, height);
65 } else if (shapeShadingType.equals(ShapeShadingType.OUTLINE_AND_FILLED_IN)) {
66 g2.setStroke(stroke);
67 g.setColor(ColorAdapter.getColor(primaryColor));
68 g.drawRect(x, y, width, height);
69 g.setColor(ColorAdapter.getColor(secondaryColor));
70 g.fillRect(x, y, width, height);
71 }
72 }
73
74 }
75