genScreenPTColumnsLR static method

List<String>? genScreenPTColumnsLR(
  1. List<int> columnsLR,
  2. int fromL,
  3. int maxColumn
)

Implementation

static List<String>? genScreenPTColumnsLR(List<int> columnsLR, int fromL, int maxColumn){
  if(columnsLR.length > maxColumn || columnsLR.fold<int>(0, (total, added)=>total+added) > maxColumn ) return null;
  var fromStart = fromL, index = 0;
  List<String> list = [];
  while(fromStart <= maxColumn){
    var willFillColumns = index < columnsLR.length ?  columnsLR[index] : 1;
    var willAdded = screenPTColumnsLR(fromStart, willFillColumns);
    if(willAdded != null){
      list.add(willAdded);
      index ++;
      fromStart += willFillColumns;
    }else{
      return null;
    }
  }
  return list;
}