1 // Copyright 2016 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 FXBARCODE_CBC_ONECODE_H_ 8 #define FXBARCODE_CBC_ONECODE_H_ 9 10 #include <memory> 11 12 #include "core/fxcrt/fx_string.h" 13 #include "core/fxcrt/fx_system.h" 14 #include "fxbarcode/cbc_codebase.h" 15 16 class CBC_OneDimWriter; 17 class CFX_Font; 18 19 class CBC_OneCode : public CBC_CodeBase { 20 public: 21 explicit CBC_OneCode(std::unique_ptr<CBC_Writer> pWriter); 22 ~CBC_OneCode() override; 23 24 virtual bool CheckContentValidity(const WideStringView& contents); 25 virtual WideString FilterContents(const WideStringView& contents); 26 27 virtual void SetPrintChecksum(bool checksum); 28 virtual void SetDataLength(int32_t length); 29 virtual void SetCalChecksum(bool calc); 30 virtual bool SetFont(CFX_Font* cFont); 31 virtual void SetFontSize(float size); 32 virtual void SetFontStyle(int32_t style); 33 virtual void SetFontColor(FX_ARGB color); 34 35 private: 36 CBC_OneDimWriter* GetOneDimWriter(); 37 }; 38 39 #endif // FXBARCODE_CBC_ONECODE_H_ 40