From f526be3009ef120e136e0265030f96ddff1a05f4 Mon Sep 17 00:00:00 2001
From: m19023837 <chadi.mansour@etu.univ-amu.fr>
Date: Fri, 20 Sep 2024 12:15:16 +0200
Subject: [PATCH] started filling the classes and correcting some mistakes

---
 src/main/java/shape/AbstractShape.java   | 13 ++++++++++---
 src/main/java/shape/BorderDecorator.java |  4 ++--
 src/main/java/shape/CenterDecorator.java |  4 ++--
 src/main/java/shape/Decorator.java       | 10 +++++-----
 src/main/java/shape/Polygon.java         |  5 +++--
 src/main/java/shape/Rectangle.java       |  8 ++++----
 6 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/AbstractShape.java
index cbe678d..3de5886 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 1f834b3..05a6d64 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 407dd31..0eece70 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 ead5f5c..2f08545 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 d502ce3..d5501cb 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 b0e9062..ff2fcc4 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);
     }
 }
-- 
GitLab