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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 m_decoder = FX_NEW CBC_QRCoderDecoder; | 48 m_decoder = FX_NEW CBC_QRCoderDecoder; |
49 m_decoder->Init(); | 49 m_decoder->Init(); |
50 } | 50 } |
51 CBC_QRCodeReader::~CBC_QRCodeReader() | 51 CBC_QRCodeReader::~CBC_QRCodeReader() |
52 { | 52 { |
53 if(m_decoder != NULL) { | 53 if(m_decoder != NULL) { |
54 delete m_decoder; | 54 delete m_decoder; |
55 } | 55 } |
56 m_decoder = NULL; | 56 m_decoder = NULL; |
57 } | 57 } |
58 CFX_ByteString CBC_QRCodeReader::Decode(CBC_BinaryBitmap *image, FX_INT32 hints,
FX_INT32 &e) | 58 CFX_ByteString CBC_QRCodeReader::Decode(CBC_BinaryBitmap *image, int32_t hints,
int32_t &e) |
59 { | 59 { |
60 CBC_CommonBitMatrix *matrix = image->GetMatrix(e); | 60 CBC_CommonBitMatrix *matrix = image->GetMatrix(e); |
61 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 61 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
62 CBC_QRDetector detector(matrix); | 62 CBC_QRDetector detector(matrix); |
63 CBC_QRDetectorResult* qdr = detector.Detect(hints, e); | 63 CBC_QRDetectorResult* qdr = detector.Detect(hints, e); |
64 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 64 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
65 CBC_AutoPtr<CBC_QRDetectorResult> detectorResult(qdr); | 65 CBC_AutoPtr<CBC_QRDetectorResult> detectorResult(qdr); |
66 CBC_CommonDecoderResult* qdr2 = m_decoder->Decode(detectorResult->GetBits(),
0, e); | 66 CBC_CommonDecoderResult* qdr2 = m_decoder->Decode(detectorResult->GetBits(),
0, e); |
67 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 67 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
68 CBC_AutoPtr<CBC_CommonDecoderResult> decodeResult(qdr2); | 68 CBC_AutoPtr<CBC_CommonDecoderResult> decodeResult(qdr2); |
69 return (decodeResult->GetText()); | 69 return (decodeResult->GetText()); |
70 } | 70 } |
71 CFX_ByteString CBC_QRCodeReader::Decode(const CFX_WideString &filename, FX_INT32
hints, FX_INT32 byteModeDecode, FX_INT32 &e) | 71 CFX_ByteString CBC_QRCodeReader::Decode(const CFX_WideString &filename, int32_t
hints, int32_t byteModeDecode, int32_t &e) |
72 { | 72 { |
73 CBC_BufferedImageLuminanceSource source(filename); | 73 CBC_BufferedImageLuminanceSource source(filename); |
74 source.Init(e); | 74 source.Init(e); |
75 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 75 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
76 CBC_GlobalHistogramBinarizer binarizer(&source); | 76 CBC_GlobalHistogramBinarizer binarizer(&source); |
77 CBC_BinaryBitmap bitmap(&binarizer); | 77 CBC_BinaryBitmap bitmap(&binarizer); |
78 CFX_ByteString bs = Decode(&bitmap, hints, e); | 78 CFX_ByteString bs = Decode(&bitmap, hints, e); |
79 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 79 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
80 return bs; | 80 return bs; |
81 } | 81 } |
82 CFX_ByteString CBC_QRCodeReader::Decode(CFX_DIBitmap *pBitmap, FX_INT32 hints, F
X_INT32 byteModeDecode, FX_INT32 &e) | 82 CFX_ByteString CBC_QRCodeReader::Decode(CFX_DIBitmap *pBitmap, int32_t hints, in
t32_t byteModeDecode, int32_t &e) |
83 { | 83 { |
84 CBC_BufferedImageLuminanceSource source(pBitmap); | 84 CBC_BufferedImageLuminanceSource source(pBitmap); |
85 CBC_GlobalHistogramBinarizer binarizer(&source); | 85 CBC_GlobalHistogramBinarizer binarizer(&source); |
86 CBC_BinaryBitmap bitmap(&binarizer); | 86 CBC_BinaryBitmap bitmap(&binarizer); |
87 CFX_ByteString bs = Decode(&bitmap, hints, e); | 87 CFX_ByteString bs = Decode(&bitmap, hints, e); |
88 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 88 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
89 return bs; | 89 return bs; |
90 } | 90 } |
91 CFX_ByteString CBC_QRCodeReader::Decode(CBC_BinaryBitmap *image, FX_INT32 &e) | 91 CFX_ByteString CBC_QRCodeReader::Decode(CBC_BinaryBitmap *image, int32_t &e) |
92 { | 92 { |
93 CFX_ByteString bs = Decode(image, 0, e); | 93 CFX_ByteString bs = Decode(image, 0, e); |
94 BC_EXCEPTION_CHECK_ReturnValue(e, ""); | 94 BC_EXCEPTION_CHECK_ReturnValue(e, ""); |
95 return bs; | 95 return bs; |
96 } | 96 } |
97 void CBC_QRCodeReader::ReleaseAll() | 97 void CBC_QRCodeReader::ReleaseAll() |
98 { | 98 { |
99 if(CBC_ReedSolomonGF256 ::QRCodeFild) { | 99 if(CBC_ReedSolomonGF256 ::QRCodeFild) { |
100 delete CBC_ReedSolomonGF256 ::QRCodeFild; | 100 delete CBC_ReedSolomonGF256 ::QRCodeFild; |
101 CBC_ReedSolomonGF256 ::QRCodeFild = NULL; | 101 CBC_ReedSolomonGF256 ::QRCodeFild = NULL; |
102 } | 102 } |
103 if(CBC_ReedSolomonGF256 ::DataMatrixField) { | 103 if(CBC_ReedSolomonGF256 ::DataMatrixField) { |
104 delete CBC_ReedSolomonGF256 ::DataMatrixField; | 104 delete CBC_ReedSolomonGF256 ::DataMatrixField; |
105 CBC_ReedSolomonGF256 ::DataMatrixField = NULL; | 105 CBC_ReedSolomonGF256 ::DataMatrixField = NULL; |
106 } | 106 } |
107 CBC_QRCoderMode::Destroy(); | 107 CBC_QRCoderMode::Destroy(); |
108 CBC_QRCoderErrorCorrectionLevel::Destroy(); | 108 CBC_QRCoderErrorCorrectionLevel::Destroy(); |
109 CBC_QRDataMask::Destroy(); | 109 CBC_QRDataMask::Destroy(); |
110 CBC_QRCoderVersion::Destroy(); | 110 CBC_QRCoderVersion::Destroy(); |
111 } | 111 } |
OLD | NEW |