public override DrawObjectMouseDown OnMouseDown(ICanvas canvas, UnitPoint unitPoint, ISnapPoint snapPoint, MouseEventArgs e) { OnMouseMove(canvas, unitPoint); if (this.CurrentPoint == MultiSegementLineCurrentPoint.StartPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.MidPoint; return(DrawObjectMouseDown.Continue); } if (this.CurrentPoint == MultiSegementLineCurrentPoint.MidPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.EndPoint; return(DrawObjectMouseDown.Continue); } if (this.CurrentPoint == MultiSegementLineCurrentPoint.EndPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.Done; this.IsSelected = false; this.GroupParam.FigureSN = ++GlobalModel.TotalDrawObjectCount; this.GroupParam.ShowSN = this.GroupParam.FigureSN; this.IsCompleteDraw = true; this.StartMovePoint = this.Points[0].Point; this.EndMovePoint = this.Points[0].Point; return(DrawObjectMouseDown.Done); } return(DrawObjectMouseDown.Done); }
public override DrawObjectMouseDown OnMouseDown(ICanvas canvas, UnitPoint unitPoint, ISnapPoint snapPoint, MouseEventArgs e) { OnMouseMove(canvas, unitPoint); if (this.CurrentPoint == MultiSegementLineCurrentPoint.StartPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.MidPoint; return(DrawObjectMouseDown.Continue); } if (this.CurrentPoint == MultiSegementLineCurrentPoint.MidPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.EndPoint; Point positionCursor = Cursor.Position; PointF point0 = canvas.ToScreen(this.Points[0].Point); Point offset0 = new Point((int)point0.X - positionCursor.X, (int)point0.Y - positionCursor.Y); PointF point = canvas.ToScreen(this.Points[1].Point); Cursor.Position = new Point((int)point.X - offset0.X, (int)point.Y - offset0.Y); return(DrawObjectMouseDown.Continue); } if (this.CurrentPoint == MultiSegementLineCurrentPoint.EndPoint) { this.CurrentPoint = MultiSegementLineCurrentPoint.Done; this.IsSelected = false; this.GroupParam.FigureSN = ++GlobalModel.TotalDrawObjectCount; this.GroupParam.ShowSN = this.GroupParam.FigureSN; this.StartMovePoint = this.Points[0].Point; this.EndMovePoint = this.Points[0].Point; this.IsCompleteDraw = true; return(DrawObjectMouseDown.Done); } return(DrawObjectMouseDown.Done); }