Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }