Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / oned / BC_OneDReader.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_ONEDREADER_H_\r
8 #define _BC_ONEDREADER_H_\r
9 class CBC_Reader;\r
10 class CBC_BinaryBitmap;\r
11 class CBC_CommonBitArray;\r
12 class CBC_OneDReader;\r
13 class CBC_OneDReader : public CBC_Reader\r
14 {\r
15 public:\r
16     CBC_OneDReader();\r
17     virtual ~CBC_OneDReader();\r
18     virtual CFX_ByteString Decode(CBC_BinaryBitmap *image, int32_t &e);\r
19     virtual CFX_ByteString Decode(CBC_BinaryBitmap *image, int32_t hints, int32_t &e);\r
20     virtual CFX_ByteString DecodeRow(int32_t rowNumber, CBC_CommonBitArray *row, int32_t hints, int32_t &e)\r
21     {\r
22         return "";\r
23     }\r
24 private:\r
25     CFX_ByteString DeDecode(CBC_BinaryBitmap *image, int32_t hints, int32_t &e);\r
26 \r
27 protected:\r
28     const static int32_t INTEGER_MATH_SHIFT;\r
29     const static int32_t PATTERN_MATCH_RESULT_SCALE_FACTOR;\r
30     void RecordPattern(CBC_CommonBitArray *row, int32_t start, CFX_Int32Array *counters, int32_t &e);\r
31     void RecordPatternInReverse(CBC_CommonBitArray *row, int32_t start, CFX_Int32Array *counters, int32_t &e);\r
32     int32_t PatternMatchVariance(CFX_Int32Array *counters, const int32_t *pattern, int32_t maxIndividualVariance);\r
33 };\r
34 #endif\r