startScan static method

Future<String?> startScan({
  1. String title = "",
  2. bool flashlightEnable = true,
  3. Color? barColor,
  4. Color? titleColor,
  5. Color? qRCornerColor,
  6. Color? qRScannerColor,
  7. double scanAreaScale = 0.7,
})

Implementation

static Future<String?> startScan({
  String title = "",
  bool flashlightEnable = true,
  Color? barColor,
  Color? titleColor,
  Color? qRCornerColor,
  Color? qRScannerColor,
  double scanAreaScale = 0.7,
}) async {
  int flashlight = (flashlightEnable ? 1 : 0);

  Map<String, String> scanArgs = {
    ScanArgs.TITLE: title,
    ScanArgs.FLASHLIGHT: flashlight.toString(),
    ScanArgs.SCAN_AREA_SCALE: scanAreaScale.toString(),
  };

  if (barColor != null) {
    scanArgs[ScanArgs.BAR_COLOR] = '#${barColor.value.toRadixString(16)}';
  }

  if (titleColor != null) {
    scanArgs[ScanArgs.TITLE_COLOR] = '#${titleColor.value.toRadixString(16)}';
  }

  if (qRCornerColor != null) {
    scanArgs[ScanArgs.QR_CORNER_COLOR] =
        '#${qRCornerColor.value.toRadixString(16)}';
  }

  if (qRScannerColor != null) {
    scanArgs[ScanArgs.QR_SCANNER_COLOR] =
    '#${qRScannerColor.value.toRadixString(16)}';
  }

  final String? result = await _channel.invokeMethod('scan', scanArgs);
  return result;
}