Esempio n. 1
0
 private void sketchbookArea_MouseDown(object sender, MouseEventArgs e)
 {
     if (selectedFigure < 0 || selectedAction != 1)
         return;
     FigureDescription figure = figures.ElementAt(selectedFigure);
     if (figure.IsVertex(e.Location))
     {
         moveVertex = true;
         point = e.Location;
         movingFig = figure;
         return;
     }
     foreach (FigureDescription fig in figures)
         if (fig.IsInPolygon(e.Location))
         {
             point = e.Location;
             moveFigure = true;
             movingFig = fig;
             return;
         }
 }
Esempio n. 2
0
        private void sketchbookArea_MouseClick(object sender, MouseEventArgs e)
        {
            if (selectedAction == 1 || selectedFigure == -1 || (selectedFigure == -2 && selectedAction == 2))
                return;

            FigureDescription figure;
            if (selectedFigure < 0)
            {
                figure = new FigureDescription(new LinkedList<Point>(), new FigurePreferences(color, lineThickness));
                figures.AddLast(figure);
                selectedFigureComboBox.Items.Add(string.Format("Figure {0}", figures.Count - 1));
                selectedFigureComboBox.SelectedIndex = figures.Count + 1;
                selectedFigure = figures.Count - 1;
            }
            else
                figure = figures.ElementAt(selectedFigure);

            if (selectedAction == 0)
                figure.AddPoint(e.Location);
            else if (selectedAction == 2 && figure.IsVertex(e.Location))
                figure.RemovePoint();
            if(figure.FigurePoints.Count > 1)
                sketchbookArea.Invalidate();
        }