Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: xfa/src/fxbarcode/src/include/BC_QRCoderEncoder.h

Issue 842043002: Organize barcode codes into modules. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: rebase Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #ifndef _BC_QRCODERENCODER_H_
8 #define _BC_QRCODERENCODER_H_
9 class Make_Pair;
10 class CBC_QRCoder;
11 class CBC_QRCoderErrorCorrectionLevel;
12 class CBC_QRCoderMode;
13 class CBC_QRCoderBitVector;
14 class CBC_CommonByteArray;
15 class CBC_CommonByteMatrix;
16 class CBC_QRCoderEncoder;
17 class CBC_QRCoderEncoder : public CFX_Object
18 {
19 private:
20 const static FX_INT32 m_alphaNumbericTable[96];
21 public:
22 CBC_QRCoderEncoder();
23 virtual ~CBC_QRCoderEncoder();
24
25 static void Encode(const CFX_ByteString &content, CBC_QRCoderErrorCorrection Level* ecLevel, CBC_QRCoder *qrCode, FX_INT32 &e, FX_INT32 versionSpecify = 0);
26 static void Encode(const CFX_WideString &content, CBC_QRCoderErrorCorrection Level* ecLevel, CBC_QRCoder *qrCode, FX_INT32 &e);
27 static void EncodeWithSpecifyVersion(const CFX_ByteString &content, CBC_QRCo derErrorCorrectionLevel* ecLevel,
28 CBC_QRCoder *qrCode, FX_INT32 versionSp ecify, FX_INT32 &e);
29 static void EncodeWithAutoVersion(const CFX_ByteString &content, CBC_QRCoder ErrorCorrectionLevel* ecLevel, CBC_QRCoder *qrCode, FX_INT32 &e);
30 static CBC_QRCoderMode* ChooseMode(const CFX_ByteString & content, CFX_ByteS tring encoding);
31 static FX_INT32 GetAlphaNumericCode(FX_INT32 code);
32 static void AppendECI(CBC_QRCoderBitVector* bits);
33 static void AppendBytes(const CFX_ByteString &content, CBC_QRCoderMode* mode , CBC_QRCoderBitVector* bits, CFX_ByteString encoding, FX_INT32 &e);
34 static void AppendNumericBytes(const CFX_ByteString &content, CBC_QRCoderBit Vector* bits, FX_INT32 &e);
35 static void AppendAlphaNumericBytes(const CFX_ByteString &content, CBC_QRCod erBitVector* bits, FX_INT32 &e);
36 static void Append8BitBytes(const CFX_ByteString &content, CBC_QRCoderBitVec tor* bits, CFX_ByteString encoding, FX_INT32 &e);
37 static void Append8BitBytes(CFX_ByteArray &bytes, CBC_QRCoderBitVector *bits , FX_INT32 &e);
38 static void AppendKanjiBytes(const CFX_ByteString &content, CBC_QRCoderBitVe ctor* bits, FX_INT32 &e);
39 static void AppendGBKBytes(const CFX_ByteString &content, CBC_QRCoderBitVect or* bits, FX_INT32 &e);
40 static void InitQRCode(FX_INT32 numInputBytes, FX_INT32 versionNumber,
41 CBC_QRCoderErrorCorrectionLevel* ecLevel, CBC_QRCoder Mode* mode, CBC_QRCoder* qrCode, FX_INT32 &e);
42 static void InitQRCode(FX_INT32 numInputBytes, CBC_QRCoderErrorCorrectionLev el* ecLevel, CBC_QRCoderMode* mode, CBC_QRCoder* qrCode, FX_INT32 &e);
43 static void AppendModeInfo(CBC_QRCoderMode* mode, CBC_QRCoderBitVector* bits , FX_INT32 &e);
44 static void AppendLengthInfo(FX_INT32 numLetters, FX_INT32 version, CBC_QRCo derMode* mode, CBC_QRCoderBitVector* bits, FX_INT32 &e);
45
46 static void InterleaveWithECBytes(CBC_QRCoderBitVector* bits, FX_INT32 numTo talBytes, FX_INT32 numDataBytes, FX_INT32 numRSBlocks, CBC_QRCoderBitVector* res ult, FX_INT32 &e);
47 static void GetNumDataBytesAndNumECBytesForBlockID(FX_INT32 numTotalBytes, F X_INT32 numDataBytes,
48 FX_INT32 numRSBlocks, FX_INT32 blockID,
49 FX_INT32 &numDataBytesInBlock, FX_INT32& numECBytesInBlocks);
50 static CBC_CommonByteArray* GenerateECBytes(CBC_CommonByteArray* dataBytes, FX_INT32 numEcBytesInBlock, FX_INT32 &e);
51 static FX_INT32 ChooseMaskPattern(CBC_QRCoderBitVector* bits, CBC_QRCoderErr orCorrectionLevel* ecLevel,
52 FX_INT32 version, CBC_CommonByteMatrix* ma trix, FX_INT32 &e);
53 static FX_INT32 CalculateMaskPenalty(CBC_CommonByteMatrix* matrix);
54 static void TerminateBits(FX_INT32 numDataBytes, CBC_QRCoderBitVector* bits, FX_INT32 &e);
55 static FX_INT32 GetSpanByVersion(CBC_QRCoderMode *modeFirst, CBC_QRCoderMode *modeSecond, FX_INT32 versionNum, FX_INT32 &e);
56 static void MergeString(CFX_PtrArray &result, FX_INT32 versionNum, FX_INT32 &e);
57 static void SplitString(const CFX_ByteString &content, CFX_PtrArray &result) ;
58 static void AppendDataModeLenghInfo(CFX_PtrArray &splitResult, CBC_QRCoderBi tVector &headerAndDataBits, CBC_QRCoderMode *tempMode, CBC_QRCoder *qrCode, CFX_ByteString &encoding, FX_INT32 &e);
59 };
60 #endif
OLDNEW
« no previous file with comments | « xfa/src/fxbarcode/src/include/BC_QRCoderECBlocks.h ('k') | xfa/src/fxbarcode/src/include/BC_QRCoderErrorCorrectionLevel.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698