mergeRects method

List<Rect> mergeRects()

Implementation

List<Rect> mergeRects() {
  final merged = <Rect>[];

  for (final rect in this) {
    if (merged.isEmpty) {
      merged.add(rect);
    } else {
      final last = merged.last;
      if (rect.left == last.right) {
        merged[merged.length - 1] = last.expandToInclude(rect);
      } else {
        merged.add(rect);
      }
    }
  }

  return merged;
}