コード例 #1
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;
            }
        }