Kaynağa Gözat

add invert scan feature for android

flutter-beta
Akshay Kalbhor 4 yıl önce
ebeveyn
işleme
4455cf8302
2 değiştirilmiş dosya ile 21 ekleme ve 0 silme
  1. +9
    -0
      android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt
  2. +12
    -0
      lib/src/qr_code_scanner.dart

+ 9
- 0
android/src/main/kotlin/net/touchcapture/qr/flutterqr/QRView.kt Dosyayı Görüntüle

@@ -90,6 +90,7 @@ class QRView(private val context: Context, messenger: BinaryMessenger, private v
call.argument<Double>("cutOutBottomOffset")!!, call.argument<Double>("cutOutBottomOffset")!!,
result, result,
) )
"invertScan" -> setInvertScan(call.argument<Boolean>("isInvertScan")!!, result)
else -> result.notImplemented() else -> result.notImplemented()
} }
} }
@@ -259,6 +260,14 @@ class QRView(private val context: Context, messenger: BinaryMessenger, private v
result.success(true) result.success(true)
} }


private fun setInvertScan(isInvert: Boolean, result: MethodChannel.Result) {
barcodeView!!.pause()
val settings = barcodeView!!.cameraSettings
settings.isScanInverted = isInvert
barcodeView!!.cameraSettings = settings
barcodeView!!.resume();
}

private fun setScanAreaSize( private fun setScanAreaSize(
dpScanAreaWidth: Double, dpScanAreaWidth: Double,
dpScanAreaHeight: Double, dpScanAreaHeight: Double,


+ 12
- 0
lib/src/qr_code_scanner.dart Dosyayı Görüntüle

@@ -357,4 +357,16 @@ class QRViewController {
} }
return false; return false;
} }

//Starts/Stops invert scanning.
Future<void> scanInvert(bool isScanInvert) async {
if (defaultTargetPlatform == TargetPlatform.android) {
try {
await _channel
.invokeMethod('invertScan', {"isInvertScan": isScanInvert});
} on PlatformException catch (e) {
throw CameraException(e.code, e.message);
}
}
}
} }

Yükleniyor…
İptal
Kaydet