aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/chillerlan/php-qrcode/src/Data
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/chillerlan/php-qrcode/src/Data')
-rw-r--r--vendor/chillerlan/php-qrcode/src/Data/MaskPatternTester.php18
-rw-r--r--vendor/chillerlan/php-qrcode/src/Data/QRDataInterface.php10
-rwxr-xr-xvendor/chillerlan/php-qrcode/src/Data/QRMatrix.php77
3 files changed, 72 insertions, 33 deletions
diff --git a/vendor/chillerlan/php-qrcode/src/Data/MaskPatternTester.php b/vendor/chillerlan/php-qrcode/src/Data/MaskPatternTester.php
index 7874cb53d..959892b9b 100644
--- a/vendor/chillerlan/php-qrcode/src/Data/MaskPatternTester.php
+++ b/vendor/chillerlan/php-qrcode/src/Data/MaskPatternTester.php
@@ -130,7 +130,7 @@ final class MaskPatternTester{
}
if(
- $val === $m[$y][$x + 1]
+ $val === $row[$x + 1]
&& $val === $m[$y + 1][$x]
&& $val === $m[$y + 1][$x + 1]
){
@@ -154,12 +154,12 @@ final class MaskPatternTester{
if(
$x + 6 < $size
&& $val
- && !$m[$y][$x + 1]
- && $m[$y][$x + 2]
- && $m[$y][$x + 3]
- && $m[$y][$x + 4]
- && !$m[$y][$x + 5]
- && $m[$y][$x + 6]
+ && !$row[$x + 1]
+ && $row[$x + 2]
+ && $row[$x + 3]
+ && $row[$x + 4]
+ && !$row[$x + 5]
+ && $row[$x + 6]
){
$penalties++;
}
@@ -189,8 +189,8 @@ final class MaskPatternTester{
protected function testLevel4(array $m, int $size):float{
$count = 0;
- foreach($m as $y => $row){
- foreach($row as $x => $val){
+ foreach($m as $row){
+ foreach($row as $val){
if($val){
$count++;
}
diff --git a/vendor/chillerlan/php-qrcode/src/Data/QRDataInterface.php b/vendor/chillerlan/php-qrcode/src/Data/QRDataInterface.php
index 93ad6221d..c6cd92372 100644
--- a/vendor/chillerlan/php-qrcode/src/Data/QRDataInterface.php
+++ b/vendor/chillerlan/php-qrcode/src/Data/QRDataInterface.php
@@ -21,7 +21,7 @@ interface QRDataInterface{
/**
* @var int[]
*/
- const CHAR_MAP_NUMBER = [
+ public const CHAR_MAP_NUMBER = [
'0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7, '8' => 8, '9' => 9,
];
@@ -30,7 +30,7 @@ interface QRDataInterface{
*
* @var int[]
*/
- const CHAR_MAP_ALPHANUM = [
+ public const CHAR_MAP_ALPHANUM = [
'0' => 0, '1' => 1, '2' => 2, '3' => 3, '4' => 4, '5' => 5, '6' => 6, '7' => 7,
'8' => 8, '9' => 9, 'A' => 10, 'B' => 11, 'C' => 12, 'D' => 13, 'E' => 14, 'F' => 15,
'G' => 16, 'H' => 17, 'I' => 18, 'J' => 19, 'K' => 20, 'L' => 21, 'M' => 22, 'N' => 23,
@@ -46,7 +46,7 @@ interface QRDataInterface{
*
* @var int [][][]
*/
- const MAX_LENGTH =[
+ public const MAX_LENGTH =[
// v => [NUMERIC => [L, M, Q, H ], ALPHANUM => [L, M, Q, H], BINARY => [L, M, Q, H ], KANJI => [L, M, Q, H ]] // modules
1 => [[ 41, 34, 27, 17], [ 25, 20, 16, 10], [ 17, 14, 11, 7], [ 10, 8, 7, 4]], // 21
2 => [[ 77, 63, 48, 34], [ 47, 38, 29, 20], [ 32, 26, 20, 14], [ 20, 16, 12, 8]], // 25
@@ -95,7 +95,7 @@ interface QRDataInterface{
*
* @var int [][]
*/
- const MAX_BITS = [
+ public const MAX_BITS = [
// version => [L, M, Q, H ]
1 => [ 152, 128, 104, 72],
2 => [ 272, 224, 176, 128],
@@ -144,7 +144,7 @@ interface QRDataInterface{
*
* @var int [][][]
*/
- const RSBLOCKS = [
+ public const RSBLOCKS = [
1 => [[ 1, 0, 26, 19], [ 1, 0, 26, 16], [ 1, 0, 26, 13], [ 1, 0, 26, 9]],
2 => [[ 1, 0, 44, 34], [ 1, 0, 44, 28], [ 1, 0, 44, 22], [ 1, 0, 44, 16]],
3 => [[ 1, 0, 70, 55], [ 1, 0, 70, 44], [ 2, 0, 35, 17], [ 2, 0, 35, 13]],
diff --git a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php
index 05c8b9069..9212a609f 100755
--- a/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php
+++ b/vendor/chillerlan/php-qrcode/src/Data/QRMatrix.php
@@ -25,32 +25,71 @@ 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_NULL = 0x00;
+ public const M_TIMING = 0x0c;
/** @var int */
- public const M_DARKMODULE = 0x02;
+ public const M_FORMAT = 0x0e;
/** @var int */
- public const M_DATA = 0x04;
+ public const M_VERSION = 0x10;
/** @var int */
- public const M_FINDER = 0x06;
+ 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;
/** @var int */
- public const M_SEPARATOR = 0x08;
+ public const M_ALIGNMENT_DARK = self::M_ALIGNMENT << 8;
/** @var int */
- public const M_ALIGNMENT = 0x0a;
+ public const M_TIMING_DARK = self::M_TIMING << 8;
/** @var int */
- public const M_TIMING = 0x0c;
+ public const M_FORMAT_DARK = self::M_FORMAT << 8;
/** @var int */
- public const M_FORMAT = 0x0e;
+ public const M_VERSION_DARK = self::M_VERSION << 8;
/** @var int */
- public const M_VERSION = 0x10;
+ public const M_FINDER_DOT = self::M_FINDER_DOT_LIGHT << 8;
+
+ /*
+ * values used for reversed reflectance
+ */
+
/** @var int */
- public const M_QUIETZONE = 0x12;
+ public const M_DARKMODULE_LIGHT = 0x02;
/** @var int */
- public const M_LOGO = 0x14;
+ public const M_FINDER_DOT_LIGHT = 0x16;
/** @var int */
- public const M_FINDER_DOT = 0x16;
+ public const M_SEPARATOR_DARK = self::M_SEPARATOR << 8;
/** @var int */
- public const M_TEST = 0xff;
+ public const M_QUIETZONE_DARK = self::M_QUIETZONE << 8;
/**
* ISO/IEC 18004:2000 Annex E, Table E.1 - Row/column coordinates of center module of Alignment Patterns
@@ -350,7 +389,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);
+ $this->set(8, 4 * $this->version + 9, true, $this::M_DARKMODULE_LIGHT);
return $this;
}
@@ -364,8 +403,8 @@ final class QRMatrix{
$pos = [
[0, 0], // top left
- [$this->moduleCount - 7, 0], // bottom left
- [0, $this->moduleCount - 7], // top right
+ [$this->moduleCount - 7, 0], // top right
+ [0, $this->moduleCount - 7], // bottom left
];
foreach($pos as $c){
@@ -381,7 +420,7 @@ final class QRMatrix{
}
// 3*3 dot
else{
- $this->set($c[0] + $y, $c[1] + $x, true, $this::M_FINDER_DOT);
+ $this->set($c[0] + $y, $c[1] + $x, true, $this::M_FINDER_DOT_LIGHT);
}
}
}
@@ -624,8 +663,8 @@ final class QRMatrix{
$startY = ($startY !== null ? $startY : ($length - $height) / 2) + $qz;
// clear the space
- foreach($this->matrix as $y => $row){
- foreach($row as $x => $val){
+ for($y = 0; $y < $this->moduleCount; $y++){
+ for($x = 0; $x < $this->moduleCount; $x++){
// out of bounds, skip
if($x < $start || $y < $start ||$x >= $end || $y >= $end){
continue;