public override void MoveHandle(PointF point, int handleNumber, Keys modifiers) { int handle = handleNumber - 1; quadImage[handle] = point; if (inPerspective) { planeIsConvex = quadImage.IsConvex; } else { if ((modifiers & Keys.Shift) == Keys.Shift) { quadImage.MakeSquare(handle); } else { quadImage.MakeRectangle(handle); } } SignalTrackablePointMoved(handle); CalibrationHelper.CalibrationByPlane_Update(quadImage); }
public override void MoveHandle(PointF point, int handleNumber, Keys modifiers) { if (handleNumber < 5) { // Moving a corner. quadImage[handleNumber - 1] = point; quadImage.MakeRectangle(handleNumber - 1); } else { // Moving an edge. if (handleNumber == 5) { quadImage.A = new PointF(quadImage.A.X, point.Y); quadImage.B = new PointF(quadImage.B.X, point.Y); } else if (handleNumber == 6) { quadImage.B = new PointF(point.X, quadImage.B.Y); quadImage.C = new PointF(point.X, quadImage.C.Y); } else if (handleNumber == 7) { quadImage.C = new PointF(quadImage.C.X, point.Y); quadImage.D = new PointF(quadImage.D.X, point.Y); } else if (handleNumber == 8) { quadImage.D = new PointF(point.X, quadImage.D.Y); quadImage.A = new PointF(point.X, quadImage.A.Y); } } }