public override void OnMouseMove(MouseEventArgs e) { if (form.IsMouseDown) { var currP = form.currPt; for (int i = 0; i < form.Points.Count; i++) { if (form.Points[i] != lastP && CGUtils.SqrtLength(form.Points[i], currP) < 500) { currP.Y = CGUtils.ReversedY(currP.Y); Point p = form.PictureBox1.PointToScreen(new Point((int)form.Points[i].x, (int)CGUtils.ReversedY(form.Points[i].y))); SetCursorPos(p.X, p.Y); linkPoint = form.Points[i]; } } Draw.DrawImage(); } }
public override void OnMouseUp(MouseEventArgs e) { var newP = WinManager.Instance.CreatePoint(e.X, CGUtils.ReversedY(e.Y)); if (newP == null) { var currP = form.currPt; if (CGUtils.SqrtLength(linkPoint, currP) < 500) { linkPoint.pred = lastP; lastP.succ = linkPoint; Draw.DrawLine(lastP, linkPoint); Draw.DrawImage(); lastP = null; } return; } Draw.DrawPoint(newP); Draw.DrawLine(lastP, newP); lastP.succ = newP; newP.pred = lastP; lastP = newP; }