diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/AbstractShape.java index cbe678da37f1fd4a1a2c6cebe3bb54ac27b3a281..3de588645a103659916d26406f220443fdef1e37 100644 --- a/src/main/java/shape/AbstractShape.java +++ b/src/main/java/shape/AbstractShape.java @@ -6,7 +6,7 @@ import javafx.scene.canvas.GraphicsContext; import java.util.List; public class AbstractShape implements Shape { - List<Point2D> points; + private List<Point2D> points; public AbstractShape(List<Point2D> points) { this.points = points; @@ -17,16 +17,23 @@ public class AbstractShape implements Shape { } @Override public int pointsCount() { - return 0; + int count = 0; + for (Point2D point : points) { + count++; + } + return count; } @Override public Point2D point(int index) { - return null; + return index < points.size() ? points.get(index) : null; } @Override public void draw(GraphicsContext context) { + for (Point2D point : points) { + + } } } diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/BorderDecorator.java index 1f834b3ed92093b0d393efadd6aeb752b1502519..05a6d6440ec5be918e4955bb36c018857efad67d 100644 --- a/src/main/java/shape/BorderDecorator.java +++ b/src/main/java/shape/BorderDecorator.java @@ -4,13 +4,13 @@ import javafx.scene.canvas.GraphicsContext; public class BorderDecorator extends Decorator { - double radius; + private double radius; public BorderDecorator(Shape decoratedShape ,double radius) { super(decoratedShape); this.radius = radius; } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/CenterDecorator.java b/src/main/java/shape/CenterDecorator.java index 407dd31c4a44fcf759c11472dd3263889158d00a..0eece70968d81a4ae94863f3c15330a41ffcdccd 100644 --- a/src/main/java/shape/CenterDecorator.java +++ b/src/main/java/shape/CenterDecorator.java @@ -3,12 +3,12 @@ package shape; import javafx.scene.canvas.GraphicsContext; public class CenterDecorator extends Decorator{ - double radius; + private double radius; public CenterDecorator(Shape decoratedShape, double radius) { super(decoratedShape); this.radius = radius; } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/Decorator.java b/src/main/java/shape/Decorator.java index ead5f5c0beb86eb49d9db70c85733899147c1088..2f085454682d579dca82a4717c155defb11974f7 100644 --- a/src/main/java/shape/Decorator.java +++ b/src/main/java/shape/Decorator.java @@ -3,14 +3,14 @@ package shape; import javafx.geometry.Point2D; import javafx.scene.canvas.GraphicsContext; -public class Decorator implements Shape { - private Shape shape; +public abstract class Decorator implements Shape { + protected Shape decoratedshape; public Decorator(Shape decoratedShape) { - this.shape = decoratedShape; + this.decoratedshape = decoratedShape; } @Override public int pointsCount() { - return 0; + return decoratedshape.pointsCount(); } @Override @@ -22,7 +22,7 @@ public class Decorator implements Shape { public void draw(GraphicsContext context) { } - public void drawDecoration(GraphicsContext context) { + protected void drawDecoration(GraphicsContext context) { } } diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java index d502ce35d91562567a997c6003c8ceefeefcb05d..d5501cb0ae57ea3163bba3ebfbecd7f0efe1ba03 100644 --- a/src/main/java/shape/Polygon.java +++ b/src/main/java/shape/Polygon.java @@ -6,7 +6,7 @@ import javafx.scene.paint.Color; public class Polygon implements Shape { - Color color; + private Color color; public Polygon(Color color, Point2D... points) { this.color = color; @@ -19,11 +19,12 @@ public class Polygon implements Shape { @Override public Point2D point(int index) { - return null; + return point(index); } @Override public void draw(GraphicsContext context) { + context.setFill(color); } } diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/Rectangle.java index b0e90627b6345f22ac31ab8bf5fb40f81e4d4f66..ff2fcc4834612c25b5911b202c1972fd3f8060c3 100644 --- a/src/main/java/shape/Rectangle.java +++ b/src/main/java/shape/Rectangle.java @@ -5,23 +5,23 @@ import javafx.scene.canvas.GraphicsContext; import javafx.scene.paint.Color; public class Rectangle implements Shape{ - Color color; + private Color color; Rectangle(Color color, Point2D point0, Point2D point1){ this.color = color; } @Override public int pointsCount() { - return 0; + return 2; } @Override public Point2D point(int index) { - return null; + return point(index); } @Override public void draw(GraphicsContext context) { - + context.setFill(color); } }