Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

Commit bd658df

Browse files
authored
Merge pull request #15 from intel-x86-64/feature/MVP
Add support Aztec
2 parents c2a9b64 + cd1afdb commit bd658df

4 files changed

Lines changed: 34 additions & 0 deletions

File tree

include/AztecGenerator.h

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#pragma once
2+
#include "IBarcodeGenerator.h"
3+
#include <ZXing/Barcode.h>
4+
#include <ZXing/BarcodeFormat.h>
5+
#include <ZXing/BitMatrix.h>
6+
#include <ZXing/BitMatrixIO.h>
7+
#include <ZXing/CharacterSet.h>
8+
#include <ZXing/Matrix.h>
9+
#include <ZXing/MultiFormatWriter.h>
10+
#include <memory>
11+
#include <stdexcept>
12+
#include <string>
13+
#include <utility>
14+
15+
class AztecGenerator : public virtual IBarcodeGenerator {
16+
private:
17+
ZXing::MultiFormatWriter writer{ZXing::BarcodeFormat::Aztec};
18+
19+
public:
20+
std::string generate(const std::string &text, int margin, int size);
21+
};

include/BarcodeFactory.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#pragma once
22

3+
#include "AztecGenerator.h"
34
#include "CodabarGenerator.h"
45
#include "Code128Generator.h"
56
#include "Code39Generator.h"

src/AztecGenerator.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#include "../include/AztecGenerator.h"
2+
3+
std::string AztecGenerator::generate(const std::string &text, int margin,
4+
int size) {
5+
writer.setMargin(margin);
6+
writer.setEncoding(ZXing::CharacterSet::UTF8);
7+
ZXing::BitMatrix matrix = writer.encode(text, size, size);
8+
9+
return ZXing::ToSVG(matrix);
10+
}

src/BarcodeFactory.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ BarcodeFactory::create(const std::string type) {
2121
return std::make_unique<Code128Generator>();
2222
} else if (type == "Codabar") {
2323
return std::make_unique<CodabarGenerator>();
24+
} else if (type == "Aztec") {
25+
return std::make_unique<AztecGenerator>();
2426
}
2527

2628
return std::make_unique<QrCodeGenerator>();

0 commit comments

Comments
 (0)