diff options
-rw-r--r-- | fxbarcode/pdf417/BC_PDF417.cpp | 14 | ||||
-rw-r--r-- | fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp | 4 | ||||
-rw-r--r-- | fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h | 4 |
3 files changed, 8 insertions, 14 deletions
diff --git a/fxbarcode/pdf417/BC_PDF417.cpp b/fxbarcode/pdf417/BC_PDF417.cpp index 084f3a8810..30b3f42081 100644 --- a/fxbarcode/pdf417/BC_PDF417.cpp +++ b/fxbarcode/pdf417/BC_PDF417.cpp @@ -505,8 +505,9 @@ void CBC_PDF417::encodeLowLevel(WideString fullCodewords, CBC_BarcodeMatrix* logic) { int32_t idx = 0; for (int32_t y = 0; y < r; y++) { + CBC_BarcodeRow* logicRow = logic->getRow(y); int32_t cluster = y % 3; - encodeChar(START_PATTERN, 17, logic->getCurrentRow()); + encodeChar(START_PATTERN, 17, logicRow); int32_t left; int32_t right; if (cluster == 0) { @@ -520,20 +521,19 @@ void CBC_PDF417::encodeLowLevel(WideString fullCodewords, right = (30 * (y / 3)) + (errorCorrectionLevel * 3) + ((r - 1) % 3); } int32_t pattern = CODEWORD_TABLE[cluster][left]; - encodeChar(pattern, 17, logic->getCurrentRow()); + encodeChar(pattern, 17, logicRow); for (int32_t x = 0; x < c; x++) { pattern = CODEWORD_TABLE[cluster][fullCodewords[idx]]; - encodeChar(pattern, 17, logic->getCurrentRow()); + encodeChar(pattern, 17, logicRow); idx++; } if (m_compact) { - encodeChar(STOP_PATTERN, 1, logic->getCurrentRow()); + encodeChar(STOP_PATTERN, 1, logicRow); } else { pattern = CODEWORD_TABLE[cluster][right]; - encodeChar(pattern, 17, logic->getCurrentRow()); - encodeChar(STOP_PATTERN, 18, logic->getCurrentRow()); + encodeChar(pattern, 17, logicRow); + encodeChar(STOP_PATTERN, 18, logicRow); } - logic->nextRow(); } } diff --git a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp index 7fb1259154..32db82e3d4 100644 --- a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp +++ b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.cpp @@ -33,10 +33,6 @@ CBC_BarcodeMatrix::CBC_BarcodeMatrix(size_t height, size_t width) CBC_BarcodeMatrix::~CBC_BarcodeMatrix() {} -void CBC_BarcodeMatrix::nextRow() { - ++m_currentRow; -} - std::vector<uint8_t>& CBC_BarcodeMatrix::getMatrix() { m_matrixOut.resize(m_width * m_height); for (size_t i = 0; i < m_height; ++i) { diff --git a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h index badb0ce3cd..bee2ef9cb9 100644 --- a/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h +++ b/fxbarcode/pdf417/BC_PDF417BarcodeMatrix.h @@ -17,16 +17,14 @@ class CBC_BarcodeMatrix { CBC_BarcodeMatrix(size_t height, size_t width); virtual ~CBC_BarcodeMatrix(); - CBC_BarcodeRow* getCurrentRow() const { return m_matrix[m_currentRow].get(); } + CBC_BarcodeRow* getRow(size_t row) const { return m_matrix[row].get(); } size_t getWidth() const { return m_width; } size_t getHeight() const { return m_height; } - void nextRow(); std::vector<uint8_t>& getMatrix(); private: std::vector<std::unique_ptr<CBC_BarcodeRow>> m_matrix; std::vector<uint8_t> m_matrixOut; - size_t m_currentRow = 0; size_t m_width; size_t m_height; }; |