Home | History | Annotate | Download | only in oned
      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 _BC_ONEDCODA128WRITER_H_
      8 #define _BC_ONEDCODA128WRITER_H_
      9 class CBC_OneDimWriter;
     10 class CBC_OnedCoda128Writer;
     11 class CBC_OnedCode128Writer : public CBC_OneDimWriter {
     12  public:
     13   CBC_OnedCode128Writer();
     14   CBC_OnedCode128Writer(BC_TYPE type);
     15   virtual ~CBC_OnedCode128Writer();
     16   uint8_t* Encode(const CFX_ByteString& contents,
     17                   BCFORMAT format,
     18                   int32_t& outWidth,
     19                   int32_t& outHeight,
     20                   int32_t hints,
     21                   int32_t& e);
     22   uint8_t* Encode(const CFX_ByteString& contents,
     23                   BCFORMAT format,
     24                   int32_t& outWidth,
     25                   int32_t& outHeight,
     26                   int32_t& e);
     27   uint8_t* Encode(const CFX_ByteString& contents,
     28                   int32_t& outLength,
     29                   int32_t& e);
     30   FX_BOOL CheckContentValidity(const CFX_WideStringC& contents);
     31   CFX_WideString FilterContents(const CFX_WideStringC& contents);
     32   FX_BOOL SetTextLocation(BC_TEXT_LOC location);
     33   BC_TYPE GetType();
     34 
     35  private:
     36   FX_BOOL IsDigits(const CFX_ByteString& contents,
     37                    int32_t start,
     38                    int32_t length);
     39   int32_t Encode128B(const CFX_ByteString& contents, CFX_PtrArray& patterns);
     40   int32_t Encode128C(const CFX_ByteString& contents, CFX_PtrArray& patterns);
     41   BC_TYPE m_codeFormat;
     42   const static int32_t CODE_START_B;
     43   const static int32_t CODE_START_C;
     44   const static int32_t CODE_CODE_B;
     45   const static int32_t CODE_CODE_C;
     46   const static int32_t CODE_STOP;
     47 };
     48 #endif
     49