Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fxbarcode / src / include / BC_QRCoderBitVector.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_QRECODERBITVECTOR_H_\r
8 #define _BC_QRECODERBITVECTOR_H_\r
9 class CBC_QRCoderBitVector;\r
10 class CBC_QRCoderBitVector  : public CFX_Object\r
11 {\r
12 private:\r
13     FX_INT32 m_sizeInBits;\r
14     FX_BYTE *m_array;\r
15     FX_INT32 m_size;\r
16 \r
17     void AppendByte(FX_INT32 value);\r
18 public:\r
19     CBC_QRCoderBitVector();\r
20     virtual ~CBC_QRCoderBitVector();\r
21     FX_INT32 At(FX_INT32 index, FX_INT32 &e);\r
22     FX_INT32 Size();\r
23     FX_INT32 sizeInBytes();\r
24     void AppendBit(FX_INT32 bit, FX_INT32 &e);\r
25     void AppendBits(FX_INT32 value, FX_INT32 numBits, FX_INT32 &e);\r
26     void AppendBitVector(CBC_QRCoderBitVector *bits, FX_INT32 &e);\r
27     void XOR(CBC_QRCoderBitVector *other, FX_INT32 &e);\r
28     FX_BYTE* GetArray();\r
29     void Clear();\r
30     virtual void Init();\r
31 };\r
32 #endif\r