Exemplo n.º 1
0
        private void drawAreaBox_MouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                switch (clickMode)
                {
                case ClickMode.ChoosingRectanglePoints:
                    polygonsContainer.BuildNextPolygonPart(e.X, e.Y);
                    break;

                case ClickMode.MovingElement:
                    polygonsContainer.StartMovingElementFrom(e.X, e.Y);
                    break;
                }
            }
            else if (e.Button == MouseButtons.Right)
            {
                var resVertice = polygonsContainer.StartVerticeDeleting(e.X, e.Y);
                if (resVertice)
                {
                    ShowVerticeContextMenu(e.X, e.Y);
                    return;
                }

                var resEdge = polygonsContainer.StartAddingEdgeConstraintOrVertice(e.X, e.Y);
                if (resEdge.isEdgeUnderHit)
                {
                    ShowEdgeContextMenu(resEdge.constraint, e.X, e.Y);
                    return;
                }

                var resPolygon = polygonsContainer.StartPolygonDeleting(e.X, e.Y);
                if (resPolygon)
                {
                    ShowPolygonContextMenu(e.X, e.Y);
                }
            }
        }