/// <summary> /// Gets the columns to remove. /// </summary> /// <param name="shapeModel">The shape model.</param> /// <returns>A list of column indexes</returns> private static List <int> GetColumnsToRemove(this ShapeModel shapeModel) { var columnsToRemove = new List <int>(); for (int col = shapeModel.LastColumn(); col >= 1; col--) { if (shapeModel.GetColumn(col).All(b => b.Color == CGA16Colors.Black.GetColor())) { columnsToRemove.Add(col); } else { break; } } for (int col = 1; col <= shapeModel.LastColumn(); col++) { if (shapeModel.GetColumn(col).All(b => b.Color == CGA16Colors.Black.GetColor())) { columnsToRemove.Add(col); } else { break; } } columnsToRemove.Sort(); columnsToRemove.Reverse(); return(columnsToRemove); }