private void BeziersBox_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e) { switch (newType) { case MainWindow.ImageType.Line: drawingList.Add(new DPLine(newPoint.StartP, newPoint.EndP, Color.Black, style, scap, ecap)); break; case MainWindow.ImageType.Rectangle: drawingList.Add(new DPRectangle(newPoint.Rect, Color.Blue, style)); break; case MainWindow.ImageType.CircleAt: if (starCount == 10) { pointChange = true; starCount = 0; tempPoint = new DShapeList(); } break; case MainWindow.ImageType.Set: pointChange = false; break; } BeziersBox.Invalidate(); }
private void Finish_Click(object sender, System.EventArgs e) { if (newType != MainWindow.ImageType.Beziers) { return; } if ((tpointCollection.Count % 3) != 1 || (tpointCollection.Count == 1)) { MessageBox.Show("Please input points%3 = 1"); return; } pointNumber.Add(tpointCollection.Count); Point[] point = new Point[tpointCollection.Count]; int i = 0; foreach (Point newP in tpointCollection) { point[i++] = newP; } beziersList.Add(new DBeziers(point, Color.Black, 1)); BeziersBox.Invalidate(); pointCollection.AddRange(point); pointSum.Add(pointCollection.Count); tpointCollection.RemoveRange(0, tpointCollection.Count); }
private void BeziersBox_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if (e.Button != MouseButtons.Left) { return; } newPoint = new MousePoint(e.X, e.Y); switch (newType) { case MainWindow.ImageType.CircleAt: star[starCount++] = newPoint.StartP; tempPoint.Add(new DPoint(new Point[] { newPoint.StartP }, Color.DarkRed, 1)); BeziersBox.Invalidate(); break; case MainWindow.ImageType.Beziers: tpointCollection.Add(newPoint.StartP); newPoint.StartP.Offset(-2, -2); Rectangle r = new Rectangle(newPoint.StartP, new Size(4, 4)); Region rr = new Region(r); regionCollection.Add(rr); Point startp2 = newPoint.StartP; startp2.Offset(4, 4); pointList.Add(new DHollowRectangle(new Point[] { newPoint.StartP, startp2 }, Color.DarkRed, 1)); BeziersBox.Invalidate(); break; case MainWindow.ImageType.Set: for (int i = 0; i < regionCollection.Count; i++) { if (regionCollection[i].IsVisible(newPoint.StartP)) { newPoint = new MousePoint(e.X, e.Y); beziersPoint = i; BezierIndex = Found(i); pointChange = true; break; } } break; } }