aboutsummaryrefslogtreecommitdiff
path: root/srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-09 10:55:03 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-09 13:09:38 +0100
commit04d6d5ca99ebfd1cebb8ce06618fb3811fc1a8aa (patch)
tree5c691241355c943a3c68ddb06b8cf8c60aa11319 /srcs/phpmyadmin/vendor/bacon/bacon-qr-code/src/Common/Mode.php
parent7e0d85db834d6351ed85d01e5126ac31dc510b86 (diff)
downloadft_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.php76
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;
+ }
+}