🛀 merge QRMatrix and BitMatrix

This commit is contained in:
smiley
2022-05-26 22:16:19 +02:00
parent fd885fff1c
commit 7c183e7e88
12 changed files with 348 additions and 588 deletions
+4 -8
View File
@@ -10,7 +10,7 @@
namespace chillerlan\QRCode\Data;
use chillerlan\QRCode\Common\{BitBuffer, EccLevel, MaskPattern, Mode, ReedSolomonEncoder, Version};
use chillerlan\QRCode\Common\{BitBuffer, EccLevel, MaskPattern, Mode, Version};
use chillerlan\QRCode\QRCode;
use chillerlan\Settings\SettingsContainerInterface;
@@ -94,14 +94,10 @@ final class QRData{
* returns a fresh matrix object with the data written and masked with the given $maskPattern
*/
public function writeMatrix(MaskPattern $maskPattern):QRMatrix{
$matrix = (new QRMatrix($this->version, $this->eccLevel))
return (new QRMatrix($this->version, $this->eccLevel, $maskPattern))
->initFunctionalPatterns()
->initFormatInfo($maskPattern)
;
return (new ReedSolomonEncoder)
->interleaveEcBytes($this->bitBuffer, $matrix)
->mask($maskPattern)
->writeCodewords($this->bitBuffer)
->mask()
;
}