diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-01-09 10:55:03 +0100 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-01-09 13:09:38 +0100 |
| commit | 04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch) | |
| tree | 5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php | |
| parent | 7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff) | |
| download | ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.gz ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.tar.bz2 ft_server-04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa.zip | |
phpmyadmin working
Diffstat (limited to 'srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php')
| -rw-r--r-- | srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php new file mode 100644 index 0000000..51e6c9a --- /dev/null +++ b/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php @@ -0,0 +1,76 @@ +<?php +declare(strict_types = 1); + +namespace BaconQrCode\Common; + +use DASPRiD\Enum\AbstractEnum; + +/** + * Enum representing various modes in which data can be encoded to bits. + * + * @method static self TERMINATOR() + * @method static self NUMERIC() + * @method static self ALPHANUMERIC() + * @method static self STRUCTURED_APPEND() + * @method static self BYTE() + * @method static self ECI() + * @method static self KANJI() + * @method static self FNC1_FIRST_POSITION() + * @method static self FNC1_SECOND_POSITION() + * @method static self HANZI() + */ +final class Mode extends AbstractEnum +{ + protected const TERMINATOR = [[0, 0, 0], 0x00]; + protected const NUMERIC = [[10, 12, 14], 0x01]; + protected const ALPHANUMERIC = [[9, 11, 13], 0x02]; + protected const STRUCTURED_APPEND = [[0, 0, 0], 0x03]; + protected const BYTE = [[8, 16, 16], 0x04]; + protected const ECI = [[0, 0, 0], 0x07]; + protected const KANJI = [[8, 10, 12], 0x08]; + protected const FNC1_FIRST_POSITION = [[0, 0, 0], 0x05]; + protected const FNC1_SECOND_POSITION = [[0, 0, 0], 0x09]; + protected const HANZI = [[8, 10, 12], 0x0d]; + + /** + * @var int[] + */ + private $characterCountBitsForVersions; + + /** + * @var int + */ + private $bits; + + protected function __construct(array $characterCountBitsForVersions, int $bits) + { + $this->characterCountBitsForVersions = $characterCountBitsForVersions; + $this->bits = $bits; + } + + /** + * Returns the number of bits used in a specific QR code version. + */ + public function getCharacterCountBits(Version $version) : int + { + $number = $version->getVersionNumber(); + + if ($number <= 9) { + $offset = 0; + } elseif ($number <= 26) { + $offset = 1; + } else { + $offset = 2; + } + + return $this->characterCountBitsForVersions[$offset]; + } + + /** + * Returns the four bits used to encode this mode. + */ + public function getBits() : int + { + return $this->bits; + } +} |
