37 lines
903 B
C++
37 lines
903 B
C++
|
|
/*
|
||
|
|
* Copyright 2024 Axel Waggershauser
|
||
|
|
*/
|
||
|
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
|
||
|
|
#ifdef ZXING_EXPERIMENTAL_API
|
||
|
|
|
||
|
|
#include "ZXingCpp.h"
|
||
|
|
|
||
|
|
namespace ZXing {
|
||
|
|
|
||
|
|
BarcodeFormats SupportedBarcodeFormats(Operation op)
|
||
|
|
{
|
||
|
|
switch (op) {
|
||
|
|
case Operation::Read:
|
||
|
|
#ifdef ZXING_READERS
|
||
|
|
return BarcodeFormat::Any;
|
||
|
|
#else
|
||
|
|
return BarcodeFormat::None;
|
||
|
|
#endif
|
||
|
|
case Operation::Create:
|
||
|
|
#if defined(ZXING_WRITERS) && defined(ZXING_EXPERIMENTAL_API)
|
||
|
|
return BarcodeFormats(BarcodeFormat::Any).setFlag(BarcodeFormat::DXFilmEdge, false);
|
||
|
|
#else
|
||
|
|
return BarcodeFormat::None;
|
||
|
|
#endif
|
||
|
|
case Operation::CreateAndRead: return SupportedBarcodeFormats(Operation::Create) & SupportedBarcodeFormats(Operation::Read);
|
||
|
|
case Operation::CreateOrRead: return SupportedBarcodeFormats(Operation::Create) | SupportedBarcodeFormats(Operation::Read);
|
||
|
|
}
|
||
|
|
|
||
|
|
return {}; // unreachable code
|
||
|
|
}
|
||
|
|
|
||
|
|
} // namespace ZXing
|
||
|
|
|
||
|
|
#endif // ZXING_EXPERIMENTAL_API
|