You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.1 KiB
60 lines
1.1 KiB
/* |
|
* Copyright 2016 Nu-book Inc. |
|
*/ |
|
// SPDX-License-Identifier: Apache-2.0 |
|
|
|
#pragma once |
|
|
|
#include "BarcodeFormat.h" |
|
#include "ReaderOptions.h" |
|
|
|
#include <memory> |
|
|
|
namespace ZXing { |
|
|
|
public enum class BarcodeType : int { |
|
AZTEC, |
|
CODABAR, |
|
CODE_39, |
|
CODE_93, |
|
CODE_128, |
|
DATA_MATRIX, |
|
DX_FILM_EDGE, |
|
EAN_8, |
|
EAN_13, |
|
ITF, |
|
MAXICODE, |
|
PDF_417, |
|
QR_CODE, |
|
MICRO_QR_CODE, |
|
RMQR_CODE, |
|
RSS_14, |
|
RSS_EXPANDED, |
|
DATA_BAR_LIMITED, |
|
UPC_A, |
|
UPC_E |
|
}; |
|
|
|
ref class ReadResult; |
|
|
|
public ref class BarcodeReader sealed |
|
{ |
|
public: |
|
BarcodeReader(bool tryHarder, bool tryRotate, const Platform::Array<BarcodeType>^ types); |
|
BarcodeReader(bool tryHarder, bool tryRotate); |
|
BarcodeReader(bool tryHarder); |
|
|
|
ReadResult^ Read(Windows::Graphics::Imaging::SoftwareBitmap^ bitmap, int cropWidth, int cropHeight); |
|
|
|
private: |
|
~BarcodeReader(); |
|
|
|
void init(bool tryHarder, bool tryRotate, const Platform::Array<BarcodeType>^ types); |
|
|
|
static BarcodeFormat ConvertRuntimeToNative(BarcodeType type); |
|
static BarcodeType ConvertNativeToRuntime(BarcodeFormat format); |
|
|
|
std::unique_ptr<ReaderOptions> m_opts; |
|
}; |
|
|
|
} // ZXing
|
|
|