diff options
Diffstat (limited to 'vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php')
-rwxr-xr-x | vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php | 77 |
1 files changed, 19 insertions, 58 deletions
diff --git a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php index 9212a609f..05c8b9069 100755 --- a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php +++ b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php @@ -25,71 +25,32 @@ use function array_fill, array_key_exists, array_push, array_unshift, count, flo */ final class QRMatrix{ - /* - * special values - */ - - /** @var int */ - public const M_NULL = 0x00; - /** @var int */ - public const M_LOGO = 0x14; - /** @var int */ - public const M_LOGO_DARK = self::M_LOGO << 8; - - /* - * light values - */ - - /** @var int */ - public const M_DATA = 0x04; - /** @var int */ - public const M_FINDER = 0x06; - /** @var int */ - public const M_SEPARATOR = 0x08; - /** @var int */ - public const M_ALIGNMENT = 0x0a; /** @var int */ - public const M_TIMING = 0x0c; + public const M_NULL = 0x00; /** @var int */ - public const M_FORMAT = 0x0e; + public const M_DARKMODULE = 0x02; /** @var int */ - public const M_VERSION = 0x10; + public const M_DATA = 0x04; /** @var int */ - public const M_QUIETZONE = 0x12; - - /* - * dark values - */ - - /** @var int */ - public const M_DARKMODULE = self::M_DARKMODULE_LIGHT << 8; - /** @var int */ - public const M_DATA_DARK = self::M_DATA << 8; - /** @var int */ - public const M_FINDER_DARK = self::M_FINDER << 8; + public const M_FINDER = 0x06; /** @var int */ - public const M_ALIGNMENT_DARK = self::M_ALIGNMENT << 8; + public const M_SEPARATOR = 0x08; /** @var int */ - public const M_TIMING_DARK = self::M_TIMING << 8; + public const M_ALIGNMENT = 0x0a; /** @var int */ - public const M_FORMAT_DARK = self::M_FORMAT << 8; + public const M_TIMING = 0x0c; /** @var int */ - public const M_VERSION_DARK = self::M_VERSION << 8; + public const M_FORMAT = 0x0e; /** @var int */ - public const M_FINDER_DOT = self::M_FINDER_DOT_LIGHT << 8; - - /* - * values used for reversed reflectance - */ - + public const M_VERSION = 0x10; /** @var int */ - public const M_DARKMODULE_LIGHT = 0x02; + public const M_QUIETZONE = 0x12; /** @var int */ - public const M_FINDER_DOT_LIGHT = 0x16; + public const M_LOGO = 0x14; /** @var int */ - public const M_SEPARATOR_DARK = self::M_SEPARATOR << 8; + public const M_FINDER_DOT = 0x16; /** @var int */ - public const M_QUIETZONE_DARK = self::M_QUIETZONE << 8; + public const M_TEST = 0xff; /** * ISO/IEC 18004:2000 Annex E, Table E.1 - Row/column coordinates of center module of Alignment Patterns @@ -389,7 +350,7 @@ final class QRMatrix{ * Sets the "dark module", that is always on the same position 1x1px away from the bottom left finder */ public function setDarkModule():QRMatrix{ - $this->set(8, 4 * $this->version + 9, true, $this::M_DARKMODULE_LIGHT); + $this->set(8, 4 * $this->version + 9, true, $this::M_DARKMODULE); return $this; } @@ -403,8 +364,8 @@ final class QRMatrix{ $pos = [ [0, 0], // top left - [$this->moduleCount - 7, 0], // top right - [0, $this->moduleCount - 7], // bottom left + [$this->moduleCount - 7, 0], // bottom left + [0, $this->moduleCount - 7], // top right ]; foreach($pos as $c){ @@ -420,7 +381,7 @@ final class QRMatrix{ } // 3*3 dot else{ - $this->set($c[0] + $y, $c[1] + $x, true, $this::M_FINDER_DOT_LIGHT); + $this->set($c[0] + $y, $c[1] + $x, true, $this::M_FINDER_DOT); } } } @@ -663,8 +624,8 @@ final class QRMatrix{ $startY = ($startY !== null ? $startY : ($length - $height) / 2) + $qz; // clear the space - for($y = 0; $y < $this->moduleCount; $y++){ - for($x = 0; $x < $this->moduleCount; $x++){ + foreach($this->matrix as $y => $row){ + foreach($row as $x => $val){ // out of bounds, skip if($x < $start || $y < $start ||$x >= $end || $y >= $end){ continue; |