Index: xfa/fxbarcode/pdf417/BC_PDF417.cpp |
diff --git a/xfa/fxbarcode/pdf417/BC_PDF417.cpp b/xfa/fxbarcode/pdf417/BC_PDF417.cpp |
index 317a1cb92b103e12601281d6090c8f163adfca63..843ee233644937aeee7a710743a6a8a2b18875ac 100644 |
--- a/xfa/fxbarcode/pdf417/BC_PDF417.cpp |
+++ b/xfa/fxbarcode/pdf417/BC_PDF417.cpp |
@@ -380,35 +380,23 @@ const int32_t CBC_PDF417::CODEWORD_TABLE[][929] = { |
0x11f1a, 0x13f3a, 0x103ac, 0x103a6, 0x107a8, 0x183d6, 0x107a4, 0x107a2, |
0x10396, 0x107b6, 0x187d4, 0x187d2, 0x10794, 0x10fb4, 0x10792, 0x10fb2, |
0x1c7ea}}; |
-FX_FLOAT CBC_PDF417::PREFERRED_RATIO = 3.0f; |
-FX_FLOAT CBC_PDF417::DEFAULT_MODULE_WIDTH = 0.357f; |
-FX_FLOAT CBC_PDF417::HEIGHT = 2.0f; |
-CBC_PDF417::CBC_PDF417() { |
- m_compact = FALSE; |
- m_compaction = AUTO; |
- m_minCols = 1; |
- m_maxCols = 30; |
- m_maxRows = 90; |
- m_minRows = 3; |
- m_barcodeMatrix = nullptr; |
-} |
-CBC_PDF417::CBC_PDF417(FX_BOOL compact) { |
- m_compact = compact; |
- m_compaction = AUTO; |
- m_minCols = 1; |
- m_maxCols = 30; |
- m_maxRows = 90; |
- m_minRows = 3; |
- m_barcodeMatrix = nullptr; |
-} |
-CBC_PDF417::~CBC_PDF417() { |
- delete m_barcodeMatrix; |
-} |
+CBC_PDF417::CBC_PDF417() : CBC_PDF417(FALSE) {} |
+ |
+CBC_PDF417::CBC_PDF417(FX_BOOL compact) |
+ : m_compact(compact), |
+ m_compaction(AUTO), |
+ m_minCols(1), |
+ m_maxCols(30), |
+ m_maxRows(90), |
+ m_minRows(3) {} |
+ |
+CBC_PDF417::~CBC_PDF417() {} |
CBC_BarcodeMatrix* CBC_PDF417::getBarcodeMatrix() { |
- return m_barcodeMatrix; |
+ return m_barcodeMatrix.get(); |
} |
+ |
void CBC_PDF417::generateBarcodeLogic(CFX_WideString msg, |
int32_t errorCorrectionLevel, |
int32_t& e) { |
@@ -444,10 +432,11 @@ void CBC_PDF417::generateBarcodeLogic(CFX_WideString msg, |
dataCodewords, errorCorrectionLevel, e); |
BC_EXCEPTION_CHECK_ReturnVoid(e); |
CFX_WideString fullCodewords = dataCodewords + ec; |
- m_barcodeMatrix = new CBC_BarcodeMatrix(rows, cols); |
+ m_barcodeMatrix.reset(new CBC_BarcodeMatrix(rows, cols)); |
encodeLowLevel(fullCodewords, cols, rows, errorCorrectionLevel, |
- m_barcodeMatrix); |
+ m_barcodeMatrix.get()); |
} |
+ |
void CBC_PDF417::setDimensions(int32_t maxCols, |
int32_t minCols, |
int32_t maxRows, |
@@ -457,12 +446,15 @@ void CBC_PDF417::setDimensions(int32_t maxCols, |
m_maxRows = maxRows; |
m_minRows = minRows; |
} |
+ |
void CBC_PDF417::setCompaction(Compaction compaction) { |
m_compaction = compaction; |
} |
+ |
void CBC_PDF417::setCompact(FX_BOOL compact) { |
m_compact = compact; |
} |
+ |
int32_t CBC_PDF417::calculateNumberOfRows(int32_t m, int32_t k, int32_t c) { |
int32_t r = ((m + 1 + k) / c) + 1; |
if (c * r >= (m + 1 + k + c)) { |
@@ -470,6 +462,7 @@ int32_t CBC_PDF417::calculateNumberOfRows(int32_t m, int32_t k, int32_t c) { |
} |
return r; |
} |
+ |
int32_t CBC_PDF417::getNumberOfPadCodewords(int32_t m, |
int32_t k, |
int32_t c, |
@@ -477,6 +470,7 @@ int32_t CBC_PDF417::getNumberOfPadCodewords(int32_t m, |
int32_t n = c * r - k; |
return n > m + 1 ? n - m - 1 : 0; |
} |
+ |
void CBC_PDF417::encodeChar(int32_t pattern, |
int32_t len, |
CBC_BarcodeRow* logic) { |
@@ -496,6 +490,7 @@ void CBC_PDF417::encodeChar(int32_t pattern, |
} |
logic->addBar(last, width); |
} |
+ |
void CBC_PDF417::encodeLowLevel(CFX_WideString fullCodewords, |
int32_t c, |
int32_t r, |
@@ -534,6 +529,7 @@ void CBC_PDF417::encodeLowLevel(CFX_WideString fullCodewords, |
} |
} |
} |
+ |
CFX_Int32Array* CBC_PDF417::determineDimensions( |
int32_t sourceCodeWords, |
int32_t errorCorrectionCodeWords, |