Exemplo n.º 1
0
 /**
  * Embeds position adjustment patterns if required.
  *
  * @param  Version    $version
  * @param  ByteMatrix $matrix
  * @return void
  */
 protected static function maybeEmbedPositionAdjustmentPatterns(Version $version, ByteMatrix $matrix)
 {
     if ($version->getVersionNumber() < 2) {
         return;
     }
     $index = $version->getVersionNumber() - 1;
     $coordinates = self::$positionAdjustmentPatternCoordinateTable[$index];
     $numCoordinates = count($coordinates);
     for ($i = 0; $i < $numCoordinates; $i++) {
         for ($j = 0; $j < $numCoordinates; $j++) {
             $y = $coordinates[$i];
             $x = $coordinates[$j];
             if ($x === null || $y === null) {
                 continue;
             }
             if ($matrix->get($x, $y) === -1) {
                 self::embedPositionAdjustmentPattern($x - 2, $y - 2, $matrix);
             }
         }
     }
 }