From 2a168d278e6f007d626624a85d9d603e11da1b0e Mon Sep 17 00:00:00 2001
From: a23022716 <celia.arezki.1@etu.univ-amu.fr>
Date: Fri, 27 Sep 2024 11:38:19 +0200
Subject: [PATCH] fix of The Rectangle class who implements the draw method to
 render the rectangle using JavaFX's GraphicsContext

---
 src/main/java/shape/Rectangle.java | 24 ++++++++++++++++++------
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/main/java/shape/Rectangle.java b/src/main/java/shape/Rectangle.java
index b0e9062..34b41f8 100644
--- a/src/main/java/shape/Rectangle.java
+++ b/src/main/java/shape/Rectangle.java
@@ -4,24 +4,36 @@ import javafx.geometry.Point2D;
 import javafx.scene.canvas.GraphicsContext;
 import javafx.scene.paint.Color;
 
-public class Rectangle implements Shape{
-    Color color;
-    Rectangle(Color color, Point2D point0, Point2D point1){
+public class Rectangle implements Shape {
+    private Color color;
+    private Point2D point0, point1;
+
+    public Rectangle(Color color, Point2D point0, Point2D point1) {
         this.color = color;
+        this.point0 = point0;
+        this.point1 = point1;
     }
 
     @Override
     public int pointsCount() {
-        return 0;
+        return 2;  // Un rectangle a 2 points (deux coins opposés)
     }
 
     @Override
     public Point2D point(int index) {
-        return null;
+        if (index == 0) {
+            return point0;
+        } else if (index == 1) {
+            return point1;
+        }
+        throw new IndexOutOfBoundsException("Rectangle has only 2 points.");
     }
 
     @Override
     public void draw(GraphicsContext context) {
-
+        context.setStroke(color);
+        context.strokeRect(point0.getX(), point0.getY(),
+                point1.getX() - point0.getX(),
+                point1.getY() - point0.getY());
     }
 }
-- 
GitLab