package com.dynamsoft.reactnativelib import com.dynamsoft.dce.CameraView import com.dynamsoft.reactnativelib.basicutils.setCameraToggleButtonState import com.dynamsoft.reactnativelib.basicutils.toCameraToggleButtonState import com.dynamsoft.reactnativelib.dce.CameraViewManagerImpl import com.facebook.react.bridge.ReadableArray import com.facebook.react.bridge.ReadableMap import com.facebook.react.uimanager.SimpleViewManager import com.facebook.react.uimanager.ThemedReactContext import com.facebook.react.uimanager.annotations.ReactProp class CameraViewManager : SimpleViewManager() { private val impl = CameraViewManagerImpl() override fun createViewInstance(context: ThemedReactContext): CameraView { return impl.createViewInstance(context) } override fun getName(): String { return impl.getName() } @ReactProp(name = "visibleLayerIds") fun setVisibleLayerIds(view: CameraView?, value: ReadableArray?) { if (value != null) { view?.let { impl.setVisibleLayerIds(it, value) } } } @ReactProp(name = "scanRegionMaskVisible") fun setScanRegionMaskVisible(view: CameraView?, value: Boolean) { view?.let { impl.setScanRegionMaskVisible(it, value) } } @ReactProp(name = "scanLaserVisible") fun setScanLaserVisible(view: CameraView?, value: Boolean) { view?.let { impl.setScanLaserVisible(it, value) } } @ReactProp(name = "torchButton") fun setTorchButton(view: CameraView?, value: ReadableMap?) { if (value != null) { view?.let { impl.setTorchButton(it, value) } } } @ReactProp(name = "torchButtonVisible") fun setTorchButtonVisible(view: CameraView?, value: Boolean) { view?.let { impl.setTorchButtonVisible(it, value) } } @ReactProp(name = "cameraToggleButton") fun setCameraToggleButton(view: CameraView, cameraToggleButton: ReadableMap) { view.setCameraToggleButtonState(cameraToggleButton.toCameraToggleButtonState()) } @ReactProp(name = "cameraToggleButtonVisible") fun setCameraToggleButtonVisible(view: CameraView, isVisible: Boolean) { view.cameraToggleButtonVisible = isVisible } }