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; } }
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(); }