start static method
Future<PreviewDetails>
start({
- required int? height,
- required int? width,
- required QRCodeHandler? qrCodeHandler,
- List<
BarcodeFormats> ? formats = _defaultBarcodeFormats,
Implementation
static Future<PreviewDetails> start({
required int? height,
required int? width,
required QRCodeHandler? qrCodeHandler,
List<BarcodeFormats>? formats = _defaultBarcodeFormats,
}) async {
final List<BarcodeFormats> _formats = formats ?? _defaultBarcodeFormats;
assert(_formats.isNotEmpty);
final List<String> formatStrings =
_formats.map((BarcodeFormats format) => format.toString().split('.')[1]).toList(growable: false);
channelReader.setQrCodeHandler(qrCodeHandler!);
// ignore: always_specify_types
final Map<dynamic, dynamic>? details = await _channel.invokeMethod(
'start', {'targetHeight': height, 'targetWidth': width, 'heartbeatTimeout': 0, 'formats': formatStrings});
// invokeMethod returns Map<dynamic,...> in dart 2.0
assert(details is Map<dynamic, dynamic>);
final int textureId = details!['textureId'] as int;
final num orientation = details['surfaceOrientation'] as num;
final num surfaceHeight = details['surfaceHeight'] as num;
final num surfaceWidth = details['surfaceWidth'] as num;
return PreviewDetails(surfaceHeight, surfaceWidth, orientation, textureId);
}