diff options
Diffstat (limited to 'fxbarcode/datamatrix/BC_DefaultPlacement.h')
-rw-r--r-- | fxbarcode/datamatrix/BC_DefaultPlacement.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/fxbarcode/datamatrix/BC_DefaultPlacement.h b/fxbarcode/datamatrix/BC_DefaultPlacement.h new file mode 100644 index 0000000000..5036b121e5 --- /dev/null +++ b/fxbarcode/datamatrix/BC_DefaultPlacement.h @@ -0,0 +1,42 @@ +// Copyright 2014 PDFium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com + +#ifndef FXBARCODE_DATAMATRIX_BC_DEFAULTPLACEMENT_H_ +#define FXBARCODE_DATAMATRIX_BC_DEFAULTPLACEMENT_H_ + +#include <vector> + +#include "core/fxcrt/fx_basic.h" + +class CBC_DefaultPlacement { + public: + CBC_DefaultPlacement(CFX_WideString codewords, + int32_t numcols, + int32_t numrows); + virtual ~CBC_DefaultPlacement(); + + int32_t getNumrows(); + int32_t getNumcols(); + std::vector<uint8_t>& getBits(); + bool getBit(int32_t col, int32_t row); + void setBit(int32_t col, int32_t row, bool bit); + bool hasBit(int32_t col, int32_t row); + void place(); + + private: + CFX_WideString m_codewords; + int32_t m_numrows; + int32_t m_numcols; + std::vector<uint8_t> m_bits; + void module(int32_t row, int32_t col, int32_t pos, int32_t bit); + void utah(int32_t row, int32_t col, int32_t pos); + void corner1(int32_t pos); + void corner2(int32_t pos); + void corner3(int32_t pos); + void corner4(int32_t pos); +}; + +#endif // FXBARCODE_DATAMATRIX_BC_DEFAULTPLACEMENT_H_ |