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); }
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); }
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); } } }
public void InsertPointAt(int position, Point newPoint) { _Points.Insert(position, newPoint); }
public void AddPoint(Point newPoint) { _Points.Add(newPoint); }
public Circle(Point centerPoint, double radius) { this.Radius = radius; this.CenterPoint = centerPoint; }