Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / qrcode / BC_QRCoderECBlocks.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 // Original code is licensed as follows:\r
7 /*\r
8  * Copyright 2007 ZXing authors\r
9  *\r
10  * Licensed under the Apache License, Version 2.0 (the "License");\r
11  * you may not use this file except in compliance with the License.\r
12  * You may obtain a copy of the License at\r
13  *\r
14  *      http://www.apache.org/licenses/LICENSE-2.0\r
15  *\r
16  * Unless required by applicable law or agreed to in writing, software\r
17  * distributed under the License is distributed on an "AS IS" BASIS,\r
18  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
19  * See the License for the specific language governing permissions and\r
20  * limitations under the License.\r
21  */\r
22 \r
23 #include "../barcode.h"\r
24 #include "BC_QRCoderECB.h"\r
25 #include "BC_QRCoderECBlocks.h"\r
26 CBC_QRCoderECBlocks::CBC_QRCoderECBlocks(int32_t ecCodeWordsPerBlock, CBC_QRCoderECB* ecBlocks)\r
27 {\r
28     m_ecCodeWordsPerBlock = ecCodeWordsPerBlock;\r
29     m_ecBlocks.Add(ecBlocks);\r
30 }\r
31 CBC_QRCoderECBlocks::CBC_QRCoderECBlocks(int32_t ecCodeWordsPerBlock,\r
32         CBC_QRCoderECB* ecBlocks1,\r
33         CBC_QRCoderECB* ecBlocks2)\r
34 {\r
35     m_ecCodeWordsPerBlock = ecCodeWordsPerBlock;\r
36     m_ecBlocks.Add(ecBlocks1);\r
37     m_ecBlocks.Add(ecBlocks2);\r
38 }\r
39 CBC_QRCoderECBlocks::~CBC_QRCoderECBlocks()\r
40 {\r
41     for (int32_t i = 0 ; i < m_ecBlocks.GetSize(); i++) {\r
42         delete ( (CBC_QRCoderECB*)(m_ecBlocks[i]) ) ;\r
43     }\r
44     m_ecBlocks.RemoveAll();\r
45 }\r
46 int32_t CBC_QRCoderECBlocks::GetECCodeWordsPerBlock()\r
47 {\r
48     return m_ecCodeWordsPerBlock;\r
49 }\r
50 int32_t CBC_QRCoderECBlocks::GetNumBlocks()\r
51 {\r
52     int32_t total = 0;\r
53     for(int32_t i = 0; i < m_ecBlocks.GetSize(); i++) {\r
54         total += ( (CBC_QRCoderECB*)(m_ecBlocks[i]) )->GetCount();\r
55     }\r
56     return total;\r
57 }\r
58 int32_t CBC_QRCoderECBlocks::GetTotalECCodeWords()\r
59 {\r
60     return m_ecCodeWordsPerBlock * GetNumBlocks();\r
61 }\r
62 CFX_PtrArray* CBC_QRCoderECBlocks::GetECBlocks()\r
63 {\r
64     return &m_ecBlocks;\r
65 }\r