OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 // Original code is licensed as follows: | 6 // Original code is licensed as follows: |
7 /* | 7 /* |
8 * Copyright 2007 ZXing authors | 8 * Copyright 2007 ZXing authors |
9 * | 9 * |
10 * Licensed under the Apache License, Version 2.0 (the "License"); | 10 * Licensed under the Apache License, Version 2.0 (the "License"); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 } | 89 } |
90 CBC_DataMatrixVersion* CBC_DataMatrixVersion::GetVersionForDimensions( | 90 CBC_DataMatrixVersion* CBC_DataMatrixVersion::GetVersionForDimensions( |
91 int32_t numRows, | 91 int32_t numRows, |
92 int32_t numColumns, | 92 int32_t numColumns, |
93 int32_t& e) { | 93 int32_t& e) { |
94 if ((numRows & 0x01) != 0 || (numColumns & 0x01) != 0) { | 94 if ((numRows & 0x01) != 0 || (numColumns & 0x01) != 0) { |
95 e = BCExceptionNotFound; | 95 e = BCExceptionNotFound; |
96 return NULL; | 96 return NULL; |
97 } | 97 } |
98 if (VERSIONS->GetSize() == 0) { | 98 if (VERSIONS->GetSize() == 0) { |
99 VERSIONS->Add(new CBC_DataMatrixVersion( | 99 VERSIONS->Add(new CBC_DataMatrixVersion(1, 10, 10, 8, 8, |
100 1, 10, 10, 8, 8, new ECBlocks(5, new ECB(1, 3)))); | 100 new ECBlocks(5, new ECB(1, 3)))); |
101 VERSIONS->Add(new CBC_DataMatrixVersion( | 101 VERSIONS->Add(new CBC_DataMatrixVersion(2, 12, 12, 10, 10, |
102 2, 12, 12, 10, 10, new ECBlocks(7, new ECB(1, 5)))); | 102 new ECBlocks(7, new ECB(1, 5)))); |
103 VERSIONS->Add(new CBC_DataMatrixVersion( | 103 VERSIONS->Add(new CBC_DataMatrixVersion(3, 14, 14, 12, 12, |
104 3, 14, 14, 12, 12, new ECBlocks(10, new ECB(1, 8)))); | 104 new ECBlocks(10, new ECB(1, 8)))); |
105 VERSIONS->Add(new CBC_DataMatrixVersion( | 105 VERSIONS->Add(new CBC_DataMatrixVersion(4, 16, 16, 14, 14, |
106 4, 16, 16, 14, 14, new ECBlocks(12, new ECB(1, 12)))); | 106 new ECBlocks(12, new ECB(1, 12)))); |
107 VERSIONS->Add(new CBC_DataMatrixVersion( | 107 VERSIONS->Add(new CBC_DataMatrixVersion(5, 18, 18, 16, 16, |
108 5, 18, 18, 16, 16, new ECBlocks(14, new ECB(1, 18)))); | 108 new ECBlocks(14, new ECB(1, 18)))); |
109 VERSIONS->Add(new CBC_DataMatrixVersion( | 109 VERSIONS->Add(new CBC_DataMatrixVersion(6, 20, 20, 18, 18, |
110 6, 20, 20, 18, 18, new ECBlocks(18, new ECB(1, 22)))); | 110 new ECBlocks(18, new ECB(1, 22)))); |
111 VERSIONS->Add(new CBC_DataMatrixVersion( | 111 VERSIONS->Add(new CBC_DataMatrixVersion(7, 22, 22, 20, 20, |
112 7, 22, 22, 20, 20, new ECBlocks(20, new ECB(1, 30)))); | 112 new ECBlocks(20, new ECB(1, 30)))); |
113 VERSIONS->Add(new CBC_DataMatrixVersion( | 113 VERSIONS->Add(new CBC_DataMatrixVersion(8, 24, 24, 22, 22, |
114 8, 24, 24, 22, 22, new ECBlocks(24, new ECB(1, 36)))); | 114 new ECBlocks(24, new ECB(1, 36)))); |
115 VERSIONS->Add(new CBC_DataMatrixVersion( | 115 VERSIONS->Add(new CBC_DataMatrixVersion(9, 26, 26, 24, 24, |
116 9, 26, 26, 24, 24, new ECBlocks(28, new ECB(1, 44)))); | 116 new ECBlocks(28, new ECB(1, 44)))); |
117 VERSIONS->Add(new CBC_DataMatrixVersion( | 117 VERSIONS->Add(new CBC_DataMatrixVersion(10, 32, 32, 14, 14, |
118 10, 32, 32, 14, 14, new ECBlocks(36, new ECB(1, 62)))); | 118 new ECBlocks(36, new ECB(1, 62)))); |
119 VERSIONS->Add(new CBC_DataMatrixVersion( | 119 VERSIONS->Add(new CBC_DataMatrixVersion(11, 36, 36, 16, 16, |
120 11, 36, 36, 16, 16, new ECBlocks(42, new ECB(1, 86)))); | 120 new ECBlocks(42, new ECB(1, 86)))); |
121 VERSIONS->Add(new CBC_DataMatrixVersion( | 121 VERSIONS->Add(new CBC_DataMatrixVersion(12, 40, 40, 18, 18, |
122 12, 40, 40, 18, 18, new ECBlocks(48, new ECB(1, 114)))); | 122 new ECBlocks(48, new ECB(1, 114)))); |
123 VERSIONS->Add(new CBC_DataMatrixVersion( | 123 VERSIONS->Add(new CBC_DataMatrixVersion(13, 44, 44, 20, 20, |
124 13, 44, 44, 20, 20, new ECBlocks(56, new ECB(1, 144)))); | 124 new ECBlocks(56, new ECB(1, 144)))); |
125 VERSIONS->Add(new CBC_DataMatrixVersion( | 125 VERSIONS->Add(new CBC_DataMatrixVersion(14, 48, 48, 22, 22, |
126 14, 48, 48, 22, 22, new ECBlocks(68, new ECB(1, 174)))); | 126 new ECBlocks(68, new ECB(1, 174)))); |
127 VERSIONS->Add(new CBC_DataMatrixVersion( | 127 VERSIONS->Add(new CBC_DataMatrixVersion(15, 52, 52, 24, 24, |
128 15, 52, 52, 24, 24, new ECBlocks(42, new ECB(2, 102)))); | 128 new ECBlocks(42, new ECB(2, 102)))); |
129 VERSIONS->Add(new CBC_DataMatrixVersion( | 129 VERSIONS->Add(new CBC_DataMatrixVersion(16, 64, 64, 14, 14, |
130 16, 64, 64, 14, 14, new ECBlocks(56, new ECB(2, 140)))); | 130 new ECBlocks(56, new ECB(2, 140)))); |
131 VERSIONS->Add(new CBC_DataMatrixVersion( | 131 VERSIONS->Add(new CBC_DataMatrixVersion(17, 72, 72, 16, 16, |
132 17, 72, 72, 16, 16, new ECBlocks(36, new ECB(4, 92)))); | 132 new ECBlocks(36, new ECB(4, 92)))); |
133 VERSIONS->Add(new CBC_DataMatrixVersion( | 133 VERSIONS->Add(new CBC_DataMatrixVersion(18, 80, 80, 18, 18, |
134 18, 80, 80, 18, 18, new ECBlocks(48, new ECB(4, 114)))); | 134 new ECBlocks(48, new ECB(4, 114)))); |
135 VERSIONS->Add(new CBC_DataMatrixVersion( | 135 VERSIONS->Add(new CBC_DataMatrixVersion(19, 88, 88, 20, 20, |
136 19, 88, 88, 20, 20, new ECBlocks(56, new ECB(4, 144)))); | 136 new ECBlocks(56, new ECB(4, 144)))); |
137 VERSIONS->Add(new CBC_DataMatrixVersion( | 137 VERSIONS->Add(new CBC_DataMatrixVersion(20, 96, 96, 22, 22, |
138 20, 96, 96, 22, 22, new ECBlocks(68, new ECB(4, 174)))); | 138 new ECBlocks(68, new ECB(4, 174)))); |
139 VERSIONS->Add(new CBC_DataMatrixVersion( | 139 VERSIONS->Add(new CBC_DataMatrixVersion(21, 104, 104, 24, 24, |
140 21, 104, 104, 24, 24, new ECBlocks(56, new ECB(6, 136)))); | 140 new ECBlocks(56, new ECB(6, 136)))); |
141 VERSIONS->Add(new CBC_DataMatrixVersion( | 141 VERSIONS->Add(new CBC_DataMatrixVersion(22, 120, 120, 18, 18, |
142 22, 120, 120, 18, 18, new ECBlocks(68, new ECB(6, 175)))); | 142 new ECBlocks(68, new ECB(6, 175)))); |
143 VERSIONS->Add(new CBC_DataMatrixVersion( | 143 VERSIONS->Add(new CBC_DataMatrixVersion(23, 132, 132, 20, 20, |
144 23, 132, 132, 20, 20, new ECBlocks(62, new ECB(8, 163)))); | 144 new ECBlocks(62, new ECB(8, 163)))); |
145 VERSIONS->Add(new CBC_DataMatrixVersion( | 145 VERSIONS->Add(new CBC_DataMatrixVersion( |
146 24, 144, 144, 22, 22, | 146 24, 144, 144, 22, 22, |
147 new ECBlocks(62, new ECB(8, 156), new ECB(2, 155)))); | 147 new ECBlocks(62, new ECB(8, 156), new ECB(2, 155)))); |
148 VERSIONS->Add(new CBC_DataMatrixVersion( | 148 VERSIONS->Add(new CBC_DataMatrixVersion(25, 8, 18, 6, 16, |
149 25, 8, 18, 6, 16, new ECBlocks(7, new ECB(1, 5)))); | 149 new ECBlocks(7, new ECB(1, 5)))); |
150 VERSIONS->Add(new CBC_DataMatrixVersion( | 150 VERSIONS->Add(new CBC_DataMatrixVersion(26, 8, 32, 6, 14, |
151 26, 8, 32, 6, 14, new ECBlocks(11, new ECB(1, 10)))); | 151 new ECBlocks(11, new ECB(1, 10)))); |
152 VERSIONS->Add(new CBC_DataMatrixVersion( | 152 VERSIONS->Add(new CBC_DataMatrixVersion(27, 12, 26, 10, 24, |
153 27, 12, 26, 10, 24, new ECBlocks(14, new ECB(1, 16)))); | 153 new ECBlocks(14, new ECB(1, 16)))); |
154 VERSIONS->Add(new CBC_DataMatrixVersion( | 154 VERSIONS->Add(new CBC_DataMatrixVersion(28, 12, 36, 10, 16, |
155 28, 12, 36, 10, 16, new ECBlocks(18, new ECB(1, 22)))); | 155 new ECBlocks(18, new ECB(1, 22)))); |
156 VERSIONS->Add(new CBC_DataMatrixVersion( | 156 VERSIONS->Add(new CBC_DataMatrixVersion(29, 16, 36, 14, 16, |
157 29, 16, 36, 14, 16, new ECBlocks(24, new ECB(1, 32)))); | 157 new ECBlocks(24, new ECB(1, 32)))); |
158 VERSIONS->Add(new CBC_DataMatrixVersion( | 158 VERSIONS->Add(new CBC_DataMatrixVersion(30, 16, 48, 14, 22, |
159 30, 16, 48, 14, 22, new ECBlocks(28, new ECB(1, 49)))); | 159 new ECBlocks(28, new ECB(1, 49)))); |
160 } | 160 } |
161 int32_t numVersions = VERSIONS->GetSize(); | 161 int32_t numVersions = VERSIONS->GetSize(); |
162 for (int32_t i = 0; i < numVersions; ++i) { | 162 for (int32_t i = 0; i < numVersions; ++i) { |
163 if (((CBC_DataMatrixVersion*)((*VERSIONS)[i]))->m_symbolSizeRows == | 163 if (((CBC_DataMatrixVersion*)((*VERSIONS)[i]))->m_symbolSizeRows == |
164 numRows && | 164 numRows && |
165 ((CBC_DataMatrixVersion*)((*VERSIONS)[i]))->m_symbolSizeColumns == | 165 ((CBC_DataMatrixVersion*)((*VERSIONS)[i]))->m_symbolSizeColumns == |
166 numColumns) { | 166 numColumns) { |
167 return (CBC_DataMatrixVersion*)(*VERSIONS)[i]; | 167 return (CBC_DataMatrixVersion*)(*VERSIONS)[i]; |
168 } | 168 } |
169 } | 169 } |
170 e = BCExceptionNotFound; | 170 e = BCExceptionNotFound; |
171 return NULL; | 171 return NULL; |
172 } | 172 } |
OLD | NEW |