Home | History | Annotate | Download | only in datamatrix
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_
      8 #define XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_
      9 
     10 class CBC_SymbolInfo;
     11 
     12 class CBC_ErrorCorrection {
     13  public:
     14   CBC_ErrorCorrection();
     15   virtual ~CBC_ErrorCorrection();
     16 
     17   static void Initialize();
     18   static void Finalize();
     19   static CFX_WideString encodeECC200(CFX_WideString codewords,
     20                                      CBC_SymbolInfo* symbolInfo,
     21                                      int32_t& e);
     22 
     23  private:
     24   static int32_t MODULO_VALUE;
     25   static int32_t LOG[256];
     26   static int32_t ALOG[256];
     27 
     28  private:
     29   static CFX_WideString createECCBlock(CFX_WideString codewords,
     30                                        int32_t numECWords,
     31                                        int32_t& e);
     32   static CFX_WideString createECCBlock(CFX_WideString codewords,
     33                                        int32_t start,
     34                                        int32_t len,
     35                                        int32_t numECWords,
     36                                        int32_t& e);
     37 };
     38 
     39 #endif  // XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_
     40