// Moves the selection left and down a specified distance in pixels.
|
|
|
|
xy = split(getArgument());
|
|
if (lengthOf(xy)!=2) {
|
|
dx = 10;
|
|
dy = 10;
|
|
} else {
|
|
dx = parseFloat(xy[0]);
|
|
if (isNaN(dx)) dx = 10;
|
|
dy = parseFloat(xy[1]);
|
|
if (isNaN(dy)) dy = 10;
|
|
}
|
|
getPixelSize(unit, pixelWidth, pixelHeight);
|
|
if (unit=="pixel") unit = "pixels";
|
|
dxc = dx*pixelWidth;
|
|
dyc = dy*pixelHeight;
|
|
Dialog.create("Move");
|
|
Dialog.addNumber("Delta_X ("+unit+"):", dxc);
|
|
Dialog.addNumber("Delta_Y ("+unit+"):", dyc);
|
|
Dialog.show();
|
|
dx = Dialog.getNumber()/pixelWidth;
|
|
dy = Dialog.getNumber()/pixelHeight;
|
|
moveSelection(dx, dy);
|
|
return toString(dx)+" "+toString(dy);
|
|
|
|
function moveSelection(dx, dy) {
|
|
getBoundingRect(x, y, width, height);
|
|
if (selectionType==0)
|
|
makeRectangle(x+dx, y+dy, width, height);
|
|
else if (selectionType==1)
|
|
makeOval(x+dx, y+dy, width, height);
|
|
else {
|
|
getSelectionCoordinates(xCoordinates, yCoordinates);
|
|
for (i=0; i<xCoordinates.length; i++) {
|
|
xCoordinates[i] += dx;
|
|
yCoordinates[i] += dy;
|
|
}
|
|
makeSelection(selectionType, xCoordinates, yCoordinates);
|
|
}
|
|
}
|