/** * 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); } } } }