Simplify CBC_SymbolInfo initialization.
Introduce struct Data to hold the initialization parameters, and use an
array of Data, so the global CBC_SymbolInfo array initialization can be
performed using a loop. Along the way, rewrite member variables to
follow Chromium style.
Change-Id: If12002a7debf4fe24539d70ba242bf440be7408d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69150
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxbarcode/datamatrix/BC_SymbolInfo.h b/fxbarcode/datamatrix/BC_SymbolInfo.h
index 07e563d..888e9ce 100644
--- a/fxbarcode/datamatrix/BC_SymbolInfo.h
+++ b/fxbarcode/datamatrix/BC_SymbolInfo.h
@@ -12,11 +12,16 @@
class CBC_SymbolInfo {
public:
- CBC_SymbolInfo(size_t dataCapacity,
- size_t errorCodewords,
- int32_t matrixWidth,
- int32_t matrixHeight,
- int32_t dataRegions);
+ struct Data {
+ int16_t data_capacity;
+ int16_t error_codewords;
+ int8_t matrix_width;
+ int8_t matrix_height;
+ int8_t data_regions;
+ int16_t rs_block_data;
+ int8_t rs_block_error;
+ };
+
virtual ~CBC_SymbolInfo();
static void Initialize();
@@ -34,32 +39,20 @@
size_t getDataLengthForInterleavedBlock() const;
size_t getErrorLengthForInterleavedBlock() const;
- size_t dataCapacity() const { return m_dataCapacity; }
- size_t errorCodewords() const { return m_errorCodewords; }
- int32_t matrixWidth() const { return m_matrixWidth; }
- int32_t matrixHeight() const { return m_matrixHeight; }
+ size_t dataCapacity() const { return data_->data_capacity; }
+ size_t errorCodewords() const { return data_->error_codewords; }
+ int32_t matrixWidth() const { return data_->matrix_width; }
+ int32_t matrixHeight() const { return data_->matrix_height; }
protected:
- CBC_SymbolInfo(size_t dataCapacity,
- size_t errorCodewords,
- int32_t matrixWidth,
- int32_t matrixHeight,
- int32_t dataRegions,
- size_t rsBlockData,
- size_t rsBlockError);
+ explicit CBC_SymbolInfo(const Data* data);
private:
int32_t getHorizontalDataRegions() const;
int32_t getVerticalDataRegions() const;
- const bool m_rectangular;
- const size_t m_dataCapacity;
- const size_t m_errorCodewords;
- const int32_t m_matrixWidth;
- const int32_t m_matrixHeight;
- const int32_t m_dataRegions;
- const size_t m_rsBlockData;
- const size_t m_rsBlockError;
+ const Data* const data_;
+ const bool rectangular_;
};
#endif // FXBARCODE_DATAMATRIX_BC_SYMBOLINFO_H_