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_ONEDCODA39WRITER_H_ 8 #define _BC_ONEDCODA39WRITER_H_ 9 enum BC_TEXT_LOC; 10 class CBC_OneDimWriter; 11 class CBC_OnedCoda39Writer; 12 class CBC_OnedCode39Writer : public CBC_OneDimWriter { 13 public: 14 CBC_OnedCode39Writer(); 15 CBC_OnedCode39Writer(FX_BOOL extendedMode); 16 virtual ~CBC_OnedCode39Writer(); 17 uint8_t* Encode(const CFX_ByteString& contents, 18 BCFORMAT format, 19 int32_t& outWidth, 20 int32_t& outHeight, 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 hints, 27 int32_t& e); 28 uint8_t* Encode(const CFX_ByteString& contents, 29 int32_t& outLength, 30 int32_t& e); 31 void RenderResult(const CFX_WideStringC& contents, 32 uint8_t* code, 33 int32_t codeLength, 34 FX_BOOL isDevice, 35 int32_t& e); 36 CFX_WideString encodedContents(const CFX_WideStringC& contents, int32_t& e); 37 FX_BOOL CheckContentValidity(const CFX_WideStringC& contents); 38 FX_BOOL CheckExtendedContentValidity(const CFX_WideStringC& contents); 39 CFX_WideString FilterContents(const CFX_WideStringC& contents); 40 CFX_WideString FilterExtendedContents(const CFX_WideStringC& contents); 41 CFX_WideString RenderTextContents(const CFX_WideStringC& contents); 42 CFX_WideString RenderExtendedTextContents(const CFX_WideStringC& contents); 43 FX_BOOL SetTextLocation(BC_TEXT_LOC loction); 44 FX_BOOL SetWideNarrowRatio(int32_t ratio); 45 46 private: 47 void ToIntArray(int32_t a, int32_t* toReturn); 48 FX_CHAR CalcCheckSum(const CFX_ByteString& contents, int32_t& e); 49 int32_t m_iWideNarrRatio; 50 FX_BOOL m_extendedMode; 51 }; 52 #endif 53