blob: 82fe0c167d213a94e0871a6341fa234ae01615c0 [file] [log] [blame]
Dan Sinclaira98600a2016-03-21 15:15:56 -04001// 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 XFA_FXBARCODE_CBC_EAN8_H_
8#define XFA_FXBARCODE_CBC_EAN8_H_
9
Dan Sinclaira8a28e02016-03-23 15:41:39 -040010#include "core/fxcrt/include/fx_string.h"
11#include "core/fxcrt/include/fx_system.h"
dsinclair48baa5f2016-04-06 10:00:40 -070012#include "core/fxge/include/fx_dib.h"
Dan Sinclaira98600a2016-03-21 15:15:56 -040013#include "xfa/fxbarcode/cbc_onecode.h"
14
15class CBC_EAN8 : public CBC_OneCode {
16 public:
17 CBC_EAN8();
18 virtual ~CBC_EAN8();
19
20 FX_BOOL Encode(const CFX_WideStringC& contents, FX_BOOL isDevice, int32_t& e);
21 CFX_WideString Decode(uint8_t* buf, int32_t width, int32_t hight, int32_t& e);
22 CFX_WideString Decode(CFX_DIBitmap* pBitmap, int32_t& e);
23
24 FX_BOOL RenderDevice(CFX_RenderDevice* device,
25 const CFX_Matrix* matirx,
26 int32_t& e);
27 FX_BOOL RenderBitmap(CFX_DIBitmap*& pOutBitmap, int32_t& e);
28
29 BC_TYPE GetType() { return BC_EAN8; }
30
31 private:
32 CFX_WideString Preprocess(const CFX_WideStringC& contents);
33 CFX_WideString m_renderContents;
34};
35
36#endif // XFA_FXBARCODE_CBC_EAN8_H_