import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.MouseEvent;
import sk.upjs.jpaz2.Turtle;
import sk.upjs.jpaz2.WinPane;
public class GrafickyEditor extends WinPane {
private Turtle kreslic = new Turtle();
public GrafickyEditor() {
add(kreslic);
}
@Override
protected void onMouseClicked(int x, int y, MouseEvent detail) {
super.onMouseClicked(x, y, detail);
kreslic.setPosition(x, y);
}
@Override
protected void onMouseMoved(int x, int y, MouseEvent detail) {
super.onMouseMoved(x, y, detail);
if (detail.isAltDown()) {
double uhol = kreslic.directionTowards(x, y);
kreslic.setDirection(uhol);
double sx = kreslic.getX(), sy = kreslic.getY();
kreslic.moveTo(x, y);
kreslic.setPosition(sx, sy);
}
}
@Override
protected void onMouseDragged(int x, int y, MouseEvent detail) {
super.onMouseDragged(x, y, detail);
kreslic.moveTo(x, y);
}
@Override
protected void onKeyPressed(KeyEvent e) {
super.onKeyPressed(e);
if (e.getKeyChar() == 'n') {
int r = (int)(Math.random() * 256);
int g = (int)(Math.random() * 256);
int b = (int)(Math.random() * 256);
kreslic.setPenColor(new Color(r, g, b));
}
}
}