package io.github.jgkamat.ViPaint.Tools.MouseTool;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.input.MouseEvent;
/**
* A solid oval drawing tool
*
* @author Jay Kamat
* @version 1.0
*/
public class OvalTool implements MouseTool {
private double startx, starty;
@Override
public void onPress(MouseEvent e, GraphicsContext g) {
startx = e.getX();
starty = e.getY();
}
@Override
public void onDrag(MouseEvent e, GraphicsContext g) {
if (e.getY() < starty && e.getX() < startx) {
g.fillOval(e.getX(), e.getY(), startx - e.getX(), starty
- e.getY());
} else if (e.getY() < starty) {
g.fillOval(startx, e.getY(), e.getX() - startx, starty - e.getY());
} else if (e.getX() < startx) {
g.fillOval(e.getX(), starty, startx - e.getX(), e.getY() - starty);
} else {
g.fillOval(startx, starty, e.getX() - startx, e.getY() - starty);
}
}
@Override
public void onRelease(MouseEvent e, GraphicsContext g) {
onDrag(e, g);
}
@Override
public String getName() {
return "OvalTool";
}
}