blob: c504c959a1b468d6cbcc246aa560840574eb6cd7 [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_DATAMATRIX_H_
8#define FXBARCODE_CBC_DATAMATRIX_H_
Dan Sinclaira98600a2016-03-21 15:15:56 -04009
dsinclaira52ab742016-09-29 13:59:29 -070010#include "core/fxcrt/fx_string.h"
11#include "core/fxcrt/fx_system.h"
Dan Sinclaire7786682017-03-29 15:18:41 -040012#include "fxbarcode/cbc_codebase.h"
Dan Sinclaira98600a2016-03-21 15:15:56 -040013
Lei Zhang1badb852017-04-20 15:58:56 -070014class CBC_DataMatrixWriter;
15
Tom Sepez55865452018-08-27 20:18:04 +000016class CBC_DataMatrix final : public CBC_CodeBase {
Dan Sinclaira98600a2016-03-21 15:15:56 -040017 public:
18 CBC_DataMatrix();
thestigfbe14b92016-05-02 13:31:10 -070019 ~CBC_DataMatrix() override;
Dan Sinclaira98600a2016-03-21 15:15:56 -040020
thestigfbe14b92016-05-02 13:31:10 -070021 // CBC_OneCode:
Tom Sepez1ab27572018-12-14 20:31:31 +000022 bool Encode(WideStringView contents) override;
tsepezd19e9122016-11-02 15:43:18 -070023 bool RenderDevice(CFX_RenderDevice* device,
Lei Zhang1badb852017-04-20 15:58:56 -070024 const CFX_Matrix* matrix) override;
weili29b8ad02016-06-14 18:20:04 -070025 BC_TYPE GetType() override;
Lei Zhang1badb852017-04-20 15:58:56 -070026
27 private:
28 CBC_DataMatrixWriter* GetDataMatrixWriter();
Dan Sinclaira98600a2016-03-21 15:15:56 -040029};
30
Dan Sinclaire7786682017-03-29 15:18:41 -040031#endif // FXBARCODE_CBC_DATAMATRIX_H_