package sk.paz1a.practicals.task05;
import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
public class GrafickyEditor extends WinPane {
private Turtle kreslic;
private boolean boloStlaceneLaveTlacidlo;
public GrafickyEditor() {
this.kreslic = new Turtle();
this.add(this.kreslic);
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
this.kreslic.setPosition(x, y);
}
@Override
protected void onMouseMoved(int x, int y, MouseEvent detail) {
if (detail.isAltDown()) {
int initialX = (int) (this.kreslic.getX());
int initialY = (int) (this.kreslic.getY());
this.kreslic.penDown();
this.kreslic.setDirectionTowards(x, y);
this.kreslic.moveTo(x, y);
this.kreslic.setPosition(initialX, initialY);
}
}
@Override
protected void onMousePressed(int x, int y, MouseEvent detail) {
if (detail.getButton() == MouseEvent.BUTTON1) {
// System.out.println("pressed");
this.boloStlaceneLaveTlacidlo = true;
}
}
@Override
protected void onMouseDragged(int x, int y, MouseEvent detail) {
if (this.boloStlaceneLaveTlacidlo) {
// System.out.println("dragged");
this.kreslic.moveTo(x, y);
}
}
@Override
protected void onMouseReleased(int x, int y, MouseEvent detail) {
if (detail.getButton() == MouseEvent.BUTTON1) {
// System.out.println("released");
this.boloStlaceneLaveTlacidlo = false;
}
}
}