blob: 565c03f1a55ed1b1f0ce479b2e0b923882c2d4e8 [file] [log] [blame]
Dan Sinclair1770c022016-03-14 14:14:16 -04001// 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
Dan Sinclaire7786682017-03-29 15:18:41 -04007#ifndef FXBARCODE_BC_WRITER_H_
8#define FXBARCODE_BC_WRITER_H_
Dan Sinclair1770c022016-03-14 14:14:16 -04009
dsinclaira52ab742016-09-29 13:59:29 -070010#include "core/fxcrt/fx_string.h"
Nicolas Pena37cc5fb2017-04-04 12:12:49 -040011#include "core/fxge/dib/cfx_dibitmap.h"
dsinclair74a34fc2016-09-29 16:41:42 -070012#include "core/fxge/fx_dib.h"
Dan Sinclaire7786682017-03-29 15:18:41 -040013#include "fxbarcode/utils.h"
Dan Sinclair1770c022016-03-14 14:14:16 -040014
15class CBC_Writer {
16 public:
17 CBC_Writer();
18 virtual ~CBC_Writer();
tsepezd19e9122016-11-02 15:43:18 -070019 virtual bool SetCharEncoding(int32_t encoding);
20 virtual bool SetModuleHeight(int32_t moduleHeight);
21 virtual bool SetModuleWidth(int32_t moduleWidth);
22 virtual bool SetHeight(int32_t height);
23 virtual bool SetWidth(int32_t width);
Dan Sinclair1770c022016-03-14 14:14:16 -040024 virtual void SetBackgroundColor(FX_ARGB backgroundColor);
25 virtual void SetBarcodeColor(FX_ARGB foregroundColor);
26
27 protected:
Dan Sinclair0b950422017-09-21 15:49:49 -040028 RetainPtr<CFX_DIBitmap> CreateDIBitmap(int32_t width, int32_t height);
Dan Sinclair1770c022016-03-14 14:14:16 -040029 int32_t m_CharEncoding;
30 int32_t m_ModuleHeight;
31 int32_t m_ModuleWidth;
32 int32_t m_Height;
33 int32_t m_Width;
34 FXDIB_Format m_colorSpace;
35 FX_ARGB m_barColor;
36 FX_ARGB m_backgroundColor;
37};
38
Dan Sinclaire7786682017-03-29 15:18:41 -040039#endif // FXBARCODE_BC_WRITER_H_