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); Encode(const CFX_ByteString & contents,int32_t & outLength,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