setCellSelection method

void setCellSelection(
  1. Offset pos1,
  2. Offset pos2
)

Implementation

void setCellSelection(Offset pos1, Offset pos2) {
  final x1 = min(pos1.dx, pos2.dx);
  final x2 = max(pos1.dx, pos2.dx);

  final column1 =
  binarySearch(columnOffsets, x1, 0, columnOffsets.length - 1);
  final column2 =
  binarySearch(columnOffsets, x2, 0, columnOffsets.length - 1);

  final y1 = min(pos1.dy, pos2.dy);
  final y2 = max(pos1.dy, pos2.dy);

  final row1 = binarySearch(rowOffsets, y1, 0, rowOffsets.length - 1);
  final row2 = binarySearch(rowOffsets, y2, 0, rowOffsets.length - 1);

  clear();

  for (int i = row1; i <= row2; i++) {
    for (int j = column1; j <= column2; j++) {
      addCellSelection(Index(i, j));
    }
  }
}