Files
ANSLibs/QRCode/ZXingCpp.cpp

37 lines
903 B
C++
Raw Normal View History

/*
* 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