buildFunctionPattern method

UBitMatrix buildFunctionPattern()

Implementation

UBitMatrix buildFunctionPattern() {
  final int dimension = this.dimension;
  final UBitMatrix matrix = UBitMatrix(dimension, dimension);
  _fill(matrix, 0, 0, 9, 9);
  _fill(matrix, dimension - 8, 0, 8, 9);
  _fill(matrix, 0, dimension - 8, 9, 8);

  final int max = alignmentPatternCenters.length;
  for (int x = 0; x < max; x++) {
    final int i = alignmentPatternCenters[x] - 2;
    for (int y = 0; y < max; y++) {
      if ((x == 0 && (y == 0 || y == max - 1)) || (x == max - 1 && y == 0)) continue;
      _fill(matrix, alignmentPatternCenters[y] - 2, i, 5, 5);
    }
  }

  _fill(matrix, 6, 9, 1, dimension - 17);
  _fill(matrix, 9, 6, dimension - 17, 1);

  if (number > 6) {
    _fill(matrix, dimension - 11, 0, 3, 6);
    _fill(matrix, 0, dimension - 11, 6, 3);
  }
  return matrix;
}