| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 | 
							- <?php
 
- declare(strict_types = 1);
 
- namespace BaconQrCode\Encoder;
 
- use BaconQrCode\Common\ErrorCorrectionLevel;
 
- use BaconQrCode\Common\Mode;
 
- use BaconQrCode\Common\Version;
 
- /**
 
-  * QR code.
 
-  */
 
- final class QrCode
 
- {
 
-     /**
 
-      * Number of possible mask patterns.
 
-      */
 
-     public const NUM_MASK_PATTERNS = 8;
 
-     /**
 
-      * Mode of the QR code.
 
-      *
 
-      * @var Mode
 
-      */
 
-     private $mode;
 
-     /**
 
-      * EC level of the QR code.
 
-      *
 
-      * @var ErrorCorrectionLevel
 
-      */
 
-     private $errorCorrectionLevel;
 
-     /**
 
-      * Version of the QR code.
 
-      *
 
-      * @var Version
 
-      */
 
-     private $version;
 
-     /**
 
-      * Mask pattern of the QR code.
 
-      *
 
-      * @var int
 
-      */
 
-     private $maskPattern = -1;
 
-     /**
 
-      * Matrix of the QR code.
 
-      *
 
-      * @var ByteMatrix
 
-      */
 
-     private $matrix;
 
-     public function __construct(
 
-         Mode $mode,
 
-         ErrorCorrectionLevel $errorCorrectionLevel,
 
-         Version $version,
 
-         int $maskPattern,
 
-         ByteMatrix $matrix
 
-     ) {
 
-         $this->mode = $mode;
 
-         $this->errorCorrectionLevel = $errorCorrectionLevel;
 
-         $this->version = $version;
 
-         $this->maskPattern = $maskPattern;
 
-         $this->matrix = $matrix;
 
-     }
 
-     /**
 
-      * Gets the mode.
 
-      */
 
-     public function getMode() : Mode
 
-     {
 
-         return $this->mode;
 
-     }
 
-     /**
 
-      * Gets the EC level.
 
-      */
 
-     public function getErrorCorrectionLevel() : ErrorCorrectionLevel
 
-     {
 
-         return $this->errorCorrectionLevel;
 
-     }
 
-     /**
 
-      * Gets the version.
 
-      */
 
-     public function getVersion() : Version
 
-     {
 
-         return $this->version;
 
-     }
 
-     /**
 
-      * Gets the mask pattern.
 
-      */
 
-     public function getMaskPattern() : int
 
-     {
 
-         return $this->maskPattern;
 
-     }
 
-     /**
 
-      * Gets the matrix.
 
-      *
 
-      * @return ByteMatrix
 
-      */
 
-     public function getMatrix()
 
-     {
 
-         return $this->matrix;
 
-     }
 
-     /**
 
-      * Validates whether a mask pattern is valid.
 
-      */
 
-     public static function isValidMaskPattern(int $maskPattern) : bool
 
-     {
 
-         return $maskPattern > 0 && $maskPattern < self::NUM_MASK_PATTERNS;
 
-     }
 
-     /**
 
-      * Returns a string representation of the QR code.
 
-      */
 
-     public function __toString() : string
 
-     {
 
-         $result = "<<\n"
 
-                 . ' mode: ' . $this->mode . "\n"
 
-                 . ' ecLevel: ' . $this->errorCorrectionLevel . "\n"
 
-                 . ' version: ' . $this->version . "\n"
 
-                 . ' maskPattern: ' . $this->maskPattern . "\n";
 
-         if ($this->matrix === null) {
 
-             $result .= " matrix: null\n";
 
-         } else {
 
-             $result .= " matrix:\n";
 
-             $result .= $this->matrix;
 
-         }
 
-         $result .= ">>\n";
 
-         return $result;
 
-     }
 
- }
 
 
  |