Beispiel #1
0
        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();
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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;
            }
        }