// выделение фигуры мышкой добавляет в список выделенных фигур. если add - true. При этом можно // начать заново выделять, если add - false void ILogicForCommand.addCurientFigure(Interfaces.Point dot, bool add) { bool find = false; int index; for (index = Figures.Count - 1; index >= 0; index--) { //Проверяем лежит ли данная точка в этой фигуре find = Figures.getFigure(index).IsPointInner(dot); //Если нашли if (find) { //если надо добавить if (add) { //и текущей фигуры нет в списке элементов if (CurientFigures.IndexOf(index) < 0) { //то выходим из цикла, или продолжаем поиски break; } //иначе выходим } else { break; } } } if (find) { if (add) { CurientFigures.Add(index); } else { CurientFigures.Clear(); CurientFigures.Add(index); } } else { if (!add) { CurientFigures.Clear(); } } }
int ILogicForGUI.GetIndexByPoint(Interfaces.Point a) { bool find = false; int index; for (index = Figures.Count - 1; index >= 0; index--) { //Проверяем лежит ли данная точка в этой фигуре find = Figures.getFigure(index).IsPointInner(a); if (find) { return(index); } } return(-1); }