From d7744a7b661eed0fceedef4f62b39d741c5e5922 Mon Sep 17 00:00:00 2001
From: m19023837 <chadi.mansour@etu.univ-amu.fr>
Date: Fri, 20 Sep 2024 11:58:37 +0200
Subject: [PATCH] all classes created

---
 src/main/java/shape/AbstractShape.java   | 32 ++++++++++++++++++++++++
 src/main/java/shape/BorderDecorator.java | 16 ++++++++++++
 src/main/java/shape/CenterDecorator.java | 14 +++++++++++
 src/main/java/shape/Decorator.java       | 28 +++++++++++++++++++++
 src/main/java/shape/Polygon.java         | 29 +++++++++++++++++++++
 5 files changed, 119 insertions(+)
 create mode 100644 src/main/java/shape/AbstractShape.java
 create mode 100644 src/main/java/shape/BorderDecorator.java
 create mode 100644 src/main/java/shape/CenterDecorator.java
 create mode 100644 src/main/java/shape/Decorator.java
 create mode 100644 src/main/java/shape/Polygon.java

diff --git a/src/main/java/shape/AbstractShape.java b/src/main/java/shape/AbstractShape.java
new file mode 100644
index 0000000..cbe678d
--- /dev/null
+++ b/src/main/java/shape/AbstractShape.java
@@ -0,0 +1,32 @@
+package shape;
+
+import javafx.geometry.Point2D;
+import javafx.scene.canvas.GraphicsContext;
+
+import java.util.List;
+
+public class AbstractShape implements Shape {
+    List<Point2D> points;
+
+    public AbstractShape(List<Point2D> points) {
+        this.points = points;
+    }
+    public List<Point2D> addPoints(Point2D points){
+        this.points.add(points);
+        return this.points;
+    }
+    @Override
+    public int pointsCount() {
+        return 0;
+    }
+
+    @Override
+    public Point2D point(int index) {
+        return null;
+    }
+
+    @Override
+    public void draw(GraphicsContext context) {
+
+    }
+}
diff --git a/src/main/java/shape/BorderDecorator.java b/src/main/java/shape/BorderDecorator.java
new file mode 100644
index 0000000..1f834b3
--- /dev/null
+++ b/src/main/java/shape/BorderDecorator.java
@@ -0,0 +1,16 @@
+package shape;
+
+import javafx.scene.canvas.GraphicsContext;
+
+public class BorderDecorator extends Decorator {
+
+    double radius;
+
+    public BorderDecorator(Shape decoratedShape ,double radius) {
+        super(decoratedShape);
+        this.radius = radius;
+    }
+        public void drawDecoration(GraphicsContext context) {
+
+    }
+}
diff --git a/src/main/java/shape/CenterDecorator.java b/src/main/java/shape/CenterDecorator.java
new file mode 100644
index 0000000..407dd31
--- /dev/null
+++ b/src/main/java/shape/CenterDecorator.java
@@ -0,0 +1,14 @@
+package shape;
+
+import javafx.scene.canvas.GraphicsContext;
+
+public class CenterDecorator extends Decorator{
+    double radius;
+    public CenterDecorator(Shape decoratedShape, double radius) {
+        super(decoratedShape);
+        this.radius = radius;
+    }
+        public void drawDecoration(GraphicsContext context) {
+
+    }
+}
diff --git a/src/main/java/shape/Decorator.java b/src/main/java/shape/Decorator.java
new file mode 100644
index 0000000..ead5f5c
--- /dev/null
+++ b/src/main/java/shape/Decorator.java
@@ -0,0 +1,28 @@
+package shape;
+
+import javafx.geometry.Point2D;
+import javafx.scene.canvas.GraphicsContext;
+
+public class Decorator implements Shape {
+    private Shape shape;
+    public Decorator(Shape decoratedShape) {
+        this.shape = decoratedShape;
+    }
+    @Override
+    public int pointsCount() {
+        return 0;
+    }
+
+    @Override
+    public Point2D point(int index) {
+        return null;
+    }
+
+    @Override
+    public void draw(GraphicsContext context) {
+
+    }
+    public void drawDecoration(GraphicsContext context) {
+
+    }
+}
diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java
new file mode 100644
index 0000000..d502ce3
--- /dev/null
+++ b/src/main/java/shape/Polygon.java
@@ -0,0 +1,29 @@
+package shape;
+
+import javafx.geometry.Point2D;
+import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.paint.Color;
+
+public class Polygon implements Shape {
+
+    Color color;
+
+    public Polygon(Color color, Point2D... points) {
+        this.color = color;
+    }
+
+    @Override
+    public int pointsCount() {
+        return 0;
+    }
+
+    @Override
+    public Point2D point(int index) {
+        return null;
+    }
+
+    @Override
+    public void draw(GraphicsContext context) {
+
+    }
+}
-- 
GitLab