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"); |
11 * you may not use this file except in compliance with the License. | 11 * you may not use this file except in compliance with the License. |
12 * You may obtain a copy of the License at | 12 * You may obtain a copy of the License at |
13 * | 13 * |
14 * http://www.apache.org/licenses/LICENSE-2.0 | 14 * http://www.apache.org/licenses/LICENSE-2.0 |
15 * | 15 * |
16 * Unless required by applicable law or agreed to in writing, software | 16 * Unless required by applicable law or agreed to in writing, software |
17 * distributed under the License is distributed on an "AS IS" BASIS, | 17 * distributed under the License is distributed on an "AS IS" BASIS, |
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
19 * See the License for the specific language governing permissions and | 19 * See the License for the specific language governing permissions and |
20 * limitations under the License. | 20 * limitations under the License. |
21 */ | 21 */ |
22 | 22 |
23 #include "../barcode.h" | 23 #include "../barcode.h" |
24 #include "BC_QRCoderErrorCorrectionLevel.h" | 24 #include "BC_QRCoderErrorCorrectionLevel.h" |
25 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::L = NULL; | 25 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::L = NULL; |
26 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::M = NULL; | 26 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::M = NULL; |
27 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::Q = NULL; | 27 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::Q = NULL; |
28 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::H = NULL; | 28 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::H = NULL; |
29 CBC_QRCoderErrorCorrectionLevel::CBC_QRCoderErrorCorrectionLevel(FX_INT32 ordina
l, FX_INT32 bits, FX_CHAR* name) | 29 CBC_QRCoderErrorCorrectionLevel::CBC_QRCoderErrorCorrectionLevel(int32_t ordinal
, int32_t bits, FX_CHAR* name) |
30 { | 30 { |
31 m_name += name; | 31 m_name += name; |
32 m_ordinal = ordinal; | 32 m_ordinal = ordinal; |
33 m_bits = bits; | 33 m_bits = bits; |
34 } | 34 } |
35 CBC_QRCoderErrorCorrectionLevel::~CBC_QRCoderErrorCorrectionLevel() | 35 CBC_QRCoderErrorCorrectionLevel::~CBC_QRCoderErrorCorrectionLevel() |
36 { | 36 { |
37 } | 37 } |
38 void CBC_QRCoderErrorCorrectionLevel::Initialize() | 38 void CBC_QRCoderErrorCorrectionLevel::Initialize() |
39 { | 39 { |
40 L = FX_NEW CBC_QRCoderErrorCorrectionLevel(0, 0x01, (FX_CHAR*)"L"); | 40 L = FX_NEW CBC_QRCoderErrorCorrectionLevel(0, 0x01, (FX_CHAR*)"L"); |
41 M = FX_NEW CBC_QRCoderErrorCorrectionLevel(1, 0x00, (FX_CHAR*)"M"); | 41 M = FX_NEW CBC_QRCoderErrorCorrectionLevel(1, 0x00, (FX_CHAR*)"M"); |
42 Q = FX_NEW CBC_QRCoderErrorCorrectionLevel(2, 0x03, (FX_CHAR*)"Q"); | 42 Q = FX_NEW CBC_QRCoderErrorCorrectionLevel(2, 0x03, (FX_CHAR*)"Q"); |
43 H = FX_NEW CBC_QRCoderErrorCorrectionLevel(3, 0x02, (FX_CHAR*)"H"); | 43 H = FX_NEW CBC_QRCoderErrorCorrectionLevel(3, 0x02, (FX_CHAR*)"H"); |
44 } | 44 } |
45 void CBC_QRCoderErrorCorrectionLevel::Finalize() | 45 void CBC_QRCoderErrorCorrectionLevel::Finalize() |
46 { | 46 { |
47 delete L; | 47 delete L; |
48 delete M; | 48 delete M; |
49 delete Q; | 49 delete Q; |
50 delete H; | 50 delete H; |
51 } | 51 } |
52 FX_INT32 CBC_QRCoderErrorCorrectionLevel::Ordinal() | 52 int32_t CBC_QRCoderErrorCorrectionLevel::Ordinal() |
53 { | 53 { |
54 return m_ordinal; | 54 return m_ordinal; |
55 } | 55 } |
56 FX_INT32 CBC_QRCoderErrorCorrectionLevel::GetBits() | 56 int32_t CBC_QRCoderErrorCorrectionLevel::GetBits() |
57 { | 57 { |
58 return m_bits; | 58 return m_bits; |
59 } | 59 } |
60 CFX_ByteString CBC_QRCoderErrorCorrectionLevel::GetName() | 60 CFX_ByteString CBC_QRCoderErrorCorrectionLevel::GetName() |
61 { | 61 { |
62 return m_name; | 62 return m_name; |
63 } | 63 } |
64 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::ForBits(FX_INT
32 bits) | 64 CBC_QRCoderErrorCorrectionLevel* CBC_QRCoderErrorCorrectionLevel::ForBits(int32_
t bits) |
65 { | 65 { |
66 switch(bits) { | 66 switch(bits) { |
67 case 0x00: | 67 case 0x00: |
68 return M; | 68 return M; |
69 case 0x01: | 69 case 0x01: |
70 return L; | 70 return L; |
71 case 0x02: | 71 case 0x02: |
72 return H; | 72 return H; |
73 case 0x03: | 73 case 0x03: |
74 return Q; | 74 return Q; |
(...skipping 13 matching lines...) Expand all Loading... |
88 } | 88 } |
89 if(H) { | 89 if(H) { |
90 delete CBC_QRCoderErrorCorrectionLevel::H; | 90 delete CBC_QRCoderErrorCorrectionLevel::H; |
91 H = NULL; | 91 H = NULL; |
92 } | 92 } |
93 if(Q) { | 93 if(Q) { |
94 delete CBC_QRCoderErrorCorrectionLevel::Q; | 94 delete CBC_QRCoderErrorCorrectionLevel::Q; |
95 Q = NULL; | 95 Q = NULL; |
96 } | 96 } |
97 } | 97 } |
OLD | NEW |