From 962c6186a4bcc1ff161c649ac4ccd603b757b743 Mon Sep 17 00:00:00 2001
From: douaa <douaa.BENHILA@etu.univ-amu.fr>
Date: Thu, 3 Oct 2024 22:02:49 +0200
Subject: [PATCH] add method draw

---
 src/main/java/shape/Polygon.java | 33 +++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)

diff --git a/src/main/java/shape/Polygon.java b/src/main/java/shape/Polygon.java
index 4ba6cf5..64e0358 100644
--- a/src/main/java/shape/Polygon.java
+++ b/src/main/java/shape/Polygon.java
@@ -1,4 +1,35 @@
 package shape;
 
-public class Polygon {
+import javafx.geometry.Point2D;
+import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.paint.Color;
+import java.util.List;
+
+public class Polygon extends AbstractShape  {
+    private Color color;
+
+    public Polygon(Color color, List<Point2D> points ){
+        this.color=color;
+        this.points.addAll(points);
+    }
+
+    /*public void draw(GraphicsContext graphicsContext) {
+        if (points.size() >= 3) {
+            double[] xPoints = new double[points.size()];
+            double[] yPoints = new double[points.size()];
+            for (int i = 0; i < points.size(); i++) {
+                xPoints[i] = points.get(i).getX();
+                yPoints[i] = points.get(i).getY();
+            }
+            graphicsContext.strokePolygon(xPoints, yPoints, points.size());
+        }
+    }*/
+    @Override
+    public void draw(GraphicsContext graphicsContext) {
+        graphicsContext.setFill(color);
+        double[] xPoints = points.stream().mapToDouble(Point2D::getX).toArray();
+        double[] yPoints = points.stream().mapToDouble(Point2D::getY).toArray();
+        graphicsContext.setFill(color);
+        graphicsContext.fillPolygon(xPoints, yPoints, points.size());
+    }
 }
-- 
GitLab