@scandit/web-datacapture-core 8.4.0-beta.1 → 8.5.0-beta.1
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/THIRD_PARTY.txt +2 -28
- package/build/electron/constants-D5Av3xIA.js +1 -0
- package/build/electron/constants-Tq_qHFkh.cjs +1 -0
- package/build/electron/main.cjs +1 -1
- package/build/electron/main.d.cts +12 -21
- package/build/electron/main.d.ts +12 -21
- package/build/electron/main.js +1 -1
- package/build/electron/preload.cjs +1 -1
- package/build/electron/preload.d.cts +4 -4
- package/build/electron/preload.d.ts +4 -4
- package/build/electron/preload.js +1 -1
- package/build/js/AdditionalLayerPosition-D_ouQ8wn.d.ts +7 -0
- package/build/js/AimerViewfinder-bCf_UrQu.d.ts +15 -0
- package/build/js/AimerViewfinder.d.ts +2 -22
- package/build/js/AimerViewfinder.js +1 -1
- package/build/js/Anchor-DxO9CbHk.d.ts +14 -0
- package/build/js/AnchorPositions-4M8lB28_.d.ts +42 -0
- package/build/js/AsyncStateMachine-gK_htWdT.d.ts +49 -0
- package/build/js/AudioCache-D893YEVZ.d.ts +37 -0
- package/build/js/BatteryInterface-BYl36ktu.d.ts +81 -0
- package/build/js/Brush-D6WUoW36.d.ts +32 -0
- package/build/js/Brush.d.ts +2 -32
- package/build/js/Brush.js +1 -1
- package/build/js/Camera-C7TNwqRo.d.ts +413 -0
- package/build/js/Camera.d.ts +2 -7
- package/build/js/Camera.js +1 -1
- package/build/js/CameraManager-DskA2C7T.js +35 -0
- package/build/js/CameraRelated.d.ts +2 -7
- package/build/js/CameraRelated.js +1 -1
- package/build/js/CavansDrawerAbstract-E_URl3X1.d.ts +37 -0
- package/build/js/Color-qNIvVO9c.d.ts +28 -0
- package/build/js/ColorType-Dj3_-sLJ.d.ts +7 -0
- package/build/js/CustomLocationsView-BmILmaYk.d.ts +59 -0
- package/build/js/DataCaptureContext-CYDrBO6_.d.ts +2017 -0
- package/build/js/DataCaptureContext-CbQes_57.js +6 -0
- package/build/js/DataCaptureContext.d.ts +2 -39
- package/build/js/DataCaptureContext.js +1 -1
- package/build/js/DataCaptureContextRelated.d.ts +2 -39
- package/build/js/DataCaptureContextRelated.js +1 -1
- package/build/js/DataCaptureContextSettings-jR9ArFal.d.ts +13 -0
- package/build/js/DataCaptureContextSettings.d.ts +2 -13
- package/build/js/DataCaptureContextSettings.js +1 -1
- package/build/js/DataCaptureError-fm19xgXy.d.ts +13 -0
- package/build/js/DataCaptureError.d.ts +2 -13
- package/build/js/DataCaptureError.js +1 -1
- package/build/js/DataCaptureVersion-CoBugUHX.d.ts +6 -0
- package/build/js/DataCaptureVersion.d.ts +2 -6
- package/build/js/DataCaptureVersion.js +1 -1
- package/build/js/DataCaptureView.d.ts +2 -39
- package/build/js/DataCaptureView.js +1 -1
- package/build/js/DataCaptureViewPlusRelated-DcAi6mWY.d.ts +50 -0
- package/build/js/DataCaptureViewPlusRelated.d.ts +2 -3
- package/build/js/DataCaptureViewPlusRelated.js +1 -1
- package/build/js/DefaultViewClassnames.d.ts +13 -13
- package/build/js/DefaultViewClassnames.js +1 -1
- package/build/js/Direction-Cii3d0QY.d.ts +12 -0
- package/build/js/DrawCommandBuffer-TbNqWVhj.d.ts +44 -0
- package/build/js/EventManager-Cr57hTzG.d.ts +9 -0
- package/build/js/Feedback-D4kA2xWA.d.ts +21 -0
- package/build/js/Feedback.d.ts +2 -21
- package/build/js/Feedback.js +1 -1
- package/build/js/FrameData.d.ts +2 -39
- package/build/js/FrameData.js +1 -1
- package/build/js/HtmlElementState-BeRz5m6o.d.ts +35 -0
- package/build/js/ImageFrameSource-YH6FmhqZ.d.ts +43 -0
- package/build/js/ImageFrameSource.d.ts +2 -47
- package/build/js/ImageFrameSource.js +1 -1
- package/build/js/JSONType-BJv7BUtr.d.ts +6 -0
- package/build/js/LaserlineViewfinder-Dkc264QQ.d.ts +17 -0
- package/build/js/LaserlineViewfinder.d.ts +2 -23
- package/build/js/LaserlineViewfinder.js +1 -1
- package/build/js/LoadingStatus-0KzcUFiY.d.ts +23 -0
- package/build/js/LoadingStatus.d.ts +2 -23
- package/build/js/LoadingStatus.js +1 -1
- package/build/js/Localization-LoX2FWJO.d.ts +44 -0
- package/build/js/Localization.d.ts +2 -44
- package/build/js/Localization.js +1 -1
- package/build/js/LocationSelection-BXqyUc16.d.ts +41 -0
- package/build/js/LocationSelection.d.ts +2 -44
- package/build/js/LocationSelection.js +1 -1
- package/build/js/MarginsWithUnit-BHhnV4t0.d.ts +38 -0
- package/build/js/MeasureUnit-D14sZoRp.d.ts +7 -0
- package/build/js/NotificationBuilder-B3uY_ZbG.d.ts +23 -0
- package/build/js/NotificationConfiguration-C-1Vhrpo.d.ts +22 -0
- package/build/js/NotificationPresenter/NotificationBuilder.d.ts +2 -25
- package/build/js/NotificationPresenter/NotificationBuilder.js +1 -1
- package/build/js/NotificationPresenter/NotificationConfiguration.d.ts +2 -24
- package/build/js/NotificationPresenter/NotificationConfiguration.js +1 -1
- package/build/js/NotificationPresenter/NotificationPresenter.d.ts +2 -14
- package/build/js/NotificationPresenter/NotificationStyle.d.ts +2 -9
- package/build/js/NotificationPresenter/NotificationStyle.js +1 -1
- package/build/js/NotificationPresenter/index.d.ts +6 -41
- package/build/js/NotificationPresenter/index.js +1 -1
- package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.d.ts +2 -48
- package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.js +1 -1
- package/build/js/NotificationPresenter/private/presets.d.ts +5 -41
- package/build/js/NotificationPresenter/private/presets.js +1 -1
- package/build/js/NotificationPresenter-D0g_arAJ.d.ts +9 -0
- package/build/js/NotificationStyle-COZXqLGO.d.ts +9 -0
- package/build/js/NumberWithUnit-UGwoucuQ.d.ts +19 -0
- package/build/js/OpenSourceSoftwareLicenseInfo-CpjUKTrl.d.ts +8 -0
- package/build/js/Orientation-BNtNH3yS.d.ts +10 -0
- package/build/js/OverrideState-CGTOUAyb.d.ts +8 -0
- package/build/js/Point-CD9Qi9ID.d.ts +20 -0
- package/build/js/PointWithUnit-C_e8HUvk.d.ts +26 -0
- package/build/js/Quadrilateral-DbJ7LU2U.d.ts +25 -0
- package/build/js/Rect-BVo37EKG.d.ts +19 -0
- package/build/js/RectWithUnit-OJ1xPlBN.d.ts +19 -0
- package/build/js/RectangularViewfinder-j93qfYTd.d.ts +36 -0
- package/build/js/RectangularViewfinder.d.ts +2 -40
- package/build/js/RectangularViewfinder.js +1 -1
- package/build/js/ScanditHTMLElement-CrbGsFpn.d.ts +5 -0
- package/build/js/ScanditIcon-FRMSos7x.d.ts +49 -0
- package/build/js/ScanditIcon.d.ts +2 -50
- package/build/js/ScanditIcon.js +1 -1
- package/build/js/ScanditIconBuilder-BtnTaVeJ.d.ts +66 -0
- package/build/js/ScanditIconBuilder.d.ts +3 -68
- package/build/js/ScanditIconBuilder.js +1 -1
- package/build/js/Serializable-Dbturs7d.d.ts +9 -0
- package/build/js/SingleImageUploader-CRDpQ9PA.d.ts +43 -0
- package/build/js/SingleImageUploader.d.ts +2 -48
- package/build/js/SingleImageUploader.js +1 -1
- package/build/js/SingleImageUploaderSettings-Y-cG1lpl.d.ts +33 -0
- package/build/js/SingleImageUploaderSettings.d.ts +2 -33
- package/build/js/SingleImageUploaderSettings.js +1 -1
- package/build/js/Size-i8Zhfc5b.d.ts +18 -0
- package/build/js/SizeMode-CkAAaxIg.d.ts +9 -0
- package/build/js/SizeWithAspect-Dg-YCV1Q.d.ts +12 -0
- package/build/js/SizeWithUnit-CNgvxsVj.d.ts +26 -0
- package/build/js/SizeWithUnitAndAspect-BrtiXpsG.d.ts +40 -0
- package/build/js/Sound-ByTzZ3ia.d.ts +21 -0
- package/build/js/Sound.d.ts +2 -21
- package/build/js/Sound.js +1 -1
- package/build/js/SvgIcon-CAR8Tf7x.d.ts +23 -0
- package/build/js/Vibration-B1J9JMda.d.ts +21 -0
- package/build/js/Vibration.d.ts +2 -21
- package/build/js/Vibration.js +1 -1
- package/build/js/View-BvEw8Q1D.d.ts +7 -0
- package/build/js/Viewfinder-DTjfkI0v.d.ts +19 -0
- package/build/js/Viewfinder.d.ts +2 -26
- package/build/js/Viewfinder.js +1 -1
- package/build/js/ViewfinderPlusRelated-CuUarlQb.d.ts +72 -0
- package/build/js/ViewfinderPlusRelated.d.ts +2 -76
- package/build/js/ViewfinderPlusRelated.js +1 -1
- package/build/js/WatermarkStack-CDKo8wBr.d.ts +41 -0
- package/build/js/ZoomGestureListener.d.ts +2 -3
- package/build/js/ZoomListener.d.ts +2 -7
- package/build/js/ZoomSwitchOrientation-Deylpp5l.d.ts +8 -0
- package/build/js/ZoomSwitchOrientation.d.ts +2 -8
- package/build/js/ZoomSwitchOrientation.js +1 -1
- package/build/js/areEqualArrays-BpuDaVrU.d.ts +4 -0
- package/build/js/assets/beepSound.d.ts +3 -3
- package/build/js/assets/beepSound.js +1 -1
- package/build/js/assets/folderImage.d.ts +3 -3
- package/build/js/assets/folderImage.js +1 -1
- package/build/js/assets/scanningByScandit.d.ts +3 -3
- package/build/js/assets/scanningByScandit.js +1 -1
- package/build/js/assets/transparentPixelImage.d.ts +3 -3
- package/build/js/assets/transparentPixelImage.js +1 -1
- package/build/js/browserCompatibility-DD4Tvtlv.d.ts +88 -0
- package/build/js/browserCompatibility.d.ts +2 -88
- package/build/js/browserCompatibility.js +1 -1
- package/build/js/browserHelper-BQPnAZ2Y.js +1 -0
- package/build/js/browserHelper-Dno5no9Z.d.ts +224 -0
- package/build/js/browserHelper.d.ts +2 -224
- package/build/js/browserHelper.js +1 -1
- package/build/js/clamp-B71RA4rG.d.ts +4 -0
- package/build/js/common-BisNSU4o.d.ts +25 -0
- package/build/js/commons/Anchor.d.ts +2 -14
- package/build/js/commons/Anchor.js +1 -1
- package/build/js/commons/Color.d.ts +2 -28
- package/build/js/commons/Color.js +1 -1
- package/build/js/commons/Direction.d.ts +2 -12
- package/build/js/commons/Direction.js +1 -1
- package/build/js/commons/JSONType.d.ts +2 -6
- package/build/js/commons/MarginsWithUnit.d.ts +2 -39
- package/build/js/commons/MarginsWithUnit.js +1 -1
- package/build/js/commons/MeasureUnit.d.ts +2 -7
- package/build/js/commons/MeasureUnit.js +1 -1
- package/build/js/commons/NumberWithUnit.d.ts +2 -19
- package/build/js/commons/NumberWithUnit.js +1 -1
- package/build/js/commons/Orientation.d.ts +2 -10
- package/build/js/commons/Orientation.js +1 -1
- package/build/js/commons/Point.d.ts +2 -20
- package/build/js/commons/Point.js +1 -1
- package/build/js/commons/PointWithUnit.d.ts +2 -27
- package/build/js/commons/PointWithUnit.js +1 -1
- package/build/js/commons/Quadrilateral.d.ts +2 -25
- package/build/js/commons/Quadrilateral.js +1 -1
- package/build/js/commons/Rect.d.ts +2 -19
- package/build/js/commons/Rect.js +1 -1
- package/build/js/commons/RectWithUnit.d.ts +2 -21
- package/build/js/commons/RectWithUnit.js +1 -1
- package/build/js/commons/Size.d.ts +2 -18
- package/build/js/commons/Size.js +1 -1
- package/build/js/commons/SizeMode.d.ts +2 -9
- package/build/js/commons/SizeMode.js +1 -1
- package/build/js/commons/SizeWithAspect.d.ts +2 -14
- package/build/js/commons/SizeWithAspect.js +1 -1
- package/build/js/commons/SizeWithUnit.d.ts +2 -27
- package/build/js/commons/SizeWithUnit.js +1 -1
- package/build/js/commons/SizeWithUnitAndAspect.d.ts +2 -42
- package/build/js/commons/SizeWithUnitAndAspect.js +1 -1
- package/build/js/controls/CameraFOVSwitchControl.d.ts +2 -76
- package/build/js/controls/CameraFOVSwitchControl.js +1 -1
- package/build/js/controls/CameraSwitchControl.d.ts +2 -66
- package/build/js/controls/CameraSwitchControl.js +1 -1
- package/build/js/controls/TorchSwitchControl.d.ts +2 -67
- package/build/js/controls/TorchSwitchControl.js +1 -1
- package/build/js/controls/ZoomSwitchControl.d.ts +2 -97
- package/build/js/controls/ZoomSwitchControl.js +1 -1
- package/build/js/controls/common.d.ts +2 -39
- package/build/js/controls/index.d.ts +2 -44
- package/build/js/controls/index.js +1 -1
- package/build/js/css-DUhStyMA.d.ts +4 -0
- package/build/js/debounce-B1bV6NXR.d.ts +4 -0
- package/build/js/defaults/DefaultsBrush.d.ts +4 -6
- package/build/js/defaults/DefaultsBrush.js +1 -1
- package/build/js/defaults/DefaultsCamera.d.ts +13 -51
- package/build/js/defaults/DefaultsCamera.js +1 -1
- package/build/js/defaults/DefaultsCameraSettings.d.ts +9 -14
- package/build/js/defaults/DefaultsCameraSettings.js +1 -1
- package/build/js/defaults/DefaultsDataCaptureView.d.ts +15 -18
- package/build/js/defaults/DefaultsDataCaptureView.js +1 -1
- package/build/js/defaults/DefaultsDeserializers.d.ts +6 -7
- package/build/js/defaults/DefaultsDeserializers.js +1 -1
- package/build/js/defaults/DefaultsFeedback.d.ts +4 -4
- package/build/js/defaults/DefaultsFeedback.js +1 -1
- package/build/js/defaults/DefaultsSingleImageUploader.d.ts +13 -13
- package/build/js/defaults/DefaultsSingleImageUploader.js +1 -1
- package/build/js/defaults/DefaultsViewfinders.d.ts +36 -41
- package/build/js/defaults/DefaultsViewfinders.js +1 -1
- package/build/js/deferred-BAgaHYOv.d.ts +9 -0
- package/build/js/defineCustomElements-D-wGrRhB.d.ts +4 -0
- package/build/js/domIdFromValues-i9GfVUED.d.ts +18 -0
- package/build/js/fromEntries-ByUS4mw-.d.ts +14 -0
- package/build/js/{global.d.d.ts → global.d.ts} +8 -11
- package/build/js/html-D92h5xTe.d.ts +60 -0
- package/build/js/hybridDesktopPlatformHelpers-DPAJQLcX.js +1 -0
- package/build/js/index-CBqIEC2q.d.ts +1 -0
- package/build/js/index-Cpl5B5iN.d.ts +58 -0
- package/build/js/index-PiddVj70.d.ts +9769 -0
- package/build/js/index.d.ts +57 -78
- package/build/js/index.js +1 -1
- package/build/js/isObject-DqOU8mxL.d.ts +4 -0
- package/build/js/isWorkerScope-CBqhEpK_.d.ts +4 -0
- package/build/js/license/OpenSourceSoftwareLicenseInfo.d.ts +2 -8
- package/build/js/license/OpenSourceSoftwareLicenseInfo.js +1 -1
- package/build/js/logger-D9wplwND.d.ts +30 -0
- package/build/js/logger.d.ts +2 -30
- package/build/js/logger.js +1 -1
- package/build/js/moduleLoader.d.ts +2 -39
- package/build/js/multithreadSimdHelper-BrYdWJgw.js +1 -0
- package/build/js/nativeHandle-DlljYL22.d.ts +4 -0
- package/build/js/private/AdditionalLayerPosition.d.ts +2 -6
- package/build/js/private/AdditionalLayerPosition.js +1 -1
- package/build/js/private/AnchorPositions.d.ts +2 -42
- package/build/js/private/AnchorPositions.js +1 -1
- package/build/js/private/BatteryInterface.d.ts +2 -81
- package/build/js/private/BatteryInterface.js +1 -1
- package/build/js/private/CameraAccess.d.ts +2 -7
- package/build/js/private/CameraAccess.js +1 -1
- package/build/js/private/CameraManager.d.ts +2 -39
- package/build/js/private/CameraManager.js +1 -1
- package/build/js/private/CameraPool.d.ts +76 -114
- package/build/js/private/CameraPool.js +1 -1
- package/build/js/private/CanvasDrawer.d.ts +30 -31
- package/build/js/private/CanvasDrawer.js +1 -1
- package/build/js/private/CanvasDrawerWithMetrics.d.ts +27 -66
- package/build/js/private/CanvasDrawerWithMetrics.js +1 -1
- package/build/js/private/CavansDrawerAbstract.d.ts +2 -37
- package/build/js/private/CavansDrawerAbstract.js +1 -1
- package/build/js/private/CoreModuleLicenseTextProvider.d.ts +13 -49
- package/build/js/private/CoreModuleLicenseTextProvider.js +1 -1
- package/build/js/private/CustomLocationsView.d.ts +2 -64
- package/build/js/private/CustomLocationsView.js +1 -1
- package/build/js/private/CustomLocationsViewStyles.d.ts +4 -4
- package/build/js/private/CustomLocationsViewStyles.js +17 -1
- package/build/js/private/DataCaptureContextRelated.d.ts +7 -44
- package/build/js/private/DrawCommandBuffer.d.ts +2 -44
- package/build/js/private/DrawCommandBuffer.js +1 -1
- package/build/js/private/EventManager.d.ts +2 -9
- package/build/js/private/EventManager.js +1 -1
- package/build/js/private/FrameReaders/ColorType.d.ts +2 -7
- package/build/js/private/FrameReaders/ColorType.js +1 -1
- package/build/js/private/FrameReaders/FrameReader.d.ts +2 -54
- package/build/js/private/FrameReaders/FrameReader.js +1 -1
- package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +2 -69
- package/build/js/private/FrameReaders/FrameReaderAbstract.js +1 -1
- package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +2 -74
- package/build/js/private/FrameReaders/GrayScaleFrameReader.js +1 -1
- package/build/js/private/FrameReaders/WatermarkStack.d.ts +2 -41
- package/build/js/private/FrameReaders/WatermarkStack.js +1 -1
- package/build/js/private/FrameReaders/index.d.ts +3 -43
- package/build/js/private/FrameReaders/index.js +1 -1
- package/build/js/private/FrameReaders/webglUtilities.d.ts +3 -3
- package/build/js/private/FrameReaders/webglUtilities.js +1 -1
- package/build/js/private/GestureRecognizer/GestureRecognizer.d.ts +65 -66
- package/build/js/private/GestureRecognizer/GestureRecognizer.js +1 -1
- package/build/js/private/GestureRecognizer/PointerEventsDetector.d.ts +11 -15
- package/build/js/private/GestureRecognizer/PointerEventsDetector.js +1 -1
- package/build/js/private/GestureRecognizer/index.d.ts +2 -5
- package/build/js/private/GestureRecognizer/index.js +1 -1
- package/build/js/private/Helper.d.ts +7 -7
- package/build/js/private/Helper.js +1 -1
- package/build/js/private/HtmlElementState.d.ts +2 -37
- package/build/js/private/HtmlElementState.js +1 -1
- package/build/js/private/ImageConverterBase.d.ts +40 -40
- package/build/js/private/ImageConverterBase.js +1 -1
- package/build/js/private/ImageConverterMainThread.d.ts +6 -7
- package/build/js/private/ImageConverterMainThread.js +1 -1
- package/build/js/private/ModuleLicenseTextProvider.d.ts +4 -4
- package/build/js/private/NormalizedModuleLoaderOptions.d.ts +10 -46
- package/build/js/private/OrientationObserver.d.ts +26 -26
- package/build/js/private/OrientationObserver.js +1 -1
- package/build/js/private/Serializable.d.ts +2 -9
- package/build/js/private/SingleImageUploaderView.d.ts +52 -89
- package/build/js/private/SingleImageUploaderView.js +1 -1
- package/build/js/private/SingleImageUploaderViewStyles.d.ts +23 -23
- package/build/js/private/SingleImageUploaderViewStyles.js +31 -1
- package/build/js/private/View.d.ts +2 -7
- package/build/js/private/ViewClassNames.d.ts +13 -13
- package/build/js/private/ViewClassNames.js +1 -1
- package/build/js/private/ViewControls_related.d.ts +82 -121
- package/build/js/private/ViewControls_related.js +1 -0
- package/build/js/private/ViewStyles.d.ts +3 -3
- package/build/js/private/ViewStyles.js +1 -1
- package/build/js/private/ViewsRegistry.d.ts +4 -41
- package/build/js/private/ViewsRegistry.js +1 -1
- package/build/js/private/customHowler/AudioCache.d.ts +2 -37
- package/build/js/private/customHowler/AudioCache.js +1 -1
- package/build/js/private/customHowler/Howl.d.ts +141 -141
- package/build/js/private/customHowler/Howl.js +1 -1
- package/build/js/private/customHowler/HowlRegistry.d.ts +3 -3
- package/build/js/private/customHowler/HowlRegistry.js +1 -1
- package/build/js/private/customHowler/Html5Sound.d.ts +45 -45
- package/build/js/private/customHowler/Html5Sound.js +1 -1
- package/build/js/private/customHowler/UnlockManager.d.ts +32 -32
- package/build/js/private/customHowler/UnlockManager.js +1 -1
- package/build/js/private/customHowler/WebAudioContextManager.d.ts +127 -127
- package/build/js/private/customHowler/WebAudioContextManager.js +1 -1
- package/build/js/private/customHowler/debug.d.ts +3 -3
- package/build/js/private/customHowler/debug.js +1 -1
- package/build/js/private/customHowler/index.d.ts +2 -2
- package/build/js/private/customHowler/index.js +1 -1
- package/build/js/private/customHowler/setup.d.ts +4 -5
- package/build/js/private/customHowler/setup.js +1 -1
- package/build/js/private/djinni-types/index.d.ts +2 -57
- package/build/js/private/djinni-types/index.js +1 -1
- package/build/js/private/hybridDesktopPlatformHelpers.d.ts +5 -5
- package/build/js/private/hybridDesktopPlatformHelpers.js +1 -1
- package/build/js/private/multithreadSimdHelper.d.ts +3 -3
- package/build/js/private/multithreadSimdHelper.js +1 -1
- package/build/js/private/nativeHandle.d.ts +2 -4
- package/build/js/private/nativeHandle.js +1 -1
- package/build/js/private/privateAccess.d.ts +2 -8
- package/build/js/private/privateAccess.js +1 -1
- package/build/js/private/ui/atoms/AimerSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/AimerSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ArrowDownSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ArrowDownSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ArrowLeftSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ArrowLeftSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ArrowRightSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ArrowRightSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ArrowUpSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ArrowUpSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ArrowsUp.d.ts +13 -13
- package/build/js/private/ui/atoms/ArrowsUp.js +1 -1
- package/build/js/private/ui/atoms/Backdrop.d.ts +29 -23
- package/build/js/private/ui/atoms/Backdrop.js +1 -1
- package/build/js/private/ui/atoms/CalendarExclamationMarkSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CalendarExclamationMarkSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/CameraFOVUltrawideSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CameraFOVUltrawideSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/CameraFOVWideSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CameraFOVWideSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/CameraSwitchReverseSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CameraSwitchReverseSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/CameraSwitchSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CameraSwitchSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/Card.d.ts +21 -22
- package/build/js/private/ui/atoms/Card.js +1 -1
- package/build/js/private/ui/atoms/CardList.d.ts +49 -51
- package/build/js/private/ui/atoms/CardList.js +1 -1
- package/build/js/private/ui/atoms/CheckSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CheckSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ChevronDownSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ChevronDownSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ChevronLeftSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ChevronLeftSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ChevronRightSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ChevronRightSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ChevronUpSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ChevronUpSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/CrossSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/CrossSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/DeleteSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/DeleteSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/Dot5xSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/Dot5xSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ExclamationMarkSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ExclamationMarkSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/GlassSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/GlassSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/HandLensCheckSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/HandLensCheckSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/KeyboardSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/KeyboardSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/LowStockSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/LowStockSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/OnexSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/OnexSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/PauseSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/PauseSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/PrinterSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/PrinterSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/ProgressBar.d.ts +22 -22
- package/build/js/private/ui/atoms/ProgressBar.js +1 -1
- package/build/js/private/ui/atoms/QuestionMarkSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/QuestionMarkSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/RestartSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/RestartSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/RoundedCheckSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/RoundedCheckSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/RoundedCrossSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/RoundedCrossSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ScanSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ScanSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ShutterButton.d.ts +34 -34
- package/build/js/private/ui/atoms/ShutterButton.js +1 -1
- package/build/js/private/ui/atoms/SlashSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/SlashSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/StarFilledSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/StarFilledSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/StarHalfFilledSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/StarHalfFilledSvgIcon.js +1 -2
- package/build/js/private/ui/atoms/StarOutlinedSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/StarOutlinedSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/SvgIcon.d.ts +2 -23
- package/build/js/private/ui/atoms/SvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ToPickSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/ToPickSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/Toast.d.ts +41 -76
- package/build/js/private/ui/atoms/Toast.js +1 -1
- package/build/js/private/ui/atoms/TorchOffSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/TorchOffSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/TorchOnSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/TorchOnSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/TwoxSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/TwoxSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/WrongItemSvgIcon.d.ts +11 -12
- package/build/js/private/ui/atoms/WrongItemSvgIcon.js +1 -1
- package/build/js/private/ui/colors.d.ts +4 -5
- package/build/js/private/ui/colors.js +1 -1
- package/build/js/private/ui/molecules/ButtonEvents.d.ts +18 -18
- package/build/js/private/ui/molecules/ButtonEvents.js +1 -1
- package/build/js/private/ui/molecules/CameraFOVSwitchButton.d.ts +54 -57
- package/build/js/private/ui/molecules/CameraFOVSwitchButton.js +1 -1
- package/build/js/private/ui/molecules/CameraSwitchButton.d.ts +47 -50
- package/build/js/private/ui/molecules/CameraSwitchButton.js +1 -1
- package/build/js/private/ui/molecules/ControlsLayout.d.ts +12 -12
- package/build/js/private/ui/molecules/ControlsLayout.js +1 -1
- package/build/js/private/ui/molecules/HintPresenter.d.ts +2 -39
- package/build/js/private/ui/molecules/HintPresenter.js +1 -1
- package/build/js/private/ui/molecules/LoadingOverlay.d.ts +20 -20
- package/build/js/private/ui/molecules/LoadingOverlay.js +1 -1
- package/build/js/private/ui/molecules/TorchSwitchIconButton.d.ts +54 -60
- package/build/js/private/ui/molecules/TorchSwitchIconButton.js +1 -1
- package/build/js/private/ui/molecules/ZoomSwitchPill.d.ts +62 -65
- package/build/js/private/ui/molecules/ZoomSwitchPill.js +1 -1
- package/build/js/private/unsupportedBrowserError.d.ts +7 -7
- package/build/js/private/unsupportedBrowserError.js +1 -1
- package/build/js/private/utils/AnimationSimplePolyfill.d.ts +54 -54
- package/build/js/private/utils/AnimationSimplePolyfill.js +1 -1
- package/build/js/private/utils/AsyncStateMachine.d.ts +2 -49
- package/build/js/private/utils/AsyncStateMachine.js +1 -1
- package/build/js/private/utils/ScanditHTMLElement.d.ts +2 -6
- package/build/js/private/utils/ScanditHTMLElement.js +1 -1
- package/build/js/private/utils/areEqualArrays.d.ts +2 -4
- package/build/js/private/utils/areEqualArrays.js +1 -1
- package/build/js/private/utils/clamp.d.ts +2 -4
- package/build/js/private/utils/clamp.js +1 -1
- package/build/js/private/utils/cookieStore.d.ts +3 -3
- package/build/js/private/utils/cookieStore.js +1 -1
- package/build/js/private/utils/cookieStorePolyfill.d.ts +16 -16
- package/build/js/private/utils/cookieStorePolyfill.js +1 -1
- package/build/js/private/utils/css.d.ts +2 -4
- package/build/js/private/utils/css.js +1 -1
- package/build/js/private/utils/debounce.d.ts +2 -4
- package/build/js/private/utils/debounce.js +1 -1
- package/build/js/private/utils/deferred.d.ts +2 -9
- package/build/js/private/utils/deferred.js +1 -1
- package/build/js/private/utils/defineCustomElements.d.ts +2 -4
- package/build/js/private/utils/defineCustomElements.js +1 -1
- package/build/js/private/utils/domIdFromValues.d.ts +2 -18
- package/build/js/private/utils/domIdFromValues.js +1 -1
- package/build/js/private/utils/finalizationRegistryPolyfill.d.ts +3 -3
- package/build/js/private/utils/finalizationRegistryPolyfill.js +1 -1
- package/build/js/private/utils/fromEntries.d.ts +2 -14
- package/build/js/private/utils/fromEntries.js +1 -1
- package/build/js/private/utils/fromGrayScaleToRgba.d.ts +3 -3
- package/build/js/private/utils/fromGrayScaleToRgba.js +1 -1
- package/build/js/private/utils/getTimestamp.d.ts +3 -3
- package/build/js/private/utils/getTimestamp.js +1 -1
- package/build/js/private/utils/globalThisPolyfill.d.ts +3 -3
- package/build/js/private/utils/globalThisPolyfill.js +1 -1
- package/build/js/private/utils/html.d.ts +2 -60
- package/build/js/private/utils/html.js +1 -1
- package/build/js/private/utils/index.d.ts +21 -21
- package/build/js/private/utils/index.js +1 -1
- package/build/js/private/utils/isObject.d.ts +2 -4
- package/build/js/private/utils/isObject.js +1 -1
- package/build/js/private/utils/isPointerTouchEvent.d.ts +3 -3
- package/build/js/private/utils/isPointerTouchEvent.js +1 -1
- package/build/js/private/utils/isWorkerScope.d.ts +2 -4
- package/build/js/private/utils/isWorkerScope.js +1 -1
- package/build/js/private/utils/polyfillLoader.d.ts +11 -11
- package/build/js/private/utils/polyfillLoader.js +1 -1
- package/build/js/private/utils/quadrilateralUtils.d.ts +4 -6
- package/build/js/private/utils/quadrilateralUtils.js +1 -1
- package/build/js/private/utils/replaceImagesInViewUtils.d.ts +7 -43
- package/build/js/private/utils/replaceImagesInViewUtils.js +1 -1
- package/build/js/private/utils/safeCancelAnimation.d.ts +2 -53
- package/build/js/private/utils/safeCancelAnimation.js +1 -1
- package/build/js/private/utils/safeRequestAnimationFrame.d.ts +2 -23
- package/build/js/private/utils/safeRequestAnimationFrame.js +1 -1
- package/build/js/private/utils/safeStorage.d.ts +17 -17
- package/build/js/private/utils/safeStorage.js +1 -1
- package/build/js/private/utils/structuredClonePolyfill.d.ts +3 -3
- package/build/js/private/utils/structuredClonePolyfill.js +1 -1
- package/build/js/private/utils/throttle.d.ts +2 -4
- package/build/js/private/utils/throttle.js +1 -1
- package/build/js/private/utils/timeout.d.ts +2 -14
- package/build/js/private/utils/timeout.js +1 -1
- package/build/js/private/utils/unknownErrorToString.d.ts +2 -4
- package/build/js/private/utils/unknownErrorToString.js +1 -1
- package/build/js/private/utils/wait.d.ts +2 -4
- package/build/js/private/utils/wait.js +1 -1
- package/build/js/private/utils/waitTransitionEndForElement.d.ts +2 -4
- package/build/js/private/utils/waitTransitionEndForElement.js +1 -1
- package/build/js/private/utils/warnMultithreadingUnavailable.d.ts +3 -3
- package/build/js/private/utils/warnMultithreadingUnavailable.js +1 -2
- package/build/js/privateAccess-Cy_yPta4.d.ts +8 -0
- package/build/js/safeCancelAnimation-C9SG0625.d.ts +53 -0
- package/build/js/safeRequestAnimationFrame-CrVl8FPa.d.ts +23 -0
- package/build/js/throttle-ICpoGeaZ.d.ts +4 -0
- package/build/js/timeout-CHMzurwd.d.ts +14 -0
- package/build/js/translations-Bqx7KLdt.d.ts +12 -0
- package/build/js/translations.d.ts +2 -12
- package/build/js/translations.js +1 -1
- package/build/js/tsHelper-N1CSjsuN.d.ts +18 -0
- package/build/js/tsHelper.d.ts +2 -26
- package/build/js/tsHelper.js +1 -1
- package/build/js/unknownErrorToString-BGDQCTvQ.d.ts +4 -0
- package/build/js/wait-CRu1G76q.d.ts +4 -0
- package/build/js/waitTransitionEndForElement-BrVosj17.d.ts +4 -0
- package/build/js/worker/ImageConverterForwarder.d.ts +21 -57
- package/build/js/worker/ImageConverterForwarder.js +1 -1
- package/build/js/worker/ImageConverterWorker.d.ts +6 -7
- package/build/js/worker/ImageConverterWorker.js +1 -1
- package/build/js/worker/OverrideState.d.ts +2 -8
- package/build/js/worker/OverrideState.js +1 -1
- package/build/js/worker/ViewInfoHelper.d.ts +9 -46
- package/build/js/worker/ViewInfoHelper.js +1 -1
- package/build/js/worker/WorkerMain.d.ts +2 -63
- package/build/js/worker/WorkerMain.js +1 -1
- package/build/js/worker/dataCaptureEngine.d.ts +2 -39
- package/build/js/worker/dataCaptureEngine.js +1 -1
- package/build/js/worker/dataCaptureLoader.d.ts +2 -39
- package/build/js/worker/dataCaptureLoader.js +1 -1
- package/build/js/worker/dataCaptureWorkerRelated.d.ts +2 -39
- package/build/js/worker/dataCaptureWorkerRelated.js +1 -1
- package/build/js/worker/helper.d.ts +22 -13
- package/build/js/worker/helper.js +1 -1
- package/build/js/worker/helperFetch.d.ts +36 -22
- package/build/js/worker/helperFetch.js +1 -1
- package/build/js/worker/helperFs.d.ts +5 -5
- package/build/js/worker/helperFs.js +1 -1
- package/build/js/worker/importWasmScript.d.ts +3 -3
- package/build/js/worker/importWasmScript.js +1 -1
- package/build/js/worker/index.d.ts +2 -40
- package/build/js/worker/index.js +1 -1
- package/package.json +21 -11
- package/build/electron/chunk-6RVAZ75N.js +0 -1
- package/build/electron/common.cjs +0 -1
- package/build/electron/common.js +0 -0
- package/build/electron/constants.cjs +0 -1
- package/build/electron/constants.js +0 -1
- package/build/js/Camera-HgH6fwnW.d.ts +0 -410
- package/build/js/DataCaptureContext-qacCkSOl.d.ts +0 -1740
- package/build/js/DataCaptureViewPlusRelated-BOrDBPHq.d.ts +0 -49
- package/build/js/chunks/chunk-24MGHMOY.js +0 -1
- package/build/js/chunks/chunk-2HTI5D6Y.js +0 -1
- package/build/js/chunks/chunk-2JIATMSD.js +0 -1
- package/build/js/chunks/chunk-2LSO6JEZ.js +0 -1
- package/build/js/chunks/chunk-2UHUEJA4.js +0 -1
- package/build/js/chunks/chunk-3A4KLILV.js +0 -1
- package/build/js/chunks/chunk-3A7LM5JG.js +0 -1
- package/build/js/chunks/chunk-3KKUZY2T.js +0 -1
- package/build/js/chunks/chunk-3MKSI2DV.js +0 -1
- package/build/js/chunks/chunk-4BP7D26M.js +0 -1
- package/build/js/chunks/chunk-4F2Q2P2O.js +0 -1
- package/build/js/chunks/chunk-4KLHTKGW.js +0 -1
- package/build/js/chunks/chunk-4LGQ66HW.js +0 -1
- package/build/js/chunks/chunk-4QJAB4PO.js +0 -1
- package/build/js/chunks/chunk-4W2T3TLN.js +0 -1
- package/build/js/chunks/chunk-4WA2PCJE.js +0 -1
- package/build/js/chunks/chunk-4ZMCJXZS.js +0 -1
- package/build/js/chunks/chunk-56OQ5EHO.js +0 -1
- package/build/js/chunks/chunk-5LXHD7FZ.js +0 -1
- package/build/js/chunks/chunk-5RCWM6NI.js +0 -1
- package/build/js/chunks/chunk-6AZW5IIG.js +0 -1
- package/build/js/chunks/chunk-6EEMWSEO.js +0 -1
- package/build/js/chunks/chunk-6H6FKGVE.js +0 -1
- package/build/js/chunks/chunk-6W7FX6LD.js +0 -1
- package/build/js/chunks/chunk-76IGNICM.js +0 -1
- package/build/js/chunks/chunk-7HYFN4JO.js +0 -1
- package/build/js/chunks/chunk-7LTHFX4E.js +0 -1
- package/build/js/chunks/chunk-7OFC24NE.js +0 -1
- package/build/js/chunks/chunk-7SA74NKD.js +0 -0
- package/build/js/chunks/chunk-7SW2PEHB.js +0 -1
- package/build/js/chunks/chunk-AAEQZ45T.js +0 -1
- package/build/js/chunks/chunk-AAPD5YU3.js +0 -1
- package/build/js/chunks/chunk-AC4QOIY7.js +0 -1
- package/build/js/chunks/chunk-ACCTMSWC.js +0 -1
- package/build/js/chunks/chunk-ACFJP5SR.js +0 -1
- package/build/js/chunks/chunk-AD77NFCP.js +0 -1
- package/build/js/chunks/chunk-AE2LWVIB.js +0 -1
- package/build/js/chunks/chunk-AIC4H5KG.js +0 -2
- package/build/js/chunks/chunk-AIRWHLJH.js +0 -1
- package/build/js/chunks/chunk-AZWFNBVA.js +0 -1
- package/build/js/chunks/chunk-BA3RP6L2.js +0 -1
- package/build/js/chunks/chunk-BDGRWHLY.js +0 -1
- package/build/js/chunks/chunk-BDLLVGRH.js +0 -1
- package/build/js/chunks/chunk-BZAQMYII.js +0 -1
- package/build/js/chunks/chunk-CA6FHIF6.js +0 -35
- package/build/js/chunks/chunk-CAHJ3YOV.js +0 -1
- package/build/js/chunks/chunk-CAUB35PV.js +0 -1
- package/build/js/chunks/chunk-CD2BU66N.js +0 -1
- package/build/js/chunks/chunk-CERFU73N.js +0 -1
- package/build/js/chunks/chunk-CGK5V6XZ.js +0 -1
- package/build/js/chunks/chunk-CRUOVJHW.js +0 -1
- package/build/js/chunks/chunk-CX2R2XQK.js +0 -1
- package/build/js/chunks/chunk-D222MT4V.js +0 -1
- package/build/js/chunks/chunk-DGIQ3GF7.js +0 -1
- package/build/js/chunks/chunk-DN32UPQC.js +0 -1
- package/build/js/chunks/chunk-DZE2EYSZ.js +0 -1
- package/build/js/chunks/chunk-E4XJ4GKD.js +0 -1
- package/build/js/chunks/chunk-EMLXDXWN.js +0 -1
- package/build/js/chunks/chunk-ENYHCJGH.js +0 -1
- package/build/js/chunks/chunk-EP3GI7KA.js +0 -1
- package/build/js/chunks/chunk-EQ6V4W5K.js +0 -1
- package/build/js/chunks/chunk-EQRBQJYM.js +0 -1
- package/build/js/chunks/chunk-EV4OEANA.js +0 -1
- package/build/js/chunks/chunk-F2GMW4LP.js +0 -1
- package/build/js/chunks/chunk-FGO2SSRS.js +0 -1
- package/build/js/chunks/chunk-FHUC75ND.js +0 -1
- package/build/js/chunks/chunk-FR24G4R7.js +0 -1
- package/build/js/chunks/chunk-FTD535WI.js +0 -1
- package/build/js/chunks/chunk-G2BRTVN7.js +0 -1
- package/build/js/chunks/chunk-GHTCNOQN.js +0 -1
- package/build/js/chunks/chunk-GMOTHEWV.js +0 -1
- package/build/js/chunks/chunk-GPJEB376.js +0 -1
- package/build/js/chunks/chunk-GPPCTFZF.js +0 -1
- package/build/js/chunks/chunk-GPUTPXQM.js +0 -1
- package/build/js/chunks/chunk-GQ7A6533.js +0 -1
- package/build/js/chunks/chunk-GVHXM75D.js +0 -1
- package/build/js/chunks/chunk-H3J4TP2K.js +0 -1
- package/build/js/chunks/chunk-I6SWF3FQ.js +0 -1
- package/build/js/chunks/chunk-IASACVTH.js +0 -1
- package/build/js/chunks/chunk-IJQG3OU6.js +0 -1
- package/build/js/chunks/chunk-IMXMNDKM.js +0 -1
- package/build/js/chunks/chunk-JCKM5IJO.js +0 -0
- package/build/js/chunks/chunk-JFRSUCMO.js +0 -31
- package/build/js/chunks/chunk-JIGCOX5J.js +0 -1
- package/build/js/chunks/chunk-JLTSTUKY.js +0 -1
- package/build/js/chunks/chunk-JS3T7K2Z.js +0 -1
- package/build/js/chunks/chunk-KAFNKP6O.js +0 -1
- package/build/js/chunks/chunk-KSCFPJAW.js +0 -1
- package/build/js/chunks/chunk-KXAJHLEO.js +0 -1
- package/build/js/chunks/chunk-KYNYQBNF.js +0 -17
- package/build/js/chunks/chunk-L2STPTEN.js +0 -1
- package/build/js/chunks/chunk-L66S4DN2.js +0 -1
- package/build/js/chunks/chunk-LA6TM76R.js +0 -1
- package/build/js/chunks/chunk-LFJUGRQV.js +0 -1
- package/build/js/chunks/chunk-LPFXHHWJ.js +0 -1
- package/build/js/chunks/chunk-LSZZVJ6B.js +0 -1
- package/build/js/chunks/chunk-LV6LGCDC.js +0 -1
- package/build/js/chunks/chunk-LXOZUOZU.js +0 -1
- package/build/js/chunks/chunk-MA3GV76P.js +0 -1
- package/build/js/chunks/chunk-MA6UDVDJ.js +0 -1
- package/build/js/chunks/chunk-N5YZEC56.js +0 -1
- package/build/js/chunks/chunk-NIKRAADM.js +0 -1
- package/build/js/chunks/chunk-NQF3GUK2.js +0 -1
- package/build/js/chunks/chunk-NVK73TNL.js +0 -1
- package/build/js/chunks/chunk-NYYGU4ZV.js +0 -1
- package/build/js/chunks/chunk-O4HDBWKK.js +0 -1
- package/build/js/chunks/chunk-O7EM4VIM.js +0 -1
- package/build/js/chunks/chunk-O7TZTIHO.js +0 -1
- package/build/js/chunks/chunk-OLUNDJBC.js +0 -1
- package/build/js/chunks/chunk-ORP45GHJ.js +0 -1
- package/build/js/chunks/chunk-OX64CCOP.js +0 -1
- package/build/js/chunks/chunk-P2R7FW6C.js +0 -1
- package/build/js/chunks/chunk-P3NPNIWR.js +0 -1
- package/build/js/chunks/chunk-Q7JWDX4U.js +0 -1
- package/build/js/chunks/chunk-QBDQQMQ5.js +0 -1
- package/build/js/chunks/chunk-QCRFVRSS.js +0 -1
- package/build/js/chunks/chunk-QCZSSQAQ.js +0 -1
- package/build/js/chunks/chunk-QFSNPY5Y.js +0 -1
- package/build/js/chunks/chunk-QG3MRQMP.js +0 -1
- package/build/js/chunks/chunk-QHBIT2WY.js +0 -1
- package/build/js/chunks/chunk-QIWPWOQG.js +0 -1
- package/build/js/chunks/chunk-QOCHMKNY.js +0 -1
- package/build/js/chunks/chunk-QQEY536Q.js +0 -1
- package/build/js/chunks/chunk-QUWP3ILW.js +0 -1
- package/build/js/chunks/chunk-R6E4CT22.js +0 -1
- package/build/js/chunks/chunk-R6SUMD5F.js +0 -1
- package/build/js/chunks/chunk-RG272MAJ.js +0 -1
- package/build/js/chunks/chunk-RSQRPDVQ.js +0 -1
- package/build/js/chunks/chunk-RXDVYEE5.js +0 -1
- package/build/js/chunks/chunk-RXPPTQAB.js +0 -1
- package/build/js/chunks/chunk-RXT3JWWR.js +0 -1
- package/build/js/chunks/chunk-RZTXUIJ5.js +0 -0
- package/build/js/chunks/chunk-SBC5K7IT.js +0 -1
- package/build/js/chunks/chunk-SEAVQZN6.js +0 -1
- package/build/js/chunks/chunk-SGL5J2CI.js +0 -1
- package/build/js/chunks/chunk-SHM7SU3B.js +0 -1
- package/build/js/chunks/chunk-SJIN27Q5.js +0 -1
- package/build/js/chunks/chunk-SK6L34IF.js +0 -1
- package/build/js/chunks/chunk-SNP4G4KV.js +0 -0
- package/build/js/chunks/chunk-T3AOBMAS.js +0 -1
- package/build/js/chunks/chunk-TKO5JMMS.js +0 -1
- package/build/js/chunks/chunk-TPHGDMKG.js +0 -1
- package/build/js/chunks/chunk-TR3NGINC.js +0 -1
- package/build/js/chunks/chunk-TTGJAMI2.js +0 -1
- package/build/js/chunks/chunk-U2WQ3WDE.js +0 -1
- package/build/js/chunks/chunk-U4IMOTYL.js +0 -1
- package/build/js/chunks/chunk-U6MFAGMG.js +0 -1
- package/build/js/chunks/chunk-U7ETOWGJ.js +0 -1
- package/build/js/chunks/chunk-UNO6YIIA.js +0 -1
- package/build/js/chunks/chunk-UWBNF47P.js +0 -1
- package/build/js/chunks/chunk-UWLAKRB2.js +0 -2
- package/build/js/chunks/chunk-UZWBB65W.js +0 -1
- package/build/js/chunks/chunk-V2OKMBZD.js +0 -1
- package/build/js/chunks/chunk-VJB527QZ.js +0 -1
- package/build/js/chunks/chunk-VSROWPI6.js +0 -1
- package/build/js/chunks/chunk-W33RVR5M.js +0 -1
- package/build/js/chunks/chunk-W3X3ZRQZ.js +0 -1
- package/build/js/chunks/chunk-WARGMW7Z.js +0 -1
- package/build/js/chunks/chunk-WFKB322J.js +0 -1
- package/build/js/chunks/chunk-WGLHZXRT.js +0 -1
- package/build/js/chunks/chunk-WHRRC6V6.js +0 -1
- package/build/js/chunks/chunk-WOOPJWJS.js +0 -1
- package/build/js/chunks/chunk-WUHKODFA.js +0 -1
- package/build/js/chunks/chunk-XR65N6EG.js +0 -1
- package/build/js/chunks/chunk-XUIVDVLK.js +0 -6
- package/build/js/chunks/chunk-Y3TODCJD.js +0 -1
- package/build/js/chunks/chunk-Y7BTRVB4.js +0 -2
- package/build/js/chunks/chunk-Y7V35LNT.js +0 -1
- package/build/js/chunks/chunk-Y7ZNLVR2.js +0 -1
- package/build/js/chunks/chunk-YE2GYNRP.js +0 -1
- package/build/js/chunks/chunk-YJNJGCAN.js +0 -1
- package/build/js/chunks/chunk-YONR3EGV.js +0 -2
- package/build/js/chunks/chunk-YOTQPBO6.js +0 -1
- package/build/js/chunks/chunk-YRNH7TIR.js +0 -0
- package/build/js/chunks/chunk-YUZDO2PC.js +0 -1
- package/build/js/chunks/chunk-ZAXZRQYF.js +0 -1
- package/build/js/chunks/chunk-ZKROZLQ4.js +0 -2
- package/build/js/chunks/chunk-ZP3YIZEC.js +0 -1
- package/build/js/chunks/chunk-ZTKCGHYQ.js +0 -1
- package/build/js/common-4FJYEFaM.d.ts +0 -25
- package/build/js/global.d.js +0 -0
- package/build/js/private/ViewControls+related.js +0 -1
- package/build/js/worker/coreCapture.inlineWorker.d.ts +0 -46
- package/build/js/worker/coreCapture.inlineWorker.js +0 -1
- package/build/js/worker/inlineWorker.d.d.ts +0 -5
- package/build/js/worker/inlineWorker.d.js +0 -0
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import { t as Serializable } from "./Serializable-Dbturs7d.js";
|
|
2
|
+
import { t as Rect } from "./Rect-BVo37EKG.js";
|
|
3
|
+
import { t as INTERNAL_ACCESS } from "./privateAccess-Cy_yPta4.js";
|
|
4
|
+
|
|
5
|
+
//#region src/main/private/CameraAccess.d.ts
|
|
6
|
+
declare enum CameraPosition$1 {
|
|
7
|
+
WorldFacing = "worldFacing",
|
|
8
|
+
UserFacing = "userFacing"
|
|
9
|
+
}
|
|
10
|
+
declare enum CameraResolutionConstraint {
|
|
11
|
+
ULTRA_HD = 0,
|
|
12
|
+
FULL_HD = 1,
|
|
13
|
+
HD = 2,
|
|
14
|
+
SD = 3,
|
|
15
|
+
NONE = 4
|
|
16
|
+
}
|
|
17
|
+
declare enum AspectRatio {
|
|
18
|
+
AUTO = "auto",
|
|
19
|
+
FOUR_TO_THREE = "fourToThree",
|
|
20
|
+
SIXTEEN_TO_NINE = "sixteenToNine"
|
|
21
|
+
}
|
|
22
|
+
interface DeviceCamera {
|
|
23
|
+
position: CameraPosition$1;
|
|
24
|
+
label: string;
|
|
25
|
+
deviceId: string;
|
|
26
|
+
currentResolution?: VideoFrameResolution;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A helper object to interact with cameras.
|
|
30
|
+
*/
|
|
31
|
+
declare namespace CameraAccess {
|
|
32
|
+
/**
|
|
33
|
+
* Overrides for main camera for a given camera position on a desktop/laptop device, set when accessing an initial camera.
|
|
34
|
+
*/
|
|
35
|
+
const mainCameraForPositionOverridesOnDesktop: Map<CameraPosition$1, DeviceCamera>;
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* To be accessed directly only for tests.
|
|
39
|
+
*
|
|
40
|
+
* The mapping from deviceIds to camera objects.
|
|
41
|
+
*/
|
|
42
|
+
const deviceIdToCameraObjects: Map<string, DeviceCamera>;
|
|
43
|
+
/**
|
|
44
|
+
*
|
|
45
|
+
* To be accessed directly only for tests.
|
|
46
|
+
*
|
|
47
|
+
* The list of inaccessible deviceIds.
|
|
48
|
+
*/
|
|
49
|
+
const inaccessibleDeviceIds: Set<string>;
|
|
50
|
+
type DeviceCameraChangeListener = (videoDevices: DeviceCamera[]) => void;
|
|
51
|
+
function addVideoDevicesListener(listener: DeviceCameraChangeListener): void;
|
|
52
|
+
function setMainCameraForPositionOverridesOnDesktop(cameraPosition: CameraPosition$1, deviceCamera: DeviceCamera): void;
|
|
53
|
+
/**
|
|
54
|
+
* used mainly for testing
|
|
55
|
+
*/
|
|
56
|
+
function clearMainCameraForPositionOverridesOnDesktop(): void;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* @param label The camera label.
|
|
60
|
+
* @returns Whether the label identifies the camera being the iOS front (main) camera one.
|
|
61
|
+
*/
|
|
62
|
+
function isIOSFrontCameraLabel(label: string): boolean;
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* @param label The camera label.
|
|
66
|
+
* @returns Whether the label identifies the camera being the iOS back (main) camera one.
|
|
67
|
+
*/
|
|
68
|
+
function isIOSBackCameraLabel(label: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* @param label The camera label.
|
|
72
|
+
* @returns Whether the label identifies the camera being the iOS Back Dual camera one.
|
|
73
|
+
*/
|
|
74
|
+
function isIOSBackDualWideCameraLabel(label: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
*
|
|
77
|
+
* @param label The camera label.
|
|
78
|
+
* @returns Whether the label identifies the camera being the iOS UltraWide back camera one.
|
|
79
|
+
*/
|
|
80
|
+
function isIOSUltraWideBackCameraLabel(label: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* Get the main camera for the given camera position.
|
|
84
|
+
*
|
|
85
|
+
* @param cameras The array of available [[DeviceCamera]] objects.
|
|
86
|
+
* @param cameraPosition The wanted camera position.
|
|
87
|
+
* @returns The main camera matching the wanted camera position.
|
|
88
|
+
*/
|
|
89
|
+
function getMainCameraForPosition(cameras: DeviceCamera[], cameraPosition: CameraPosition$1): DeviceCamera | undefined;
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* Sort the given cameras in order of priority of access based on the given camera position.
|
|
93
|
+
*
|
|
94
|
+
* @param cameras The array of available [[DeviceCamera]] objects.
|
|
95
|
+
* @param cameraPosition The preferred camera position.
|
|
96
|
+
* @returns The sorted cameras.
|
|
97
|
+
*/
|
|
98
|
+
function sortCamerasForCameraPosition<DeviceCameraLike extends DeviceCamera = DeviceCamera>(cameras: DeviceCameraLike[], cameraPosition: CameraPosition$1): DeviceCameraLike[];
|
|
99
|
+
/**
|
|
100
|
+
*
|
|
101
|
+
* Adjusts the camera's information based on the given currently active video stream.
|
|
102
|
+
*
|
|
103
|
+
* @param mediaStream The currently active `MediaStream` object.
|
|
104
|
+
* @param camera The currently active [[Camera]] object associated with the video stream.
|
|
105
|
+
*/
|
|
106
|
+
function adjustCameraFromMediaStream(mediaStream: MediaStream, camera: DeviceCamera): void;
|
|
107
|
+
/**
|
|
108
|
+
* Get a list of cameras (if any) available on the device, a camera access permission is requested to the user
|
|
109
|
+
* the first time this method is called if needed.
|
|
110
|
+
*
|
|
111
|
+
* If the user denies the necessary camera access permission, a list of cameras with the correct amount of devices is
|
|
112
|
+
* returned in any case, but the cameras will have no available (empty) label and deviceId and can thus not be
|
|
113
|
+
* accessed.
|
|
114
|
+
*
|
|
115
|
+
* If the browser is incompatible the returned promise is rejected with a `UnsupportedBrowserError` error.
|
|
116
|
+
*
|
|
117
|
+
* When refreshing available devices, if updated deviceId information is detected, cameras' deviceId are updated
|
|
118
|
+
* accordingly. This could happen after a camera access and stop in some situations.
|
|
119
|
+
*
|
|
120
|
+
* @param refreshDevices Force a call to refresh available video devices even when information is already available.
|
|
121
|
+
* @param cameraAlreadyAccessed Hint that a camera has already been accessed before, avoiding a possible initial
|
|
122
|
+
* camera access permission request on the first call, in cases this cannot be already reliably detected.
|
|
123
|
+
* @returns A promise resolving to the array of available [[Camera]] objects (could be empty).
|
|
124
|
+
*/
|
|
125
|
+
function getCameras(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<DeviceCamera[]>;
|
|
126
|
+
/**
|
|
127
|
+
*
|
|
128
|
+
* Get the *getUserMedia* *video* parameters to be used given a resolution fallback level and the browser used.
|
|
129
|
+
*
|
|
130
|
+
* @param cameraResolutionConstraint The resolution constraint.
|
|
131
|
+
* @returns The resulting *getUserMedia* *video* parameters.
|
|
132
|
+
*/
|
|
133
|
+
function getUserMediaVideoParameters(cameraResolutionConstraint: CameraResolutionConstraint, preferredAspectRatio?: AspectRatio): MediaTrackConstraints;
|
|
134
|
+
/**
|
|
135
|
+
*
|
|
136
|
+
* Mark a camera to be inaccessible and thus excluded from the camera list returned by [[getCameras]].
|
|
137
|
+
*
|
|
138
|
+
* @param camera The camera to mark to be inaccessible.
|
|
139
|
+
*/
|
|
140
|
+
function markCameraAsInaccessible(camera: DeviceCamera): void;
|
|
141
|
+
/**
|
|
142
|
+
*
|
|
143
|
+
* Try to access a given camera for video input at the given resolution level.
|
|
144
|
+
*
|
|
145
|
+
* If a camera is inaccessible because of errors, then it's added to the inaccessible device list. If the specific
|
|
146
|
+
* error is of type `OverconstrainedError` or `NotReadableError` however, this procedure is done later on via a
|
|
147
|
+
* separate external logic; also, in case of an error of type `NotAllowedError` (permission denied) this procedure is
|
|
148
|
+
* not executed, in order to possibly recover if and when the user allows the camera to be accessed again.
|
|
149
|
+
* This is done to allow checking if the camera can still be accessed via an updated deviceId when deviceId
|
|
150
|
+
* information changes, or if it should then be confirmed to be considered inaccessible.
|
|
151
|
+
*
|
|
152
|
+
* Depending on parameters, device features and user permissions for camera access, any of the following errors
|
|
153
|
+
* could be the rejected result of the returned promise:
|
|
154
|
+
* - `AbortError`
|
|
155
|
+
* - `NotAllowedError`
|
|
156
|
+
* - `NotFoundError`
|
|
157
|
+
* - `NotReadableError`
|
|
158
|
+
* - `SecurityError`
|
|
159
|
+
* - `OverconstrainedError`
|
|
160
|
+
*
|
|
161
|
+
* @param cameraResolutionConstraint The resolution constraint.
|
|
162
|
+
* @param camera The camera to try to access for video input.
|
|
163
|
+
* @returns A promise resolving to the `MediaStream` object coming from the accessed camera.
|
|
164
|
+
*/
|
|
165
|
+
function accessCameraStream(camera: DeviceCamera, cameraResolutionConstraint: CameraResolutionConstraint, preferredAspectRatio?: AspectRatio): Promise<MediaStream>;
|
|
166
|
+
}
|
|
167
|
+
//#endregion
|
|
168
|
+
//#region src/main/CameraRelated.d.ts
|
|
169
|
+
/**
|
|
170
|
+
* Private camera settings properties that are not part of the public API.
|
|
171
|
+
* These properties are accessed via getProperty/setProperty methods.
|
|
172
|
+
*/
|
|
173
|
+
interface PrivateCameraExtraProperties {
|
|
174
|
+
grayScaleFrameReader?: boolean;
|
|
175
|
+
exposureTargetBias?: number;
|
|
176
|
+
exposureDuration?: number;
|
|
177
|
+
minFrameRate?: number;
|
|
178
|
+
maxFrameRate?: number;
|
|
179
|
+
manualLensPosition?: number;
|
|
180
|
+
preferredAspectRatio?: AspectRatio;
|
|
181
|
+
repeatedTriggerInterval?: number;
|
|
182
|
+
}
|
|
183
|
+
declare enum FrameSourceState {
|
|
184
|
+
On = "on",
|
|
185
|
+
Off = "off",
|
|
186
|
+
Standby = "standby",
|
|
187
|
+
Starting = "starting",
|
|
188
|
+
Stopping = "stopping",
|
|
189
|
+
BootingUp = "bootingUp",
|
|
190
|
+
WakingUp = "wakingUp",
|
|
191
|
+
GoingToSleep = "goingToSleep",
|
|
192
|
+
ShuttingDown = "shuttingDown"
|
|
193
|
+
}
|
|
194
|
+
declare enum TorchState {
|
|
195
|
+
On = "on",
|
|
196
|
+
Off = "off"
|
|
197
|
+
}
|
|
198
|
+
declare enum CameraPosition {
|
|
199
|
+
WorldFacing = "worldFacing",
|
|
200
|
+
UserFacing = "userFacing"
|
|
201
|
+
}
|
|
202
|
+
declare enum VideoResolution {
|
|
203
|
+
/**
|
|
204
|
+
* @deprecated 8.0.0 Auto is deprecated. Please use the capture mode's recommendedCameraSettings for the best results.
|
|
205
|
+
*/
|
|
206
|
+
Auto = "auto",
|
|
207
|
+
HD = "hd",
|
|
208
|
+
FullHD = "fullHd",
|
|
209
|
+
UHD4K = "uhd4k"
|
|
210
|
+
}
|
|
211
|
+
declare enum FocusGestureStrategy {
|
|
212
|
+
None = "none",
|
|
213
|
+
Manual = "manual",
|
|
214
|
+
ManualUntilCapture = "manualUntilCapture",
|
|
215
|
+
AutoOnLocation = "autoOnLocation"
|
|
216
|
+
}
|
|
217
|
+
interface FrameSourceListener {
|
|
218
|
+
didChangeState?: (frameSource: FrameSource, newState: FrameSourceState) => void;
|
|
219
|
+
}
|
|
220
|
+
interface FrameSourceJSON {
|
|
221
|
+
type: string;
|
|
222
|
+
}
|
|
223
|
+
interface FrameSource extends Serializable<FrameSourceJSON> {
|
|
224
|
+
readonly desiredState: FrameSourceState;
|
|
225
|
+
getCurrentState: () => FrameSourceState;
|
|
226
|
+
switchToDesiredState: (desiredState: FrameSourceState) => Promise<void>;
|
|
227
|
+
addListener: (listener: FrameSourceListener) => void;
|
|
228
|
+
removeListener: (listener: FrameSourceListener) => void;
|
|
229
|
+
}
|
|
230
|
+
interface CameraSettingsJSONBase extends Partial<PrivateCameraExtraProperties> {
|
|
231
|
+
preferredResolution: string;
|
|
232
|
+
zoomFactor: number;
|
|
233
|
+
zoomGestureZoomFactor: number;
|
|
234
|
+
zoomLevels: number[];
|
|
235
|
+
api?: number;
|
|
236
|
+
}
|
|
237
|
+
interface CameraSettingsFromJSON extends CameraSettingsJSONBase {
|
|
238
|
+
focusGestureStrategy: string;
|
|
239
|
+
}
|
|
240
|
+
interface CameraSettingsJSON extends CameraSettingsJSONBase {
|
|
241
|
+
focus: {
|
|
242
|
+
focusGestureStrategy: string;
|
|
243
|
+
[key: string]: any;
|
|
244
|
+
};
|
|
245
|
+
[key: string]: any;
|
|
246
|
+
}
|
|
247
|
+
declare function isCameraFrameSource(frameSource?: FrameSource | null): frameSource is Camera;
|
|
248
|
+
declare class CameraSettings implements Serializable<CameraSettingsJSON> {
|
|
249
|
+
preferredResolution: VideoResolution;
|
|
250
|
+
zoomFactor: number;
|
|
251
|
+
/**
|
|
252
|
+
* @deprecated 8.4.0 Use {@link CameraSettings.zoomLevels} instead.
|
|
253
|
+
*/
|
|
254
|
+
zoomGestureZoomFactor: number;
|
|
255
|
+
zoomLevels: number[];
|
|
256
|
+
private focus;
|
|
257
|
+
get focusGestureStrategy(): FocusGestureStrategy;
|
|
258
|
+
set focusGestureStrategy(newStrategy: FocusGestureStrategy);
|
|
259
|
+
/**
|
|
260
|
+
* Copies private enumerable properties from a source object to this instance.
|
|
261
|
+
* @param source - The source object to copy properties from
|
|
262
|
+
*/
|
|
263
|
+
private copyPrivatePropertiesFrom;
|
|
264
|
+
private static fromJSON;
|
|
265
|
+
constructor();
|
|
266
|
+
constructor(settings: CameraSettings);
|
|
267
|
+
setProperty(name: string, value: any): void;
|
|
268
|
+
getProperty(name: string): any;
|
|
269
|
+
/**
|
|
270
|
+
* The resulting JSON must also contain properties set on the object itself ("hidden" properties)
|
|
271
|
+
*/
|
|
272
|
+
toJSONObject(): CameraSettingsJSON & Record<string, any>;
|
|
273
|
+
}
|
|
274
|
+
//#endregion
|
|
275
|
+
//#region src/main/ZoomListener.d.ts
|
|
276
|
+
interface ZoomListener {
|
|
277
|
+
onZoomLevelChanged(camera: Camera, oldLevel: number, newLevel: number): void;
|
|
278
|
+
}
|
|
279
|
+
//#endregion
|
|
280
|
+
//#region src/main/Camera.d.ts
|
|
281
|
+
interface CameraJSON extends FrameSourceJSON {
|
|
282
|
+
type: "camera";
|
|
283
|
+
position: CameraPosition;
|
|
284
|
+
settings: CameraSettingsJSON | Record<string, never>;
|
|
285
|
+
desiredState: FrameSourceState;
|
|
286
|
+
desiredTorchState: TorchState;
|
|
287
|
+
}
|
|
288
|
+
interface VideoFrameResolution {
|
|
289
|
+
readonly width: number;
|
|
290
|
+
readonly height: number;
|
|
291
|
+
}
|
|
292
|
+
declare class Camera implements FrameSource, Serializable<CameraJSON> {
|
|
293
|
+
private _label;
|
|
294
|
+
private _deviceId;
|
|
295
|
+
position: CameraPosition;
|
|
296
|
+
private _currentResolution?;
|
|
297
|
+
/** This flag is set to true when the present camera could not be mapped to a real device camera. This happens when
|
|
298
|
+
* device cameras were discovered but the reconciliation with existing cameras lead to unmapped instances.
|
|
299
|
+
* See CameraPool.ts for more details about reconciliation.
|
|
300
|
+
*/
|
|
301
|
+
private _notFoundOnDevice;
|
|
302
|
+
/**
|
|
303
|
+
* Internal flag to mark this instance as being the one for the best guess.
|
|
304
|
+
* This allows us to have Camera.pickBestGuess() === Camera.pickBestGuess()
|
|
305
|
+
*/
|
|
306
|
+
private _isBestGuess;
|
|
307
|
+
private readonly cameraManager;
|
|
308
|
+
private readonly type;
|
|
309
|
+
private readonly webGLContextLostListener;
|
|
310
|
+
private _currentState;
|
|
311
|
+
private _settings;
|
|
312
|
+
private _desiredTorchState;
|
|
313
|
+
private _desiredState;
|
|
314
|
+
private readonly listeners;
|
|
315
|
+
private readonly zoomListeners;
|
|
316
|
+
private _context;
|
|
317
|
+
private _desiredMirrorImageEnabled?;
|
|
318
|
+
private _lastCaptureRequestAnimationFrame?;
|
|
319
|
+
private _lastCanvasVideoPreviewAnimationFrame?;
|
|
320
|
+
private _isAndroidWebView?;
|
|
321
|
+
[INTERNAL_ACCESS]: {
|
|
322
|
+
markAsUnmappedToDeviceCameras: () => void;
|
|
323
|
+
resetUnmappedState: () => void;
|
|
324
|
+
setDeviceId: (deviceId: string) => void;
|
|
325
|
+
setLabel: (label: string) => void;
|
|
326
|
+
markAsBestGuess: () => void;
|
|
327
|
+
};
|
|
328
|
+
private _captureAndSendBound;
|
|
329
|
+
private readonly stateTransitionStrategyMap;
|
|
330
|
+
private currentTransitionStrategyPromise?;
|
|
331
|
+
private constructor();
|
|
332
|
+
/**
|
|
333
|
+
* Return a new camera with no constraints. We autoselect the world facing position by default. The CameraManager
|
|
334
|
+
* will figure out which of the device cameras will be the best match.
|
|
335
|
+
*/
|
|
336
|
+
static pickBestGuess(): Camera;
|
|
337
|
+
/**
|
|
338
|
+
* Return a new camera with no constraints except for the position. The CameraManager will figure out
|
|
339
|
+
* which of the device cameras will be the best match.
|
|
340
|
+
*/
|
|
341
|
+
static pickBestGuessForPosition(position: CameraPosition): Camera;
|
|
342
|
+
/**
|
|
343
|
+
* Return a camera instance with the deviceId set on it. If the camera was already created in the past, it will be
|
|
344
|
+
* returned instead of being created.
|
|
345
|
+
*/
|
|
346
|
+
static forDeviceId(deviceId: string): Camera;
|
|
347
|
+
/**
|
|
348
|
+
* Get all available cameras from the device. This may trigger a permission prompt to the user to access cameras.
|
|
349
|
+
*/
|
|
350
|
+
static getAll(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<Camera[]>;
|
|
351
|
+
private static getOrCreate;
|
|
352
|
+
/**
|
|
353
|
+
* Create a Camera instance from a low-level DeviceCamera instance.
|
|
354
|
+
*/
|
|
355
|
+
private static fromDeviceCamera;
|
|
356
|
+
get deviceId(): string;
|
|
357
|
+
get label(): string;
|
|
358
|
+
get desiredState(): FrameSourceState;
|
|
359
|
+
get settings(): CameraSettings;
|
|
360
|
+
get currentResolution(): VideoFrameResolution | null;
|
|
361
|
+
private setDeviceId;
|
|
362
|
+
private setLabel;
|
|
363
|
+
private get context();
|
|
364
|
+
private set context(value);
|
|
365
|
+
private get currentState();
|
|
366
|
+
switchToDesiredState(state: FrameSourceState): Promise<void>;
|
|
367
|
+
getDesiredTorchState(): TorchState;
|
|
368
|
+
setDesiredTorchState(desiredTorchState: TorchState): Promise<void>;
|
|
369
|
+
isTorchAvailable(): Promise<boolean>;
|
|
370
|
+
addListener(listener: FrameSourceListener | null): void;
|
|
371
|
+
removeListener(listener: FrameSourceListener | null): void;
|
|
372
|
+
addZoomListener(listener: ZoomListener): void;
|
|
373
|
+
removeZoomListener(listener: ZoomListener): void;
|
|
374
|
+
isZoomAvailable(): boolean;
|
|
375
|
+
applySettings(settings: CameraSettings): Promise<void>;
|
|
376
|
+
toJSONObject(): CameraJSON;
|
|
377
|
+
getMirrorImageEnabled(): boolean;
|
|
378
|
+
setMirrorImageEnabled(enabled: boolean): Promise<void>;
|
|
379
|
+
getCurrentState(): FrameSourceState;
|
|
380
|
+
setClipArea(area?: Rect): Promise<void>;
|
|
381
|
+
private setCurrentState;
|
|
382
|
+
/**
|
|
383
|
+
* Starts camera according to the given position. If a deviceId is set, pre-select the corresponding camera.
|
|
384
|
+
* The function returns as soon as the camera has started successfully and is active. The label and
|
|
385
|
+
* position properties reflect then the values found in the accessed stream.
|
|
386
|
+
*/
|
|
387
|
+
private setupCamera;
|
|
388
|
+
private markAsUnmappedToDeviceCameras;
|
|
389
|
+
private resetUnmappedState;
|
|
390
|
+
private markAsBestGuess;
|
|
391
|
+
private notifyContext;
|
|
392
|
+
private notifyListeners;
|
|
393
|
+
private updateCanvasVideoImage;
|
|
394
|
+
private captureAndSend;
|
|
395
|
+
/**
|
|
396
|
+
* Capture images from the video stream and send them to the context. If no context is set, the function will
|
|
397
|
+
* stop itself until called again. While no enabled mode is present in the context, the function will schedule itself
|
|
398
|
+
* again indefinitely without doing anything else.
|
|
399
|
+
*/
|
|
400
|
+
private startSendingCapturesToWorker;
|
|
401
|
+
private stopSendingCapturesToWorker;
|
|
402
|
+
private transitionFromStateOffToOn;
|
|
403
|
+
private transitionFromStateOffToStandby;
|
|
404
|
+
private transitionFromStateOnToOff;
|
|
405
|
+
private transitionFromStateOnToStandby;
|
|
406
|
+
private transitionFromStateStandbyToOff;
|
|
407
|
+
private transitionFromStateStandbyToOn;
|
|
408
|
+
private isAndroidWebView;
|
|
409
|
+
private notifyZoomListeners;
|
|
410
|
+
private notifyListenersOfZoomLevelChange;
|
|
411
|
+
}
|
|
412
|
+
//#endregion
|
|
413
|
+
export { DeviceCamera as C, CameraResolutionConstraint as S, VideoResolution as _, CameraPosition as a, CameraAccess as b, CameraSettingsJSON as c, FrameSource as d, FrameSourceJSON as f, TorchState as g, PrivateCameraExtraProperties as h, ZoomListener as i, CameraSettingsJSONBase as l, FrameSourceState as m, CameraJSON as n, CameraSettings as o, FrameSourceListener as p, VideoFrameResolution as r, CameraSettingsFromJSON as s, Camera as t, FocusGestureStrategy as u, isCameraFrameSource as v, CameraPosition$1 as x, AspectRatio as y };
|
package/build/js/Camera.d.ts
CHANGED
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
import './commons/Rect.js';
|
|
4
|
-
import './private/privateAccess.js';
|
|
5
|
-
import './private/Serializable.js';
|
|
6
|
-
import './commons/Point.js';
|
|
7
|
-
import './commons/Size.js';
|
|
1
|
+
import { n as CameraJSON, r as VideoFrameResolution, t as Camera } from "./Camera-C7TNwqRo.js";
|
|
2
|
+
export { Camera, CameraJSON, VideoFrameResolution };
|
package/build/js/Camera.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as Camera}from'./chunks/chunk-GMOTHEWV.js';
|
|
1
|
+
import{t as e}from"./browserHelper-BQPnAZ2Y.js";import{Logger as t}from"./logger.js";import{defaultCamera as n}from"./defaults/DefaultsCamera.js";import{CameraSettings as r}from"./CameraRelated.js";import{DataCaptureError as i}from"./DataCaptureError.js";import{CameraAccess as a}from"./private/CameraAccess.js";import"./private/FrameReaders/ColorType.js";import{t as o}from"./CameraManager-DskA2C7T.js";import{INTERNAL_ACCESS as s}from"./private/privateAccess.js";import{cameraPool as c}from"./private/CameraPool.js";import{areEqualArrays as l}from"./private/utils/areEqualArrays.js";a.addVideoDevicesListener(e=>{c.integrateIncomingVideoDevices(e.map(e=>u.fromDeviceCamera(e)))});var u=class u{constructor(e){this._label=``,this._deviceId=``,this._notFoundOnDevice=!1,this._isBestGuess=!1,this.type=`camera`,this._currentState=`off`,this._settings=new r,this._desiredTorchState=`off`,this._desiredState=`off`,this.listeners=[],this.zoomListeners=new Set,this._context=null,this[s]={markAsUnmappedToDeviceCameras:this.markAsUnmappedToDeviceCameras.bind(this),resetUnmappedState:this.resetUnmappedState.bind(this),setDeviceId:this.setDeviceId.bind(this),setLabel:this.setLabel.bind(this),markAsBestGuess:this.markAsBestGuess.bind(this)},this._captureAndSendBound=this.captureAndSend.bind(this),this.stateTransitionStrategyMap={off:{on:this.transitionFromStateOffToOn.bind(this),standby:this.transitionFromStateOffToStandby.bind(this)},on:{off:this.transitionFromStateOnToOff.bind(this),standby:this.transitionFromStateOnToStandby.bind(this)},standby:{off:this.transitionFromStateStandbyToOff.bind(this),on:this.transitionFromStateStandbyToOn.bind(this)}},this.cameraManager=e??o.instance()}static pickBestGuess(){return u.getOrCreate({position:`worldFacing`,bestGuess:!0})}static pickBestGuessForPosition(e){if(!n.availablePositions.includes(e))throw Error(`Invalid camera position: "${e}"`);return u.getOrCreate({position:e})}static forDeviceId(e){return u.getOrCreate({deviceId:e})}static async getAll(e,t){return await a.getCameras(e??!1,t??!1),[...c.get()]}static getOrCreate(e){let{deviceId:t,position:n,bestGuess:r}=e,i=new u;return i._deviceId=t??``,i.position=n??`worldFacing`,r&&i[s].markAsBestGuess(),c.getOrCreate(i)}static fromDeviceCamera(e){let t=new u;return t.position=e.position,t._deviceId=e.deviceId,t._label=e.label,t}get deviceId(){return this._deviceId}get label(){return this._label}get desiredState(){return this._desiredState}get settings(){return this._settings}get currentResolution(){return this._currentResolution??null}setDeviceId(e){this._deviceId=e}setLabel(e){this._label=e}get context(){return this._context}set context(e){this._context=e,this._context&&this.currentState===`on`&&this.startSendingCapturesToWorker()}get currentState(){return this._currentState}async switchToDesiredState(e){var n,r;if(this.currentTransitionStrategyPromise&&await this.currentTransitionStrategyPromise,this._notFoundOnDevice&&(e===`on`||e===`standby`))throw new i({message:`Cannot switch state to ${e}. This camera could not be mapped to a detected camera on the device. Please use another camera and delete this one.`,name:`Unmapped Camera`});return this.currentTransitionStrategyPromise=(n=this.stateTransitionStrategyMap[this.currentState])==null||(r=n[e])==null?void 0:r.call(n).catch(e=>{if(e instanceof DOMException&&e.message===`The associated Track is in an invalid state`){t.log(t.Level.Warn,e);return}throw e}),this.currentTransitionStrategyPromise}getDesiredTorchState(){return this._desiredTorchState}async setDesiredTorchState(e){this._desiredTorchState=e,await this.cameraManager.setTorchEnabled(this._desiredTorchState===`on`),await this.notifyContext({type:`torchState`,newValue:this._desiredTorchState})}async isTorchAvailable(){return this.cameraManager.isTorchAvailable()}addListener(e){e!=null&&(this.listeners.includes(e)||this.listeners.push(e))}removeListener(e){e!=null&&this.listeners.includes(e)&&this.listeners.splice(this.listeners.indexOf(e),1)}addZoomListener(e){this.zoomListeners.add(e)}removeZoomListener(e){this.zoomListeners.delete(e)}isZoomAvailable(){var e;return((e=this.cameraManager.mediaTrackCapabilities)==null?void 0:e.zoom)!=null}async getZoomRange(){var e;await this.cameraManager.waitForCapabilities();let t=(e=this.cameraManager.mediaTrackCapabilities)==null?void 0:e.zoom;return t?{min:t.min??null,max:t.max??null}:null}async setZoomFactor(e){let t=this._settings.zoomFactor;this._settings.zoomFactor=e,t!==e&&((this._currentState===`on`||this._currentState===`standby`)&&await this.cameraManager.setZoom(e),this.notifyZoomListeners(t,e)),await this.notifyContext({type:`cameraSettings`,newValue:this._settings})}async applySettings(e){let t=this._settings.zoomFactor,n=this._settings.zoomLevels;this._settings=new r(e);let i=this.settings.getProperty(`grayScaleFrameReader`);if(this.cameraManager.setFrameReaderType(i===!0?`GRAYSCALE`:`RGBA`),this.currentState===`on`||this.currentState===`standby`){let e=this.cameraManager.activeCameraSettings;if((e==null?void 0:e.preferredResolution)!==this.settings.preferredResolution){var a;await this.cameraManager.applyCameraSettings(this.settings),(a=this.cameraManager.activeCamera)!=null&&a.currentResolution&&(this._currentResolution={width:this.cameraManager.activeCamera.currentResolution.width,height:this.cameraManager.activeCamera.currentResolution.height})}await this.cameraManager.setZoom(this.settings.zoomFactor),t!==this.settings.zoomFactor&&this.notifyZoomListeners(t,this.settings.zoomFactor);let n=this.settings.getProperty(`minFrameRate`),r=this.settings.getProperty(`maxFrameRate`);(n!=null||r!=null)&&await this.cameraManager.setFrameRate({min:n,max:r});let i=this.settings.getProperty(`manualLensPosition`);i!=null&&await this.cameraManager.setFocus(i);let o=this.settings.getProperty(`exposureTargetBias`),s=this.settings.getProperty(`exposureDuration`);(o!=null||s!=null)&&await this.cameraManager.setExposure({compensation:o,time:s})}return this.notifyListenersOfZoomLevelChange(n,this.settings.zoomLevels),this.notifyContext({type:`cameraSettings`,newValue:this.settings})}toJSONObject(){return{type:this.type,position:this.position,settings:this.settings.toJSONObject(),desiredState:this.desiredState,desiredTorchState:this._desiredTorchState}}getMirrorImageEnabled(){return this._desiredMirrorImageEnabled??this.cameraManager.isMirrorImageEnabled()}async setMirrorImageEnabled(e){this._desiredMirrorImageEnabled=e,this.cameraManager.setMirrorImageEnabled(e,!0),this.context&&await this.context.setFrameSource(this)}getCurrentState(){return this._currentState}async setClipArea(e){await this.cameraManager.setClipArea(e)}async setCurrentState(e){if(e!==this._currentState){this._currentState=e,this.notifyListeners();try{await this.notifyContext({type:`frameSourceState`,newValue:e}),e===`on`&&this.startSendingCapturesToWorker()}catch{t.warn(`Error while notifying context about new state of Camera`)}}}async setupCamera(){if(this.cameraManager.setSelectedCameraSettings(this.settings),this.deviceId===``)this.cameraManager.setSelectedCamera(),this.cameraManager.setInitialCameraPosition(this.position);else{let e=(await a.getCameras()).find(e=>e.deviceId===this.deviceId);e&&(this.cameraManager.setInitialCameraPosition(e.position),this.cameraManager.setSelectedCamera(e))}await this.cameraManager.setupCameras(),typeof this._desiredMirrorImageEnabled==`boolean`?this.cameraManager.setMirrorImageEnabled(this._desiredMirrorImageEnabled,!0):this.cameraManager.setMirrorImageEnabled(this.cameraManager.isMirrorImageEnabled(),!1),this.context&&await this.context.setFrameSource(this),this.cameraManager.activeCamera&&(c.rebindToDeviceId(this,{deviceId:this.cameraManager.activeCamera.deviceId,label:this.cameraManager.activeCamera.label,position:this.cameraManager.activeCamera.position}),this._currentResolution=this.cameraManager.activeCamera.currentResolution)}markAsUnmappedToDeviceCameras(){this._notFoundOnDevice=!0}resetUnmappedState(){this._notFoundOnDevice=!1}markAsBestGuess(){this._isBestGuess=!0}async notifyContext(e){if(this.context)return this.context.update([e])}notifyListeners(){for(let e of this.listeners)e.didChangeState&&e.didChangeState(this,this.currentState)}updateCanvasVideoImage(){this.currentState===`on`&&this.context&&(this.cameraManager.updateCanvasVideoImage(),this._lastCanvasVideoPreviewAnimationFrame=this.cameraManager.requestVideoFrame(this.updateCanvasVideoImage.bind(this)))}async captureAndSend(){if(this.currentState!==`on`||!this.context)return;if(!this.context.hasEnabledMode()){this._lastCaptureRequestAnimationFrame=this.cameraManager.requestVideoFrame(this._captureAndSendBound);return}let e=null;try{e=this.cameraManager.captureImage()}catch(e){t.warn(`Camera: error while capturing image.`,e)}finally{if(e!=null)if(this.cameraManager.synchronousFrameHandling){let t=await this.context.sendFrameToProcessor(e);this.cameraManager.recycle(t.data)}else this.context.sendFrameToProcessor(e).then(e=>(this.cameraManager.recycle(e.data),null)).catch(e=>{t.warn(`error while recycling uint8array`,e)});this._lastCaptureRequestAnimationFrame=this.cameraManager.requestVideoFrame(this._captureAndSendBound)}}startSendingCapturesToWorker(){this.stopSendingCapturesToWorker(),this.captureAndSend()}stopSendingCapturesToWorker(){this._lastCanvasVideoPreviewAnimationFrame!=null&&this.cameraManager.cancelVideoFrame(this._lastCanvasVideoPreviewAnimationFrame),this._lastCaptureRequestAnimationFrame!=null&&this.cameraManager.cancelVideoFrame(this._lastCaptureRequestAnimationFrame)}async transitionFromStateOffToOn(){if(!(this.currentState===`on`||this.currentState===`starting`||this.currentState===`wakingUp`)){this._desiredState=`on`,await this.setCurrentState(`starting`);try{await this.setupCamera(),await this.setCurrentState(`on`)}catch(e){throw t.log(t.Level.Error,e),await this.setCurrentState(`off`),e}}}async transitionFromStateOffToStandby(){if(!(this.currentState===`standby`||this.currentState===`bootingUp`||this.currentState===`goingToSleep`)){if(await this.isAndroidWebView()){t.log(t.Level.Warn,`Warning: "Standby" state does not work inside web views. Falling back to state "On".`),await this.transitionFromStateOffToOn();return}this._desiredState=`standby`,await this.setCurrentState(`bootingUp`);try{await this.setupCamera(),this.cameraManager.pauseStream(),await this.setCurrentState(`standby`)}catch(e){throw t.log(t.Level.Error,e),await this.setCurrentState(`off`),e}await this.setCurrentState(`standby`),await this.setDesiredTorchState(`off`)}}async transitionFromStateOnToOff(){this.currentState===`off`||this.currentState===`stopping`||(this._desiredState=`off`,await this.setCurrentState(`stopping`),await this.cameraManager.stopStream(),await this.setCurrentState(`off`),await this.setDesiredTorchState(`off`))}async transitionFromStateOnToStandby(){if(!(this.currentState===`standby`||this.currentState===`bootingUp`||this.currentState===`goingToSleep`)){if(await this.isAndroidWebView()){t.log(t.Level.Warn,`Warning: "Standby" state does not work inside web views. Falling back to state "Off".`),await this.transitionFromStateOnToOff();return}this._desiredState=`standby`,await this.setCurrentState(`goingToSleep`),this.cameraManager.pauseStream(),await this.setCurrentState(`standby`),await this.setDesiredTorchState(`off`)}}async transitionFromStateStandbyToOff(){this.currentState===`off`||this.currentState===`stopping`||(this._desiredState=`off`,await this.setCurrentState(`shuttingDown`),await this.cameraManager.stopStream(),await this.setCurrentState(`off`),await this.setDesiredTorchState(`off`))}async transitionFromStateStandbyToOn(){this.currentState===`on`||this.currentState===`starting`||this.currentState===`wakingUp`||(this._desiredState=`on`,await this.setCurrentState(`wakingUp`),this.cameraManager.resumeStream(),await this.setCurrentState(`on`))}async isAndroidWebView(){return this._isAndroidWebView??=await e.isAndroidWebView(),this._isAndroidWebView}notifyZoomListeners(e,t){for(let n of this.zoomListeners)n.onZoomLevelChanged(this,e,t)}notifyListenersOfZoomLevelChange(e,t){if(!l(e,t))for(let e of this.zoomListeners){var n;(n=e.onZoomLevelsChanged)==null||n.call(e,this,t)}}};export{u as Camera};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import{t as e}from"./browserHelper-BQPnAZ2Y.js";import{Logger as t}from"./logger.js";import"./browserCompatibility.js";import"./CameraRelated.js";import{DataCaptureError as n}from"./DataCaptureError.js";import{CameraAccess as r}from"./private/CameraAccess.js";import"./private/FrameReaders/ColorType.js";import{FrameReaderAbstract as i}from"./private/FrameReaders/FrameReaderAbstract.js";import{WatermarkStack as a}from"./private/FrameReaders/WatermarkStack.js";import{createProgram as o,createShader as s}from"./private/FrameReaders/webglUtilities.js";import{getTimestamp as c}from"./private/utils/getTimestamp.js";import{Point as l}from"./commons/Point.js";import{Rect as u}from"./commons/Rect.js";import{Size as d}from"./commons/Size.js";import{defaultViewClassnames as f}from"./DefaultViewClassnames.js";import{cameraPool as p}from"./private/CameraPool.js";import{debounce as m}from"./private/utils/debounce.js";import{cancelSafeRequestAnimationFrame as h,safeRequestAnimationFrame as g}from"./private/utils/safeRequestAnimationFrame.js";import{assertUnreachable as _}from"./tsHelper.js";import{transparentPixelImage as v}from"./assets/transparentPixelImage.js";var y=class extends i{constructor(...e){super(...e),this.colorType=`RGBA`}get _initialized(){return this._texture!=null&&this._framebuffer!=null}readFromSource(e){this._initialized||this.setup(),this.updateFrameSizeIfNeeded();let t=this._framePool.pop();return this._contextWebGL.texImage2D(this._contextWebGL.TEXTURE_2D,0,this._contextWebGL.RGBA,this._contextWebGL.RGBA,this._contextWebGL.UNSIGNED_BYTE,e),this._contextWebGL.readPixels(0,0,this._contextWebGL.drawingBufferWidth,this._contextWebGL.drawingBufferHeight,this._contextWebGL.RGBA,this._contextWebGL.UNSIGNED_BYTE,t),{width:this._contextWebGL.drawingBufferWidth,height:this._contextWebGL.drawingBufferHeight,data:t,frameId:C(),colorType:this.colorType}}setup(){this._texture=this._contextWebGL.createTexture(),this._texture??t.warn(`Could not create texture from WebGLRenderingContext`),this._contextWebGL.bindTexture(this._contextWebGL.TEXTURE_2D,this._texture),this._framebuffer=this._contextWebGL.createFramebuffer(),this._framebuffer??t.warn(`Could not create frameBuffer from WebGLRenderingContext`),this._contextWebGL.bindFramebuffer(this._contextWebGL.FRAMEBUFFER,this._framebuffer),this._contextWebGL.framebufferTexture2D(this._contextWebGL.FRAMEBUFFER,this._contextWebGL.COLOR_ATTACHMENT0,this._contextWebGL.TEXTURE_2D,this._texture,0),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_WRAP_S,this._contextWebGL.CLAMP_TO_EDGE),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_WRAP_T,this._contextWebGL.CLAMP_TO_EDGE),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_MIN_FILTER,this._contextWebGL.NEAREST),this._contextWebGL.texParameteri(this._contextWebGL.TEXTURE_2D,this._contextWebGL.TEXTURE_MAG_FILTER,this._contextWebGL.NEAREST)}dispose(){var e;this._texture!=null&&(this._contextWebGL.deleteTexture(this._texture),this._texture=null),this._framebuffer!=null&&(this._contextWebGL.deleteFramebuffer(this._framebuffer),this._framebuffer=null),(e=this._framePool)==null||e.empty()}updateFrameSizeIfNeeded(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this._contextWebGL,n=e*t*4;if(this._frameSize!==n){var r;this._frameSize=n,(r=this._framePool)==null||r.empty(),this._framePool=new a({capacity:this._maxPoolCapacity,lowWaterMark:this._minPoolCapacity,createItem:()=>new Uint8ClampedArray(this._frameSize)})}}},b=class extends i{constructor(e,t){super(e,t),this.colorType=`GRAYSCALE`,this._useRgbaFallback=!1,this._positions=new Float32Array([-1,-1,-1,1,1,-1,1,-1,-1,1,1,1]),this._canvas=document.createElement(`canvas`)}get _webglContext(){if(!this._ctx){var e;if(this._ctx=(e=this._canvas)==null?void 0:e.getContext(`webgl`,{antialias:!1}),!this._ctx)throw Error(`Cannot get WebGL context`);this.setup()}return this._ctx}readFromSource(e){var n;let r=(e==null?void 0:e.videoWidth)??this._contextWebGL.drawingBufferWidth,i=r%4!=0;if(i!==this._useRgbaFallback&&(i?(t.debug(`[GrayScaleFrameReader] Video width not divisible by 4, falling back to RGBA reader for better performance`,{width:r}),this._rgbaFallbackReader||(this._rgbaFallbackReader=new y(this._contextWebGL,{minPoolCapacity:this._minPoolCapacity,maxPoolCapacity:this._maxPoolCapacity}),this._rgbaFallbackReader.setup())):t.log(t.Level.Info,`[GrayScaleFrameReader] Video width now divisible by 4, using optimized grayscale reader`,{width:r}),this._useRgbaFallback=i),this._useRgbaFallback&&this._rgbaFallbackReader)return this._rgbaFallbackReader.readFromSource(e);this.updateCanvasSizeIfNeeded(),this.updateFrameSizeIfNeeded();let{drawingBufferWidth:a,drawingBufferHeight:o,TEXTURE_2D:s,RGBA:c,UNSIGNED_BYTE:l,TRIANGLES:u}=this._webglContext;this._webglContext.viewport(0,0,a,o);let d=this._webglContext.getUniformLocation(this._shaderProgram,`x_spacing`),f=1/r;this._webglContext.uniform1f(d,f),this._webglContext.texImage2D(s,0,c,c,l,e),this._webglContext.drawArrays(u,0,6);let p=(n=this._framePool)==null?void 0:n.pop();if(!p)throw Error(`Frame pool found empty!`);let m=a*o*4;return p.length!==m&&(t.warn(`[GrayScaleFrameReader] Buffer from pool has wrong size, allocating new one`,{bufferLength:p.length,requiredSize:m}),p=new Uint8ClampedArray(m)),this._webglContext.readPixels(0,0,a,o,c,l,p),{width:r,height:o,data:new Uint8ClampedArray(p.buffer,0,r*o),frameId:C(),colorType:`GRAYSCALE`}}setup(){this.initShaderProgram(),this.initBuffers(),this.initTexture()}dispose(){var e;this._ctx&&=(this._shaderProgram&&=(this._ctx.deleteProgram(this._shaderProgram),null),this._positionBuffer&&=(this._ctx.deleteBuffer(this._positionBuffer),null),this._texture&&=(this._ctx.deleteTexture(this._texture),null),null),this._rgbaFallbackReader&&=(this._rgbaFallbackReader.dispose(),null),(e=this._framePool)==null||e.empty(),this._canvas=void 0}updateCanvasSizeIfNeeded(){if(!this._canvas)return;let e=Math.ceil(this._contextWebGL.drawingBufferWidth/4);(this._canvas.width!==e||this._canvas.height!==this._contextWebGL.drawingBufferHeight)&&(this._canvas.width=e,this._canvas.height=this._contextWebGL.drawingBufferHeight)}updateFrameSizeIfNeeded(){let{drawingBufferWidth:e,drawingBufferHeight:t}=this._webglContext,n=e*t*4;this._frameSize!==n&&(this._frameSize=n,this._framePool&&this._framePool.empty(),this._framePool=new a({capacity:this._maxPoolCapacity,lowWaterMark:this._minPoolCapacity,createItem:()=>new Uint8ClampedArray(this._frameSize)}))}initShaderProgram(){let e=s(this._webglContext,this._webglContext.VERTEX_SHADER,`
|
|
2
|
+
attribute vec2 a_position;
|
|
3
|
+
varying vec2 v_texcoord;
|
|
4
|
+
|
|
5
|
+
void main() {
|
|
6
|
+
gl_Position = vec4(a_position, 0, 1);
|
|
7
|
+
v_texcoord = a_position * 0.5 + 0.5;
|
|
8
|
+
}
|
|
9
|
+
`),t=s(this._webglContext,this._webglContext.FRAGMENT_SHADER,`
|
|
10
|
+
precision mediump float;
|
|
11
|
+
varying vec2 v_texcoord;
|
|
12
|
+
uniform sampler2D u_texture;
|
|
13
|
+
uniform float x_spacing; // Uniform for x-spacing between pixels
|
|
14
|
+
|
|
15
|
+
// Function to calculate grayscale
|
|
16
|
+
float toGray(vec4 color) {
|
|
17
|
+
return dot(color.rgb, vec3(0.299, 0.587, 0.114));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
void main() {
|
|
21
|
+
// Sample adjacent pixels with spacing of 1/width
|
|
22
|
+
vec4 a = texture2D(u_texture, v_texcoord + vec2(0.0 * x_spacing, 0.0));
|
|
23
|
+
vec4 b = texture2D(u_texture, v_texcoord + vec2(1.0 * x_spacing, 0.0));
|
|
24
|
+
vec4 c = texture2D(u_texture, v_texcoord + vec2(2.0 * x_spacing, 0.0));
|
|
25
|
+
vec4 d = texture2D(u_texture, v_texcoord + vec2(3.0 * x_spacing, 0.0));
|
|
26
|
+
|
|
27
|
+
// Calculate grayscale values
|
|
28
|
+
float grayscaleA = toGray(a);
|
|
29
|
+
float grayscaleB = toGray(b);
|
|
30
|
+
float grayscaleC = toGray(c);
|
|
31
|
+
float grayscaleD = toGray(d);
|
|
32
|
+
|
|
33
|
+
// Set the final color with grayscale values
|
|
34
|
+
gl_FragColor = vec4(grayscaleA, grayscaleB, grayscaleC, grayscaleD);
|
|
35
|
+
}`);if(!e||!t)throw Error(`Shaders cannot be created`);this._shaderProgram=o(this._webglContext,e,t),this._webglContext.useProgram(this._shaderProgram)}initBuffers(){this._positionBuffer=this._webglContext.createBuffer(),this._webglContext.bindBuffer(this._webglContext.ARRAY_BUFFER,this._positionBuffer),this._webglContext.bufferData(this._webglContext.ARRAY_BUFFER,this._positions,this._webglContext.STATIC_DRAW);let e=this._webglContext.getAttribLocation(this._shaderProgram,`a_position`);this._webglContext.enableVertexAttribArray(e),this._webglContext.bindBuffer(this._webglContext.ARRAY_BUFFER,this._positionBuffer),this._webglContext.vertexAttribPointer(e,2,this._webglContext.FLOAT,!1,0,0)}initTexture(){this._texture=this._webglContext.createTexture(),this._webglContext.bindTexture(this._webglContext.TEXTURE_2D,this._texture),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_WRAP_S,this._webglContext.CLAMP_TO_EDGE),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_WRAP_T,this._webglContext.CLAMP_TO_EDGE),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_MIN_FILTER,this._webglContext.LINEAR),this._webglContext.texParameteri(this._webglContext.TEXTURE_2D,this._webglContext.TEXTURE_MAG_FILTER,this._webglContext.LINEAR);let e=this._webglContext.getUniformLocation(this._shaderProgram,`u_texture`);this._webglContext.uniform1i(e,0)}};let x=function(e){return e.CONTINUOUS=`continuous`,e.MANUAL=`manual`,e.NONE=`none`,e.SINGLE_SHOT=`single-shot`,e}({}),S=function(e){return e[e.ULTRA_HD=0]=`ULTRA_HD`,e[e.FULL_HD=1]=`FULL_HD`,e[e.HD=2]=`HD`,e[e.SD=3]=`SD`,e[e.NONE=4]=`NONE`,e}({});function C(){return c()}let w=function(e){return e.CAMERA_PROPERTIES=`cameraProperties`,e.CAMERA_ACCESS_ERROR=`cameraAccessError`,e}({});var T=class i{constructor(){this.constraint=4,this.checkCameraVideoStreamAccessIfVisibleListener=this.checkCameraVideoStreamAccessIfVisible.bind(this),this.handleWebGLContextLostListener=this.handleWebGLContextLost.bind(this),this.listeners=new Map,this.mirrorImageOverrides=new Map,this.postStreamInitializationListener=this.postStreamInitialization.bind(this),this.triggerManualFocusListener=this.triggerManualFocus.bind(this),this.videoResizeListener=m(this.handleVideoResize.bind(this),500),this.videoTrackEndedListener=this.videoTrackEndedRecovery.bind(this),this.videoTrackMuteListener=this.videoTrackMuteRecovery.bind(this),this._synchronousFrameHandling=!1,this._glFrameReaders={GRAYSCALE:null,RGBA:null},this._frameReaderType=`RGBA`,this.isVideoStreamPaused=!1,this.handleVideoPauseHandler=this.handleVideoPause.bind(this),this.cameraPosition=`worldFacing`,this.gui={isCameraRecoveryVisible:()=>!1,setCameraRecoveryVisible:()=>{}},this.isWebGLSupported=!e.checkBrowserCompatibility().missingFeatures.includes(`webGL`),this.videoElement=document.createElement(`video`),this.videoElement.autoplay=!0,this.videoElement.playsInline=!0,this.videoElement.setAttribute(`playsinline`,`true`),this.videoElement.setAttribute(`webkit-playsinline`,`true`),this.videoElement.muted=!0,this.videoElement.style.opacity=`0`,this.videoElement.poster=v,this.canvas=document.createElement(`canvas`),this.canvas.addEventListener(`webglcontextlost`,this.handleWebGLContextLostListener)}get mediaStream(){return this._mediaStream}set mediaStream(e){this._mediaStream=e,e&&(this.mediaTrackCapabilitiesPromise=new Promise(e=>{this.mediaTrackCapabilitiesPromiseResolver=e}))}get synchronousFrameHandling(){return this._synchronousFrameHandling}get canvas2dContext(){return this._canvas2dContext||(this._canvas2dContext=this.canvas.getContext(`2d`,{willReadFrequently:!0}),this._canvas2dContext??t.warn(`Unable to get 2d canvas context`),this.handleVideoResize()),this._canvas2dContext}get canvasWebGLContext(){if(!this._canvas2dContext&&!this._canvasWebGLContext){if(!this.isWebGLSupported){t.warn(`WebGL context not supported, falling back to 2d canvas context. This may impact the scanning performance.`);return}let e=this.canvas.getContext(`webgl`,{alpha:!1,antialias:!1})??this.canvas.getContext(`experimental-webgl`,{alpha:!1,antialias:!1});e!=null&&(this._canvasWebGLContext=e,this.handleVideoResize())}return this._canvasWebGLContext}static instance(){return i._instance??=new i,i._instance}dispose(){p.clear(),i._instance=null}recycle(e){var t;(t=this.getFrameReader())==null||t.recycle(e)}getCurrentFrame(){var e;return(e=this._glFrameReaders.RGBA)==null?void 0:e.readFromSource(this.videoElement)}requestVideoFrame(e,t=this.videoElement){return`requestVideoFrameCallback`in HTMLVideoElement.prototype?t.requestVideoFrameCallback(e):g(e)}cancelVideoFrame(e,t=this.videoElement){if(`cancelVideoFrameCallback`in HTMLVideoElement.prototype){t.cancelVideoFrameCallback(e);return}h(e)}addListener(e,t){let n=this.listeners.get(e)??[];n.includes(t)||this.listeners.set(e,[...n,t])}async applyCameraSettings(e){if(this.selectedCameraSettings=e,this.activeCamera==null)throw new n(i.noCameraErrorParameters);return this.initializeCameraWithSettings(this.activeCamera,e)}captureImage(){var e;if(((e=this.mediaStream)==null?void 0:e.active)!=null){if(this.canvasWebGLContext!=null)return this.captureImageForWebGLContext();if(this.canvas2dContext!=null)return this.captureImageFor2dContext()}return null}async initializeCameraWithSettings(e,t,r=`off`){if(this.cameraInitializationPromise&&await this.cameraInitializationPromise,e==null)throw new n(i.noCameraErrorParameters);return this.setSelectedCamera(e),this.selectedCameraSettings=t,this.activeCameraSettings=t,this.cameraInitializationPromise=this.initializeCameraAndCheckUpdatedSettings(e,r),this.cameraInitializationPromise}isMirrorImageEnabled(){return this.selectedCamera&&this.activeCamera?this.mirrorImageOverrides.get(this.activeCamera)??this.activeCamera.position===`userFacing`:!1}isTapToFocusEnabled(){return this.tapToFocusEnabled}async isTorchAvailable(){if(this.mediaStream){var e;return await this.waitForCapabilities(),((e=this.mediaTrackCapabilities)==null?void 0:e.torch)===!0}return!1}async playVideo(){return new Promise(e=>{this._canvas2dContext&&this._canvas2dContext.clearRect(0,0,this.canvas.width,this.canvas.height);let t=this.videoElement.play();t==null?e():t.then(e).catch(()=>{e()})})}async reinitializeCamera(){if(this.activeCamera==null)t.debug(`Camera reinitialization delayed`);else{t.debug(`Reinitialize camera:`,this.activeCamera);try{let e=this.activeCamera,t=this.torchEnabled?`on`:`off`;await this.stopStream(),await this.initializeCameraWithSettings(e,this.activeCameraSettings,t)}catch(e){throw t.warn(`Couldn't access camera:`,this.activeCamera,e),this.emit(`cameraAccessError`,e),e}}}removeListener(e,t){let n=(this.listeners.get(e)??[]).filter(e=>e!==t);this.listeners.set(e,n)}async setCameraPosition(e){var t;this.setInitialCameraPosition(e);let n=r.getMainCameraForPosition(await r.getCameras(),e);if(n&&n.deviceId!==((t=this.selectedCamera)==null?void 0:t.deviceId))return this.initializeCameraWithSettings(n,this.selectedCameraSettings)}async setExposure(e){var t,n;let r=((t=this.mediaStream)==null?void 0:t.getVideoTracks())??[];if(r.length===0||typeof r[0].applyConstraints!=`function`)return;await this.waitForCapabilities();let i=e.time!=null&&e.time>0?`manual`:`continuous`;if(((n=this.mediaTrackCapabilities)==null||(n=n.exposureMode)==null?void 0:n.includes(i))===!0){if(await r[0].applyConstraints({advanced:[{exposureMode:i}]}),e.time!=null&&e.time>0&&this.mediaTrackCapabilities.exposureTime){let t=Math.max(this.mediaTrackCapabilities.exposureTime.min??.01,Math.min(e.time,this.mediaTrackCapabilities.exposureTime.max??1e5));await r[0].applyConstraints({advanced:[{exposureTime:t}]})}else if(e.compensation!=null&&i===`continuous`&&this.mediaTrackCapabilities.exposureCompensation){let t=Math.max(this.mediaTrackCapabilities.exposureCompensation.min??-10,Math.min(e.compensation,this.mediaTrackCapabilities.exposureCompensation.max??10));await r[0].applyConstraints({advanced:[{exposureCompensation:t}]})}}}async setFocus(e){if(!this.mediaStream)return;let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints==`function`){var n;await this.waitForCapabilities();let r=e>=0?`manual`:`continuous`;if(((n=this.mediaTrackCapabilities)==null||(n=n.focusMode)==null?void 0:n.includes(r))===!0&&(await t[0].applyConstraints({advanced:[{focusMode:r}]}),r===`manual`&&this.mediaTrackCapabilities.focusDistance)){let n=Math.max(0,Math.min(e,1))*((this.mediaTrackCapabilities.focusDistance.max??1e3)-(this.mediaTrackCapabilities.focusDistance.min??.01))+(this.mediaTrackCapabilities.focusDistance.min??.01);await t[0].applyConstraints({advanced:[{focusDistance:n}]})}}}async setFrameRate(e){var t;if(this.mediaStream&&(await this.waitForCapabilities(),(t=this.mediaTrackCapabilities)!=null&&t.frameRate)){let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints==`function`){let n=Math.min(this.mediaTrackCapabilities.frameRate.max??240,e.max??240);await t[0].applyConstraints({advanced:[{frameRate:n}]})}}}setInitialCameraPosition(e){this.cameraPosition=e}setInteractionOptions(e,t){this.torchToggleEnabled=e,this.tapToFocusEnabled=t}setMirrorImageEnabled(e,t){this.selectedCamera&&(e?(this.videoElement.classList.add(i.MIRRORED_CLASS_NAME),this.canvas.classList.add(i.MIRRORED_CLASS_NAME)):(this.videoElement.classList.remove(i.MIRRORED_CLASS_NAME),this.canvas.classList.remove(i.MIRRORED_CLASS_NAME)),t&&this.mirrorImageOverrides.set(this.selectedCamera,e))}setSelectedCamera(e){this.selectedCamera=e}setSelectedCameraSettings(e){this.selectedCameraSettings=e}setTapToFocusEnabled(e){this.tapToFocusEnabled=e,this.mediaStream&&(this.tapToFocusEnabled?this.enableTapToFocusListeners():this.disableTapToFocusListeners())}async setTorchEnabled(e){var t;if(this.mediaStream&&(await this.waitForCapabilities(),((t=this.mediaTrackCapabilities)==null?void 0:t.torch)===!0)){this.torchEnabled=e;let t=this.mediaStream.getVideoTracks();t.length>0&&typeof t[0].applyConstraints==`function`&&await t[0].applyConstraints({advanced:[{torch:e}]})}}async setZoom(e){var t;if(this.mediaStream&&(await this.waitForCapabilities(),(t=this.mediaTrackCapabilities)!=null&&t.zoom)){let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints==`function`){let n=Math.max(this.mediaTrackCapabilities.zoom.min??1,Math.min(e,this.mediaTrackCapabilities.zoom.max??16));await t[0].applyConstraints({advanced:[{zoom:n}]})}}}async setupCameras(){if(this.cameraSetupPromise)return this.cameraSetupPromise;let e=this.isVideoStreamPaused;return this.cameraSetupPromise=this.setupCamerasAndStream(),this.cameraSetupPromise.then(()=>{e||(this.isVideoStreamPaused=!1)})}pauseStream(){if(this.mediaStream){for(let e of this.mediaStream.getVideoTracks())e.enabled=!1;this.isVideoStreamPaused=!0,t.debug(`Paused camera video stream`,this.mediaStream)}}resumeStream(){if(this.mediaStream){for(let e of this.mediaStream.getVideoTracks())e.enabled=!0;this.isVideoStreamPaused=!1,t.debug(`Resumed camera video stream`,this.mediaStream)}}async stopStream(e=!1){this.activeCamera&&(this.activeCamera.currentResolution=void 0),this.activeCamera=void 0,this.torchEnabled=!1,this.isVideoStreamPaused=!1,this.mediaStream&&(t.debug(`Stop camera video stream access${e?` (abort access detection)`:``}:`,this.mediaStream),t.debug(`Stopping camera video stream access`,this.mediaStream),document.removeEventListener(`visibilitychange`,this.checkCameraVideoStreamAccessIfVisibleListener),window.clearTimeout(this.cameraAccessTimeout),window.clearInterval(this.videoMetadataCheckInterval),window.clearTimeout(this.getCapabilitiesTimeout),window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),window.clearInterval(this.autofocusInterval),this.videoElement.pause(),await new Promise(t=>{setTimeout(()=>{var n;for(let e of((n=this.mediaStream)==null?void 0:n.getVideoTracks())??[])e.removeEventListener(`ended`,this.videoTrackEndedListener),e.stop();if(this.videoElement.srcObject=null,this._canvas2dContext&&this._canvas2dContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.mediaStream=void 0,this.mediaTrackCapabilities=void 0,this.mediaTrackCapabilitiesPromise=void 0,this.mediaTrackCapabilitiesPromiseResolver=void 0,!e){var r;(r=this.abortedCameraInitializationResolveCallback)==null||r.call(this)}t()},0)}))}stopVideoTracks(){if(this.mediaStream!=null)for(let e of this.mediaStream.getVideoTracks())e.stop()}async toggleTorch(){this.torchEnabled=!this.torchEnabled,await this.setTorchEnabled(this.torchEnabled)}updateCanvasVideoImage(){this.canvas2dContext.drawImage(this.videoElement,0,0)}async waitForCapabilities(){return this.mediaTrackCapabilitiesPromise??Promise.resolve()}setFrameReaderType(e){e!==this._frameReaderType&&(this._frameReaderType=e,t.log(t.Level.Debug,`Change frame reader type to ${this._frameReaderType} mode`))}async allowPictureInPicture(e){e?(this.videoElement.disablePictureInPicture=!1,this.videoElement.removeAttribute(`controlslist`),this.videoElement.removeAttribute(`disablepictureinpicture`)):(this.videoElement.disablePictureInPicture=!0,this.videoElement.setAttribute(`controlslist`,`nodownload`),this.videoElement.setAttribute(`disablepictureinpicture`,`true`)),await this.reinitializeCamera()}setFrameHandling(e){var t;this._synchronousFrameHandling=e,this._frameReaderOptions=this.getFrameReaderOptions(e),(t=this._glFrameReaders[this._frameReaderType])==null||t.dispose(),delete this._glFrameReaders[this._frameReaderType]}async setClipArea(e){if(this.activeCamera&&this.isVideoAndContextStateValid()){this.clipArea=e?this.frameRectFromViewRect(e):void 0,await this.initializeStreamForResolution(this.activeCamera,this.constraint,this.isVideoStreamPaused);return}this.clipArea=e}frameRectFromViewRect(e){let t=this.videoElement.videoWidth/this.videoElement.clientWidth||1,n=this.videoElement.videoHeight/this.videoElement.clientHeight||1;return new u(new l(e.origin.x*t,e.origin.y*n),new d(e.size.width*t,e.size.height*n))}async accessAutoselectedCamera(e){let a=r.sortCamerasForCameraPosition(e,this.cameraPosition),o=a.shift();for(;o;)try{await this.initializeCameraWithSettings(o,this.selectedCameraSettings);return}catch(e){if(this.setSelectedCamera(),a.length>0){t.log(t.Level.Warn,`Couldn't access camera:`,o,e),o=a.shift();continue}throw e}throw new n(i.noCameraErrorParameters)}getFrameReaderOptions(t){return t?{minPoolCapacity:0,maxPoolCapacity:1}:e.isDesktopDevice()?{maxPoolCapacity:2,minPoolCapacity:1}:{maxPoolCapacity:10,minPoolCapacity:3}}getFrameReader(){if(this._glFrameReaders[this._frameReaderType])return this._glFrameReaders[this._frameReaderType];if(!this._canvasWebGLContext)return null;let e=this._frameReaderOptions??this.getFrameReaderOptions(this._synchronousFrameHandling);switch(this._frameReaderType){case`GRAYSCALE`:this._glFrameReaders.GRAYSCALE=new b(this._canvasWebGLContext,e),this._glFrameReaders.RGBA=new y(this._canvasWebGLContext,{minPoolCapacity:1,maxPoolCapacity:2});break;case`RGBA`:this._glFrameReaders.RGBA=new y(this._canvasWebGLContext,e);break;default:_(this._frameReaderType)}return t.debug(`Created frame reader ${this._frameReaderType}`,e),this._glFrameReaders[this._frameReaderType]}async accessInitialCamera(){let e={position:this.cameraPosition,deviceId:``,label:``};try{await this.initializeCameraWithSettings(e,this.selectedCameraSettings)}catch{}finally{this.setSelectedCamera()}return e}recreateCanvas(){this.canvas.removeEventListener(`webglcontextlost`,this.handleWebGLContextLostListener),this._canvasWebGLContext=void 0,this._canvas2dContext=void 0;for(let e of Object.values(this._glFrameReaders))e==null||e.dispose();let e=document.createElement(`canvas`);e.addEventListener(`webglcontextlost`,this.handleWebGLContextLostListener),e.width=this.canvas.width,e.height=this.canvas.height,e.className=this.canvas.className,this.canvas=e}captureImageFor2dContext(){if(!this.isVideoAndContextStateValid())return null;let{width:e,height:t}=this.canvas,n=C();return{colorType:`RGBA`,data:this.canvas2dContext.getImageData(0,0,e,t).data,frameId:n,width:e,height:t}}areVideoAndWebGLSizeMismatching(){return this.canvasWebGLContext?this.canvasWebGLContext.drawingBufferWidth!==this.videoElement.videoWidth||this.canvasWebGLContext.drawingBufferHeight!==this.videoElement.videoHeight:!0}captureImageForWebGLContext(){if(!this.isVideoAndContextStateValid()||!this.canvasWebGLContext||this.canvasWebGLContext.drawingBufferWidth<=2||this.canvasWebGLContext.drawingBufferHeight<=2||this.areVideoAndWebGLSizeMismatching()||this.getFrameReader()==null)return null;let e=this.getFrameReader().readFromSource(this.videoElement);if(e.data[3]!==255&&e.colorType===`RGBA`){if(t.log(t.Level.Warn,`Detected incorrect GPU accelerated WebGL image processing, switching to canvas mode`),this.recreateCanvas(),this.canvas2dContext==null)throw Error(`Unable to get 2d canvas context`);return this.captureImage()}return e}async checkCameraAccess(e){return new Promise((n,r)=>{this.cameraAccessRejectCallback=n=>{t.log(t.Level.Debug,`Camera video stream access failure (video data load timeout):`,e),this.gui.setCameraRecoveryVisible(!0),r(n)},this.setCameraAccessTimeout()})}checkCameraVideoStreamAccessIfVisible(){document.visibilityState===`visible`&&(t.debug(`Page is visible again, waiting for camera video stream start...`),document.removeEventListener(`visibilitychange`,this.checkCameraVideoStreamAccessIfVisibleListener),this.setCameraAccessTimeout())}async checkVideoMetadata(e){return new Promise((r,a)=>{this.videoElement.onloadeddata=()=>{if(this.videoElement.onloadeddata=null,window.clearTimeout(this.cameraAccessTimeout),this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&this.videoElement.currentTime>0){this.updateActiveCameraCurrentResolution(e),t.log(t.Level.Debug,`Camera video stream access success:`,e),r();return}let o=performance.now();window.clearInterval(this.videoMetadataCheckInterval),this.videoMetadataCheckInterval=window.setInterval(async()=>{if(this.videoElement.videoWidth<=2||this.videoElement.videoHeight<=2||this.videoElement.currentTime===0){if(performance.now()-o>i.videoMetadataCheckTimeoutMs){t.log(t.Level.Warn,`Camera video stream access failure (valid video metadata timeout):`,e),window.clearInterval(this.videoMetadataCheckInterval),await this.stopStream(!0),a(new n(i.notReadableErrorParameters));return}return}window.clearInterval(this.videoMetadataCheckInterval),this.updateActiveCameraCurrentResolution(e),t.log(t.Level.Debug,`Camera video stream access success:`,e),r()},i.videoMetadataCheckIntervalMs)}})}disableTapToFocusListeners(){for(let e of[`touchend`,`mousedown`])this.videoElement.removeEventListener(e,this.triggerManualFocusListener)}emit(e,t){let n=this.listeners.get(e)??[];for(let e of n)e(t)}enableTapToFocusListeners(){for(let e of[`touchend`,`mousedown`])this.videoElement.addEventListener(e,this.triggerManualFocusListener)}getActiveCamera(e,t,n){return e.length===1?e[0]:e.find(e=>e.deviceId===n||e.label!==``&&e.label===t)}getInitialCameraResolutionConstraint(e){var t;let n;switch((t=this.activeCameraSettings)==null?void 0:t.preferredResolution){case`uhd4k`:n=0;break;case`fullHd`:n=1;break;default:n=2;break}return n}async handleCameraInitializationError(e,n,i){if(![`OverconstrainedError`,`NotReadableError`].includes(i.name)||i.name===`NotReadableError`&&n===4)throw t.log(t.Level.Debug,`Camera video stream access failure (unrecoverable error)`,e,i),i.name!==`NotAllowedError`&&r.markCameraAsInaccessible(e),i;if(i.name===`OverconstrainedError`&&n===4){if(e.deviceId===``)throw t.log(t.Level.Warn,`Camera video stream access failure (no camera with such type error)`,e,i),i;t.log(t.Level.Warn,`Detected non-existent deviceId error, attempt to find and reaccess updated camera`,e,i);let n=e.deviceId;if(await r.getCameras(!0),n===e.deviceId)throw t.log(t.Level.Warn,`Camera video stream access failure (updated camera not found after non-existent deviceId error)`,e,i),r.markCameraAsInaccessible(e),i;return t.log(t.Level.Warn,`Updated camera found (recovered from non-existent deviceId error), attempt to access it`,e),this.initializeCameraForResolution(e)}return this.initializeCameraForResolution(e,n+1)}handleVideoResize(){if(!(this.videoElement.videoWidth<=2||this.videoElement.videoHeight<=2)){if(this.activeCamera&&this.updateActiveCameraCurrentResolution(this.activeCamera),this.canvasWebGLContext!=null){if(this.canvas.width===this.videoElement.videoWidth&&this.canvas.height===this.videoElement.videoHeight)return;this.canvas.width=this.videoElement.videoWidth,this.canvas.height=this.videoElement.videoHeight,this.canvasWebGLContext.viewport(0,0,this.canvasWebGLContext.drawingBufferWidth,this.canvasWebGLContext.drawingBufferHeight)}else if(this.canvas2dContext!=null){if(this.canvas.width===this.videoElement.videoWidth&&this.canvas.height===this.videoElement.videoHeight)return;this.canvas.width=this.videoElement.videoWidth,this.canvas.height=this.videoElement.videoHeight}}}handleWebGLContextLost(){t.log(t.Level.Warn,`WebGL context has been lost, restoring...`),this._canvasWebGLContext=void 0,this.canvasWebGLContext?(this.handleVideoResize(),t.log(t.Level.Warn,`WebGL context restored`)):t.log(t.Level.Error,`WebGL context restore failed`)}async initializeCameraAndCheckUpdatedSettings(e,t=`off`){try{var n,r,i,a,o;if(await this.initializeCameraForResolution(e),this.selectedCameraSettings!==this.activeCameraSettings&&(this.selectedCameraSettings==null||this.activeCameraSettings==null||Object.keys(this.selectedCameraSettings).some(e=>{var t,n;return((t=this.selectedCameraSettings)==null?void 0:t[e])!==((n=this.activeCameraSettings)==null?void 0:n[e])}))){this.activeCameraSettings=this.selectedCameraSettings,await this.initializeCameraAndCheckUpdatedSettings(e,t);return}this.activeCameraSettings&&this.activeCameraSettings.zoomFactor>1&&await this.setZoom(this.activeCameraSettings.zoomFactor);let s=(n=this.activeCameraSettings)==null?void 0:n.getProperty(`minFrameRate`),c=(r=this.activeCameraSettings)==null?void 0:r.getProperty(`maxFrameRate`);(s!=null||c!=null)&&await this.setFrameRate({min:s,max:c});let l=(i=this.activeCameraSettings)==null?void 0:i.getProperty(`manualLensPosition`);l!=null&&await this.setFocus(l);let u=(a=this.activeCameraSettings)==null?void 0:a.getProperty(`exposureTargetBias`),d=(o=this.activeCameraSettings)==null?void 0:o.getProperty(`exposureDuration`);(u!=null||d!=null)&&await this.setExposure({compensation:u,time:d}),t===`on`&&await this.setTorchEnabled(!0)}finally{this.cameraInitializationPromise=void 0}}async initializeCameraForResolution(t,n){var r;this.gui.setCameraRecoveryVisible(!1),this.constraint=n??this.getInitialCameraResolutionConstraint(t),this.mediaStream!=null&&t.deviceId!==``&&((r=this.activeCamera)==null?void 0:r.deviceId)===t.deviceId?await(e.isIPhone()?this.initializeStreamForResolution(t,this.constraint):this.updateStreamForResolution(t,this.constraint)):await this.initializeStreamForResolution(t,this.constraint)}async initializeStreamForResolution(e,a,o=!1){await this.stopStream();try{var s;let c=(s=this.activeCameraSettings)==null?void 0:s.getProperty(`preferredAspectRatio`),l=await r.accessCameraStream(e,a,c),u=await this.clipMediaStreamIfNeeded(l);if(t.log(t.Level.Debug,`Camera accessed, waiting for camera video stream start...`),typeof u.getVideoTracks()[0].getSettings==`function`){let r=u.getVideoTracks()[0].getSettings();if(r.width!=null&&r.height!=null&&(r.width===2||r.height===2)){if(t.log(t.Level.Debug,`Camera video stream access failure (invalid video metadata):`,e),a===4)throw new n(i.notReadableErrorParameters);return await this.stopStream(),this.initializeStreamForResolution(e,a+1)}}this.mediaStream=u,o&&this.pauseStream();for(let e of this.mediaStream.getVideoTracks())e.addEventListener(`ended`,this.videoTrackEndedListener),e.addEventListener(`mute`,this.videoTrackMuteListener),e.addEventListener(`unmute`,this.videoTrackMuteListener);try{await this.setupCameraStreamVideo(e,u)}catch(t){if(a===4)throw t;return this.initializeStreamForResolution(e,a+1)}}catch(t){return this.handleCameraInitializationError(e,a,t)}}isVideoAndContextStateValid(){return this.videoElement.readyState===4&&this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&this.canvas.width>2&&this.canvas.height>2}postStreamInitialization(){window.clearTimeout(this.getCapabilitiesTimeout),this.getCapabilitiesTimeout=window.setTimeout(()=>{this.storeStreamCapabilities(),this.setupAutofocus()},i.getCapabilitiesTimeoutMs)}async recoverStreamIfNeeded(){var e,t;let n=(e=this.mediaStream)==null?void 0:e.getVideoTracks();(n==null||(t=n[0])==null?void 0:t.readyState)===`ended`&&await this.reinitializeCamera()}reportCameraProperties(e,t,n=!0){this.emit(`cameraProperties`,{deviceId:e,isFrontFacing:t===`userFacing`,hasAutofocus:n})}setCameraAccessTimeout(){window.clearTimeout(this.cameraAccessTimeout),this.cameraAccessTimeout=window.setTimeout(async()=>{if(document.visibilityState===`visible`){var e;await this.stopStream(!0),(e=this.cameraAccessRejectCallback)==null||e.call(this,new n(i.notReadableErrorParameters))}else t.debug(`Page is currently not visible, delay camera video stream access detection`),document.addEventListener(`visibilitychange`,this.checkCameraVideoStreamAccessIfVisibleListener)},i.cameraAccessTimeoutMs)}setupAutofocus(){if(window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),this.mediaStream&&this.mediaTrackCapabilities){let e=this.mediaTrackCapabilities.focusMode;Array.isArray(e)&&!e.includes(`continuous`)&&e.includes(`single-shot`)&&(window.clearInterval(this.autofocusInterval),this.autofocusInterval=window.setInterval(this.triggerAutoFocus.bind(this),i.autofocusIntervalMs))}}async setupCameraStreamVideo(e,t){this.videoElement.addEventListener(`loadedmetadata`,this.postStreamInitializationListener),this.videoElement.addEventListener(`resize`,this.videoResizeListener),this.tapToFocusEnabled&&this.enableTapToFocusListeners();let n=Promise.race([this.checkCameraAccess(e),this.checkVideoMetadata(e),new Promise(e=>{this.abortedCameraInitializationResolveCallback=e})]);return this.videoElement.srcObject=t,this.videoElement.load(),await this.playVideo(),this.handleVideoResize(),this.reportCameraProperties(e.deviceId,e.position),n}async setupCamerasAndStream(){try{var n;let i;this.selectedCamera??(i=await this.accessInitialCamera());let a=await r.getCameras(!1,!0),o=(n=this.mediaStream)==null||(n=n.getVideoTracks()[0])==null?void 0:n.getSettings().deviceId;if(this.mediaStream&&i){let n=this.getActiveCamera(a,i.label,o);if(n){if(r.adjustCameraFromMediaStream(this.mediaStream,n),e.isDesktopDevice()&&(r.setMainCameraForPositionOverridesOnDesktop(this.cameraPosition,n),r.setMainCameraForPositionOverridesOnDesktop(n.position,n)),a.length===1||r.getMainCameraForPosition(a,this.cameraPosition)===n){t.debug(`Initial camera access was correct (main camera), keep camera:`,n),this.setSelectedCamera(n),this.updateActiveCameraCurrentResolution(n),await this.recoverStreamIfNeeded();return}t.debug(`Initial camera access was incorrect (not main camera), change camera`,{...i,deviceId:o})}else t.debug(`Initial camera access was incorrect (unknown camera), change camera`,{...i,deviceId:o})}if(this.selectedCamera==null){await this.accessAutoselectedCamera(a);return}await this.initializeCameraWithSettings(this.selectedCamera,this.selectedCameraSettings)}finally{this.cameraSetupPromise=void 0}}storeStreamCapabilities(){if(this.mediaStream){let e=this.mediaStream.getVideoTracks();e.length>0&&typeof e[0].getCapabilities==`function`&&(this.mediaTrackCapabilities=e[0].getCapabilities()),this.mediaTrackCapabilitiesPromiseResolver&&this.mediaTrackCapabilitiesPromiseResolver()}if(this.activeCamera){var e;this.reportCameraProperties(this.activeCamera.deviceId,this.activeCamera.position,((e=this.mediaTrackCapabilities)==null?void 0:e.focusMode)==null||this.mediaTrackCapabilities.focusMode.includes(`continuous`))}}async triggerAutoFocus(){await this.triggerFocusMode(`single-shot`)}async triggerFocusMode(e){if(this.mediaStream){let t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].applyConstraints==`function`)try{await t[0].applyConstraints({advanced:[{focusMode:e}]})}catch{}}}async triggerManualFocus(e){if(e&&(e.preventDefault(),e.type===`touchend`&&e.touches.length>0)||(window.clearTimeout(this.manualFocusWaitTimeout),window.clearTimeout(this.manualToAutofocusResumeTimeout),!this.mediaStream||!this.mediaTrackCapabilities))return;let t=this.mediaTrackCapabilities.focusMode;Array.isArray(t)&&t.includes(`single-shot`)&&(t.includes(`continuous`)&&t.includes(`manual`)?await this.triggerManualFocusForContinuous():t.includes(`continuous`)||await this.triggerManualFocusForSingleShot())}async triggerManualFocusForContinuous(){if(!this.mediaStream)return;this.manualToAutofocusResumeTimeout=window.setTimeout(async()=>{await this.triggerFocusMode(`continuous`)},i.manualToAutofocusResumeTimeoutMs);let e=!0,t=this.mediaStream.getVideoTracks();if(t.length>0&&typeof t[0].getConstraints==`function`){var n;e=((n=t[0].getConstraints().advanced)==null?void 0:n.some(e=>e.focusMode===`manual`))===!0}e?(await this.triggerFocusMode(`continuous`),this.manualFocusWaitTimeout=window.setTimeout(async()=>{await this.triggerFocusMode(`manual`)},i.manualFocusWaitTimeoutMs)):await this.triggerFocusMode(`manual`)}async triggerManualFocusForSingleShot(){window.clearInterval(this.autofocusInterval),this.manualToAutofocusResumeTimeout=window.setTimeout(()=>{this.autofocusInterval=window.setInterval(this.triggerAutoFocus.bind(this),i.autofocusIntervalMs)},i.manualToAutofocusResumeTimeoutMs);try{await this.triggerFocusMode(`single-shot`)}catch{}}updateActiveCameraCurrentResolution(e){this.videoElement.videoWidth>2&&this.videoElement.videoHeight>2&&(e.currentResolution={width:this.videoElement.videoWidth,height:this.videoElement.videoHeight}),e.deviceId!==``&&(this.activeCamera=e,this.setMirrorImageEnabled(this.isMirrorImageEnabled(),!1))}async updateStreamForResolution(e,n){if(this.mediaStream==null)await this.initializeCameraForResolution(e,n);else try{var i;let e=(i=this.activeCameraSettings)==null?void 0:i.getProperty(`preferredAspectRatio`);t.debug(`Setting new resolution for active camera video stream...`),await this.mediaStream.getVideoTracks()[0].applyConstraints(r.getUserMediaVideoParameters(n,e)),await new Promise(e=>{this.videoElement.addEventListener(`timeupdate`,()=>{e()},{once:!0})});let a=this.mediaStream.getVideoTracks()[0].getSettings();t.debug(`New active camera video stream resolution set`,{width:a.width,height:a.height})}catch(t){if(n===4)throw t;await this.updateStreamForResolution(e,n+1)}}async videoTrackEndedRecovery(){if(document.visibilityState===`visible`)try{t.debug(`Detected video track "ended" event, try to reinitialize camera`),await this.reinitializeCamera()}catch{}else t.debug(`Page is currently not visible, delay camera reinitialization until visible`),document.addEventListener(`visibilitychange`,this.checkCameraVideoStreamAccessIfVisibleListener)}videoTrackMuteRecovery(e){if(this.videoElement.onloadeddata!=null){t.debug(`Detected video track "${e.type}" event, delay camera video stream access detection`),this.setCameraAccessTimeout();return}let n=e.type===`mute`;n!==this.gui.isCameraRecoveryVisible()&&(t.debug(`Detected video track "${e.type}" event, ${n?`enable`:`disable`} camera recovery`),this.gui.setCameraRecoveryVisible(n))}async clipMediaStreamIfNeeded(e){if(!this.clipArea)return e;let t=this.videoElement.cloneNode();t.srcObject=e,t.load();let n=document.createElement(`canvas`);n.width=this.clipArea.size.width,n.height=this.clipArea.size.height;let r=n.getContext(`2d`,{alpha:!1,willReadFrequently:!1});return r?(t.addEventListener(`play`,this.drawClippedFrame.bind(this,this.clipArea,t,r),{once:!0}),t.addEventListener(`pause`,this.cleanupClippedStream.bind(this,t),{once:!0}),await t.play(),n.captureStream()):e}drawClippedFrame(e,t,n){n.drawImage(t,e.origin.x,e.origin.y,e.size.width,e.size.height,0,0,e.size.width,e.size.height),this.clippedFrameRequestID=this.requestVideoFrame(this.drawClippedFrame.bind(this,e,t,n),t)}cleanupClippedStream(e){this.clippedFrameRequestID&&=(this.cancelVideoFrame(this.clippedFrameRequestID,e),void 0)}connectedCallback(e){e.replaceWith(this.videoElement),this.canvas.addEventListener(`webglcontextlost`,this.handleWebGLContextLostListener),this.videoElement.addEventListener(`pause`,this.handleVideoPauseHandler),this.playVideo()}disconnectedCallback(){this.canvas.removeEventListener(`webglcontextlost`,this.handleWebGLContextLostListener),this.videoElement.removeEventListener(`pause`,this.handleVideoPauseHandler),this.videoElement.remove(),this.videoElement.removeAttribute(`width`),this.videoElement.removeAttribute(`height`),this.videoElement.style.removeProperty(`visibility`)}getVideoElement(){return this.videoElement}handleVideoPause(){this.playVideo()}};T.autofocusIntervalMs=1500,T.cameraAccessTimeoutMs=4e3,T.getCapabilitiesTimeoutMs=500,T.manualFocusWaitTimeoutMs=400,T.manualToAutofocusResumeTimeoutMs=5e3,T.noCameraErrorParameters={name:`NoCameraAvailableError`,message:`No camera available`},T.notReadableErrorParameters={name:`NotReadableError`,message:`Could not initialize camera correctly`},T.videoMetadataCheckIntervalMs=50,T.videoMetadataCheckTimeoutMs=4e3,T.MIRRORED_CLASS_NAME=f.MIRRORED_CLASS_NAME,T._instance=null;export{C as a,x as i,w as n,b as o,S as r,y as s,T as t};
|
|
@@ -1,7 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
import './private/Serializable.js';
|
|
4
|
-
import './commons/Rect.js';
|
|
5
|
-
import './commons/Point.js';
|
|
6
|
-
import './commons/Size.js';
|
|
7
|
-
import './private/privateAccess.js';
|
|
1
|
+
import { _ as VideoResolution, a as CameraPosition, c as CameraSettingsJSON, d as FrameSource, f as FrameSourceJSON, g as TorchState, h as PrivateCameraExtraProperties, l as CameraSettingsJSONBase, m as FrameSourceState, o as CameraSettings, p as FrameSourceListener, s as CameraSettingsFromJSON, u as FocusGestureStrategy, v as isCameraFrameSource } from "./Camera-C7TNwqRo.js";
|
|
2
|
+
export { CameraPosition, CameraSettings, CameraSettingsFromJSON, CameraSettingsJSON, CameraSettingsJSONBase, FocusGestureStrategy, FrameSource, FrameSourceJSON, FrameSourceListener, FrameSourceState, PrivateCameraExtraProperties, TorchState, VideoResolution, isCameraFrameSource };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{
|
|
1
|
+
import{defaultCamera as e}from"./defaults/DefaultsCamera.js";let t=function(e){return e.On=`on`,e.Off=`off`,e.Standby=`standby`,e.Starting=`starting`,e.Stopping=`stopping`,e.BootingUp=`bootingUp`,e.WakingUp=`wakingUp`,e.GoingToSleep=`goingToSleep`,e.ShuttingDown=`shuttingDown`,e}({}),n=function(e){return e.On=`on`,e.Off=`off`,e}({}),r=function(e){return e.WorldFacing=`worldFacing`,e.UserFacing=`userFacing`,e}({}),i=function(e){return e.Auto=`auto`,e.HD=`hd`,e.FullHD=`fullHd`,e.UHD4K=`uhd4k`,e}({}),a=function(e){return e.None=`none`,e.Manual=`manual`,e.ManualUntilCapture=`manualUntilCapture`,e.AutoOnLocation=`autoOnLocation`,e}({});function o(e){var t;return(e==null||(t=e.toJSONObject())==null?void 0:t.type)===`camera`}var s=class t{get focusGestureStrategy(){return this.focus.focusGestureStrategy}set focusGestureStrategy(e){this.focus.focusGestureStrategy=e}copyPrivatePropertiesFrom(e){for(let[t,n]of Object.entries(e))Object.getOwnPropertyNames(this).includes(t)||this.setProperty(t,n)}static fromJSON(e){let n=new t;return n.preferredResolution=e.preferredResolution,n.zoomFactor=e.zoomFactor,n.zoomGestureZoomFactor=e.zoomGestureZoomFactor,n.zoomLevels=e.zoomLevels??[1,2],n.focusGestureStrategy=e.focusGestureStrategy,n.copyPrivatePropertiesFrom(e),n}constructor(t){this.preferredResolution=e.settings.preferredResolution,this.zoomFactor=e.settings.zoomFactor,this.zoomGestureZoomFactor=e.settings.zoomGestureZoomFactor,this.zoomLevels=e.settings.zoomLevels,this.focus={focusGestureStrategy:e.settings.focusGestureStrategy},t!=null&&(this.preferredResolution=t.preferredResolution,this.zoomFactor=t.zoomFactor,this.zoomGestureZoomFactor=t.zoomGestureZoomFactor,this.zoomLevels=t.zoomLevels?[...t.zoomLevels]:[1,2],this.focusGestureStrategy=t.focusGestureStrategy,this.copyPrivatePropertiesFrom(t))}setProperty(e,t){this[e]=t}getProperty(e){return this[e]}toJSONObject(){let e={preferredResolution:this.preferredResolution,zoomFactor:this.zoomFactor,zoomGestureZoomFactor:this.zoomGestureZoomFactor,zoomLevels:this.zoomLevels,focus:{focusGestureStrategy:this.focus.focusGestureStrategy}},t={};for(let n of Object.keys(this))[...Object.keys(e),`focusGestureStrategy`].includes(n)||(t[n]=this[n]);return{...e,...t}}};export{r as CameraPosition,s as CameraSettings,a as FocusGestureStrategy,t as FrameSourceState,n as TorchState,i as VideoResolution,o as isCameraFrameSource};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as DrawCommandBuffer, r as DrawCommandEnum } from "./DrawCommandBuffer-TbNqWVhj.js";
|
|
2
|
+
|
|
3
|
+
//#region src/main/private/CavansDrawerAbstract.d.ts
|
|
4
|
+
declare enum PathWinding {
|
|
5
|
+
Nonzero = "nonzero",
|
|
6
|
+
Evenodd = "evenodd"
|
|
7
|
+
}
|
|
8
|
+
declare abstract class CanvasDrawerAbstract {
|
|
9
|
+
protected pathWinding: PathWinding;
|
|
10
|
+
protected abstract context: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D;
|
|
11
|
+
protected abstract draw(commands: Uint8Array): void;
|
|
12
|
+
protected drawSingleCommand(commandType: DrawCommandEnum, commandBuffer: DrawCommandBuffer): void;
|
|
13
|
+
private beginPath;
|
|
14
|
+
private closePath;
|
|
15
|
+
private setStrokeColor;
|
|
16
|
+
private setFillColor;
|
|
17
|
+
private fill;
|
|
18
|
+
private stroke;
|
|
19
|
+
private addLine;
|
|
20
|
+
private lineTo;
|
|
21
|
+
private moveTo;
|
|
22
|
+
private addRectangle;
|
|
23
|
+
private addRoundedRectangle;
|
|
24
|
+
private setStrokeWidth;
|
|
25
|
+
private addArc;
|
|
26
|
+
private addCircle;
|
|
27
|
+
private bezierTo;
|
|
28
|
+
private saveState;
|
|
29
|
+
private restoreState;
|
|
30
|
+
private translate;
|
|
31
|
+
private transform;
|
|
32
|
+
private scale;
|
|
33
|
+
private addPathWinding;
|
|
34
|
+
private colorToRgbaString;
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { PathWinding as n, CanvasDrawerAbstract as t };
|