package org.openstreetmap.josm.plugins.piclayer.actions.transform.affine;
import static org.openstreetmap.josm.tools.I18n.tr;
import java.awt.event.MouseEvent;
import java.awt.geom.NoninvertibleTransformException;
import java.awt.geom.Point2D;
import org.openstreetmap.josm.gui.MapFrame;
import org.openstreetmap.josm.plugins.piclayer.actions.GenericPicTransformAction;
import org.openstreetmap.josm.tools.ImageProvider;
@SuppressWarnings("serial")
public class TransformPointAction extends GenericPicTransformAction {
public TransformPointAction(MapFrame frame) {
super(tr("PicLayer Transform point"), tr("Point transformed"), "transformpoint", tr("Transform point on the picture"), frame, ImageProvider.getCursor("crosshair", null));
}
@Override
protected void doAction(MouseEvent e) {
try {
Point2D pressed = currentLayer.transformPoint(e.getPoint());
if (selectedPoint != null) {
/*if (currentLayer.getTransformer().getOriginPoints().size() < 3)
JOptionPane.showMessageDialog(null, tr("You should have 3 checkpoints to transform the image!"), tr("PicLayer"), JOptionPane.ERROR_MESSAGE, null);
else*/
//{
currentLayer.getTransformer().updatePair(selectedPoint, pressed);
//}
}
currentCommand.addIfChanged();
} catch (NoninvertibleTransformException e1) {
e1.printStackTrace();
}
}
@Override
public void enterMode() {
super.enterMode();
updateDrawPoints(true);
}
@Override
public void exitMode() {
super.exitMode();
updateDrawPoints(false);
}
}