:octocat: shortcut for Mode::getLengthBitsForVersion()

This commit is contained in:
smiley
2022-07-25 20:04:21 +02:00
parent 633c7c3926
commit fd3709d1bb
5 changed files with 17 additions and 8 deletions
+2 -2
View File
@@ -70,7 +70,7 @@ final class AlphaNum extends QRDataModeAbstract{
$bitBuffer
->put($this::$datamode, 4)
->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber))
->put($len, $this::getLengthBits($versionNumber))
;
// encode 2 characters in 11 bits
@@ -91,7 +91,7 @@ final class AlphaNum extends QRDataModeAbstract{
* @throws \chillerlan\QRCode\Data\QRCodeDataException
*/
public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{
$length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber));
$length = $bitBuffer->read(self::getLengthBits($versionNumber));
$charmap = array_flip(self::CHAR_TO_ORD);
// @todo
+2 -2
View File
@@ -49,7 +49,7 @@ final class Byte extends QRDataModeAbstract{
$bitBuffer
->put($this::$datamode, 4)
->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber))
->put($len, $this::getLengthBits($versionNumber))
;
$i = 0;
@@ -67,7 +67,7 @@ final class Byte extends QRDataModeAbstract{
* @throws \chillerlan\QRCode\Data\QRCodeDataException
*/
public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{
$length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber));
$length = $bitBuffer->read(self::getLengthBits($versionNumber));
if($bitBuffer->available() < 8 * $length){
throw new QRCodeDataException('not enough bits available');
+2 -2
View File
@@ -83,7 +83,7 @@ final class Kanji extends QRDataModeAbstract{
$bitBuffer
->put($this::$datamode, 4)
->put($this->getCharCount(), Mode::getLengthBitsForVersion($this::$datamode, $versionNumber))
->put($this->getCharCount(), $this::getLengthBits($versionNumber))
;
$len = strlen($this->data);
@@ -116,7 +116,7 @@ final class Kanji extends QRDataModeAbstract{
* @throws \chillerlan\QRCode\Data\QRCodeDataException
*/
public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{
$length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber));
$length = $bitBuffer->read(self::getLengthBits($versionNumber));
if($bitBuffer->available() < $length * 13){
throw new QRCodeDataException('not enough bits available');
+2 -2
View File
@@ -63,7 +63,7 @@ final class Number extends QRDataModeAbstract{
$bitBuffer
->put($this::$datamode, 4)
->put($len, Mode::getLengthBitsForVersion($this::$datamode, $versionNumber))
->put($len, $this::getLengthBits($versionNumber))
;
$i = 0;
@@ -108,7 +108,7 @@ final class Number extends QRDataModeAbstract{
* @throws \chillerlan\QRCode\Data\QRCodeDataException
*/
public static function decodeSegment(BitBuffer $bitBuffer, int $versionNumber):string{
$length = $bitBuffer->read(Mode::getLengthBitsForVersion(self::$datamode, $versionNumber));
$length = $bitBuffer->read(self::getLengthBits($versionNumber));
$charmap = array_flip(self::NUMBER_TO_ORD);
// @todo
+9
View File
@@ -10,6 +10,8 @@
namespace chillerlan\QRCode\Data;
use chillerlan\QRCode\Common\Mode;
/**
*/
abstract class QRDataModeAbstract implements QRDataModeInterface{
@@ -52,4 +54,11 @@ abstract class QRDataModeAbstract implements QRDataModeInterface{
return $this::$datamode;
}
/**
* shortcut
*/
protected static function getLengthBits(int $versionNumber):int{
return Mode::getLengthBitsForVersion(static::$datamode, $versionNumber);
}
}