blob: 8a62151685d7c44f449647691aaadadfb5f9e4ff [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
Dan Sinclaire7786682017-03-29 15:18:41 -04007#ifndef FXBARCODE_CBC_EAN13_H_
8#define FXBARCODE_CBC_EAN13_H_
Dan Sinclaira98600a2016-03-21 15:15:56 -04009
Nicolas Pena37cc5fb2017-04-04 12:12:49 -040010#include "core/fxcrt/fx_coordinates.h"
dsinclaira52ab742016-09-29 13:59:29 -070011#include "core/fxcrt/fx_string.h"
12#include "core/fxcrt/fx_system.h"
dsinclair74a34fc2016-09-29 16:41:42 -070013#include "core/fxge/fx_dib.h"
Dan Sinclaire7786682017-03-29 15:18:41 -040014#include "fxbarcode/cbc_onecode.h"
Dan Sinclaira98600a2016-03-21 15:15:56 -040015
Lei Zhang1badb852017-04-20 15:58:56 -070016class CBC_OnedEAN13Writer;
17
Dan Sinclaira98600a2016-03-21 15:15:56 -040018class CBC_EAN13 : public CBC_OneCode {
19 public:
20 CBC_EAN13();
thestigfbe14b92016-05-02 13:31:10 -070021 ~CBC_EAN13() override;
Dan Sinclaira98600a2016-03-21 15:15:56 -040022
thestigfbe14b92016-05-02 13:31:10 -070023 // CBC_OneCode:
Henrique Nakashima1eae16d2017-09-05 12:07:02 -040024 bool Encode(const CFX_WideStringC& contents) override;
tsepezd19e9122016-11-02 15:43:18 -070025 bool RenderDevice(CFX_RenderDevice* device,
Lei Zhang1badb852017-04-20 15:58:56 -070026 const CFX_Matrix* matrix) override;
weili29b8ad02016-06-14 18:20:04 -070027 BC_TYPE GetType() override;
Dan Sinclaira98600a2016-03-21 15:15:56 -040028
29 private:
Lei Zhang1badb852017-04-20 15:58:56 -070030 CBC_OnedEAN13Writer* GetOnedEAN13Writer();
Dan Sinclaira98600a2016-03-21 15:15:56 -040031 CFX_WideString Preprocess(const CFX_WideStringC& contents);
Lei Zhang1badb852017-04-20 15:58:56 -070032
Dan Sinclaira98600a2016-03-21 15:15:56 -040033 CFX_WideString m_renderContents;
34};
35
Dan Sinclaire7786682017-03-29 15:18:41 -040036#endif // FXBARCODE_CBC_EAN13_H_