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_ONEDUPCAWRITER_H_
      8 #define _BC_ONEDUPCAWRITER_H_
      9 class CBC_Writer;
     10 class CBC_OnedEAN13Writer;
     11 class CBC_OnedUPCAWriter;
     12 class CBC_OnedUPCAWriter : public CBC_OneDimWriter {
     13  private:
     14   CBC_OnedEAN13Writer* m_subWriter;
     15 
     16  public:
     17   CBC_OnedUPCAWriter();
     18   virtual ~CBC_OnedUPCAWriter();
     19   virtual void Init();
     20   uint8_t* Encode(const CFX_ByteString& contents,
     21                   BCFORMAT format,
     22                   int32_t& outWidth,
     23                   int32_t& outHeight,
     24                   int32_t& e);
     25   uint8_t* Encode(const CFX_ByteString& contents,
     26                   BCFORMAT format,
     27                   int32_t& outWidth,
     28                   int32_t& outHeight,
     29                   int32_t hints,
     30                   int32_t& e);
     31   uint8_t* Encode(const CFX_ByteString& contents,
     32                   int32_t& outLength,
     33                   int32_t& e) {
     34     return nullptr;
     35   }
     36   void RenderResult(const CFX_WideStringC& contents,
     37                     uint8_t* code,
     38                     int32_t codeLength,
     39                     FX_BOOL isDevice,
     40                     int32_t& e);
     41   FX_BOOL CheckContentValidity(const CFX_WideStringC& contents);
     42   CFX_WideString FilterContents(const CFX_WideStringC& contents);
     43   int32_t CalcChecksum(const CFX_ByteString& contents);
     44 
     45  protected:
     46   void ShowChars(const CFX_WideStringC& contents,
     47                  CFX_DIBitmap* pOutBitmap,
     48                  CFX_RenderDevice* device,
     49                  const CFX_Matrix* matrix,
     50                  int32_t barWidth,
     51                  int32_t multiple,
     52                  int32_t& e);
     53 };
     54 #endif
     55