MCPcopy Create free account
hub / github.com/devilsen/CZXing / ChooseMaskPattern

Function ChooseMaskPattern

czxing/src/main/cpp/zxing/src/qrcode/QREncoder.cpp:445–459  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

443
444
445static int ChooseMaskPattern(const BitArray& bits, ErrorCorrectionLevel ecLevel, const Version& version, TritMatrix& matrix)
446{
447 int minPenalty = std::numeric_limits<int>::max(); // Lower penalty is better.
448 int bestMaskPattern = -1;
449 // We try all mask patterns to choose the best one.
450 for (int maskPattern = 0; maskPattern < NUM_MASK_PATTERNS; maskPattern++) {
451 BuildMatrix(bits, ecLevel, version, maskPattern, matrix);
452 int penalty = MaskUtil::CalculateMaskPenalty(matrix);
453 if (penalty < minPenalty) {
454 minPenalty = penalty;
455 bestMaskPattern = maskPattern;
456 }
457 }
458 return bestMaskPattern;
459}
460
461static int CalculateBitsNeeded(CodecMode mode, const BitArray& headerBits, const BitArray& dataBits, const Version& version)
462{

Callers 1

EncodeFunction · 0.85

Calls 3

BuildMatrixFunction · 0.85
CalculateMaskPenaltyFunction · 0.85
maxFunction · 0.50

Tested by

no test coverage detected