Index: xfa/fxbarcode/qrcode/BC_QRDataMask.cpp |
diff --git a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp |
index 20f94069f43aedf301d7899a853b5779f373a73a..9b5e3ca0148d1c137b6a201b4b9c328f6b459b9b 100644 |
--- a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp |
+++ b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp |
@@ -24,43 +24,47 @@ |
#include "xfa/fxbarcode/qrcode/BC_QRDataMask.h" |
#include "xfa/fxbarcode/utils.h" |
-static int32_t N_DATA_MASKS = 0; |
-CFX_PtrArray* CBC_QRDataMask::DATA_MASKS = NULL; |
+namespace { |
+ |
+int32_t N_DATA_MASKS = 0; |
+CFX_ArrayTemplate<CBC_QRDataMask*>* DATA_MASKS = nullptr; |
+ |
+} // namespace |
void CBC_QRDataMask::Initialize() { |
- DATA_MASKS = new CFX_PtrArray(); |
+ DATA_MASKS = new CFX_ArrayTemplate<CBC_QRDataMask*>(); |
N_DATA_MASKS = BuildDataMasks(); |
} |
+ |
void CBC_QRDataMask::Finalize() { |
Destroy(); |
delete DATA_MASKS; |
+ DATA_MASKS = nullptr; |
} |
+ |
void CBC_QRDataMask::Destroy() { |
- int32_t i; |
- for (i = 0; i < N_DATA_MASKS; i++) { |
- CBC_QRDataMask* p = (CBC_QRDataMask*)(*DATA_MASKS)[i]; |
- if (p) { |
- delete p; |
- } |
- } |
+ for (int32_t i = 0; i < N_DATA_MASKS; ++i) |
+ delete (*DATA_MASKS)[i]; |
} |
-void CBC_QRDataMask::UnmaskBitMatirx(CBC_CommonBitMatrix* bits, |
+ |
+void CBC_QRDataMask::UnmaskBitMatrix(CBC_CommonBitMatrix* bits, |
int32_t dimension) { |
for (int32_t i = 0; i < dimension; i++) { |
for (int32_t j = 0; j < dimension; j++) { |
- if (IsMasked(i, j)) { |
+ if (IsMasked(i, j)) |
bits->Flip(j, i); |
- } |
} |
} |
} |
+ |
CBC_QRDataMask* CBC_QRDataMask::ForReference(int32_t reference, int32_t& e) { |
if (reference < 0 || reference > 7) { |
e = BCExceptionReferenceMustBeBetween0And7; |
- BC_EXCEPTION_CHECK_ReturnValue(e, NULL); |
+ BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
} |
- return (CBC_QRDataMask*)(*DATA_MASKS)[reference]; |
+ return (*DATA_MASKS)[reference]; |
} |
+ |
class DataMask000 : public CBC_QRDataMask { |
public: |
FX_BOOL IsMasked(int32_t x, int32_t y) { return ((x + y) % 2) == 0; } |