Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / include / BC_DataMatrixWriter.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _BC_DATAMATRIXWRITER_H_\r
8 #define _BC_DATAMATRIXWRITER_H_\r
9 class CBC_CommonByteMatrix;\r
10 class CBC_CommonBitMatrix;\r
11 class CBC_DefaultPlacement;\r
12 class CBC_SymbolShapeHint;\r
13 class CBC_SymbolInfo;\r
14 class CBC_TwoDimWriter;\r
15 class CBC_DataMatrixWriter;\r
16 class CBC_DataMatrixWriter : public CBC_TwoDimWriter\r
17 {\r
18 public:\r
19     CBC_DataMatrixWriter();\r
20     virtual ~CBC_DataMatrixWriter();\r
21     FX_BYTE*    Encode(const CFX_WideString &contents, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 &e);\r
22     FX_BYTE *   Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 &e);\r
23     FX_BYTE *   Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 hints, FX_INT32 &e);\r
24     FX_BOOL             SetErrorCorrectionLevel (FX_INT32 level);\r
25 \r
26 private:\r
27     static CBC_CommonByteMatrix* encodeLowLevel(CBC_DefaultPlacement* placement, CBC_SymbolInfo* symbolInfo, FX_INT32 &e);\r
28     FX_INT32    m_iCorrectLevel;\r
29 };\r
30 #endif\r