dynamsoft-capture-vision-react-native 3.4.1300 → 3.4.3010

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 (198) hide show
  1. package/LICENSE +4 -4
  2. package/README.md +62 -62
  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/dysJniLibsFor86/debug/arm64-v8a/librn_dys.so +0 -0
  32. package/android/src/main/dysJniLibsFor86/debug/armeabi-v7a/librn_dys.so +0 -0
  33. package/android/src/main/dysJniLibsFor86/debug/x86/librn_dys.so +0 -0
  34. package/android/src/main/dysJniLibsFor86/debug/x86_64/librn_dys.so +0 -0
  35. package/android/src/main/dysJniLibsFor86/release/arm64-v8a/librn_dys.so +0 -0
  36. package/android/src/main/dysJniLibsFor86/release/armeabi-v7a/librn_dys.so +0 -0
  37. package/android/src/main/dysJniLibsFor86/release/x86/librn_dys.so +0 -0
  38. package/android/src/main/dysJniLibsFor86/release/x86_64/librn_dys.so +0 -0
  39. package/android/src/main/java/com/dynamsoft/reactnativelib/CVRModule.kt +137 -137
  40. package/android/src/main/java/com/dynamsoft/reactnativelib/CameraViewManager.kt +62 -62
  41. package/android/src/main/java/com/dynamsoft/reactnativelib/DCEModule.kt +125 -125
  42. package/android/src/main/java/com/dynamsoft/reactnativelib/DynamsoftBaseModule.kt +8 -8
  43. package/android/src/main/java/com/dynamsoft/reactnativelib/ISAModule.kt +73 -73
  44. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewManager.kt +14 -14
  45. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewModule.kt +35 -35
  46. package/android/src/main/java/com/dynamsoft/reactnativelib/ImageManagerModule.kt +15 -15
  47. package/android/src/main/java/com/dynamsoft/reactnativelib/LicenseModule.kt +29 -29
  48. package/android/src/main/java/com/dynamsoft/reactnativelib/MultiCrossFilterModule.kt +83 -83
  49. package/android/src/main/java/com/dynamsoft/reactnativelib/ReactNativeDcvPackage.kt +32 -32
  50. package/android/src/main/java/com/dynamsoft/reactnativelib/VersionsModule.kt +41 -41
  51. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/Basic.kt +44 -44
  52. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCore.kt +50 -50
  53. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCvr.kt +129 -129
  54. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDBR.kt +157 -157
  55. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCE.kt +110 -110
  56. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCP.kt +49 -49
  57. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDDN.kt +85 -85
  58. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDLR.kt +72 -72
  59. package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ImageUtil.kt +58 -58
  60. package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt +120 -120
  61. package/android/src/main/java/com/dynamsoft/reactnativelib/cvr/CaptureVisionRouterModuleImpl.kt +306 -306
  62. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraEnhancerModuleImpl.kt +247 -247
  63. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraLifeCycleOwner.java +14 -14
  64. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraViewManagerImpl.kt +77 -77
  65. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewManagerImpl.kt +15 -15
  66. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewModuleImpl.kt +110 -110
  67. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNCameraView.kt +20 -20
  68. package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNImageEditorView.kt +19 -19
  69. package/android/src/main/java/com/dynamsoft/reactnativelib/license/LicenseModuleImpl.kt +39 -39
  70. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/ImageManagerModuleImpl.kt +120 -120
  71. package/android/src/main/java/com/dynamsoft/reactnativelib/utility/MultiCrossFilterModuleImpl.kt +111 -111
  72. package/app.plugin.js +21 -21
  73. package/dynamsoft-capture-vision-react-native.podspec +24 -24
  74. package/ios/CPP/DSImageData+HostObject.h +18 -18
  75. package/ios/CPP/DSImageData+HostObject.mm +38 -38
  76. package/ios/CPP/ImageDataHostObject.cpp +87 -87
  77. package/ios/CPP/ImageDataHostObject.hpp +35 -35
  78. package/ios/CPP/MutableRawBuffer.cpp +23 -23
  79. package/ios/CPP/MutableRawBuffer.hpp +23 -23
  80. package/ios/CPP/RNDynamsoft+JSI.h +22 -22
  81. package/ios/CPP/RNDynamsoft+JSI.mm +303 -303
  82. package/ios/CPP/RNDynamsoft+Json.h +93 -93
  83. package/ios/CPP/RNDynamsoft+Json.m +733 -733
  84. package/ios/CPP/YeetJSIUtils.h +56 -56
  85. package/ios/CPP/YeetJSIUtils.mm +208 -208
  86. package/ios/RNDynamsoftCameraView.h +31 -31
  87. package/ios/RNDynamsoftCameraView.m +108 -108
  88. package/ios/RNDynamsoftCameraViewManager.h +14 -14
  89. package/ios/RNDynamsoftCameraViewManager.m +195 -195
  90. package/ios/RNDynamsoftCaptureVisionRouter.h +18 -18
  91. package/ios/RNDynamsoftCaptureVisionRouter.mm +532 -532
  92. package/ios/RNDynamsoftImageEditorView.h +17 -17
  93. package/ios/RNDynamsoftImageEditorView.m +25 -25
  94. package/ios/RNDynamsoftImageEditorViewManager.h +14 -14
  95. package/ios/RNDynamsoftImageEditorViewManager.mm +183 -183
  96. package/ios/RNDynamsoftImageManager.h +14 -14
  97. package/ios/RNDynamsoftImageManager.mm +369 -369
  98. package/ios/RNDynamsoftImageSourceAdapter.h +19 -19
  99. package/ios/RNDynamsoftImageSourceAdapter.mm +255 -255
  100. package/ios/RNDynamsoftLicense.h +14 -14
  101. package/ios/RNDynamsoftLicense.m +62 -62
  102. package/ios/RNDynamsoftMultiCrossFilter.h +14 -14
  103. package/ios/RNDynamsoftMultiCrossFilter.m +145 -145
  104. package/ios/RNDynamsoftVersions.h +13 -13
  105. package/ios/RNDynamsoftVersions.m +27 -27
  106. package/package.json +48 -48
  107. package/src/NativeDynamsoftVersionsModule.tsx +20 -20
  108. package/src/VersionsModule.tsx +7 -7
  109. package/src/core/CapturedResultBase.tsx +18 -18
  110. package/src/core/CapturedResultItem.tsx +23 -23
  111. package/src/core/CoreModule.tsx +9 -9
  112. package/src/core/DSRect.tsx +29 -29
  113. package/src/core/EnumCaptureResultItemType.tsx +52 -52
  114. package/src/core/EnumColourChannelUsageType.tsx +26 -26
  115. package/src/core/EnumCrossVerificationStatus.tsx +46 -46
  116. package/src/core/EnumGrayscaleEnhancementMode.tsx +46 -46
  117. package/src/core/EnumGrayscaleTransformationMode.tsx +35 -35
  118. package/src/core/EnumImageFileFormat.tsx +6 -6
  119. package/src/core/EnumPixelFormat.tsx +53 -53
  120. package/src/core/ImageData.tsx +87 -87
  121. package/src/core/ImageSourceAdapter.tsx +160 -160
  122. package/src/core/NativeDynamsoftImageSourceAdapterModule.tsx +29 -29
  123. package/src/core/Point.tsx +13 -13
  124. package/src/core/Quadrilateral.tsx +12 -12
  125. package/src/core/index.tsx +18 -18
  126. package/src/cvr/CaptureVisionRouter.tsx +683 -683
  127. package/src/cvr/CaptureVisionRouterModule.tsx +9 -9
  128. package/src/cvr/CapturedResult.tsx +123 -123
  129. package/src/cvr/CapturedResultFilter.tsx +13 -13
  130. package/src/cvr/CapturedResultReceiver.tsx +71 -71
  131. package/src/cvr/EnumPresetTemplate.tsx +81 -81
  132. package/src/cvr/NativeDynamsoftCaptureVisionRouterModule.tsx +25 -25
  133. package/src/cvr/SimplifiedCaptureVisionSettings.tsx +61 -61
  134. package/src/cvr/index.tsx +11 -11
  135. package/src/dbr/BarcodeDetails.tsx +51 -51
  136. package/src/dbr/BarcodeReaderModule.tsx +9 -9
  137. package/src/dbr/BarcodeResultItem.tsx +65 -65
  138. package/src/dbr/DecodedBarcodesResult.tsx +14 -14
  139. package/src/dbr/ECISegment.tsx +23 -23
  140. package/src/dbr/EnumBarcodeFormat.tsx +112 -112
  141. package/src/dbr/EnumDeblurMode.tsx +29 -29
  142. package/src/dbr/EnumLocalizationMode.tsx +27 -27
  143. package/src/dbr/EnumQRCodeErrorCorrectionLevel.tsx +6 -6
  144. package/src/dbr/SimplifiedBarcodeReaderSettings.tsx +80 -80
  145. package/src/dbr/index.tsx +9 -9
  146. package/src/dce/CameraEnhancer.tsx +254 -254
  147. package/src/dce/CameraEnhancerModule.tsx +9 -9
  148. package/src/dce/CameraView.tsx +100 -100
  149. package/src/dce/DynamsoftCameraViewNativeComponent.ts +96 -96
  150. package/src/dce/DynamsoftImageEditorViewNativeComponent.ts +9 -9
  151. package/src/dce/EnumCameraPosition.tsx +25 -25
  152. package/src/dce/EnumDrawingLayerId.tsx +17 -17
  153. package/src/dce/EnumEnhancedFeatures.tsx +24 -24
  154. package/src/dce/EnumFocusMode.tsx +6 -6
  155. package/src/dce/EnumResolution.tsx +8 -8
  156. package/src/dce/EnumTorchState.tsx +10 -10
  157. package/src/dce/FeedBack.tsx +28 -28
  158. package/src/dce/ImageEditorView.tsx +131 -131
  159. package/src/dce/NativeDynamsoftCameraViewModule.tsx +47 -47
  160. package/src/dce/NativeDynamsoftImageEditorViewModule.ts +9 -9
  161. package/src/dce/index.tsx +13 -13
  162. package/src/dcp/CodeParserDedicatorModule.tsx +9 -9
  163. package/src/dcp/CodeParserModule.tsx +9 -9
  164. package/src/dcp/EnumMappingStatus.tsx +14 -14
  165. package/src/dcp/EnumValidationStatus.tsx +14 -14
  166. package/src/dcp/ParsedResult.tsx +14 -14
  167. package/src/dcp/ParsedResultItem.tsx +50 -50
  168. package/src/dcp/index.tsx +8 -8
  169. package/src/ddn/DeskewedImageResultItem.tsx +40 -40
  170. package/src/ddn/DetectedQuadResultItem.tsx +31 -31
  171. package/src/ddn/DocumentNormalizerModule.tsx +9 -9
  172. package/src/ddn/EnhancedImageResultItem.tsx +20 -20
  173. package/src/ddn/EnumImageColourMode.tsx +14 -14
  174. package/src/ddn/ProcessedDocumentResult.tsx +27 -27
  175. package/src/ddn/SimplifiedDocumentNormalizerSettings.tsx +65 -65
  176. package/src/ddn/index.tsx +11 -11
  177. package/src/dip/ImageProcessingModule.tsx +9 -9
  178. package/src/dip/index.tsx +1 -1
  179. package/src/dlr/CharacterResult.tsx +28 -28
  180. package/src/dlr/LabelRecognizerModule.tsx +9 -9
  181. package/src/dlr/RecognizedTextLinesResult.tsx +19 -19
  182. package/src/dlr/SimplifiedLabelRecognizerSettings.tsx +33 -33
  183. package/src/dlr/TextLineResultItem.tsx +41 -41
  184. package/src/dlr/index.tsx +8 -8
  185. package/src/index.tsx +13 -13
  186. package/src/license/LicenseManager.tsx +49 -49
  187. package/src/license/LicenseModule.tsx +9 -9
  188. package/src/license/NativeDynamsoftLicenseModule.tsx +7 -7
  189. package/src/license/index.tsx +7 -7
  190. package/src/utility/CrossVerificationCriteria.tsx +11 -11
  191. package/src/utility/EnumFilterType.tsx +5 -5
  192. package/src/utility/ImageManager.tsx +348 -348
  193. package/src/utility/MultiFrameResultCrossFilter.tsx +183 -183
  194. package/src/utility/NativeDynamsoftImageManagerModule.tsx +7 -7
  195. package/src/utility/NativeDynamsoftMultiCrossFilterModule.tsx +18 -18
  196. package/src/utility/UtilityModule.tsx +9 -9
  197. package/src/utility/index.tsx +4 -4
  198. package/android/.gitignore +0 -4
@@ -1,26 +1,26 @@
1
- //
2
- // Created by Allen on 24/08/28.
3
- //
4
-
5
- #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
6
- #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
7
-
8
- #include "jni.h"
9
- #include "jsi/jsi.h"
10
- #include "JsiCore.h"
11
-
12
- #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
13
- jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
14
- jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
15
- const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
16
- jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
17
- if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
18
-
19
- using namespace std;
20
- using namespace facebook::jsi;
21
-
22
- namespace jsiConversion::dbr {
23
- void jBarcodeResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
24
- }
25
-
26
- #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
1
+ //
2
+ // Created by Allen on 24/08/28.
3
+ //
4
+
5
+ #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
6
+ #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
7
+
8
+ #include "jni.h"
9
+ #include "jsi/jsi.h"
10
+ #include "JsiCore.h"
11
+
12
+ #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
13
+ jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
14
+ jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
15
+ const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
16
+ jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
17
+ if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
18
+
19
+ using namespace std;
20
+ using namespace facebook::jsi;
21
+
22
+ namespace jsiConversion::dbr {
23
+ void jBarcodeResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
24
+ }
25
+
26
+ #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DBR_JSIDBR_H_
@@ -1,59 +1,59 @@
1
- //
2
- // Created by Allen on 24/08/29.
3
- //
4
-
5
- #include "JsiDce.h"
6
- #define JSI_FUNC [](Runtime &runtime, const Value &thisValue, const Value *arguments, size_t count) -> Value
7
-
8
- jobject jImageEditorViewModule = nullptr;
9
-
10
-
11
- void install_editorView_methods(Runtime &jsiRuntime) {
12
- jsi_install::dce::install_editorView_setOriginalImage(jsiRuntime);
13
- }
14
-
15
- extern "C"
16
- JNIEXPORT void JNICALL
17
- Java_com_dynamsoft_reactnativelib_dce_ImageEditorViewModuleImpl_nativeInstall(JNIEnv *env, jobject thiz, jlong jsiPtr) {
18
- if (!env->IsSameObject(jImageEditorViewModule, thiz)) {
19
- jImageEditorViewModule = env->NewWeakGlobalRef(thiz);
20
- }
21
- auto rt = reinterpret_cast<Runtime *>(jsiPtr);
22
- install_editorView_methods(*rt);
23
- }
24
-
25
-
26
- namespace jsi_install::dce {
27
- void install_editorView_setOriginalImage(Runtime &jsiRuntime) {
28
- auto nameID = PropNameID::forAscii(jsiRuntime, "editorView_setOriginalImage");
29
- if(!jsiRuntime.global().hasProperty(jsiRuntime, nameID)) {
30
- auto setOriginalImageFcn = Function::createFromHostFunction(jsiRuntime, nameID, 2, JSI_FUNC {
31
- auto imageDataObj = arguments[1].asObject(runtime);
32
- auto imageDataHostObject = ImageDataHostObject::getHOFromObject(runtime, std::move(imageDataObj));
33
- setOriginalImageDataHOToEditorView(runtime, imageDataHostObject, (int) arguments[0].asNumber());
34
- return {};
35
- });
36
- jsiRuntime.global().setProperty(jsiRuntime, nameID, std::move(setOriginalImageFcn));
37
- }
38
- }
39
- }//namespace jsi_install::dce
40
-
41
- void setOriginalImageDataHOToEditorView(Runtime &rt, ImageDataHostObject &imageDataHO, int viewTag) {
42
- JNIEnv *env;
43
- bool needDetach = false;
44
- int state = gJvm->GetEnv((void **) &env, JNI_VERSION_1_6);
45
- if (state == JNI_EDETACHED || env == nullptr) {
46
- gJvm->AttachCurrentThread(&env, nullptr);
47
- needDetach = true;
48
- }
49
- auto clzImageEditorViewModule = env->GetObjectClass(jImageEditorViewModule);
50
- auto setOriginalImageCalledInJSI =
51
- env->GetMethodID(clzImageEditorViewModule, "setOriginalImageCalledInJSI", "(Lcom/dynamsoft/core/basic_structures/ImageData;I)V");
52
- auto jImageData = jsiConversion::core::getJImageDataFromHO(env, imageDataHO);
53
- env->CallVoidMethod(jImageEditorViewModule, setOriginalImageCalledInJSI, jImageData, viewTag);
54
- env->DeleteLocalRef(clzImageEditorViewModule);
55
- env->DeleteLocalRef(jImageData);
56
- if (needDetach) {
57
- gJvm->DetachCurrentThread();
58
- }
59
- }
1
+ //
2
+ // Created by Allen on 24/08/29.
3
+ //
4
+
5
+ #include "JsiDce.h"
6
+ #define JSI_FUNC [](Runtime &runtime, const Value &thisValue, const Value *arguments, size_t count) -> Value
7
+
8
+ jobject jImageEditorViewModule = nullptr;
9
+
10
+
11
+ void install_editorView_methods(Runtime &jsiRuntime) {
12
+ jsi_install::dce::install_editorView_setOriginalImage(jsiRuntime);
13
+ }
14
+
15
+ extern "C"
16
+ JNIEXPORT void JNICALL
17
+ Java_com_dynamsoft_reactnativelib_dce_ImageEditorViewModuleImpl_nativeInstall(JNIEnv *env, jobject thiz, jlong jsiPtr) {
18
+ if (!env->IsSameObject(jImageEditorViewModule, thiz)) {
19
+ jImageEditorViewModule = env->NewWeakGlobalRef(thiz);
20
+ }
21
+ auto rt = reinterpret_cast<Runtime *>(jsiPtr);
22
+ install_editorView_methods(*rt);
23
+ }
24
+
25
+
26
+ namespace jsi_install::dce {
27
+ void install_editorView_setOriginalImage(Runtime &jsiRuntime) {
28
+ auto nameID = PropNameID::forAscii(jsiRuntime, "editorView_setOriginalImage");
29
+ if(!jsiRuntime.global().hasProperty(jsiRuntime, nameID)) {
30
+ auto setOriginalImageFcn = Function::createFromHostFunction(jsiRuntime, nameID, 2, JSI_FUNC {
31
+ auto imageDataObj = arguments[1].asObject(runtime);
32
+ auto imageDataHostObject = ImageDataHostObject::getHOFromObject(runtime, std::move(imageDataObj));
33
+ setOriginalImageDataHOToEditorView(runtime, imageDataHostObject, (int) arguments[0].asNumber());
34
+ return {};
35
+ });
36
+ jsiRuntime.global().setProperty(jsiRuntime, nameID, std::move(setOriginalImageFcn));
37
+ }
38
+ }
39
+ }//namespace jsi_install::dce
40
+
41
+ void setOriginalImageDataHOToEditorView(Runtime &rt, ImageDataHostObject &imageDataHO, int viewTag) {
42
+ JNIEnv *env;
43
+ bool needDetach = false;
44
+ int state = gJvm->GetEnv((void **) &env, JNI_VERSION_1_6);
45
+ if (state == JNI_EDETACHED || env == nullptr) {
46
+ gJvm->AttachCurrentThread(&env, nullptr);
47
+ needDetach = true;
48
+ }
49
+ auto clzImageEditorViewModule = env->GetObjectClass(jImageEditorViewModule);
50
+ auto setOriginalImageCalledInJSI =
51
+ env->GetMethodID(clzImageEditorViewModule, "setOriginalImageCalledInJSI", "(Lcom/dynamsoft/core/basic_structures/ImageData;I)V");
52
+ auto jImageData = jsiConversion::core::getJImageDataFromHO(env, imageDataHO);
53
+ env->CallVoidMethod(jImageEditorViewModule, setOriginalImageCalledInJSI, jImageData, viewTag);
54
+ env->DeleteLocalRef(clzImageEditorViewModule);
55
+ env->DeleteLocalRef(jImageData);
56
+ if (needDetach) {
57
+ gJvm->DetachCurrentThread();
58
+ }
59
+ }
@@ -1,17 +1,17 @@
1
- //
2
- // Created by Allen on 24/08/29.
3
- //
4
-
5
- #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
6
- #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
7
- #include "JsiCore.h"
8
-
9
-
10
-
11
- namespace jsi_install::dce {
12
- void install_editorView_setOriginalImage(Runtime &jsiRuntime);
13
- }//namespace jsi_install::dce
14
-
15
- void setOriginalImageDataHOToEditorView(Runtime &rt, ImageDataHostObject &imageDataHO, int viewTag);
16
-
17
- #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
1
+ //
2
+ // Created by Allen on 24/08/29.
3
+ //
4
+
5
+ #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
6
+ #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
7
+ #include "JsiCore.h"
8
+
9
+
10
+
11
+ namespace jsi_install::dce {
12
+ void install_editorView_setOriginalImage(Runtime &jsiRuntime);
13
+ }//namespace jsi_install::dce
14
+
15
+ void setOriginalImageDataHOToEditorView(Runtime &rt, ImageDataHostObject &imageDataHO, int viewTag);
16
+
17
+ #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCE_JSIDCE_H_
@@ -1,51 +1,51 @@
1
- //
2
- // Created by Allen on 24/08/28.
3
- //
4
-
5
- #include "JsiDcp.h"
6
-
7
- namespace jsiConversion::dcp {
8
- void jParsedResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
9
- jclass clsItem = env->FindClass("com/dynamsoft/dcp/ParsedResultItem");
10
-
11
- SET_STRING_PROPERTY_BY_METHOD(clsItem, jItem, jsItem, codeType, getCodeType)
12
- SET_STRING_PROPERTY_BY_METHOD(clsItem, jItem, jsItem, jsonString, getJsonString)
13
-
14
- auto getParsedFields = env->GetMethodID(clsItem, "getParsedFields", "()Ljava/util/HashMap;");
15
- jobject j_parsedFields = env->CallObjectMethod(jItem, getParsedFields);
16
-
17
- jclass clsHashMap = env->FindClass("java/util/HashMap");
18
- jmethodID keySet = env->GetMethodID(clsHashMap, "keySet", "()Ljava/util/Set;");
19
-
20
- jclass clsSet = env->FindClass("java/util/Set");
21
- jmethodID toArray = env->GetMethodID(clsSet, "toArray", "()[Ljava/lang/Object;");
22
-
23
- if (!j_parsedFields) {
24
- return;
25
- }
26
- auto j_keySet = env->CallObjectMethod(j_parsedFields, keySet);
27
- auto j_keyArray = (jobjectArray) env->CallObjectMethod(j_keySet, toArray);
28
- int count = env->GetArrayLength(j_keyArray);
29
- auto getFieldValue = env->GetMethodID(clsItem, "getFieldValue", "(Ljava/lang/String;)Ljava/lang/String;");
30
- auto getFieldMappingStatus = env->GetMethodID(clsItem, "getFieldMappingStatus", "(Ljava/lang/String;)I");
31
- auto getFieldValidationStatus = env->GetMethodID(clsItem, "getFieldValidationStatus", "(Ljava/lang/String;)I");
32
-
33
- Object js_parsedFields(rt);
34
- for (int i = 0; i < count; ++i) {
35
- Object js_itemFiled(rt);
36
- auto j_key = (jstring) env->GetObjectArrayElement(j_keyArray, i);
37
- auto p_key = j_key?env->GetStringUTFChars(j_key, nullptr):"";
38
- if(std::string(p_key).empty()) {
39
- continue;
40
- }
41
- SET_STRING_PROPERTY_BY_METHOD2(jItem, js_itemFiled, value, getFieldValue, j_key)
42
- js_itemFiled.setProperty(rt, "mappingStatus", env->CallIntMethod(jItem, getFieldMappingStatus, j_key));
43
- js_itemFiled.setProperty(rt, "validationStatus", env->CallIntMethod(jItem, getFieldValidationStatus, j_key));
44
- js_parsedFields.setProperty(rt, p_key, js_itemFiled);
45
- if(j_key) {
46
- env->ReleaseStringUTFChars(j_key, p_key);
47
- }
48
- }
49
- jsItem.setProperty(rt, "parsedFields", js_parsedFields);
50
- }
51
- }//namespace jsiConversion::dcp
1
+ //
2
+ // Created by Allen on 24/08/28.
3
+ //
4
+
5
+ #include "JsiDcp.h"
6
+
7
+ namespace jsiConversion::dcp {
8
+ void jParsedResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
9
+ jclass clsItem = env->FindClass("com/dynamsoft/dcp/ParsedResultItem");
10
+
11
+ SET_STRING_PROPERTY_BY_METHOD(clsItem, jItem, jsItem, codeType, getCodeType)
12
+ SET_STRING_PROPERTY_BY_METHOD(clsItem, jItem, jsItem, jsonString, getJsonString)
13
+
14
+ auto getParsedFields = env->GetMethodID(clsItem, "getParsedFields", "()Ljava/util/HashMap;");
15
+ jobject j_parsedFields = env->CallObjectMethod(jItem, getParsedFields);
16
+
17
+ jclass clsHashMap = env->FindClass("java/util/HashMap");
18
+ jmethodID keySet = env->GetMethodID(clsHashMap, "keySet", "()Ljava/util/Set;");
19
+
20
+ jclass clsSet = env->FindClass("java/util/Set");
21
+ jmethodID toArray = env->GetMethodID(clsSet, "toArray", "()[Ljava/lang/Object;");
22
+
23
+ if (!j_parsedFields) {
24
+ return;
25
+ }
26
+ auto j_keySet = env->CallObjectMethod(j_parsedFields, keySet);
27
+ auto j_keyArray = (jobjectArray) env->CallObjectMethod(j_keySet, toArray);
28
+ int count = env->GetArrayLength(j_keyArray);
29
+ auto getFieldValue = env->GetMethodID(clsItem, "getFieldValue", "(Ljava/lang/String;)Ljava/lang/String;");
30
+ auto getFieldMappingStatus = env->GetMethodID(clsItem, "getFieldMappingStatus", "(Ljava/lang/String;)I");
31
+ auto getFieldValidationStatus = env->GetMethodID(clsItem, "getFieldValidationStatus", "(Ljava/lang/String;)I");
32
+
33
+ Object js_parsedFields(rt);
34
+ for (int i = 0; i < count; ++i) {
35
+ Object js_itemFiled(rt);
36
+ auto j_key = (jstring) env->GetObjectArrayElement(j_keyArray, i);
37
+ auto p_key = j_key?env->GetStringUTFChars(j_key, nullptr):"";
38
+ if(std::string(p_key).empty()) {
39
+ continue;
40
+ }
41
+ SET_STRING_PROPERTY_BY_METHOD2(jItem, js_itemFiled, value, getFieldValue, j_key)
42
+ js_itemFiled.setProperty(rt, "mappingStatus", env->CallIntMethod(jItem, getFieldMappingStatus, j_key));
43
+ js_itemFiled.setProperty(rt, "validationStatus", env->CallIntMethod(jItem, getFieldValidationStatus, j_key));
44
+ js_parsedFields.setProperty(rt, p_key, js_itemFiled);
45
+ if(j_key) {
46
+ env->ReleaseStringUTFChars(j_key, p_key);
47
+ }
48
+ }
49
+ jsItem.setProperty(rt, "parsedFields", js_parsedFields);
50
+ }
51
+ }//namespace jsiConversion::dcp
@@ -1,31 +1,31 @@
1
- //
2
- // Created by Allen on 24/08/28.
3
- //
4
-
5
- #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
6
- #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
7
-
8
- #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
9
- jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
10
- jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
11
- const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
12
- jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
13
- if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
14
-
15
-
16
- #define SET_STRING_PROPERTY_BY_METHOD2(jObj, jsObj, propertyName, methodName, ...) \
17
- jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName, __VA_ARGS__); \
18
- const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
19
- jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
20
- if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
21
-
22
-
23
- #include "jni.h"
24
- #include "jsi/jsi.h"
25
- #include "JsiCore.h"
26
-
27
- namespace jsiConversion::dcp{
28
- void jParsedResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
29
- }
30
-
31
- #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
1
+ //
2
+ // Created by Allen on 24/08/28.
3
+ //
4
+
5
+ #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
6
+ #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
7
+
8
+ #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
9
+ jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
10
+ jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
11
+ const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
12
+ jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
13
+ if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
14
+
15
+
16
+ #define SET_STRING_PROPERTY_BY_METHOD2(jObj, jsObj, propertyName, methodName, ...) \
17
+ jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName, __VA_ARGS__); \
18
+ const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
19
+ jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
20
+ if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
21
+
22
+
23
+ #include "jni.h"
24
+ #include "jsi/jsi.h"
25
+ #include "JsiCore.h"
26
+
27
+ namespace jsiConversion::dcp{
28
+ void jParsedResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
29
+ }
30
+
31
+ #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DCP_JSIDCP_H_
@@ -1,50 +1,50 @@
1
- //
2
- // Created by Allen on 24/08/28.
3
- //
4
-
5
- #include "JsiDdn.h"
6
-
7
- namespace jsiConversion::ddn {
8
- void jDetectedQuadResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
9
- env->PushLocalFrame(4);
10
- jclass clsItem = env->FindClass("com/dynamsoft/ddn/DetectedQuadResultItem");
11
- jmethodID me_getLocation =env->GetMethodID(clsItem, "getLocation", "()Lcom/dynamsoft/core/basic_structures/Quadrilateral;");
12
- jmethodID me_getConfidenceAsDocumentBoundary =env->GetMethodID(clsItem, "getConfidenceAsDocumentBoundary", "()I");
13
- jmethodID me_getCrossVerificationStatus = env->GetMethodID(clsItem, "getCrossVerificationStatus", "()I");
14
- Object jsQuad(rt);
15
- jsiConversion::core::jQuadToJsObject(rt, env, env->CallObjectMethod(jItem, me_getLocation), jsQuad);
16
- jsItem.setProperty(rt, "location", jsQuad);
17
- jsItem.setProperty(rt, "ConfidenceAsDocumentBoundary", env->CallIntMethod(jItem, me_getConfidenceAsDocumentBoundary));
18
- jsItem.setProperty(rt, "crossVerificationStatus", env->CallIntMethod(jItem, me_getCrossVerificationStatus));
19
- env->PopLocalFrame(nullptr);
20
- }
21
- void jDeskewedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
22
- env->PushLocalFrame(4);
23
- jclass clsItem = env->FindClass("com/dynamsoft/ddn/DeskewedImageResultItem");
24
- jmethodID me_getSourceDeskewQuad = env->GetMethodID(clsItem, "getSourceDeskewQuad", "()Lcom/dynamsoft/core/basic_structures/Quadrilateral;");
25
- jmethodID me_getImageData = env->GetMethodID(clsItem, "getImageData", "()Lcom/dynamsoft/core/basic_structures/ImageData;");
26
- jmethodID me_getCrossVerificationStatus = env->GetMethodID(clsItem, "getCrossVerificationStatus", "()I");
27
- Object jsQuad(rt);
28
- jsiConversion::core::jQuadToJsObject(rt, env, env->CallObjectMethod(jItem, me_getSourceDeskewQuad), jsQuad);
29
- jsItem.setProperty(rt, "sourceDeskewQuad", jsQuad);
30
- jobject jImageData = env->CallObjectMethod(jItem, me_getImageData);
31
- ImageDataHostObject imgHostObject;
32
- jsiConversion::core::getHOFromJImageData(env, jImageData, imgHostObject);
33
- auto jsImageData = Object::createFromHostObject(rt, std::make_shared<ImageDataHostObject>(imgHostObject));
34
- jsItem.setProperty(rt, "imageData", std::move(jsImageData));
35
- jsItem.setProperty(rt, "crossVerificationStatus", env->CallIntMethod(jItem, me_getCrossVerificationStatus));
36
- env->PopLocalFrame(nullptr);
37
- }
38
-
39
- void jEnhancedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
40
- env->PushLocalFrame(4);
41
- jclass clsItem = env->FindClass("com/dynamsoft/ddn/EnhancedImageResultItem");
42
- jmethodID me_getImageData = env->GetMethodID(clsItem, "getImageData", "()Lcom/dynamsoft/core/basic_structures/ImageData;");
43
- jobject jImageData = env->CallObjectMethod(jItem, me_getImageData);
44
- ImageDataHostObject imgHostObject;
45
- jsiConversion::core::getHOFromJImageData(env, jImageData, imgHostObject);
46
- auto jsImageData = Object::createFromHostObject(rt, std::make_shared<ImageDataHostObject>(imgHostObject));
47
- jsItem.setProperty(rt, "imageData", std::move(jsImageData));
48
- env->PopLocalFrame(nullptr);
49
- }
50
- }//namespace jsiConversion::ddn
1
+ //
2
+ // Created by Allen on 24/08/28.
3
+ //
4
+
5
+ #include "JsiDdn.h"
6
+
7
+ namespace jsiConversion::ddn {
8
+ void jDetectedQuadResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
9
+ env->PushLocalFrame(4);
10
+ jclass clsItem = env->FindClass("com/dynamsoft/ddn/DetectedQuadResultItem");
11
+ jmethodID me_getLocation =env->GetMethodID(clsItem, "getLocation", "()Lcom/dynamsoft/core/basic_structures/Quadrilateral;");
12
+ jmethodID me_getConfidenceAsDocumentBoundary =env->GetMethodID(clsItem, "getConfidenceAsDocumentBoundary", "()I");
13
+ jmethodID me_getCrossVerificationStatus = env->GetMethodID(clsItem, "getCrossVerificationStatus", "()I");
14
+ Object jsQuad(rt);
15
+ jsiConversion::core::jQuadToJsObject(rt, env, env->CallObjectMethod(jItem, me_getLocation), jsQuad);
16
+ jsItem.setProperty(rt, "location", jsQuad);
17
+ jsItem.setProperty(rt, "ConfidenceAsDocumentBoundary", env->CallIntMethod(jItem, me_getConfidenceAsDocumentBoundary));
18
+ jsItem.setProperty(rt, "crossVerificationStatus", env->CallIntMethod(jItem, me_getCrossVerificationStatus));
19
+ env->PopLocalFrame(nullptr);
20
+ }
21
+ void jDeskewedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
22
+ env->PushLocalFrame(4);
23
+ jclass clsItem = env->FindClass("com/dynamsoft/ddn/DeskewedImageResultItem");
24
+ jmethodID me_getSourceDeskewQuad = env->GetMethodID(clsItem, "getSourceDeskewQuad", "()Lcom/dynamsoft/core/basic_structures/Quadrilateral;");
25
+ jmethodID me_getImageData = env->GetMethodID(clsItem, "getImageData", "()Lcom/dynamsoft/core/basic_structures/ImageData;");
26
+ jmethodID me_getCrossVerificationStatus = env->GetMethodID(clsItem, "getCrossVerificationStatus", "()I");
27
+ Object jsQuad(rt);
28
+ jsiConversion::core::jQuadToJsObject(rt, env, env->CallObjectMethod(jItem, me_getSourceDeskewQuad), jsQuad);
29
+ jsItem.setProperty(rt, "sourceDeskewQuad", jsQuad);
30
+ jobject jImageData = env->CallObjectMethod(jItem, me_getImageData);
31
+ ImageDataHostObject imgHostObject;
32
+ jsiConversion::core::getHOFromJImageData(env, jImageData, imgHostObject);
33
+ auto jsImageData = Object::createFromHostObject(rt, std::make_shared<ImageDataHostObject>(imgHostObject));
34
+ jsItem.setProperty(rt, "imageData", std::move(jsImageData));
35
+ jsItem.setProperty(rt, "crossVerificationStatus", env->CallIntMethod(jItem, me_getCrossVerificationStatus));
36
+ env->PopLocalFrame(nullptr);
37
+ }
38
+
39
+ void jEnhancedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem) {
40
+ env->PushLocalFrame(4);
41
+ jclass clsItem = env->FindClass("com/dynamsoft/ddn/EnhancedImageResultItem");
42
+ jmethodID me_getImageData = env->GetMethodID(clsItem, "getImageData", "()Lcom/dynamsoft/core/basic_structures/ImageData;");
43
+ jobject jImageData = env->CallObjectMethod(jItem, me_getImageData);
44
+ ImageDataHostObject imgHostObject;
45
+ jsiConversion::core::getHOFromJImageData(env, jImageData, imgHostObject);
46
+ auto jsImageData = Object::createFromHostObject(rt, std::make_shared<ImageDataHostObject>(imgHostObject));
47
+ jsItem.setProperty(rt, "imageData", std::move(jsImageData));
48
+ env->PopLocalFrame(nullptr);
49
+ }
50
+ }//namespace jsiConversion::ddn
@@ -1,28 +1,28 @@
1
- //
2
- // Created by Allen on 24/08/28.
3
- //
4
-
5
- #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_
6
- #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_
7
-
8
- #include "jni.h"
9
- #include "jsi/jsi.h"
10
- #include "JsiCore.h"
11
-
12
- #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
13
- jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
14
- jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
15
- const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
16
- jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
17
- if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
18
-
19
- using namespace std;
20
- using namespace facebook::jsi;
21
-
22
- namespace jsiConversion::ddn {
23
- void jDetectedQuadResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
24
- void jDeskewedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
25
- void jEnhancedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
26
- }
27
-
28
- #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_
1
+ //
2
+ // Created by Allen on 24/08/28.
3
+ //
4
+
5
+ #ifndef REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_
6
+ #define REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_
7
+
8
+ #include "jni.h"
9
+ #include "jsi/jsi.h"
10
+ #include "JsiCore.h"
11
+
12
+ #define SET_STRING_PROPERTY_BY_METHOD(jClass, jObj, jsObj, propertyName, methodName) \
13
+ jmethodID methodName =env->GetMethodID(jClass, #methodName, "()Ljava/lang/String;"); \
14
+ jstring j##propertyName = (jstring) env->CallObjectMethod(jObj, methodName); \
15
+ const char* p##propertyName = j##propertyName?env->GetStringUTFChars(j##propertyName, nullptr):""; \
16
+ jsObj.setProperty(rt, #propertyName, std::move(p##propertyName)); \
17
+ if(j##propertyName) env->ReleaseStringUTFChars(j##propertyName, p##propertyName); \
18
+
19
+ using namespace std;
20
+ using namespace facebook::jsi;
21
+
22
+ namespace jsiConversion::ddn {
23
+ void jDetectedQuadResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
24
+ void jDeskewedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
25
+ void jEnhancedImageResultItemToJsObject(Runtime &rt, JNIEnv *env, jobject jItem, Object &jsItem);
26
+ }
27
+
28
+ #endif //REACT_NATIVE_DCV_ANDROID_SRC_MAIN_CPP_DDN_JSIDDN_H_