Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / datamatrix / 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     uint8_t*    Encode(const CFX_WideString &contents, int32_t &outWidth, int32_t &outHeight, int32_t &e);\r
22     uint8_t *   Encode(const CFX_ByteString &contents, BCFORMAT format, int32_t &outWidth, int32_t &outHeight, int32_t &e);\r
23     uint8_t *   Encode(const CFX_ByteString &contents, BCFORMAT format, int32_t &outWidth, int32_t &outHeight, int32_t hints, int32_t &e);\r
24     FX_BOOL             SetErrorCorrectionLevel (int32_t level);\r
25 \r
26 private:\r
27     static CBC_CommonByteMatrix* encodeLowLevel(CBC_DefaultPlacement* placement, CBC_SymbolInfo* symbolInfo, int32_t &e);\r
28     int32_t     m_iCorrectLevel;\r
29 };\r
30 #endif\r