dynamsoft-capture-vision-react-native 3.4.1200 → 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.
Files changed (222) hide show
  1. package/LICENSE +5 -5
  2. package/README.md +62 -66
  3. package/android/README.md +14 -14
  4. package/android/build.gradle +167 -163
  5. package/android/gradle.properties +20 -20
  6. package/android/settings.gradle +5 -5
  7. package/android/src/main/AndroidManifest.xml +6 -6
  8. package/android/src/main/AndroidManifest_noPackage.xml +5 -5
  9. package/android/src/main/cpp/CMakeLists.txt +21 -21
  10. package/android/src/main/cpp/ImgHO.cpp +94 -94
  11. package/android/src/main/cpp/ImgHO.h +34 -34
  12. package/android/src/main/cpp/JsiCore.cpp +296 -296
  13. package/android/src/main/cpp/JsiCore.h +51 -51
  14. package/android/src/main/cpp/JsiCvr.cpp +332 -332
  15. package/android/src/main/cpp/JsiCvr.h +54 -54
  16. package/android/src/main/cpp/JsiDbr.cpp +283 -283
  17. package/android/src/main/cpp/JsiDbr.h +26 -26
  18. package/android/src/main/cpp/JsiDce.cpp +59 -59
  19. package/android/src/main/cpp/JsiDce.h +17 -17
  20. package/android/src/main/cpp/JsiDcp.cpp +51 -51
  21. package/android/src/main/cpp/JsiDcp.h +31 -31
  22. package/android/src/main/cpp/JsiDdn.cpp +50 -50
  23. package/android/src/main/cpp/JsiDdn.h +28 -28
  24. package/android/src/main/cpp/JsiDlr.cpp +60 -60
  25. package/android/src/main/cpp/JsiDlr.h +26 -26
  26. package/android/src/main/cpp/JsiUtility.cpp +604 -604
  27. package/android/src/main/cpp/JsiUtility.h +26 -26
  28. package/android/src/main/cpp/RawBuffer.cpp +23 -23
  29. package/android/src/main/cpp/RawBuffer.h +24 -24
  30. package/android/src/main/cpp/android_log.h +14 -14
  31. package/android/src/main/dysJniLibs/debug/arm64-v8a/librn_dys.so +0 -0
  32. package/android/src/main/dysJniLibs/debug/armeabi-v7a/librn_dys.so +0 -0
  33. package/android/src/main/dysJniLibs/debug/x86/librn_dys.so +0 -0
  34. package/android/src/main/dysJniLibs/debug/x86_64/librn_dys.so +0 -0
  35. package/android/src/main/dysJniLibs/release/arm64-v8a/librn_dys.so +0 -0
  36. package/android/src/main/dysJniLibs/release/armeabi-v7a/librn_dys.so +0 -0
  37. package/android/src/main/dysJniLibs/release/x86/librn_dys.so +0 -0
  38. package/android/src/main/dysJniLibs/release/x86_64/librn_dys.so +0 -0
  39. package/android/src/main/dysJniLibsFor81/debug/arm64-v8a/librn_dys.so +0 -0
  40. package/android/src/main/dysJniLibsFor81/debug/armeabi-v7a/librn_dys.so +0 -0
  41. package/android/src/main/dysJniLibsFor81/debug/x86/librn_dys.so +0 -0
  42. package/android/src/main/dysJniLibsFor81/debug/x86_64/librn_dys.so +0 -0
  43. package/android/src/main/dysJniLibsFor81/release/arm64-v8a/librn_dys.so +0 -0
  44. package/android/src/main/dysJniLibsFor81/release/armeabi-v7a/librn_dys.so +0 -0
  45. package/android/src/main/dysJniLibsFor81/release/x86/librn_dys.so +0 -0
  46. package/android/src/main/dysJniLibsFor81/release/x86_64/librn_dys.so +0 -0
  47. package/android/src/main/dysJniLibsFor82/debug/arm64-v8a/librn_dys.so +0 -0
  48. package/android/src/main/dysJniLibsFor82/debug/armeabi-v7a/librn_dys.so +0 -0
  49. package/android/src/main/dysJniLibsFor82/debug/x86/librn_dys.so +0 -0
  50. package/android/src/main/dysJniLibsFor82/debug/x86_64/librn_dys.so +0 -0
  51. package/android/src/main/dysJniLibsFor82/release/arm64-v8a/librn_dys.so +0 -0
  52. package/android/src/main/dysJniLibsFor82/release/armeabi-v7a/librn_dys.so +0 -0
  53. package/android/src/main/dysJniLibsFor82/release/x86/librn_dys.so +0 -0
  54. package/android/src/main/dysJniLibsFor82/release/x86_64/librn_dys.so +0 -0
  55. package/android/src/main/dysJniLibsFor86/debug/arm64-v8a/librn_dys.so +3 -0
  56. package/android/src/main/dysJniLibsFor86/debug/armeabi-v7a/librn_dys.so +3 -0
  57. package/android/src/main/dysJniLibsFor86/debug/x86/librn_dys.so +3 -0
  58. package/android/src/main/dysJniLibsFor86/debug/x86_64/librn_dys.so +3 -0
  59. package/android/src/main/dysJniLibsFor86/release/arm64-v8a/librn_dys.so +3 -0
  60. package/android/src/main/dysJniLibsFor86/release/armeabi-v7a/librn_dys.so +3 -0
  61. package/android/src/main/dysJniLibsFor86/release/x86/librn_dys.so +3 -0
  62. package/android/src/main/dysJniLibsFor86/release/x86_64/librn_dys.so +3 -0
  63. package/android/src/main/java/com/dynamsoft/reactnativelib/CVRModule.kt +137 -137
  64. package/android/src/main/java/com/dynamsoft/reactnativelib/CameraViewManager.kt +62 -62
  65. package/android/src/main/java/com/dynamsoft/reactnativelib/DCEModule.kt +125 -125
  66. package/android/src/main/java/com/dynamsoft/reactnativelib/DynamsoftBaseModule.kt +8 -8
  67. package/android/src/main/java/com/dynamsoft/reactnativelib/ISAModule.kt +73 -73
  68. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewManager.kt +14 -14
  69. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewModule.kt +35 -35
  70. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageManagerModule.kt +15 -15
  71. package/android/src/main/java/com/dynamsoft/reactnativelib/LicenseModule.kt +29 -29
  72. package/android/src/main/java/com/dynamsoft/reactnativelib/MultiCrossFilterModule.kt +83 -83
  73. package/android/src/main/java/com/dynamsoft/reactnativelib/ReactNativeDcvPackage.kt +32 -32
  74. package/android/src/main/java/com/dynamsoft/reactnativelib/VersionsModule.kt +41 -41
  75. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/Basic.kt +44 -44
  76. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCore.kt +50 -50
  77. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCvr.kt +129 -129
  78. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDBR.kt +157 -157
  79. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCE.kt +110 -110
  80. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCP.kt +49 -49
  81. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDDN.kt +85 -85
  82. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDLR.kt +72 -72
  83. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ImageUtil.kt +58 -58
  84. package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt +120 -120
  85. package/android/src/main/java/com/dynamsoft/reactnativelib/cvr/CaptureVisionRouterModuleImpl.kt +306 -306
  86. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraEnhancerModuleImpl.kt +247 -247
  87. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraLifeCycleOwner.java +14 -14
  88. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraViewManagerImpl.kt +77 -77
  89. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewManagerImpl.kt +15 -15
  90. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewModuleImpl.kt +110 -110
  91. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNCameraView.kt +20 -20
  92. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNImageEditorView.kt +19 -19
  93. package/android/src/main/java/com/dynamsoft/reactnativelib/license/LicenseModuleImpl.kt +39 -39
  94. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/ImageManagerModuleImpl.kt +120 -120
  95. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/MultiCrossFilterModuleImpl.kt +111 -111
  96. package/app.plugin.js +21 -21
  97. package/dynamsoft-capture-vision-react-native.podspec +24 -24
  98. package/ios/CPP/DSImageData+HostObject.h +18 -18
  99. package/ios/CPP/DSImageData+HostObject.mm +38 -38
  100. package/ios/CPP/ImageDataHostObject.cpp +87 -87
  101. package/ios/CPP/ImageDataHostObject.hpp +35 -35
  102. package/ios/CPP/MutableRawBuffer.cpp +23 -23
  103. package/ios/CPP/MutableRawBuffer.hpp +23 -23
  104. package/ios/CPP/RNDynamsoft+JSI.h +22 -22
  105. package/ios/CPP/RNDynamsoft+JSI.mm +303 -303
  106. package/ios/CPP/RNDynamsoft+Json.h +93 -93
  107. package/ios/CPP/RNDynamsoft+Json.m +733 -733
  108. package/ios/CPP/YeetJSIUtils.h +56 -56
  109. package/ios/CPP/YeetJSIUtils.mm +208 -208
  110. package/ios/RNDynamsoftCameraView.h +31 -31
  111. package/ios/RNDynamsoftCameraView.m +108 -108
  112. package/ios/RNDynamsoftCameraViewManager.h +14 -14
  113. package/ios/RNDynamsoftCameraViewManager.m +195 -195
  114. package/ios/RNDynamsoftCaptureVisionRouter.h +18 -18
  115. package/ios/RNDynamsoftCaptureVisionRouter.mm +532 -532
  116. package/ios/RNDynamsoftImageEditorView.h +17 -17
  117. package/ios/RNDynamsoftImageEditorView.m +25 -25
  118. package/ios/RNDynamsoftImageEditorViewManager.h +14 -14
  119. package/ios/RNDynamsoftImageEditorViewManager.mm +183 -183
  120. package/ios/RNDynamsoftImageManager.h +14 -14
  121. package/ios/RNDynamsoftImageManager.mm +369 -369
  122. package/ios/RNDynamsoftImageSourceAdapter.h +19 -19
  123. package/ios/RNDynamsoftImageSourceAdapter.mm +255 -255
  124. package/ios/RNDynamsoftLicense.h +14 -14
  125. package/ios/RNDynamsoftLicense.m +62 -62
  126. package/ios/RNDynamsoftMultiCrossFilter.h +14 -14
  127. package/ios/RNDynamsoftMultiCrossFilter.m +145 -145
  128. package/ios/RNDynamsoftVersions.h +13 -13
  129. package/ios/RNDynamsoftVersions.m +27 -27
  130. package/package.json +48 -48
  131. package/src/NativeDynamsoftVersionsModule.tsx +20 -20
  132. package/src/VersionsModule.tsx +7 -7
  133. package/src/core/CapturedResultBase.tsx +18 -18
  134. package/src/core/CapturedResultItem.tsx +23 -23
  135. package/src/core/CoreModule.tsx +9 -9
  136. package/src/core/DSRect.tsx +29 -29
  137. package/src/core/EnumCaptureResultItemType.tsx +52 -52
  138. package/src/core/EnumColourChannelUsageType.tsx +26 -26
  139. package/src/core/EnumCrossVerificationStatus.tsx +46 -46
  140. package/src/core/EnumGrayscaleEnhancementMode.tsx +46 -46
  141. package/src/core/EnumGrayscaleTransformationMode.tsx +35 -35
  142. package/src/core/EnumImageFileFormat.tsx +6 -6
  143. package/src/core/EnumPixelFormat.tsx +53 -53
  144. package/src/core/ImageData.tsx +87 -87
  145. package/src/core/ImageSourceAdapter.tsx +160 -160
  146. package/src/core/NativeDynamsoftImageSourceAdapterModule.tsx +29 -29
  147. package/src/core/Point.tsx +13 -13
  148. package/src/core/Quadrilateral.tsx +12 -12
  149. package/src/core/index.tsx +18 -18
  150. package/src/cvr/CaptureVisionRouter.tsx +683 -683
  151. package/src/cvr/CaptureVisionRouterModule.tsx +9 -9
  152. package/src/cvr/CapturedResult.tsx +123 -123
  153. package/src/cvr/CapturedResultFilter.tsx +13 -13
  154. package/src/cvr/CapturedResultReceiver.tsx +71 -71
  155. package/src/cvr/EnumPresetTemplate.tsx +81 -81
  156. package/src/cvr/NativeDynamsoftCaptureVisionRouterModule.tsx +25 -25
  157. package/src/cvr/SimplifiedCaptureVisionSettings.tsx +61 -61
  158. package/src/cvr/index.tsx +11 -11
  159. package/src/dbr/BarcodeDetails.tsx +51 -51
  160. package/src/dbr/BarcodeReaderModule.tsx +9 -9
  161. package/src/dbr/BarcodeResultItem.tsx +65 -65
  162. package/src/dbr/DecodedBarcodesResult.tsx +14 -14
  163. package/src/dbr/ECISegment.tsx +23 -23
  164. package/src/dbr/EnumBarcodeFormat.tsx +112 -112
  165. package/src/dbr/EnumDeblurMode.tsx +29 -29
  166. package/src/dbr/EnumLocalizationMode.tsx +27 -27
  167. package/src/dbr/EnumQRCodeErrorCorrectionLevel.tsx +6 -6
  168. package/src/dbr/SimplifiedBarcodeReaderSettings.tsx +80 -80
  169. package/src/dbr/index.tsx +9 -9
  170. package/src/dce/CameraEnhancer.tsx +254 -254
  171. package/src/dce/CameraEnhancerModule.tsx +9 -9
  172. package/src/dce/CameraView.tsx +100 -100
  173. package/src/dce/DynamsoftCameraViewNativeComponent.ts +96 -96
  174. package/src/dce/DynamsoftImageEditorViewNativeComponent.ts +9 -9
  175. package/src/dce/EnumCameraPosition.tsx +25 -25
  176. package/src/dce/EnumDrawingLayerId.tsx +17 -17
  177. package/src/dce/EnumEnhancedFeatures.tsx +24 -24
  178. package/src/dce/EnumFocusMode.tsx +6 -6
  179. package/src/dce/EnumResolution.tsx +8 -8
  180. package/src/dce/EnumTorchState.tsx +10 -10
  181. package/src/dce/FeedBack.tsx +28 -28
  182. package/src/dce/ImageEditorView.tsx +131 -131
  183. package/src/dce/NativeDynamsoftCameraViewModule.tsx +47 -47
  184. package/src/dce/NativeDynamsoftImageEditorViewModule.ts +9 -9
  185. package/src/dce/index.tsx +13 -13
  186. package/src/dcp/CodeParserDedicatorModule.tsx +9 -9
  187. package/src/dcp/CodeParserModule.tsx +9 -9
  188. package/src/dcp/EnumMappingStatus.tsx +14 -14
  189. package/src/dcp/EnumValidationStatus.tsx +14 -14
  190. package/src/dcp/ParsedResult.tsx +14 -14
  191. package/src/dcp/ParsedResultItem.tsx +50 -50
  192. package/src/dcp/index.tsx +8 -8
  193. package/src/ddn/DeskewedImageResultItem.tsx +40 -40
  194. package/src/ddn/DetectedQuadResultItem.tsx +31 -31
  195. package/src/ddn/DocumentNormalizerModule.tsx +9 -9
  196. package/src/ddn/EnhancedImageResultItem.tsx +20 -20
  197. package/src/ddn/EnumImageColourMode.tsx +14 -14
  198. package/src/ddn/ProcessedDocumentResult.tsx +27 -27
  199. package/src/ddn/SimplifiedDocumentNormalizerSettings.tsx +65 -65
  200. package/src/ddn/index.tsx +11 -11
  201. package/src/dip/ImageProcessingModule.tsx +9 -9
  202. package/src/dip/index.tsx +1 -1
  203. package/src/dlr/CharacterResult.tsx +28 -28
  204. package/src/dlr/LabelRecognizerModule.tsx +9 -9
  205. package/src/dlr/RecognizedTextLinesResult.tsx +19 -19
  206. package/src/dlr/SimplifiedLabelRecognizerSettings.tsx +33 -33
  207. package/src/dlr/TextLineResultItem.tsx +41 -41
  208. package/src/dlr/index.tsx +8 -8
  209. package/src/index.tsx +13 -13
  210. package/src/license/LicenseManager.tsx +49 -49
  211. package/src/license/LicenseModule.tsx +9 -9
  212. package/src/license/NativeDynamsoftLicenseModule.tsx +7 -7
  213. package/src/license/index.tsx +7 -7
  214. package/src/utility/CrossVerificationCriteria.tsx +11 -11
  215. package/src/utility/EnumFilterType.tsx +5 -5
  216. package/src/utility/ImageManager.tsx +348 -348
  217. package/src/utility/MultiFrameResultCrossFilter.tsx +183 -183
  218. package/src/utility/NativeDynamsoftImageManagerModule.tsx +7 -7
  219. package/src/utility/NativeDynamsoftMultiCrossFilterModule.tsx +18 -18
  220. package/src/utility/UtilityModule.tsx +9 -9
  221. package/src/utility/index.tsx +4 -4
  222. 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
+
@@ -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
+ }