ptFromState static method

String? ptFromState(
  1. int fromL,
  2. List<bool> combinedStates,
  3. int maxColumn
)

Implementation

static String? ptFromState(int fromL, List<bool> combinedStates, int maxColumn){
  assert(fromL > 0 && fromL <= maxColumn && combinedStates.isNotEmpty);
  if(fromL + combinedStates.length > maxColumn) return null;
  List<int> columns = [];
  int? prevCombined;
  bool? prevState;
  for(int i = 0; i< combinedStates.length; i++){
    final isCombined = combinedStates[i];
    if(!isCombined){
      if(prevCombined != null) { columns.add(prevCombined); prevCombined = null; }
      if(prevState != true) columns.add(1);
    }else{
      prevCombined = prevCombined != null ? prevCombined + 1 : 2;
    }
    prevState = isCombined;
  }
  if(prevCombined != null) columns.add(prevCombined);
  if(prevState == false) columns.add(1);
  return genScreenPTColumnsLR(columns, fromL, maxColumn)?.join(',');
}