MCPcopy Create free account
hub / github.com/cozmo/jsQR / buildFunctionPatternMask

Function buildFunctionPatternMask

docs/jsQR.js:572–595  ·  view source on GitHub ↗
(version)

Source from the content-addressed store, hash-verified

570 function (p) { return ((((p.y + p.x) % 2) + (p.y * p.x) % 3) % 2) === 0; },
571];
572function buildFunctionPatternMask(version) {
573 var dimension = 17 + 4 * version.versionNumber;
574 var matrix = BitMatrix_1.BitMatrix.createEmpty(dimension, dimension);
575 matrix.setRegion(0, 0, 9, 9, true); // Top left finder pattern + separator + format
576 matrix.setRegion(dimension - 8, 0, 8, 9, true); // Top right finder pattern + separator + format
577 matrix.setRegion(0, dimension - 8, 9, 8, true); // Bottom left finder pattern + separator + format
578 // Alignment patterns
579 for (var _i = 0, _a = version.alignmentPatternCenters; _i < _a.length; _i++) {
580 var x = _a[_i];
581 for (var _b = 0, _c = version.alignmentPatternCenters; _b < _c.length; _b++) {
582 var y = _c[_b];
583 if (!(x === 6 && y === 6 || x === 6 && y === dimension - 7 || x === dimension - 7 && y === 6)) {
584 matrix.setRegion(x - 2, y - 2, 5, 5, true);
585 }
586 }
587 }
588 matrix.setRegion(6, 9, 1, dimension - 17, true); // Vertical timing pattern
589 matrix.setRegion(9, 6, dimension - 17, 1, true); // Horizontal timing pattern
590 if (version.versionNumber > 6) {
591 matrix.setRegion(dimension - 11, 0, 3, 6, true); // Version info, top right
592 matrix.setRegion(0, dimension - 11, 6, 3, true); // Version info, bottom left
593 }
594 return matrix;
595}
596function readCodewords(matrix, version, formatInfo) {
597 var dataMask = DATA_MASKS[formatInfo.dataMask];
598 var dimension = matrix.height;

Callers 1

readCodewordsFunction · 0.70

Calls 2

createEmptyMethod · 0.80
setRegionMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…