package cit.PureATN;
import java.awt.geom.Point2D;
import org.piccolo2d.PCamera;
import org.piccolo2d.PNode;
import org.piccolo2d.event.PDragSequenceEventHandler;
import org.piccolo2d.event.PInputEvent;
public class SquiggleEventHandler extends PDragSequenceEventHandler {
protected PNode pressPN;
protected PInputEvent startEv;
protected PInputEvent lastEv;
Note note;
public SquiggleEventHandler(Note note) {
this.note = note;
}
public String getPenIDStr() {
return String.format("pen%02d" ,note.getMousePenID());
}
public void startDrag(final PInputEvent e) {
super.startDrag(e);
startEv = lastEv = e;
pressPN = e.getPickedNode();
// System.out.println(pressPN.getClass().getName());
if (pressPN instanceof PCamera) {
String mousePenIDStr = getPenIDStr();
PenUser.press(mousePenIDStr, 1, false);
final Point2D p = e.getPosition();
// squiggle = new ShortStroke();
// layer.addChild(squiggle);
// squiggle.startDrag_on_draw(p.getX(), p.getY());
PenUser.add(mousePenIDStr, (int) p.getX(), (int) p.getY());
// // squiggle.setStroke(new BasicStroke((float) (3 /
// // e.getCamera().getViewScale())));
// layer.repaint();
} else {
}
}
public void drag(final PInputEvent e) {
super.drag(e);
if (pressPN instanceof PCamera)
updateSquiggle(e);
}
public void endDrag(final PInputEvent e) {
super.endDrag(e);
if (pressPN instanceof PCamera) {
updateSquiggle(e);
String mousePenIDStr = getPenIDStr();
PenUser.press(mousePenIDStr, 0, false);
}
startEv = null;
}
public void updateSquiggle(final PInputEvent aEvent) {
lastEv = aEvent;
String mousePenIDStr = getPenIDStr();
final Point2D p = aEvent.getPosition();
PenUser.add(mousePenIDStr, (int) p.getX(), (int) p.getY());
}
}