blob: eae618ec6b19a2f1b50406be7da065da2c15e56e [file] [log] [blame]
Philip P. Moltmannd904c1e2018-03-19 09:26:45 -07001// 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
16class CBC_OneDimWriter;
17class CFX_Font;
18
19class 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_