1 // Copyright 2014 The PDFium Authors 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 FXBARCODE_BC_WRITER_H_ 8 #define FXBARCODE_BC_WRITER_H_ 9 10 #include "core/fxge/dib/fx_dib.h" 11 #include "fxbarcode/BC_Library.h" 12 13 class CBC_Writer { 14 public: 15 CBC_Writer(); 16 virtual ~CBC_Writer(); 17 18 void SetCharEncoding(BC_CHAR_ENCODING encoding); 19 bool SetModuleHeight(int32_t moduleHeight); 20 bool SetModuleWidth(int32_t moduleWidth); 21 void SetHeight(int32_t height); 22 void SetWidth(int32_t width); 23 24 virtual void SetTextLocation(BC_TEXT_LOC location); 25 virtual bool SetWideNarrowRatio(int8_t ratio); 26 virtual bool SetStartChar(char start); 27 virtual bool SetEndChar(char end); 28 virtual bool SetErrorCorrectionLevel(int32_t level); 29 30 protected: 31 static const FX_ARGB kBarColor = 0xff000000; 32 static const FX_ARGB kBackgroundColor = 0xffffffff; 33 34 int32_t m_ModuleHeight = 1; 35 int32_t m_ModuleWidth = 1; 36 int32_t m_Height = 320; 37 int32_t m_Width = 640; 38 FXDIB_Format m_colorSpace = FXDIB_Format::kArgb; 39 BC_CHAR_ENCODING m_CharEncoding = BC_CHAR_ENCODING::kUTF8; 40 }; 41 42 #endif // FXBARCODE_BC_WRITER_H_ 43