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