🛀 extract Mode

This commit is contained in:
codemasher
2020-11-22 00:35:58 +01:00
parent 37a40571e6
commit 1f1a363d9d
2 changed files with 8 additions and 1 deletions
+7
View File
@@ -85,4 +85,11 @@ class Mode{
throw new QRCodeException(sprintf('invalid version number: %d', $version));
}
/**
* returns the array of length bits for the given mode
*/
public static function getLengthBitsForMode(int $mode):array{
return self::LENGTH_BITS[$mode];
}
}
+1 -1
View File
@@ -222,7 +222,7 @@ class QRData{
foreach($this->dataSegments as $segment){
// data length in bits of the current segment +4 bits for each mode descriptor
$length += ($segment->getLengthInBits() + Mode::LENGTH_BITS[$segment->getDataMode()][0] + 4);
$length += ($segment->getLengthInBits() + Mode::getLengthBitsForMode($segment->getDataMode())[0] + 4);
if(!$segment instanceof ECI){
// mode length bits margin to the next breakpoint