public mxPoint snapScaledPoint(mxPoint pt, double dx, double dy)
{
if (pt != null)
{
double scale = graph.getView().getScale();
mxPoint trans = graph.getView().getTranslate();
pt.setX((graph.snap(pt.getX() / scale - trans.getX() + dx / scale) + trans
.getX()) * scale - dx);
pt.setY((graph.snap(pt.getY() / scale - trans.getY() + dy / scale) + trans
.getY()) * scale - dy);
}
return pt;
}