public override DrawObjectMouseDown OnMouseDown(ICanvas canvas, UnitPoint point, ISnapPoint snapPoint, MouseEventArgs e) { OnMouseMove(canvas, point); if (this.arcCurrentPointType == ArcCurrentPointType.Center) { this.arcCurrentPointType = ArcCurrentPointType.StartPoint; return(DrawObjectMouseDown.Continue); } if (this.arcCurrentPointType == ArcCurrentPointType.StartPoint) { this.arcCurrentPointType = ArcCurrentPointType.EndPoint; this.StartMovePoint = startPoint; return(DrawObjectMouseDown.Continue); } if (this.arcCurrentPointType == ArcCurrentPointType.EndPoint) { this.arcCurrentPointType = ArcCurrentPointType.Done; this.midPoint = new UnitPoint(this.Radius * Math.Cos(HitUtil.DegreesToRadians(this.StartAngle + AngleSweep / 2)) + this.Center.X, this.Radius * Math.Sin(HitUtil.DegreesToRadians(this.StartAngle + AngleSweep / 2)) + this.Center.Y); this.IsSelected = false; this.GroupParam.FigureSN = ++GlobalModel.TotalDrawObjectCount; this.GroupParam.ShowSN = this.GroupParam.FigureSN; this.IsCompleteDraw = true; this.EndMovePoint = this.endPoint; return(DrawObjectMouseDown.Done); } return(DrawObjectMouseDown.Done); }
public override DrawObjectMouseDown OnMouseDown(ICanvas canvas, UnitPoint point, ISnapPoint snapPoint, MouseEventArgs e) { OnMouseMove(canvas, point); if (this.arcCurrentPointType == ArcCurrentPointType.StartPoint) { this.arcCurrentPointType = ArcCurrentPointType.MidPoint; this.StartMovePoint = point; return(DrawObjectMouseDown.Continue); } if (this.arcCurrentPointType == ArcCurrentPointType.MidPoint) { if (this.startPoint != point) { this.arcCurrentPointType = ArcCurrentPointType.EndPoint; } return(DrawObjectMouseDown.Continue); } if (this.arcCurrentPointType == ArcCurrentPointType.EndPoint) { this.arcCurrentPointType = ArcCurrentPointType.Done; this.IsSelected = false; this.GroupParam.FigureSN = ++GlobalModel.TotalDrawObjectCount; this.GroupParam.ShowSN = this.GroupParam.FigureSN; this.IsCompleteDraw = true; this.midPoint = HitUtil.PointOnCircle(this.Center, this.Radius, HitUtil.DegreesToRadians(this.MidAngle)); this.EndMovePoint = this.endPoint; return(DrawObjectMouseDown.Done); } return(DrawObjectMouseDown.Done); }