MCPcopy Create free account
hub / github.com/TactilityProject/Tactility / getAlignmentPatternPositions

Method getAlignmentPatternPositions

Libraries/QRCode/tests/QrCode.cpp:496–516  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

494
495
496std::vector<int> qrcodegen::QrCode::getAlignmentPatternPositions(int ver) {
497 if (ver < 1 || ver > 40)
498 throw "Version number out of range";
499 else if (ver == 1)
500 return std::vector<int>();
501 else {
502 int numAlign = ver / 7 + 2;
503 int step;
504 if (ver != 32)
505 step = (ver * 4 + numAlign * 2 + 1) / (2 * numAlign - 2) * 2; // ceil((size - 13) / (2*numAlign - 2)) * 2
506 else // C-C-C-Combo breaker!
507 step = 26;
508
509 std::vector<int> result;
510 int size = ver * 4 + 17;
511 for (int i = 0, pos = size - 7; i < numAlign - 1; i++, pos -= step)
512 result.insert(result.begin(), pos);
513 result.insert(result.begin(), 6);
514 return result;
515 }
516}
517
518
519int qrcodegen::QrCode::getNumRawDataModules(int ver) {

Callers

nothing calls this directly

Calls 1

insertMethod · 0.45

Tested by

no test coverage detected