package sk.paz1a.practicals.task5;
import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
public class GrafickyEditor extends WinPane {
private Turtle pero;
private boolean laveJeZatlacene;
public GrafickyEditor() {
this.pero = new Turtle();
this.add(pero);
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
this.pero.setPosition(x, y);
}
@Override
protected void onMouseMoved(int x, int y, MouseEvent detail) {
if (detail.isAltDown()) {
this.pero.setDirectionTowards(x, y);
double startX = this.pero.getX();
double startY = this.pero.getY();
this.pero.moveTo(x, y);
this.pero.setPosition(startX, startY);
}
}
@Override
protected void onMousePressed(int x, int y, MouseEvent detail) {
if (detail.getButton() == MouseEvent.BUTTON1) {
this.laveJeZatlacene = true;
}
}
@Override
protected void onMouseReleased(int x, int y, MouseEvent detail) {
if (detail.getButton() == MouseEvent.BUTTON1) {
this.laveJeZatlacene = false;
}
}
@Override
protected void onMouseDragged(int x, int y, MouseEvent detail) {
if (this.laveJeZatlacene) {
this.pero.moveTo(x, y);
}
}
}