Tomo Yamanaka / Mbed OS GR-LYCHEE_mbed-os-client-ZXingSample

Dependencies:   DisplayApp AsciiFont

Fork of GR-PEACH_mbed-os-client-ZXingSample by Renesas

Committer:
<>
Date:
Thu Oct 06 18:00:30 2016 +0900
Revision:
0:eb73febb2bba
Child:
2:6ec5c1c1d41c
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 0:eb73febb2bba 1 // -*- mode:c++; tab-width:2; indent-tabs-mode:nil; c-basic-offset:2 -*-
<> 0:eb73febb2bba 2 #ifndef __IMAGE_READER_SOURCE_H_
<> 0:eb73febb2bba 3 #define __IMAGE_READER_SOURCE_H_
<> 0:eb73febb2bba 4 /*
<> 0:eb73febb2bba 5 * Copyright 2010-2011 ZXing authors
<> 0:eb73febb2bba 6 *
<> 0:eb73febb2bba 7 * Licensed under the Apache License, Version 2.0 (the "License");
<> 0:eb73febb2bba 8 * you may not use this file except in compliance with the License.
<> 0:eb73febb2bba 9 * You may obtain a copy of the License at
<> 0:eb73febb2bba 10 *
<> 0:eb73febb2bba 11 * http://www.apache.org/licenses/LICENSE-2.0
<> 0:eb73febb2bba 12 *
<> 0:eb73febb2bba 13 * Unless required by applicable law or agreed to in writing, software
<> 0:eb73febb2bba 14 * distributed under the License is distributed on an "AS IS" BASIS,
<> 0:eb73febb2bba 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
<> 0:eb73febb2bba 16 * See the License for the specific language governing permissions and
<> 0:eb73febb2bba 17 * limitations under the License.
<> 0:eb73febb2bba 18 */
<> 0:eb73febb2bba 19
<> 0:eb73febb2bba 20 #include "mbed.h"
<> 0:eb73febb2bba 21 #include <iostream>
<> 0:eb73febb2bba 22 #include <fstream>
<> 0:eb73febb2bba 23 #include <string>
<> 0:eb73febb2bba 24 #include <zxing/LuminanceSource.h>
<> 0:eb73febb2bba 25 #include <zxing/common/Counted.h>
<> 0:eb73febb2bba 26 #include <zxing/Binarizer.h>
<> 0:eb73febb2bba 27 #include <zxing/MultiFormatReader.h>
<> 0:eb73febb2bba 28 #include <zxing/Result.h>
<> 0:eb73febb2bba 29 #include <zxing/ReaderException.h>
<> 0:eb73febb2bba 30 #include <zxing/common/GlobalHistogramBinarizer.h>
<> 0:eb73febb2bba 31 #include <zxing/common/HybridBinarizer.h>
<> 0:eb73febb2bba 32 #include <exception>
<> 0:eb73febb2bba 33 #include <zxing/Exception.h>
<> 0:eb73febb2bba 34 #include <zxing/common/IllegalArgumentException.h>
<> 0:eb73febb2bba 35 #include <zxing/BinaryBitmap.h>
<> 0:eb73febb2bba 36 #include <zxing/DecodeHints.h>
<> 0:eb73febb2bba 37
<> 0:eb73febb2bba 38 #include <zxing/qrcode/QRCodeReader.h>
<> 0:eb73febb2bba 39 #include <zxing/multi/qrcode/QRCodeMultiReader.h>
<> 0:eb73febb2bba 40 #include <zxing/multi/ByQuadrantReader.h>
<> 0:eb73febb2bba 41 #include <zxing/multi/MultipleBarcodeReader.h>
<> 0:eb73febb2bba 42 #include <zxing/multi/GenericMultipleBarcodeReader.h>
<> 0:eb73febb2bba 43
<> 0:eb73febb2bba 44 using std::string;
<> 0:eb73febb2bba 45 using std::ostringstream;
<> 0:eb73febb2bba 46 using zxing::Ref;
<> 0:eb73febb2bba 47 using zxing::ArrayRef;
<> 0:eb73febb2bba 48 using zxing::LuminanceSource;
<> 0:eb73febb2bba 49
<> 0:eb73febb2bba 50 using namespace std;
<> 0:eb73febb2bba 51 using namespace zxing;
<> 0:eb73febb2bba 52 using namespace zxing::multi;
<> 0:eb73febb2bba 53 using namespace zxing::qrcode;
<> 0:eb73febb2bba 54
<> 0:eb73febb2bba 55
<> 0:eb73febb2bba 56 class ImageReaderSource : public zxing::LuminanceSource {
<> 0:eb73febb2bba 57 private:
<> 0:eb73febb2bba 58 typedef LuminanceSource Super;
<> 0:eb73febb2bba 59
<> 0:eb73febb2bba 60 const zxing::ArrayRef<char> image;
<> 0:eb73febb2bba 61 const int comps;
<> 0:eb73febb2bba 62
<> 0:eb73febb2bba 63 char convertPixel(const char* pixel) const;
<> 0:eb73febb2bba 64
<> 0:eb73febb2bba 65 public:
<> 0:eb73febb2bba 66 static zxing::Ref<LuminanceSource> create(char* buf, int buf_size, int width, int height);
<> 0:eb73febb2bba 67
<> 0:eb73febb2bba 68 ImageReaderSource(zxing::ArrayRef<char> image, int width, int height, int comps);
<> 0:eb73febb2bba 69
<> 0:eb73febb2bba 70 zxing::ArrayRef<char> getRow(int y, zxing::ArrayRef<char> row) const;
<> 0:eb73febb2bba 71 zxing::ArrayRef<char> getMatrix() const;
<> 0:eb73febb2bba 72 };
<> 0:eb73febb2bba 73
<> 0:eb73febb2bba 74 extern int ex_decode(uint8_t* buf, int buf_size, int width, int height, vector<Ref<Result> > * results);
<> 0:eb73febb2bba 75
<> 0:eb73febb2bba 76
<> 0:eb73febb2bba 77 #endif /* __IMAGE_READER_SOURCE_H_ */