Newer
Older
package state;
import javafx.scene.canvas.Canvas;
import shape.Shape;
import java.util.ArrayList;
import java.util.List;
public class Drawer extends Canvas {
protected List<Shape> shapes = new ArrayList<>();
public Drawer(int width, int height) {
super(width,height);
setFocusTraversable(true);
setOnMousePressed(event->context.mousePressed(event));
setOnMouseReleased(event->context.mouseReleased(event));
setOnMouseMoved(event->context.mouseMoved(event));
setOnMouseDragged(event->context.mouseMoved(event));
}
public void repaint(){
this.getGraphicsContext2D().clearRect(0,0,this.getWidth(),this.getHeight());
for(Shape shape : shapes){
shape.paint(this.getGraphicsContext2D());
}
}
public void addShape(Shape shape){
shapes.add(shape);
}
public Shape shapeContains(double x, double y){
for(Shape shape : shapes){
if(shape.contains(x,y)) return shape;
}
return null;