public override void Move(Selection sel, Point p, Point moveStart)
{
switch (sel.Position) {
case SelectionPosition.All: {
double xdiff, ydiff;
xdiff = p.X - moveStart.X;
ydiff = p.Y - moveStart.Y;
foreach (Point point in Points) {
point.X += xdiff;
point.Y += ydiff;
}
break;
}
default:
throw new Exception ("Unsupported move for multipoints: " + sel.Position);
}
}