예제 #1
0
파일: Circle.cs 프로젝트: chichon67/Paint
        public static ClickResult ClickHandler(System.Drawing.Point pt, MouseButtons but, ref Curve curElement)
        {
            //MessageBox.Show("Circle");


            if (but == MouseButtons.Right)
            {
                return(ClickResult.canceled);
            }


            else if (but == MouseButtons.Left)


            {
                var center = new Point(pt.X, pt.Y);

                if (curElement == null || curElement.GetType() != typeof(Circle)) // prüft ob es nur Circle ist
                {
                    curElement = new Circle(center, 0);


                    return(ClickResult.created);
                }


                else
                {
                    var endPoint = new Point(pt.X, pt.Y);

                    Circle circle = curElement as Circle;
                    double r      = circle.CenterPoint.DistanceTo(endPoint);
                    //Line l2 = new Line(circle.CenterPoint.X, circle.CenterPoint.Y, endPoint.X, endPoint.Y);
                    circle.Radius = r;



                    return(ClickResult.finished);
                }
            }

            return(ClickResult.canceled);
        }
예제 #2
0
        public static ClickResult ClickHandler(System.Drawing.Point pt, MouseButtons but, ref Curve curElement)
        {
            if (but == MouseButtons.Right)
            {
                return(ClickResult.canceled);
            }


            else if (but == MouseButtons.Left)


            {
                //var startPoint = new Point();


                if (curElement == null || curElement.GetType() != typeof(Line)) // prüft ob es nur linie ist
                {
                    var endpoint = new Point();

                    Line line1 = new Line(pt.X, pt.Y, pt.X, pt.Y);
                    curElement = line1;


                    return(ClickResult.created);
                }


                else
                {
                    (curElement as Line).EndPoint = new Point(pt.X, pt.Y);

                    return(ClickResult.finished);
                }
            }

            return(ClickResult.canceled);
        }
예제 #3
0
        public static ClickResult ClickHandler(System.Drawing.Point pt, MouseButtons but, ref Curve curElement)
        {
            if (curElement == null)
            {
                return(ClickResult.canceled);
            }

            if (curElement.GetType() != typeof(Circle) && but == MouseButtons.Left) // prüft ob es nur linie ist
            {
                var point = new Point(pt.X, pt.Y);

                Points.Add(point);
                Polyline pl = new Polyline(Points);
                curElement = new Polyline(Points);
                return(ClickResult.created);
            }
            else
            {
                Polyline poly = curElement as Polyline;
                if (but == MouseButtons.Left)
                {
                    var point2 = new Point(pt.X, pt.Y);
                    poly.AddPoint(point2);

                    return(ClickResult.pointHandled);
                }
                else if (Points.Count < 2 && but == MouseButtons.Right)
                {
                    return(ClickResult.canceled);
                }
                else
                {
                    return(ClickResult.finished);
                }
            }
        }
예제 #4
0
 public void InsertPointAt(int position, Point newPoint)
 {
     _Points.Insert(position, newPoint);
 }
예제 #5
0
 public void AddPoint(Point newPoint)
 {
     _Points.Add(newPoint);
 }
예제 #6
0
파일: Circle.cs 프로젝트: chichon67/Paint
 public Circle(Point centerPoint, double radius)
 {
     this.Radius      = radius;
     this.CenterPoint = centerPoint;
 }