dynamsoft-capture-vision-react-native 3.4.1300 → 3.4.3000
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -4
- package/README.md +62 -62
- package/android/README.md +14 -14
- package/android/build.gradle +167 -163
- package/android/gradle.properties +20 -20
- package/android/settings.gradle +5 -5
- package/android/src/main/AndroidManifest.xml +6 -6
- package/android/src/main/AndroidManifest_noPackage.xml +5 -5
- package/android/src/main/cpp/CMakeLists.txt +21 -21
- package/android/src/main/cpp/ImgHO.cpp +94 -94
- package/android/src/main/cpp/ImgHO.h +34 -34
- package/android/src/main/cpp/JsiCore.cpp +296 -296
- package/android/src/main/cpp/JsiCore.h +51 -51
- package/android/src/main/cpp/JsiCvr.cpp +332 -332
- package/android/src/main/cpp/JsiCvr.h +54 -54
- package/android/src/main/cpp/JsiDbr.cpp +283 -283
- package/android/src/main/cpp/JsiDbr.h +26 -26
- package/android/src/main/cpp/JsiDce.cpp +59 -59
- package/android/src/main/cpp/JsiDce.h +17 -17
- package/android/src/main/cpp/JsiDcp.cpp +51 -51
- package/android/src/main/cpp/JsiDcp.h +31 -31
- package/android/src/main/cpp/JsiDdn.cpp +50 -50
- package/android/src/main/cpp/JsiDdn.h +28 -28
- package/android/src/main/cpp/JsiDlr.cpp +60 -60
- package/android/src/main/cpp/JsiDlr.h +26 -26
- package/android/src/main/cpp/JsiUtility.cpp +604 -604
- package/android/src/main/cpp/JsiUtility.h +26 -26
- package/android/src/main/cpp/RawBuffer.cpp +23 -23
- package/android/src/main/cpp/RawBuffer.h +24 -24
- package/android/src/main/cpp/android_log.h +14 -14
- package/android/src/main/dysJniLibs/debug/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/debug/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/debug/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/debug/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/release/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/release/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/release/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibs/release/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/debug/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/debug/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/debug/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/debug/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/release/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/release/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/release/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor81/release/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/debug/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/debug/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/debug/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/debug/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/release/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/release/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/release/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor82/release/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/debug/arm64-v8a/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/debug/armeabi-v7a/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/debug/x86/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/debug/x86_64/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/release/arm64-v8a/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/release/armeabi-v7a/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/release/x86/librn_dys.so +3 -0
- package/android/src/main/dysJniLibsFor86/release/x86_64/librn_dys.so +3 -0
- package/android/src/main/java/com/dynamsoft/reactnativelib/CVRModule.kt +137 -137
- package/android/src/main/java/com/dynamsoft/reactnativelib/CameraViewManager.kt +62 -62
- package/android/src/main/java/com/dynamsoft/reactnativelib/DCEModule.kt +125 -125
- package/android/src/main/java/com/dynamsoft/reactnativelib/DynamsoftBaseModule.kt +8 -8
- package/android/src/main/java/com/dynamsoft/reactnativelib/ISAModule.kt +73 -73
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewManager.kt +14 -14
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewModule.kt +35 -35
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageManagerModule.kt +15 -15
- package/android/src/main/java/com/dynamsoft/reactnativelib/LicenseModule.kt +29 -29
- package/android/src/main/java/com/dynamsoft/reactnativelib/MultiCrossFilterModule.kt +83 -83
- package/android/src/main/java/com/dynamsoft/reactnativelib/ReactNativeDcvPackage.kt +32 -32
- package/android/src/main/java/com/dynamsoft/reactnativelib/VersionsModule.kt +41 -41
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/Basic.kt +44 -44
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCore.kt +50 -50
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCvr.kt +129 -129
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDBR.kt +157 -157
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCE.kt +110 -110
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCP.kt +49 -49
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDDN.kt +85 -85
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDLR.kt +72 -72
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ImageUtil.kt +58 -58
- package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt +120 -120
- package/android/src/main/java/com/dynamsoft/reactnativelib/cvr/CaptureVisionRouterModuleImpl.kt +306 -306
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraEnhancerModuleImpl.kt +247 -247
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraLifeCycleOwner.java +14 -14
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraViewManagerImpl.kt +77 -77
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewManagerImpl.kt +15 -15
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewModuleImpl.kt +110 -110
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNCameraView.kt +20 -20
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNImageEditorView.kt +19 -19
- package/android/src/main/java/com/dynamsoft/reactnativelib/license/LicenseModuleImpl.kt +39 -39
- package/android/src/main/java/com/dynamsoft/reactnativelib/utility/ImageManagerModuleImpl.kt +120 -120
- package/android/src/main/java/com/dynamsoft/reactnativelib/utility/MultiCrossFilterModuleImpl.kt +111 -111
- package/app.plugin.js +21 -21
- package/dynamsoft-capture-vision-react-native.podspec +24 -24
- package/ios/CPP/DSImageData+HostObject.h +18 -18
- package/ios/CPP/DSImageData+HostObject.mm +38 -38
- package/ios/CPP/ImageDataHostObject.cpp +87 -87
- package/ios/CPP/ImageDataHostObject.hpp +35 -35
- package/ios/CPP/MutableRawBuffer.cpp +23 -23
- package/ios/CPP/MutableRawBuffer.hpp +23 -23
- package/ios/CPP/RNDynamsoft+JSI.h +22 -22
- package/ios/CPP/RNDynamsoft+JSI.mm +303 -303
- package/ios/CPP/RNDynamsoft+Json.h +93 -93
- package/ios/CPP/RNDynamsoft+Json.m +733 -733
- package/ios/CPP/YeetJSIUtils.h +56 -56
- package/ios/CPP/YeetJSIUtils.mm +208 -208
- package/ios/RNDynamsoftCameraView.h +31 -31
- package/ios/RNDynamsoftCameraView.m +108 -108
- package/ios/RNDynamsoftCameraViewManager.h +14 -14
- package/ios/RNDynamsoftCameraViewManager.m +195 -195
- package/ios/RNDynamsoftCaptureVisionRouter.h +18 -18
- package/ios/RNDynamsoftCaptureVisionRouter.mm +532 -532
- package/ios/RNDynamsoftImageEditorView.h +17 -17
- package/ios/RNDynamsoftImageEditorView.m +25 -25
- package/ios/RNDynamsoftImageEditorViewManager.h +14 -14
- package/ios/RNDynamsoftImageEditorViewManager.mm +183 -183
- package/ios/RNDynamsoftImageManager.h +14 -14
- package/ios/RNDynamsoftImageManager.mm +369 -369
- package/ios/RNDynamsoftImageSourceAdapter.h +19 -19
- package/ios/RNDynamsoftImageSourceAdapter.mm +255 -255
- package/ios/RNDynamsoftLicense.h +14 -14
- package/ios/RNDynamsoftLicense.m +62 -62
- package/ios/RNDynamsoftMultiCrossFilter.h +14 -14
- package/ios/RNDynamsoftMultiCrossFilter.m +145 -145
- package/ios/RNDynamsoftVersions.h +13 -13
- package/ios/RNDynamsoftVersions.m +27 -27
- package/package.json +48 -48
- package/src/NativeDynamsoftVersionsModule.tsx +20 -20
- package/src/VersionsModule.tsx +7 -7
- package/src/core/CapturedResultBase.tsx +18 -18
- package/src/core/CapturedResultItem.tsx +23 -23
- package/src/core/CoreModule.tsx +9 -9
- package/src/core/DSRect.tsx +29 -29
- package/src/core/EnumCaptureResultItemType.tsx +52 -52
- package/src/core/EnumColourChannelUsageType.tsx +26 -26
- package/src/core/EnumCrossVerificationStatus.tsx +46 -46
- package/src/core/EnumGrayscaleEnhancementMode.tsx +46 -46
- package/src/core/EnumGrayscaleTransformationMode.tsx +35 -35
- package/src/core/EnumImageFileFormat.tsx +6 -6
- package/src/core/EnumPixelFormat.tsx +53 -53
- package/src/core/ImageData.tsx +87 -87
- package/src/core/ImageSourceAdapter.tsx +160 -160
- package/src/core/NativeDynamsoftImageSourceAdapterModule.tsx +29 -29
- package/src/core/Point.tsx +13 -13
- package/src/core/Quadrilateral.tsx +12 -12
- package/src/core/index.tsx +18 -18
- package/src/cvr/CaptureVisionRouter.tsx +683 -683
- package/src/cvr/CaptureVisionRouterModule.tsx +9 -9
- package/src/cvr/CapturedResult.tsx +123 -123
- package/src/cvr/CapturedResultFilter.tsx +13 -13
- package/src/cvr/CapturedResultReceiver.tsx +71 -71
- package/src/cvr/EnumPresetTemplate.tsx +81 -81
- package/src/cvr/NativeDynamsoftCaptureVisionRouterModule.tsx +25 -25
- package/src/cvr/SimplifiedCaptureVisionSettings.tsx +61 -61
- package/src/cvr/index.tsx +11 -11
- package/src/dbr/BarcodeDetails.tsx +51 -51
- package/src/dbr/BarcodeReaderModule.tsx +9 -9
- package/src/dbr/BarcodeResultItem.tsx +65 -65
- package/src/dbr/DecodedBarcodesResult.tsx +14 -14
- package/src/dbr/ECISegment.tsx +23 -23
- package/src/dbr/EnumBarcodeFormat.tsx +112 -112
- package/src/dbr/EnumDeblurMode.tsx +29 -29
- package/src/dbr/EnumLocalizationMode.tsx +27 -27
- package/src/dbr/EnumQRCodeErrorCorrectionLevel.tsx +6 -6
- package/src/dbr/SimplifiedBarcodeReaderSettings.tsx +80 -80
- package/src/dbr/index.tsx +9 -9
- package/src/dce/CameraEnhancer.tsx +254 -254
- package/src/dce/CameraEnhancerModule.tsx +9 -9
- package/src/dce/CameraView.tsx +100 -100
- package/src/dce/DynamsoftCameraViewNativeComponent.ts +96 -96
- package/src/dce/DynamsoftImageEditorViewNativeComponent.ts +9 -9
- package/src/dce/EnumCameraPosition.tsx +25 -25
- package/src/dce/EnumDrawingLayerId.tsx +17 -17
- package/src/dce/EnumEnhancedFeatures.tsx +24 -24
- package/src/dce/EnumFocusMode.tsx +6 -6
- package/src/dce/EnumResolution.tsx +8 -8
- package/src/dce/EnumTorchState.tsx +10 -10
- package/src/dce/FeedBack.tsx +28 -28
- package/src/dce/ImageEditorView.tsx +131 -131
- package/src/dce/NativeDynamsoftCameraViewModule.tsx +47 -47
- package/src/dce/NativeDynamsoftImageEditorViewModule.ts +9 -9
- package/src/dce/index.tsx +13 -13
- package/src/dcp/CodeParserDedicatorModule.tsx +9 -9
- package/src/dcp/CodeParserModule.tsx +9 -9
- package/src/dcp/EnumMappingStatus.tsx +14 -14
- package/src/dcp/EnumValidationStatus.tsx +14 -14
- package/src/dcp/ParsedResult.tsx +14 -14
- package/src/dcp/ParsedResultItem.tsx +50 -50
- package/src/dcp/index.tsx +8 -8
- package/src/ddn/DeskewedImageResultItem.tsx +40 -40
- package/src/ddn/DetectedQuadResultItem.tsx +31 -31
- package/src/ddn/DocumentNormalizerModule.tsx +9 -9
- package/src/ddn/EnhancedImageResultItem.tsx +20 -20
- package/src/ddn/EnumImageColourMode.tsx +14 -14
- package/src/ddn/ProcessedDocumentResult.tsx +27 -27
- package/src/ddn/SimplifiedDocumentNormalizerSettings.tsx +65 -65
- package/src/ddn/index.tsx +11 -11
- package/src/dip/ImageProcessingModule.tsx +9 -9
- package/src/dip/index.tsx +1 -1
- package/src/dlr/CharacterResult.tsx +28 -28
- package/src/dlr/LabelRecognizerModule.tsx +9 -9
- package/src/dlr/RecognizedTextLinesResult.tsx +19 -19
- package/src/dlr/SimplifiedLabelRecognizerSettings.tsx +33 -33
- package/src/dlr/TextLineResultItem.tsx +41 -41
- package/src/dlr/index.tsx +8 -8
- package/src/index.tsx +13 -13
- package/src/license/LicenseManager.tsx +49 -49
- package/src/license/LicenseModule.tsx +9 -9
- package/src/license/NativeDynamsoftLicenseModule.tsx +7 -7
- package/src/license/index.tsx +7 -7
- package/src/utility/CrossVerificationCriteria.tsx +11 -11
- package/src/utility/EnumFilterType.tsx +5 -5
- package/src/utility/ImageManager.tsx +348 -348
- package/src/utility/MultiFrameResultCrossFilter.tsx +183 -183
- package/src/utility/NativeDynamsoftImageManagerModule.tsx +7 -7
- package/src/utility/NativeDynamsoftMultiCrossFilterModule.tsx +18 -18
- package/src/utility/UtilityModule.tsx +9 -9
- package/src/utility/index.tsx +4 -4
- package/android/.gitignore +0 -4
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
package com.dynamsoft.reactnativelib.basicutils
|
|
2
|
-
|
|
3
|
-
import android.content.res.Resources
|
|
4
|
-
import android.graphics.Bitmap
|
|
5
|
-
import android.graphics.BitmapFactory
|
|
6
|
-
import android.graphics.drawable.BitmapDrawable
|
|
7
|
-
import android.graphics.drawable.Drawable
|
|
8
|
-
import android.util.Base64
|
|
9
|
-
import com.dynamsoft.core.basic_structures.ImageData
|
|
10
|
-
import java.io.ByteArrayOutputStream
|
|
11
|
-
|
|
12
|
-
fun bitmap2Byte(bitmap: Bitmap?): ByteArray? {
|
|
13
|
-
if (null == bitmap) return null
|
|
14
|
-
val outputStream = ByteArrayOutputStream()
|
|
15
|
-
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream)
|
|
16
|
-
return outputStream.toByteArray()
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
fun byte2Base64(imageByte: ByteArray?): String? {
|
|
20
|
-
return if (null == imageByte) null else Base64.encodeToString(imageByte, Base64.NO_WRAP)
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
fun bitmap2Base64(bitmap: Bitmap?): String? {
|
|
24
|
-
return byte2Base64(bitmap2Byte(bitmap))
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
fun base64ToBitmap(base64: String?): Bitmap? {
|
|
28
|
-
if (base64 == null) {
|
|
29
|
-
return null
|
|
30
|
-
}
|
|
31
|
-
val bytes: ByteArray = Base64.decode(base64, Base64.DEFAULT)
|
|
32
|
-
return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
fun bitmap2Drawable(bitmap: Bitmap?, resources: Resources): Drawable? {
|
|
36
|
-
if (bitmap == null) {
|
|
37
|
-
return null
|
|
38
|
-
}
|
|
39
|
-
return BitmapDrawable(resources, bitmap)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
fun base64ToDrawable(base64: String?, resources: Resources): Drawable? {
|
|
43
|
-
return bitmap2Drawable(base64ToBitmap(base64), resources)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
fun imageData2base64(imageData: ImageData?): String {
|
|
47
|
-
var bytes: ByteArray? = null
|
|
48
|
-
imageData?.apply {
|
|
49
|
-
val baos = ByteArrayOutputStream()
|
|
50
|
-
toBitmap()?.compress(Bitmap.CompressFormat.JPEG, 100, baos)
|
|
51
|
-
bytes = baos.toByteArray()
|
|
52
|
-
}
|
|
53
|
-
if (bytes == null) {
|
|
54
|
-
return ""
|
|
55
|
-
}
|
|
56
|
-
return Base64.encodeToString(bytes, Base64.DEFAULT)?:""
|
|
57
|
-
}
|
|
58
|
-
|
|
1
|
+
package com.dynamsoft.reactnativelib.basicutils
|
|
2
|
+
|
|
3
|
+
import android.content.res.Resources
|
|
4
|
+
import android.graphics.Bitmap
|
|
5
|
+
import android.graphics.BitmapFactory
|
|
6
|
+
import android.graphics.drawable.BitmapDrawable
|
|
7
|
+
import android.graphics.drawable.Drawable
|
|
8
|
+
import android.util.Base64
|
|
9
|
+
import com.dynamsoft.core.basic_structures.ImageData
|
|
10
|
+
import java.io.ByteArrayOutputStream
|
|
11
|
+
|
|
12
|
+
fun bitmap2Byte(bitmap: Bitmap?): ByteArray? {
|
|
13
|
+
if (null == bitmap) return null
|
|
14
|
+
val outputStream = ByteArrayOutputStream()
|
|
15
|
+
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outputStream)
|
|
16
|
+
return outputStream.toByteArray()
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
fun byte2Base64(imageByte: ByteArray?): String? {
|
|
20
|
+
return if (null == imageByte) null else Base64.encodeToString(imageByte, Base64.NO_WRAP)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
fun bitmap2Base64(bitmap: Bitmap?): String? {
|
|
24
|
+
return byte2Base64(bitmap2Byte(bitmap))
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
fun base64ToBitmap(base64: String?): Bitmap? {
|
|
28
|
+
if (base64 == null) {
|
|
29
|
+
return null
|
|
30
|
+
}
|
|
31
|
+
val bytes: ByteArray = Base64.decode(base64, Base64.DEFAULT)
|
|
32
|
+
return BitmapFactory.decodeByteArray(bytes, 0, bytes.size)
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
fun bitmap2Drawable(bitmap: Bitmap?, resources: Resources): Drawable? {
|
|
36
|
+
if (bitmap == null) {
|
|
37
|
+
return null
|
|
38
|
+
}
|
|
39
|
+
return BitmapDrawable(resources, bitmap)
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
fun base64ToDrawable(base64: String?, resources: Resources): Drawable? {
|
|
43
|
+
return bitmap2Drawable(base64ToBitmap(base64), resources)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
fun imageData2base64(imageData: ImageData?): String {
|
|
47
|
+
var bytes: ByteArray? = null
|
|
48
|
+
imageData?.apply {
|
|
49
|
+
val baos = ByteArrayOutputStream()
|
|
50
|
+
toBitmap()?.compress(Bitmap.CompressFormat.JPEG, 100, baos)
|
|
51
|
+
bytes = baos.toByteArray()
|
|
52
|
+
}
|
|
53
|
+
if (bytes == null) {
|
|
54
|
+
return ""
|
|
55
|
+
}
|
|
56
|
+
return Base64.encodeToString(bytes, Base64.DEFAULT)?:""
|
|
57
|
+
}
|
|
58
|
+
|
package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt
CHANGED
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
package com.dynamsoft.reactnativelib.core
|
|
2
|
-
|
|
3
|
-
import com.dynamsoft.core.basic_structures.EnumBufferOverflowProtectionMode
|
|
4
|
-
import com.dynamsoft.core.basic_structures.EnumColourChannelUsageType
|
|
5
|
-
import com.dynamsoft.core.basic_structures.ImageSourceAdapter
|
|
6
|
-
import com.facebook.react.bridge.Promise
|
|
7
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.bridge.ReactMethod
|
|
9
|
-
import java.lang.annotation.Native
|
|
10
|
-
|
|
11
|
-
class ImageSourceAdapterModuleImpl(private val reactContext: ReactApplicationContext) {
|
|
12
|
-
companion object {
|
|
13
|
-
@JvmStatic
|
|
14
|
-
@Native
|
|
15
|
-
val mapISA = mutableMapOf<String, ImageSourceAdapter>()
|
|
16
|
-
|
|
17
|
-
@JvmStatic
|
|
18
|
-
fun getISA(name: String): ImageSourceAdapter? {
|
|
19
|
-
return mapISA[name]
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@JvmStatic
|
|
23
|
-
external fun nativeInstall(jsiPtr: Long)
|
|
24
|
-
|
|
25
|
-
const val NAME = "DynamsoftImageSourceAdapterModule"
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
fun getName() = NAME
|
|
29
|
-
|
|
30
|
-
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
31
|
-
fun createDefaultNativeISA(): String {
|
|
32
|
-
val defaultISA = DefaultISA()
|
|
33
|
-
mapISA[defaultISA.toString()] = defaultISA
|
|
34
|
-
return defaultISA.toString()
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
@ReactMethod
|
|
38
|
-
fun destroy(isaId: String) {
|
|
39
|
-
mapISA.remove(isaId)?.clearBuffer()
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
@ReactMethod
|
|
43
|
-
fun clearBuffer(isaId: String) {
|
|
44
|
-
mapISA[isaId]?.clearBuffer()
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
@ReactMethod
|
|
48
|
-
fun getImageCount(isaId: String, promise: Promise) {
|
|
49
|
-
val imageCount = mapISA[isaId]?.imageCount ?: -1
|
|
50
|
-
promise.resolve(imageCount)
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@ReactMethod
|
|
54
|
-
fun hasImage(isaId: String, imageId: Int, promise: Promise) {
|
|
55
|
-
promise.resolve(mapISA[isaId]?.hasImage(imageId) ?: false)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@ReactMethod
|
|
59
|
-
fun isBufferEmpty(isaId: String, promise: Promise) {
|
|
60
|
-
promise.resolve(mapISA[isaId]?.isBufferEmpty ?: false)
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@ReactMethod
|
|
64
|
-
fun getBufferOverflowProtectionMode(isaId: String, promise: Promise) {
|
|
65
|
-
promise.resolve(mapISA[isaId]?.bufferOverflowProtectionMode ?: 0)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@ReactMethod
|
|
69
|
-
fun setBufferOverflowProtectionMode(isaId: String, @EnumBufferOverflowProtectionMode mode: Int) {
|
|
70
|
-
mapISA[isaId]?.bufferOverflowProtectionMode = mode
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
@ReactMethod
|
|
74
|
-
fun getColourChannelUsageType(isaId: String, promise: Promise) {
|
|
75
|
-
promise.resolve(mapISA[isaId]?.colourChannelUsageType ?: 0)
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
@ReactMethod
|
|
79
|
-
fun setColourChannelUsageType(isaId: String, @EnumColourChannelUsageType type: Int) {
|
|
80
|
-
mapISA[isaId]?.colourChannelUsageType = type
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
@ReactMethod
|
|
84
|
-
fun getMaximumImageCount(isaId: String, promise: Promise) {
|
|
85
|
-
promise.resolve(mapISA[isaId]?.maximumImageCount ?: 0)
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
@ReactMethod
|
|
89
|
-
fun setMaximumImageCount(isaId: String, maxCount: Int) {
|
|
90
|
-
mapISA[isaId]?.maximumImageCount = maxCount
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
@ReactMethod
|
|
94
|
-
fun setNextImageToReturn(isaId: String, nextId: Int) {
|
|
95
|
-
mapISA[isaId]?.setNextImageToReturn(nextId)
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
@ReactMethod
|
|
99
|
-
fun startFetching(isaId: String) {
|
|
100
|
-
mapISA[isaId]?.startFetching()
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
@ReactMethod
|
|
104
|
-
fun stopFetching(isaId: String) {
|
|
105
|
-
mapISA[isaId]?.stopFetching()
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
class DefaultISA : ImageSourceAdapter() {
|
|
109
|
-
override fun hasNextImageToFetch(): Boolean {
|
|
110
|
-
return imageCount != 0
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
115
|
-
fun install(): Boolean {
|
|
116
|
-
val jsiPtr = reactContext.javaScriptContextHolder?.get() ?: 0
|
|
117
|
-
nativeInstall(jsiPtr)
|
|
118
|
-
return true
|
|
119
|
-
}
|
|
120
|
-
}
|
|
1
|
+
package com.dynamsoft.reactnativelib.core
|
|
2
|
+
|
|
3
|
+
import com.dynamsoft.core.basic_structures.EnumBufferOverflowProtectionMode
|
|
4
|
+
import com.dynamsoft.core.basic_structures.EnumColourChannelUsageType
|
|
5
|
+
import com.dynamsoft.core.basic_structures.ImageSourceAdapter
|
|
6
|
+
import com.facebook.react.bridge.Promise
|
|
7
|
+
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
+
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import java.lang.annotation.Native
|
|
10
|
+
|
|
11
|
+
class ImageSourceAdapterModuleImpl(private val reactContext: ReactApplicationContext) {
|
|
12
|
+
companion object {
|
|
13
|
+
@JvmStatic
|
|
14
|
+
@Native
|
|
15
|
+
val mapISA = mutableMapOf<String, ImageSourceAdapter>()
|
|
16
|
+
|
|
17
|
+
@JvmStatic
|
|
18
|
+
fun getISA(name: String): ImageSourceAdapter? {
|
|
19
|
+
return mapISA[name]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
@JvmStatic
|
|
23
|
+
external fun nativeInstall(jsiPtr: Long)
|
|
24
|
+
|
|
25
|
+
const val NAME = "DynamsoftImageSourceAdapterModule"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
fun getName() = NAME
|
|
29
|
+
|
|
30
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
31
|
+
fun createDefaultNativeISA(): String {
|
|
32
|
+
val defaultISA = DefaultISA()
|
|
33
|
+
mapISA[defaultISA.toString()] = defaultISA
|
|
34
|
+
return defaultISA.toString()
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@ReactMethod
|
|
38
|
+
fun destroy(isaId: String) {
|
|
39
|
+
mapISA.remove(isaId)?.clearBuffer()
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
@ReactMethod
|
|
43
|
+
fun clearBuffer(isaId: String) {
|
|
44
|
+
mapISA[isaId]?.clearBuffer()
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@ReactMethod
|
|
48
|
+
fun getImageCount(isaId: String, promise: Promise) {
|
|
49
|
+
val imageCount = mapISA[isaId]?.imageCount ?: -1
|
|
50
|
+
promise.resolve(imageCount)
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@ReactMethod
|
|
54
|
+
fun hasImage(isaId: String, imageId: Int, promise: Promise) {
|
|
55
|
+
promise.resolve(mapISA[isaId]?.hasImage(imageId) ?: false)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@ReactMethod
|
|
59
|
+
fun isBufferEmpty(isaId: String, promise: Promise) {
|
|
60
|
+
promise.resolve(mapISA[isaId]?.isBufferEmpty ?: false)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@ReactMethod
|
|
64
|
+
fun getBufferOverflowProtectionMode(isaId: String, promise: Promise) {
|
|
65
|
+
promise.resolve(mapISA[isaId]?.bufferOverflowProtectionMode ?: 0)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@ReactMethod
|
|
69
|
+
fun setBufferOverflowProtectionMode(isaId: String, @EnumBufferOverflowProtectionMode mode: Int) {
|
|
70
|
+
mapISA[isaId]?.bufferOverflowProtectionMode = mode
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
@ReactMethod
|
|
74
|
+
fun getColourChannelUsageType(isaId: String, promise: Promise) {
|
|
75
|
+
promise.resolve(mapISA[isaId]?.colourChannelUsageType ?: 0)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
@ReactMethod
|
|
79
|
+
fun setColourChannelUsageType(isaId: String, @EnumColourChannelUsageType type: Int) {
|
|
80
|
+
mapISA[isaId]?.colourChannelUsageType = type
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@ReactMethod
|
|
84
|
+
fun getMaximumImageCount(isaId: String, promise: Promise) {
|
|
85
|
+
promise.resolve(mapISA[isaId]?.maximumImageCount ?: 0)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@ReactMethod
|
|
89
|
+
fun setMaximumImageCount(isaId: String, maxCount: Int) {
|
|
90
|
+
mapISA[isaId]?.maximumImageCount = maxCount
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@ReactMethod
|
|
94
|
+
fun setNextImageToReturn(isaId: String, nextId: Int) {
|
|
95
|
+
mapISA[isaId]?.setNextImageToReturn(nextId)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
@ReactMethod
|
|
99
|
+
fun startFetching(isaId: String) {
|
|
100
|
+
mapISA[isaId]?.startFetching()
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
@ReactMethod
|
|
104
|
+
fun stopFetching(isaId: String) {
|
|
105
|
+
mapISA[isaId]?.stopFetching()
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
class DefaultISA : ImageSourceAdapter() {
|
|
109
|
+
override fun hasNextImageToFetch(): Boolean {
|
|
110
|
+
return imageCount != 0
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@ReactMethod(isBlockingSynchronousMethod = true)
|
|
115
|
+
fun install(): Boolean {
|
|
116
|
+
val jsiPtr = reactContext.javaScriptContextHolder?.get() ?: 0
|
|
117
|
+
nativeInstall(jsiPtr)
|
|
118
|
+
return true
|
|
119
|
+
}
|
|
120
|
+
}
|