From 4ed94f697607d11d19c5106c02f6eea8913e1ccc Mon Sep 17 00:00:00 2001 From: a23022716 <celia.arezki.1@etu.univ-amu.fr> Date: Fri, 27 Sep 2024 12:01:04 +0200 Subject: [PATCH] add of BorderDecorator class , it adds a border (a circle) around each point of the shape. --- src/main/java/shape/BorderDecorator.java | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 src/main/java/shape/BorderDecorator.java diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/BorderDecorator.java new file mode 100644 index 0000000..7d7703a --- /dev/null +++ b/src/main/java/shape/BorderDecorator.java @@ -0,0 +1,23 @@ +package shape; +import javafx.scene.canvas.GraphicsContext; +import javafx.geometry.Point2D; +import javafx.scene.paint.Color; + +public class BorderDecorator extends Decorator { + private double radius; + + public BorderDecorator(Shape decoratedShape, double radius) { + super(decoratedShape); + this.radius = radius; + } + + @Override + protected void drawDecoration(GraphicsContext graphicsContext) { + graphicsContext.setStroke(Color.BLACK); + for (int i = 0; i < decoratedShape.pointsCount(); i++) { + Point2D point = decoratedShape.point(i); + graphicsContext.strokeOval(point.getX() - radius, point.getY() - radius, radius * 2, radius * 2); + } + } +} + -- GitLab