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_DATAMATRIXWRITER_H_
      8 #define XFA_FXBARCODE_DATAMATRIX_BC_DATAMATRIXWRITER_H_
      9 
     10 #include "xfa/fxbarcode/BC_TwoDimWriter.h"
     11 
     12 class CBC_CommonByteMatrix;
     13 class CBC_DefaultPlacement;
     14 class CBC_SymbolInfo;
     15 
     16 class CBC_DataMatrixWriter : public CBC_TwoDimWriter {
     17  public:
     18   CBC_DataMatrixWriter();
     19   ~CBC_DataMatrixWriter() override;
     20 
     21   virtual uint8_t* Encode(const CFX_WideString& contents,
     22                           int32_t& outWidth,
     23                           int32_t& outHeight,
     24                           int32_t& e);
     25 
     26   // CBC_TwoDimWriter
     27   bool SetErrorCorrectionLevel(int32_t level) override;
     28 
     29  private:
     30   static CBC_CommonByteMatrix* encodeLowLevel(CBC_DefaultPlacement* placement,
     31                                               CBC_SymbolInfo* symbolInfo,
     32                                               int32_t& e);
     33   int32_t m_iCorrectLevel;
     34 };
     35 
     36 #endif  // XFA_FXBARCODE_DATAMATRIX_BC_DATAMATRIXWRITER_H_
     37