Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / BC_PDF417Codeword.cpp
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 #include "barcode.h"\r
8 #include "include/BC_PDF417Codeword.h"\r
9 FX_INT32 CBC_Codeword::BARCODE_ROW_UNKNOWN = -1;\r
10 CBC_Codeword::CBC_Codeword(FX_INT32 startX, FX_INT32 endX, FX_INT32 bucket, FX_INT32 cvalue)\r
11 {\r
12     m_startX = startX;\r
13     m_endX = endX;\r
14     m_bucket = bucket;\r
15     m_value = cvalue;\r
16     m_rowNumber = BARCODE_ROW_UNKNOWN;\r
17 }\r
18 CBC_Codeword::~CBC_Codeword()\r
19 {\r
20 }\r
21 FX_BOOL CBC_Codeword::hasValidRowNumber()\r
22 {\r
23     return isValidRowNumber(m_rowNumber);\r
24 }\r
25 FX_BOOL CBC_Codeword::isValidRowNumber(FX_INT32 rowNumber)\r
26 {\r
27     return m_rowNumber != BARCODE_ROW_UNKNOWN && m_bucket == (m_rowNumber % 3) * 3;\r
28 }\r
29 void CBC_Codeword::setRowNumberAsRowIndicatorColumn()\r
30 {\r
31     m_rowNumber = (m_value / 30) * 3 + m_bucket / 3;\r
32 }\r
33 FX_INT32 CBC_Codeword::getWidth()\r
34 {\r
35     return m_endX - m_startX;\r
36 }\r
37 FX_INT32 CBC_Codeword::getStartX()\r
38 {\r
39     return m_startX;\r
40 }\r
41 FX_INT32 CBC_Codeword::getEndX()\r
42 {\r
43     return m_endX;\r
44 }\r
45 FX_INT32 CBC_Codeword::getBucket()\r
46 {\r
47     return m_bucket;\r
48 }\r
49 FX_INT32 CBC_Codeword::getValue()\r
50 {\r
51     return m_value;\r
52 }\r
53 FX_INT32 CBC_Codeword::getRowNumber()\r
54 {\r
55     return m_rowNumber;\r
56 }\r
57 void CBC_Codeword::setRowNumber(FX_INT32 rowNumber)\r
58 {\r
59     m_rowNumber = rowNumber;\r
60 }\r
61 CFX_ByteString CBC_Codeword::toString()\r
62 {\r
63     return m_rowNumber + (FX_CHAR)'|' + m_value;\r
64 }\r