/// <summary> /// Oblicz i dodaj nowe EmptyFields /// </summary> /// <param name="insertedRectangle">Currently inserted rectangle</param> private void AddNewEmptyFields(Rectangle insertedRectangle) { Point newMaxPossibleRD = ComputeNewMaxPossibleRectangleRightDown(insertedRectangle); if (!newMaxPossibleRD.Equals(maxPossibleRect.RightDown)) { Rectangle newMaxPossibleRect = new Rectangle(maxPossibleRect.LeftTop, newMaxPossibleRD); List<Rectangle> newEmpties = newMaxPossibleRect.Subtract(maxPossibleRect); IEnumerator<Rectangle> nEmpEnum = newEmpties.GetEnumerator(); while (nEmpEnum.MoveNext()) { Rectangle temp = nEmpEnum.Current; List<Rectangle> tempEmpties = temp.Subtract(insertedRectangle); if (tempEmpties.Count > 0) // poprawione - Pawe� //emptyFields.AddRange(tempEmpties); addToList(emptyFields, tempEmpties); } } }