From 3bdb7b058659c01c7de2ef18618105c9dbe2aa9f Mon Sep 17 00:00:00 2001
From: a23022716 <celia.arezki.1@etu.univ-amu.fr>
Date: Fri, 11 Oct 2024 12:07:05 +0200
Subject: [PATCH] add  DrawerContext class

---
 src/main/java/shape/tp5/DrawerContext.java | 38 ++++++++++++++++++++++
 1 file changed, 38 insertions(+)
 create mode 100644 src/main/java/shape/tp5/DrawerContext.java

diff --git a/src/main/java/shape/tp5/DrawerContext.java b/src/main/java/shape/tp5/DrawerContext.java
new file mode 100644
index 0000000..0e91c1c
--- /dev/null
+++ b/src/main/java/shape/tp5/DrawerContext.java
@@ -0,0 +1,38 @@
+package shape.tp5;
+
+import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.input.MouseEvent;
+
+public class DrawerContext {
+    private DrawerState currentState;
+    private Drawer drawer;
+
+    public DrawerContext(Drawer drawer) {
+        this.drawer = drawer;
+        this.currentState = new NullDrawerState(); // État initial
+    }
+
+    public void setState(DrawerState state) {
+        this.currentState = state;
+    }
+
+    public void mousePressed(MouseEvent event) {
+        currentState.mousePressed(this, event.getX(), event.getY());
+    }
+
+    public void mouseReleased(MouseEvent event) {
+        currentState.mouseReleased(this, event.getX(), event.getY());
+    }
+
+    public void mouseMoved(MouseEvent event) {
+        currentState.mouseMoved(this, event.getX(), event.getY());
+    }
+
+    public void paint(GraphicsContext graphicsContext) {
+        currentState.paint(this, graphicsContext);
+    }
+
+    public Drawer getDrawer() {
+        return drawer;
+    }
+}
\ No newline at end of file
-- 
GitLab