@scandit/web-datacapture-core 7.6.0 → 8.0.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/build/electron/main.cjs +1 -1
- package/build/electron/main.js +1 -1
- package/build/electron/preload.cjs +1 -1
- package/build/electron/preload.js +1 -1
- package/build/js/AimerViewfinder.js +1 -1
- package/build/js/Brush.js +1 -1
- package/build/js/Camera-CZ0Hl7v2.d.ts +213 -0
- package/build/js/Camera.d.ts +2 -20
- package/build/js/Camera.js +1 -1
- package/build/js/CameraRelated.d.ts +2 -20
- package/build/js/CameraRelated.js +1 -1
- package/build/js/{Camera-Bpnu6h9d.d.ts → DataCaptureContext-1YWunZAJ.d.ts} +628 -922
- package/build/js/DataCaptureContext.d.ts +10 -6
- package/build/js/DataCaptureContext.js +1 -1
- package/build/js/DataCaptureContextRelated.d.ts +11 -7
- package/build/js/DataCaptureVersion.js +1 -1
- package/build/js/DataCaptureView.d.ts +10 -6
- package/build/js/DataCaptureView.js +1 -1
- package/build/js/Defaults.d.ts +2 -19
- package/build/js/Defaults.js +1 -1
- package/build/js/Feedback.js +1 -1
- package/build/js/FrameData.d.ts +11 -7
- package/build/js/ImageFrameSource.d.ts +2 -20
- package/build/js/ImageFrameSource.js +1 -1
- package/build/js/LaserlineViewfinder.js +1 -1
- package/build/js/NotificationPresenter/index.d.ts +9 -5
- package/build/js/NotificationPresenter/private/ConcreteNotificationPresenter.d.ts +12 -8
- package/build/js/NotificationPresenter/private/presets.d.ts +12 -8
- package/build/js/RectangularViewfinder.js +1 -1
- package/build/js/ScanditIcon.js +1 -1
- package/build/js/ScanditIconBuilder.js +1 -1
- package/build/js/SingleImageUploader.d.ts +2 -20
- package/build/js/SingleImageUploader.js +1 -1
- package/build/js/SingleImageUploaderSettings.js +1 -1
- package/build/js/Sound.js +1 -1
- package/build/js/Vibration.js +1 -1
- package/build/js/browserHelper.js +1 -1
- package/build/js/chunks/{chunk-7ELPJFJV.js → chunk-25EQ6RFI.js} +1 -1
- package/build/js/chunks/chunk-2LSO6JEZ.js +1 -0
- package/build/js/chunks/{chunk-6NVWG2LP.js → chunk-36CF5U7R.js} +1 -1
- package/build/js/chunks/{chunk-GC2ECHKL.js → chunk-3KWRROUJ.js} +1 -1
- package/build/js/chunks/chunk-4GKVQAVF.js +1 -0
- package/build/js/chunks/{chunk-VW3DMTE7.js → chunk-4Y7Q64OZ.js} +1 -1
- package/build/js/chunks/{chunk-ZE2WH3AH.js → chunk-4ZAHOKYN.js} +1 -1
- package/build/js/chunks/{chunk-L7TY4UEP.js → chunk-56CY5YB3.js} +1 -1
- package/build/js/chunks/{chunk-S24T6WS2.js → chunk-5JAPQHXF.js} +1 -1
- package/build/js/chunks/{chunk-7TQID6JJ.js → chunk-5N4CQMMU.js} +1 -1
- package/build/js/chunks/chunk-627VMN74.js +1 -0
- package/build/js/chunks/chunk-6HH3HY5J.js +6 -0
- package/build/js/chunks/chunk-AUONPF3B.js +1 -0
- package/build/js/chunks/chunk-BRS5WVNO.js +1 -0
- package/build/js/chunks/chunk-BSIP2HDE.js +1 -0
- package/build/js/chunks/{chunk-N2GWO3EX.js → chunk-BXINLCBT.js} +1 -1
- package/build/js/chunks/chunk-CJOGOTBU.js +1 -0
- package/build/js/chunks/{chunk-VGSPU525.js → chunk-CXR3G5KR.js} +1 -1
- package/build/js/chunks/{chunk-U7Z5PR2O.js → chunk-D5RWW3H4.js} +1 -1
- package/build/js/chunks/chunk-DPJEOND4.js +1 -0
- package/build/js/chunks/chunk-EQ6V4W5K.js +1 -0
- package/build/js/chunks/chunk-F2IJCZAS.js +1 -0
- package/build/js/chunks/chunk-GJGNNO4O.js +1 -0
- package/build/js/chunks/{chunk-PUP3NNKU.js → chunk-HLJPVZHK.js} +1 -1
- package/build/js/chunks/chunk-IBDUCVB4.js +1 -0
- package/build/js/chunks/{chunk-26DQPDMK.js → chunk-K5B6J4SK.js} +1 -1
- package/build/js/chunks/chunk-KMGMYFZI.js +1 -0
- package/build/js/chunks/chunk-L674VY5B.js +1 -0
- package/build/js/chunks/chunk-LFJUGRQV.js +1 -0
- package/build/js/chunks/chunk-LH2NI5UL.js +2 -0
- package/build/js/chunks/chunk-LMYUYJ3O.js +1 -0
- package/build/js/chunks/{chunk-4TDWWHP2.js → chunk-LOV5GR63.js} +1 -1
- package/build/js/chunks/chunk-LYSTK36S.js +1 -0
- package/build/js/chunks/{chunk-KXSW5F3G.js → chunk-O3GEDPJS.js} +1 -1
- package/build/js/chunks/chunk-O6PTTJES.js +1 -0
- package/build/js/chunks/chunk-PXPLMVCF.js +1 -0
- package/build/js/chunks/chunk-SJ3K5O2N.js +1 -0
- package/build/js/chunks/{chunk-UCD6YLP3.js → chunk-SJOZM6AL.js} +1 -1
- package/build/js/chunks/{chunk-LISC6VSM.js → chunk-TAUJTFZC.js} +1 -1
- package/build/js/chunks/{chunk-SJJGHQ52.js → chunk-TH7Z32LP.js} +1 -1
- package/build/js/chunks/{chunk-2HL2IEE2.js → chunk-TOR7V7M7.js} +1 -1
- package/build/js/chunks/{chunk-H75G3H4R.js → chunk-TQ6K3P2B.js} +1 -1
- package/build/js/chunks/{chunk-5S5BT5PK.js → chunk-TZ6TWPJD.js} +1 -1
- package/build/js/chunks/{chunk-HJXLUUA6.js → chunk-UQJHBITP.js} +2 -2
- package/build/js/chunks/chunk-UWBNF47P.js +1 -0
- package/build/js/chunks/chunk-XZO7D4BC.js +1 -0
- package/build/js/chunks/chunk-YNHLZS7P.js +1 -0
- package/build/js/chunks/chunk-YRQ34YNY.js +1 -0
- package/build/js/chunks/chunk-ZEBGTTCX.js +1 -0
- package/build/js/chunks/{chunk-XEBHIXET.js → chunk-ZNO7QV4M.js} +1 -1
- package/build/js/global.d.d.ts +1 -1
- package/build/js/index.d.ts +18 -39
- package/build/js/index.js +1 -4
- package/build/js/{CameraAccess.d.ts → moduleLoader.d.ts} +12 -8
- package/build/js/moduleLoader.js +0 -0
- package/build/js/private/CameraAccess.d.ts +167 -21
- package/build/js/private/CameraAccess.js +1 -1
- package/build/js/private/CameraManager.d.ts +12 -8
- package/build/js/private/CameraManager.js +1 -1
- package/build/js/private/CameraPool.d.ts +88 -0
- package/build/js/private/CameraPool.js +1 -0
- package/build/js/private/CanvasDrawerWithMetrics.d.ts +9 -5
- package/build/js/private/CoreModuleLicenseTextProvider.d.ts +13 -10
- package/build/js/private/CoreModuleLicenseTextProvider.js +1 -1
- package/build/js/private/CustomLocationsView.js +1 -1
- package/build/js/private/DataCaptureContextRelated.d.ts +12 -8
- package/build/js/private/FrameReaders/FrameReader.d.ts +12 -8
- package/build/js/private/FrameReaders/FrameReaderAbstract.d.ts +10 -6
- package/build/js/private/FrameReaders/GrayScaleFrameReader.d.ts +10 -6
- package/build/js/private/FrameReaders/index.d.ts +12 -8
- package/build/js/private/GestureRecognizer/GestureRecognizer.js +1 -1
- package/build/js/private/GestureRecognizer/PointerEventsDetector.js +1 -1
- package/build/js/private/GestureRecognizer/index.js +1 -1
- package/build/js/private/{NormalizedConfigureOptions.d.ts → NormalizedModuleLoaderOptions.d.ts} +12 -35
- package/build/js/private/NormalizedModuleLoaderOptions.js +0 -0
- package/build/js/private/ViewControls+related.js +1 -1
- package/build/js/private/ViewControls_related.d.ts +13 -13
- package/build/js/private/ViewsRegistry.d.ts +12 -8
- package/build/js/private/hybridDesktopPlatformHelpers.js +1 -1
- package/build/js/private/multithreadSimdHelper.js +1 -1
- package/build/js/private/privateAccess.d.ts +8 -0
- package/build/js/private/privateAccess.js +1 -0
- package/build/js/private/ui/atoms/AimerSvgIcon.js +1 -10
- package/build/js/private/ui/atoms/ArrowDownSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ArrowLeftSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ArrowRightSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ArrowUpSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ArrowsUp.js +1 -1
- package/build/js/private/ui/atoms/Backdrop.js +1 -1
- package/build/js/private/ui/atoms/CalendarExclamationMarkSvgIcon.js +1 -19
- package/build/js/private/ui/atoms/CameraSwitchReverseSvgIcon.js +1 -27
- package/build/js/private/ui/atoms/CameraSwitchSvgIcon.js +1 -27
- package/build/js/private/ui/atoms/Card.d.ts +2 -0
- package/build/js/private/ui/atoms/Card.js +1 -1
- package/build/js/private/ui/atoms/CardList.js +1 -1
- package/build/js/private/ui/atoms/CheckSvgIcon.js +1 -15
- package/build/js/private/ui/atoms/ChevronDownSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ChevronLeftSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/ChevronRightSvgIcon.js +2 -20
- package/build/js/private/ui/atoms/ChevronUpSvgIcon.js +2 -21
- package/build/js/private/ui/atoms/CrossSvgIcon.js +1 -12
- package/build/js/private/ui/atoms/Dot5xSvgIcon.js +1 -21
- package/build/js/private/ui/atoms/ExclamationMarkSvgIcon.js +1 -11
- package/build/js/private/ui/atoms/GlassSvgIcon.js +1 -15
- package/build/js/private/ui/atoms/HandLensCheckSvgIcon.js +1 -16
- package/build/js/private/ui/atoms/KeyboardSvgIcon.js +1 -10
- package/build/js/private/ui/atoms/LowStockSvgIcon.js +1 -12
- package/build/js/private/ui/atoms/OnexSvgIcon.js +1 -13
- package/build/js/private/ui/atoms/PrinterSvgIcon.js +2 -24
- package/build/js/private/ui/atoms/ProgressBar.js +1 -1
- package/build/js/private/ui/atoms/QuestionMarkSvgIcon.js +1 -13
- package/build/js/private/ui/atoms/RestartSvgIcon.js +1 -11
- package/build/js/private/ui/atoms/RoundedCheckSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/RoundedCrossSvgIcon.js +1 -11
- package/build/js/private/ui/atoms/RoundedExclamationMarkSvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ShutterButton.js +1 -22
- package/build/js/private/ui/atoms/StarFilledSvgIcon.js +1 -13
- package/build/js/private/ui/atoms/StarHalfFilledSvgIcon.js +2 -32
- package/build/js/private/ui/atoms/StarOutlinedSvgIcon.js +1 -13
- package/build/js/private/ui/atoms/SvgIcon.js +1 -1
- package/build/js/private/ui/atoms/ToPickSvgIcon.js +1 -12
- package/build/js/private/ui/atoms/Toast.d.ts +9 -5
- package/build/js/private/ui/atoms/Toast.js +1 -1
- package/build/js/private/ui/atoms/TwoxSvgIcon.js +1 -14
- package/build/js/private/ui/atoms/WrongItemSvgIcon.js +1 -15
- package/build/js/private/ui/molecules/HintPresenter.d.ts +9 -5
- package/build/js/private/ui/molecules/HintPresenter.js +1 -1
- package/build/js/private/ui/molecules/LoadingOverlay.js +1 -1
- package/build/js/private/utils/AnimationSimplePolyfill.js +1 -1
- package/build/js/private/utils/AsyncStateMachine.d.ts +37 -0
- package/build/js/private/utils/AsyncStateMachine.js +1 -0
- package/build/js/private/utils/domIdFromValues.d.ts +18 -0
- package/build/js/private/utils/domIdFromValues.js +1 -0
- package/build/js/private/utils/html.d.ts +57 -1
- package/build/js/private/utils/html.js +1 -1
- package/build/js/private/utils/index.d.ts +3 -1
- package/build/js/private/utils/index.js +1 -1
- package/build/js/private/utils/polyfillLoader.js +1 -1
- package/build/js/private/utils/replaceImagesInViewUtils.d.ts +9 -5
- package/build/js/private/utils/safeCancelAnimation.js +1 -1
- package/build/js/private/utils/safeStorage.js +1 -1
- package/build/js/private/utils/warnMultithreadingUnavailable.js +1 -1
- package/build/js/tsHelper.d.ts +1 -1
- package/build/js/worker/WorkerMain.d.ts +13 -8
- package/build/js/worker/WorkerMain.js +1 -1
- package/build/js/worker/coreCapture.inlineWorker.d.ts +12 -8
- package/build/js/worker/coreCapture.inlineWorker.js +1 -1
- package/build/js/worker/dataCaptureEngine.d.ts +10 -6
- package/build/js/worker/dataCaptureEngine.js +1 -1
- package/build/js/worker/dataCaptureLoader.d.ts +10 -6
- package/build/js/worker/dataCaptureLoader.js +1 -1
- package/build/js/worker/dataCaptureWorkerRelated.d.ts +10 -6
- package/build/js/worker/dataCaptureWorkerRelated.js +1 -1
- package/build/js/worker/helperFs.js +1 -1
- package/build/js/worker/index.d.ts +12 -8
- package/build/js/worker/index.js +1 -1
- package/package.json +1 -1
- package/build/js/CameraAccess.js +0 -1
- package/build/js/chunks/chunk-27Z5CYJL.js +0 -1
- package/build/js/chunks/chunk-2QT7PJFA.js +0 -15
- package/build/js/chunks/chunk-33ZLQAZS.js +0 -5
- package/build/js/chunks/chunk-34HLD6AY.js +0 -2
- package/build/js/chunks/chunk-42THCP2K.js +0 -1
- package/build/js/chunks/chunk-4XTOUXDD.js +0 -1
- package/build/js/chunks/chunk-AJE43LJ5.js +0 -3
- package/build/js/chunks/chunk-AUWF33RB.js +0 -2
- package/build/js/chunks/chunk-BS7MAI4E.js +0 -1
- package/build/js/chunks/chunk-DFFYK2ZZ.js +0 -1
- package/build/js/chunks/chunk-ESVB4WW6.js +0 -1
- package/build/js/chunks/chunk-GYQMVT7L.js +0 -1
- package/build/js/chunks/chunk-IGJQFAQU.js +0 -1
- package/build/js/chunks/chunk-JBX2RBUT.js +0 -1
- package/build/js/chunks/chunk-L3BBOGIY.js +0 -4
- package/build/js/chunks/chunk-MU6SADSF.js +0 -1
- package/build/js/chunks/chunk-NKCR7VPO.js +0 -1
- package/build/js/chunks/chunk-OARD7KIC.js +0 -11
- package/build/js/chunks/chunk-OQ4XCKFQ.js +0 -1
- package/build/js/chunks/chunk-Q5DQ3FTE.js +0 -1
- package/build/js/chunks/chunk-QR3AOFAD.js +0 -5
- package/build/js/chunks/chunk-QUHRBS4G.js +0 -15
- package/build/js/chunks/chunk-R3XUWVHG.js +0 -6
- package/build/js/chunks/chunk-SFJIWITJ.js +0 -1
- package/build/js/chunks/chunk-SM5S3DDC.js +0 -1
- package/build/js/chunks/chunk-VT73QNQB.js +0 -22
- package/build/js/sdk.d.ts +0 -52
- package/build/js/sdk.js +0 -1
- package/build/js/worker/finalizationRegistryPolyfill.test.d.ts +0 -1
- package/build/js/worker/finalizationRegistryPolyfill.test.js +0 -1
- /package/build/js/chunks/{chunk-4OWLOWVE.js → chunk-JCKM5IJO.js} +0 -0
- /package/build/js/{private/NormalizedConfigureOptions.js → chunks/chunk-XLRKXFUR.js} +0 -0
|
@@ -1,337 +1,25 @@
|
|
|
1
1
|
/// <reference types="emscripten" />
|
|
2
|
-
import {
|
|
3
|
-
import { MarginsWithUnitJSON, PointWithUnitJSON, Anchor, MarginsWithUnit, PointWithUnit, Size, Orientation, Point, Quadrilateral,
|
|
4
|
-
import { WatermarkStack } from './private/FrameReaders/WatermarkStack.js';
|
|
5
|
-
import { Optional, MethodSignature } from './tsHelper.js';
|
|
6
|
-
import { ScanditIcon } from './ScanditIcon.js';
|
|
7
|
-
import { ScanditHTMLElement } from './private/utils/ScanditHTMLElement.js';
|
|
2
|
+
import { g as Camera, l as CameraSettings, C as CameraPosition, b as FrameSource, e as FrameSourceJSON } from './Camera-CZ0Hl7v2.js';
|
|
3
|
+
import { MarginsWithUnitJSON, PointWithUnitJSON, Anchor, MarginsWithUnit, PointWithUnit, Size, Orientation, Point, Quadrilateral, PointJSON, RectJSON, Rect, JSONType } from './Common.js';
|
|
8
4
|
import { DataCaptureContextSettingsJSON, DataCaptureContextSettings } from './DataCaptureContextSettings.js';
|
|
9
5
|
import { LogoStyle, FocusGestureJSON, ZoomGestureJSON, FocusGesture, ZoomGesture } from './DataCaptureViewPlusRelated.js';
|
|
10
6
|
import { NotificationPresenter } from './NotificationPresenter/NotificationPresenter.js';
|
|
11
7
|
import { Control } from './ViewControls.js';
|
|
12
8
|
import { DidTapCustomLocationsViewListener, StateToRender, StateToRenderDomView } from './private/CustomLocationsView.js';
|
|
9
|
+
import { Serializable } from './private/Serializable.js';
|
|
13
10
|
import { nativeHandle } from './private/nativeHandle.js';
|
|
14
11
|
import { AnchorPositions } from './private/AnchorPositions.js';
|
|
15
12
|
import { OpenSourceSoftwareLicenseInfo } from './license/OpenSourceSoftwareLicenseInfo.js';
|
|
16
|
-
import { HTMLElementStateJSON } from './private/HtmlElementState.js';
|
|
17
|
-
import { OverrideState } from './worker/OverrideState.js';
|
|
18
13
|
import { Logger } from './logger.js';
|
|
14
|
+
import { WatermarkStack } from './private/FrameReaders/WatermarkStack.js';
|
|
15
|
+
import { Optional, MethodSignature } from './tsHelper.js';
|
|
16
|
+
import { DeviceCamera } from './private/CameraAccess.js';
|
|
19
17
|
import { ProgressInfo } from './LoadingStatus.js';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
declare enum CameraResolutionConstraint$1 {
|
|
26
|
-
ULTRA_HD = 0,
|
|
27
|
-
FULL_HD = 1,
|
|
28
|
-
HD = 2,
|
|
29
|
-
SD = 3,
|
|
30
|
-
NONE = 4
|
|
31
|
-
}
|
|
32
|
-
declare enum AspectRatio {
|
|
33
|
-
AUTO = "auto",
|
|
34
|
-
FOUR_TO_THREE = "fourToThree",
|
|
35
|
-
SIXTEEN_TO_NINE = "sixteenToNine"
|
|
36
|
-
}
|
|
37
|
-
interface DeviceCamera$1 {
|
|
38
|
-
position: CameraPosition$1;
|
|
39
|
-
label: string;
|
|
40
|
-
deviceId: string;
|
|
41
|
-
currentResolution?: VideoFrameResolution;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* A helper object to interact with cameras.
|
|
45
|
-
*/
|
|
46
|
-
declare namespace CameraAccess$1 {
|
|
47
|
-
/**
|
|
48
|
-
* Overrides for main camera for a given camera position on a desktop/laptop device, set when accessing an initial camera.
|
|
49
|
-
*/
|
|
50
|
-
const mainCameraForPositionOverridesOnDesktop: Map<CameraPosition$1, DeviceCamera$1>;
|
|
51
|
-
/**
|
|
52
|
-
*
|
|
53
|
-
* To be accessed directly only for tests.
|
|
54
|
-
*
|
|
55
|
-
* The mapping from deviceIds to camera objects.
|
|
56
|
-
*/
|
|
57
|
-
const deviceIdToCameraObjects: Map<string, DeviceCamera$1>;
|
|
58
|
-
/**
|
|
59
|
-
*
|
|
60
|
-
* To be accessed directly only for tests.
|
|
61
|
-
*
|
|
62
|
-
* The list of inaccessible deviceIds.
|
|
63
|
-
*/
|
|
64
|
-
const inaccessibleDeviceIds: Set<string>;
|
|
65
|
-
function setMainCameraForPositionOverridesOnDesktop(cameraPosition: CameraPosition$1, deviceCamera: DeviceCamera$1): void;
|
|
66
|
-
/**
|
|
67
|
-
* used mainly for testing
|
|
68
|
-
*/
|
|
69
|
-
function clearMainCameraForPositionOverridesOnDesktop(): void;
|
|
70
|
-
/**
|
|
71
|
-
*
|
|
72
|
-
* @param label The camera label.
|
|
73
|
-
* @returns Whether the label identifies the camera being the iOS front (main) camera one.
|
|
74
|
-
*/
|
|
75
|
-
function isIOSFrontCameraLabel(label: string): boolean;
|
|
76
|
-
/**
|
|
77
|
-
*
|
|
78
|
-
* @param label The camera label.
|
|
79
|
-
* @returns Whether the label identifies the camera being the iOS back (main) camera one.
|
|
80
|
-
*/
|
|
81
|
-
function isIOSBackCameraLabel(label: string): boolean;
|
|
82
|
-
/**
|
|
83
|
-
*
|
|
84
|
-
* @param label The camera label.
|
|
85
|
-
* @returns Whether the label identifies the camera being the iOS Back Dual camera one.
|
|
86
|
-
*/
|
|
87
|
-
function isIOSBackDualWideCameraLabel(label: string): boolean;
|
|
88
|
-
/**
|
|
89
|
-
*
|
|
90
|
-
* @param label The camera label.
|
|
91
|
-
* @returns Whether the label identifies the camera being the iOS UltraWide back camera one.
|
|
92
|
-
*/
|
|
93
|
-
function isIOSUltraWideBackCameraLabel(label: string): boolean;
|
|
94
|
-
/**
|
|
95
|
-
*
|
|
96
|
-
* Get the main camera for the given camera position.
|
|
97
|
-
*
|
|
98
|
-
* @param cameras The array of available [[DeviceCamera]] objects.
|
|
99
|
-
* @param cameraPosition The wanted camera position.
|
|
100
|
-
* @returns The main camera matching the wanted camera position.
|
|
101
|
-
*/
|
|
102
|
-
function getMainCameraForPosition(cameras: DeviceCamera$1[], cameraPosition: CameraPosition$1): DeviceCamera$1 | undefined;
|
|
103
|
-
/**
|
|
104
|
-
*
|
|
105
|
-
* Sort the given cameras in order of priority of access based on the given camera position.
|
|
106
|
-
*
|
|
107
|
-
* @param cameras The array of available [[DeviceCamera]] objects.
|
|
108
|
-
* @param cameraPosition The preferred camera position.
|
|
109
|
-
* @returns The sorted cameras.
|
|
110
|
-
*/
|
|
111
|
-
function sortCamerasForCameraPosition<DeviceCameraLike extends DeviceCamera$1 = DeviceCamera$1>(cameras: DeviceCameraLike[], cameraPosition: CameraPosition$1): DeviceCameraLike[];
|
|
112
|
-
/**
|
|
113
|
-
*
|
|
114
|
-
* Adjusts the camera's information based on the given currently active video stream.
|
|
115
|
-
*
|
|
116
|
-
* @param mediaStream The currently active `MediaStream` object.
|
|
117
|
-
* @param camera The currently active [[Camera]] object associated with the video stream.
|
|
118
|
-
*/
|
|
119
|
-
function adjustCameraFromMediaStream(mediaStream: MediaStream, camera: DeviceCamera$1): void;
|
|
120
|
-
/**
|
|
121
|
-
* Get a list of cameras (if any) available on the device, a camera access permission is requested to the user
|
|
122
|
-
* the first time this method is called if needed.
|
|
123
|
-
*
|
|
124
|
-
* If the user denies the necessary camera access permission, a list of cameras with the correct amount of devices is
|
|
125
|
-
* returned in any case, but the cameras will have no available (empty) label and deviceId and can thus not be
|
|
126
|
-
* accessed.
|
|
127
|
-
*
|
|
128
|
-
* If the browser is incompatible the returned promise is rejected with a `UnsupportedBrowserError` error.
|
|
129
|
-
*
|
|
130
|
-
* When refreshing available devices, if updated deviceId information is detected, cameras' deviceId are updated
|
|
131
|
-
* accordingly. This could happen after a camera access and stop in some situations.
|
|
132
|
-
*
|
|
133
|
-
* @param refreshDevices Force a call to refresh available video devices even when information is already available.
|
|
134
|
-
* @param cameraAlreadyAccessed Hint that a camera has already been accessed before, avoiding a possible initial
|
|
135
|
-
* camera access permission request on the first call, in cases this cannot be already reliably detected.
|
|
136
|
-
* @returns A promise resolving to the array of available [[Camera]] objects (could be empty).
|
|
137
|
-
*/
|
|
138
|
-
function getCameras(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<DeviceCamera$1[]>;
|
|
139
|
-
/**
|
|
140
|
-
*
|
|
141
|
-
* Get the *getUserMedia* *video* parameters to be used given a resolution fallback level and the browser used.
|
|
142
|
-
*
|
|
143
|
-
* @param cameraResolutionConstraint The resolution constraint.
|
|
144
|
-
* @returns The resulting *getUserMedia* *video* parameters.
|
|
145
|
-
*/
|
|
146
|
-
function getUserMediaVideoParameters(cameraResolutionConstraint: CameraResolutionConstraint$1, preferredAspectRatio?: AspectRatio): MediaTrackConstraints;
|
|
147
|
-
/**
|
|
148
|
-
*
|
|
149
|
-
* Mark a camera to be inaccessible and thus excluded from the camera list returned by [[getCameras]].
|
|
150
|
-
*
|
|
151
|
-
* @param camera The camera to mark to be inaccessible.
|
|
152
|
-
*/
|
|
153
|
-
function markCameraAsInaccessible(camera: DeviceCamera$1): void;
|
|
154
|
-
/**
|
|
155
|
-
*
|
|
156
|
-
* Try to access a given camera for video input at the given resolution level.
|
|
157
|
-
*
|
|
158
|
-
* If a camera is inaccessible because of errors, then it's added to the inaccessible device list. If the specific
|
|
159
|
-
* error is of type `OverconstrainedError` or `NotReadableError` however, this procedure is done later on via a
|
|
160
|
-
* separate external logic; also, in case of an error of type `NotAllowedError` (permission denied) this procedure is
|
|
161
|
-
* not executed, in order to possibly recover if and when the user allows the camera to be accessed again.
|
|
162
|
-
* This is done to allow checking if the camera can still be accessed via an updated deviceId when deviceId
|
|
163
|
-
* information changes, or if it should then be confirmed to be considered inaccessible.
|
|
164
|
-
*
|
|
165
|
-
* Depending on parameters, device features and user permissions for camera access, any of the following errors
|
|
166
|
-
* could be the rejected result of the returned promise:
|
|
167
|
-
* - `AbortError`
|
|
168
|
-
* - `NotAllowedError`
|
|
169
|
-
* - `NotFoundError`
|
|
170
|
-
* - `NotReadableError`
|
|
171
|
-
* - `SecurityError`
|
|
172
|
-
* - `OverconstrainedError`
|
|
173
|
-
*
|
|
174
|
-
* @param cameraResolutionConstraint The resolution constraint.
|
|
175
|
-
* @param camera The camera to try to access for video input.
|
|
176
|
-
* @returns A promise resolving to the `MediaStream` object coming from the accessed camera.
|
|
177
|
-
*/
|
|
178
|
-
function accessCameraStream(camera: DeviceCamera$1, cameraResolutionConstraint: CameraResolutionConstraint$1, preferredAspectRatio?: AspectRatio): Promise<MediaStream>;
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
/**
|
|
182
|
-
* these are the public exports from CameraAccess
|
|
183
|
-
*/
|
|
184
|
-
declare namespace CameraAccess {
|
|
185
|
-
function getCameras(refreshDevices?: boolean, cameraAlreadyAccessed?: boolean): Promise<DeviceCamera[]>;
|
|
186
|
-
}
|
|
187
|
-
interface DeviceCamera {
|
|
188
|
-
position: CameraPosition$1;
|
|
189
|
-
label: string;
|
|
190
|
-
deviceId: string;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
declare enum FrameSourceState {
|
|
194
|
-
On = "on",
|
|
195
|
-
Off = "off",
|
|
196
|
-
Standby = "standby",
|
|
197
|
-
Starting = "starting",
|
|
198
|
-
Stopping = "stopping",
|
|
199
|
-
BootingUp = "bootingUp",
|
|
200
|
-
WakingUp = "wakingUp",
|
|
201
|
-
GoingToSleep = "goingToSleep",
|
|
202
|
-
ShuttingDown = "shuttingDown"
|
|
203
|
-
}
|
|
204
|
-
declare enum TorchState {
|
|
205
|
-
On = "on",
|
|
206
|
-
Off = "off"
|
|
207
|
-
}
|
|
208
|
-
declare enum CameraPosition {
|
|
209
|
-
WorldFacing = "worldFacing",
|
|
210
|
-
UserFacing = "userFacing"
|
|
211
|
-
}
|
|
212
|
-
declare enum VideoResolution {
|
|
213
|
-
Auto = "auto",
|
|
214
|
-
HD = "hd",
|
|
215
|
-
FullHD = "fullHd",
|
|
216
|
-
UHD4K = "uhd4k"
|
|
217
|
-
}
|
|
218
|
-
declare enum FocusGestureStrategy {
|
|
219
|
-
None = "none",
|
|
220
|
-
Manual = "manual",
|
|
221
|
-
ManualUntilCapture = "manualUntilCapture",
|
|
222
|
-
AutoOnLocation = "autoOnLocation"
|
|
223
|
-
}
|
|
224
|
-
interface FrameSourceListener {
|
|
225
|
-
didChangeState?: (frameSource: FrameSource, newState: FrameSourceState) => void;
|
|
226
|
-
}
|
|
227
|
-
interface FrameSourceJSON {
|
|
228
|
-
type: string;
|
|
229
|
-
}
|
|
230
|
-
interface FrameSource extends Serializable<FrameSourceJSON> {
|
|
231
|
-
readonly desiredState: FrameSourceState;
|
|
232
|
-
getCurrentState: () => FrameSourceState;
|
|
233
|
-
switchToDesiredState: (desiredState: FrameSourceState) => Promise<void>;
|
|
234
|
-
addListener: (listener: FrameSourceListener) => void;
|
|
235
|
-
removeListener: (listener: FrameSourceListener) => void;
|
|
236
|
-
}
|
|
237
|
-
interface CameraSettingsJSONBase {
|
|
238
|
-
preferredResolution: string;
|
|
239
|
-
zoomFactor: number;
|
|
240
|
-
zoomGestureZoomFactor: number;
|
|
241
|
-
api?: number;
|
|
242
|
-
}
|
|
243
|
-
interface CameraSettingsFromJSON extends CameraSettingsJSONBase {
|
|
244
|
-
focusGestureStrategy: string;
|
|
245
|
-
}
|
|
246
|
-
interface CameraSettingsJSON extends CameraSettingsJSONBase {
|
|
247
|
-
focus: {
|
|
248
|
-
focusGestureStrategy: string;
|
|
249
|
-
[key: string]: any;
|
|
250
|
-
};
|
|
251
|
-
[key: string]: any;
|
|
252
|
-
}
|
|
253
|
-
declare function isCameraFrameSource(frameSource?: FrameSource | null): frameSource is Camera;
|
|
254
|
-
declare class CameraSettings implements Serializable<CameraSettingsJSON> {
|
|
255
|
-
preferredResolution: VideoResolution;
|
|
256
|
-
zoomFactor: number;
|
|
257
|
-
zoomGestureZoomFactor: number;
|
|
258
|
-
private focus;
|
|
259
|
-
get focusGestureStrategy(): FocusGestureStrategy;
|
|
260
|
-
set focusGestureStrategy(newStrategy: FocusGestureStrategy);
|
|
261
|
-
private static fromJSON;
|
|
262
|
-
constructor();
|
|
263
|
-
constructor(settings: CameraSettings);
|
|
264
|
-
setProperty(name: string, value: any): void;
|
|
265
|
-
getProperty(name: string): any;
|
|
266
|
-
/**
|
|
267
|
-
* The resulting JSON must also contain properties set on the object itself ("hidden" properties)
|
|
268
|
-
*/
|
|
269
|
-
toJSONObject(): CameraSettingsJSON & Record<string, any>;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
interface PoolCapacityOptions {
|
|
273
|
-
minPoolCapacity: number;
|
|
274
|
-
maxPoolCapacity: number;
|
|
275
|
-
}
|
|
276
|
-
declare abstract class FrameReaderAbstract {
|
|
277
|
-
colorType: ColorType;
|
|
278
|
-
protected readonly _contextWebGL: WebGLRenderingContext;
|
|
279
|
-
protected readonly _maxPoolCapacity: number;
|
|
280
|
-
protected readonly _minPoolCapacity: number;
|
|
281
|
-
/**
|
|
282
|
-
* In mobile applications, particularly on Android, capturing frames at a slow rate can be a common issue,
|
|
283
|
-
* especially in scenarios involving barcode tracking. Using a stack becomes valuable in such situations
|
|
284
|
-
* because it allows us to capture next frame with pixel data while the engine is still processing the previous one,
|
|
285
|
-
* eliminating the need to wait for the engine to finish before capturing the next frame.
|
|
286
|
-
*/
|
|
287
|
-
protected _framePool: Optional<WatermarkStack<Uint8ClampedArray>>;
|
|
288
|
-
constructor(contextWebGL: WebGLRenderingContext, options?: PoolCapacityOptions | undefined);
|
|
289
|
-
abstract readFromSource(source: TexImageSource): FrameCapture;
|
|
290
|
-
abstract setup(): void;
|
|
291
|
-
recycle(pixelsData: Uint8ClampedArray): void;
|
|
292
|
-
abstract dispose(): void;
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
declare enum ColorType {
|
|
296
|
-
RGBA = "RGBA",
|
|
297
|
-
GRAYSCALE = "GRAYSCALE"
|
|
298
|
-
}
|
|
299
|
-
declare class FrameReader extends FrameReaderAbstract {
|
|
300
|
-
colorType: ColorType;
|
|
301
|
-
private _framebuffer;
|
|
302
|
-
private _texture;
|
|
303
|
-
private _frameSize;
|
|
304
|
-
private get _initialized();
|
|
305
|
-
readFromSource(source: TexImageSource): FrameCapture;
|
|
306
|
-
setup(): void;
|
|
307
|
-
dispose(): void;
|
|
308
|
-
private updateFrameSizeIfNeeded;
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
interface DataCaptureContextListener {
|
|
312
|
-
didChangeStatus?: (context: DataCaptureContext$1, contextStatus: ContextStatus) => void;
|
|
313
|
-
didStartObservingContext?: (context: DataCaptureContext$1) => void;
|
|
314
|
-
didChangeFrameSource?: (context: DataCaptureContext$1, frameSource: FrameSource | null) => void;
|
|
315
|
-
}
|
|
316
|
-
interface ContextStatusJSON {
|
|
317
|
-
code: number;
|
|
318
|
-
isValid: boolean;
|
|
319
|
-
message: string;
|
|
320
|
-
}
|
|
321
|
-
declare class ContextStatus {
|
|
322
|
-
private _message;
|
|
323
|
-
private _code;
|
|
324
|
-
private _isValid;
|
|
325
|
-
private static fromJSON;
|
|
326
|
-
get message(): string;
|
|
327
|
-
get code(): number;
|
|
328
|
-
get isValid(): boolean;
|
|
329
|
-
}
|
|
330
|
-
declare enum PrivateMirrorAxis {
|
|
331
|
-
None = "None",
|
|
332
|
-
X = "X",
|
|
333
|
-
Y = "Y"
|
|
334
|
-
}
|
|
18
|
+
import { OverrideState } from './worker/OverrideState.js';
|
|
19
|
+
import { ScanditIcon } from './ScanditIcon.js';
|
|
20
|
+
import { ScanditHTMLElement } from './private/utils/ScanditHTMLElement.js';
|
|
21
|
+
import { HTMLElementStateJSON } from './private/HtmlElementState.js';
|
|
22
|
+
import { AsyncStateMachine } from './private/utils/AsyncStateMachine.js';
|
|
335
23
|
|
|
336
24
|
interface DataCaptureOverlay extends Serializable {
|
|
337
25
|
[nativeHandle]?: {
|
|
@@ -426,13 +114,13 @@ declare class DataCaptureView$1 implements Serializable<DataCaptureViewJSON> {
|
|
|
426
114
|
* The current context as a PrivateDataCaptureContext
|
|
427
115
|
*/
|
|
428
116
|
private get privateContext();
|
|
429
|
-
static forContext(context: DataCaptureContext
|
|
117
|
+
static forContext(context: DataCaptureContext | null): Promise<DataCaptureView$1>;
|
|
430
118
|
showProgressBar(): void;
|
|
431
119
|
hideProgressBar(): void;
|
|
432
120
|
setProgressBarPercentage(percentage: number | null): void;
|
|
433
121
|
setProgressBarMessage(message: string): void;
|
|
434
|
-
getContext(): DataCaptureContext
|
|
435
|
-
setContext(context: DataCaptureContext
|
|
122
|
+
getContext(): DataCaptureContext | null;
|
|
123
|
+
setContext(context: DataCaptureContext | null): Promise<void>;
|
|
436
124
|
connectToElement(element: HTMLElement, options?: DataCaptureViewConnectOptions): void;
|
|
437
125
|
detachFromElement(): void;
|
|
438
126
|
addOverlay(overlay: DataCaptureOverlay): Promise<void>;
|
|
@@ -490,277 +178,24 @@ declare class DataCaptureView$1 implements Serializable<DataCaptureViewJSON> {
|
|
|
490
178
|
private unfreezeFrame;
|
|
491
179
|
}
|
|
492
180
|
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
type
|
|
498
|
-
|
|
499
|
-
libraryLocation: string;
|
|
500
|
-
verifyResponseHash: boolean;
|
|
501
|
-
loadProgressNotifier?: (info: ProgressInfo) => void;
|
|
502
|
-
logLevel?: Logger.Level;
|
|
503
|
-
overrideSimdSupport: OverrideState;
|
|
504
|
-
overrideThreadsSupport: OverrideState;
|
|
505
|
-
highEndBlurryRecognition?: boolean;
|
|
181
|
+
interface FrameData {
|
|
182
|
+
readonly width: number;
|
|
183
|
+
readonly height: number;
|
|
184
|
+
readonly isFrameSourceMirrored: boolean;
|
|
185
|
+
toBlob(type?: string, quality?: number): Promise<Blob | null>;
|
|
186
|
+
getData(): Promise<Uint8ClampedArray | null>;
|
|
506
187
|
}
|
|
188
|
+
type PrivateLoadableFrameData = Omit<FrameData, "getData" | "toBlob"> & {
|
|
189
|
+
frameId: number;
|
|
190
|
+
};
|
|
507
191
|
/**
|
|
508
|
-
*
|
|
509
|
-
* and sends commands to it. It represents thus the main communication channel
|
|
510
|
-
* between the main thread and the engine running in the worker.
|
|
192
|
+
* Adds some function to the passed frame data object to let the user load the frame data.
|
|
511
193
|
*/
|
|
512
|
-
declare
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
protected _dataCaptureWorker?: DataCaptureWorker;
|
|
518
|
-
protected readonly libraryLocation: string;
|
|
519
|
-
protected workerCommandId: number;
|
|
520
|
-
protected readonly workerTasks: Map<number, {
|
|
521
|
-
resolve: (...arguments_: any[]) => any;
|
|
522
|
-
reject: (...arguments_: any[]) => any;
|
|
523
|
-
command: string;
|
|
524
|
-
}>;
|
|
525
|
-
protected readonly workerListeners: WorkerListener[];
|
|
526
|
-
protected workerMessageListener: (event_: MessageEvent<DataCaptureCallbackMessage>) => void;
|
|
527
|
-
protected constructor(options: DataCaptureLoaderOptions);
|
|
528
|
-
get dataCaptureWorker(): DataCaptureWorker;
|
|
529
|
-
protected get name(): string;
|
|
530
|
-
protected get fixedWasmMemory(): number | null;
|
|
531
|
-
static create(options: DataCaptureLoaderOptions): Promise<DataCaptureLoader>;
|
|
532
|
-
load(): Promise<WorkerResponse<"loadLibrary">>;
|
|
533
|
-
/**
|
|
534
|
-
* Send a task (i.e. a command) to the worker. Every task sent has a corresponding Promise object which
|
|
535
|
-
* gets resolved when the worker has processed the request. The tasks are identified by an id which is
|
|
536
|
-
* sent along with the data by both sides.
|
|
537
|
-
*/
|
|
538
|
-
workerCommand<C extends DataCaptureActionMessageKey>(command: C, payload: WorkerCommandPayload<C>, transferables?: Transferable[]): Promise<WorkerResponse<C>>;
|
|
539
|
-
terminateDataCaptureWorker(disposeContext?: boolean): Promise<void>;
|
|
540
|
-
addWorkerListener(listener: WorkerListener): void;
|
|
541
|
-
removeWorkerListener(listener: WorkerListener): void;
|
|
542
|
-
getOptions(): Pick<DataCaptureLoaderOptions, "libraryLocation" | "overrideSimdSupport" | "overrideThreadsSupport" | "verifyResponseHash">;
|
|
543
|
-
protected onWorkerMessage(event_: MessageEvent<DataCaptureCallbackMessage>): void;
|
|
544
|
-
}
|
|
545
|
-
|
|
546
|
-
type Change = {
|
|
547
|
-
type: "modeEnabled";
|
|
548
|
-
newValue: boolean;
|
|
549
|
-
} | {
|
|
550
|
-
type: "addControl";
|
|
551
|
-
newValue: any;
|
|
552
|
-
} | {
|
|
553
|
-
type: "addOverlay";
|
|
554
|
-
newValue: any;
|
|
555
|
-
} | {
|
|
556
|
-
type: "cameraSettings";
|
|
557
|
-
newValue: any;
|
|
558
|
-
} | {
|
|
559
|
-
type: "frameSourceState";
|
|
560
|
-
newValue: any;
|
|
561
|
-
} | {
|
|
562
|
-
type: "removeControl";
|
|
563
|
-
newValue: any;
|
|
564
|
-
} | {
|
|
565
|
-
type: "removeOverlay";
|
|
566
|
-
newValue: any;
|
|
567
|
-
} | {
|
|
568
|
-
type: "singleImageModeUploaderSettings";
|
|
569
|
-
newValue: any;
|
|
570
|
-
} | {
|
|
571
|
-
type: "torchState";
|
|
572
|
-
newValue: any;
|
|
573
|
-
} | {
|
|
574
|
-
type: "viewChange";
|
|
575
|
-
newValue: {
|
|
576
|
-
orientation: Orientation;
|
|
577
|
-
} & Partial<HTMLElementStateJSON>;
|
|
578
|
-
} | {
|
|
579
|
-
type: "viewSet";
|
|
580
|
-
newValue: DataCaptureView$1 | null;
|
|
581
|
-
};
|
|
582
|
-
type PrivateChangeSet = Change[];
|
|
583
|
-
interface DataCaptureMode extends Serializable {
|
|
584
|
-
isEnabled(): boolean;
|
|
585
|
-
setEnabled(enabled: boolean): Promise<void>;
|
|
586
|
-
context: Optional<DataCaptureContext$1>;
|
|
587
|
-
}
|
|
588
|
-
interface PrivateDataCaptureMode extends DataCaptureMode {
|
|
589
|
-
type: "barcodeCapture" | "idCapture";
|
|
590
|
-
skipSerialization?: boolean;
|
|
591
|
-
[nativeHandle]?: symbol;
|
|
592
|
-
_context: Optional<DataCaptureContext$1>;
|
|
593
|
-
attachedToContext: (context: DataCaptureContext$1) => Promise<void>;
|
|
594
|
-
detachedFromContext: () => Promise<void>;
|
|
595
|
-
_synchronousFrameFlow?: boolean;
|
|
596
|
-
}
|
|
597
|
-
interface DataCaptureModeJSON<S = JSONType> {
|
|
598
|
-
type: "barcodeCapture" | "barcodeTracking" | "idCapture" | "parser" | "sparkScan" | "barcodeFind" | "barcodeAr" | "labelCapture";
|
|
599
|
-
enabled: boolean;
|
|
600
|
-
settings: S;
|
|
601
|
-
}
|
|
602
|
-
interface PrivateDataCaptureComponent {
|
|
603
|
-
_context: DataCaptureContext$1;
|
|
604
|
-
}
|
|
605
|
-
type DataCaptureComponentJSON = JSONType;
|
|
606
|
-
interface DataCaptureComponent extends Serializable<DataCaptureComponentJSON> {
|
|
607
|
-
readonly id: string;
|
|
608
|
-
}
|
|
609
|
-
interface PrivateDataCaptureContextOptions {
|
|
610
|
-
deviceName?: string | null;
|
|
611
|
-
dataCaptureInstance?: DataCaptureLoader;
|
|
612
|
-
delayedRegistration?: boolean;
|
|
613
|
-
licenseKey?: string;
|
|
614
|
-
settings?: DataCaptureContextSettings;
|
|
615
|
-
}
|
|
616
|
-
interface PrivateDataCaptureContext<W extends (...parameters: any[]) => unknown = DataCaptureLoader["workerCommand"]> {
|
|
617
|
-
_frameSource?: FrameSource | null;
|
|
618
|
-
_useSynchronousFrameFlow: boolean;
|
|
619
|
-
modes: Set<DataCaptureMode>;
|
|
620
|
-
components: DataCaptureComponent[];
|
|
621
|
-
createContext: (subscribeToCameraManagerAndVisibilityEvents?: boolean) => Promise<void>;
|
|
622
|
-
update: (changeSet?: PrivateChangeSet, { updateContext }?: {
|
|
623
|
-
updateContext?: boolean;
|
|
624
|
-
}) => Promise<void>;
|
|
625
|
-
addNativeOverlay: (overlay: DataCaptureOverlay) => Promise<void>;
|
|
626
|
-
removeNativeOverlay: (overlay: DataCaptureOverlay) => Promise<void>;
|
|
627
|
-
addComponent: (component: DataCaptureComponent) => Promise<void>;
|
|
628
|
-
dataCaptureInstance: DataCaptureLoader;
|
|
629
|
-
sendFrameToProcessor: (capture: FrameCapture) => Promise<WorkerResponse<"processFrame">>;
|
|
630
|
-
subscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
|
|
631
|
-
unsubscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
|
|
632
|
-
hasEnabledMode: () => boolean;
|
|
633
|
-
hasModes: () => boolean;
|
|
634
|
-
workerCommand: MethodSignature<W>;
|
|
635
|
-
performanceMark: MethodSignature<DataCaptureContext$1["performanceMark"]>;
|
|
636
|
-
isFeatureSupported: (feature: LicensedFeature) => Promise<boolean>;
|
|
637
|
-
new (): DataCaptureContext$1;
|
|
638
|
-
updateListeners: Set<(change: Change) => void>;
|
|
639
|
-
updateCameraFrameFlow: (synchronous: boolean) => void;
|
|
640
|
-
getView: () => DataCaptureView$1 | null;
|
|
641
|
-
}
|
|
642
|
-
interface DataCaptureContextCreationOptions {
|
|
643
|
-
deviceName?: string;
|
|
644
|
-
licenseKey?: string;
|
|
645
|
-
settings?: DataCaptureContextSettings;
|
|
646
|
-
}
|
|
647
|
-
interface RuntimeEnvironment {
|
|
648
|
-
deviceOS: string;
|
|
649
|
-
browser: string;
|
|
650
|
-
browserVersion: string;
|
|
651
|
-
deviceModelName: string;
|
|
652
|
-
}
|
|
653
|
-
interface DataCaptureContextJSON extends RuntimeEnvironment {
|
|
654
|
-
framework: string;
|
|
655
|
-
settings: DataCaptureContextSettingsJSON;
|
|
656
|
-
licenseKey: string;
|
|
657
|
-
deviceName: string;
|
|
658
|
-
frameSource: FrameSourceJSON | null;
|
|
659
|
-
modes: DataCaptureModeJSON[];
|
|
660
|
-
components: DataCaptureComponentJSON[];
|
|
661
|
-
view: DataCaptureViewJSON | null;
|
|
662
|
-
}
|
|
663
|
-
type PrivateFrameHandlerResponse = {
|
|
664
|
-
action: "continue" | "skip";
|
|
665
|
-
frame: FrameCapture;
|
|
666
|
-
};
|
|
667
|
-
type PrivateFrameHandler = (frame: FrameCapture) => Promise<PrivateFrameHandlerResponse>;
|
|
668
|
-
declare class DataCaptureContext$1 implements Serializable<DataCaptureContextJSON> {
|
|
669
|
-
static deviceID: string;
|
|
670
|
-
private static readonly moduleLicenseTextProviders;
|
|
671
|
-
private readonly framework;
|
|
672
|
-
private readonly runtimeEnvironment;
|
|
673
|
-
private settings;
|
|
674
|
-
private licenseKey;
|
|
675
|
-
private deviceName;
|
|
676
|
-
private _frameSource;
|
|
677
|
-
private _view;
|
|
678
|
-
private readonly modes;
|
|
679
|
-
private readonly components;
|
|
680
|
-
private listeners;
|
|
681
|
-
private readonly updateListeners;
|
|
682
|
-
private readonly cameraPropertiesReportListener;
|
|
683
|
-
private readonly cameraAccessErrorListener;
|
|
684
|
-
private readonly onWorkerMessageListener;
|
|
685
|
-
private readonly onVisibilityChangeListener;
|
|
686
|
-
private dataCaptureInstance;
|
|
687
|
-
private readonly pendingWorkerMessageListeners;
|
|
688
|
-
private delayedRegistration;
|
|
689
|
-
private highEndBlurryRecognition;
|
|
690
|
-
private readonly _frameHandlers;
|
|
691
|
-
/**
|
|
692
|
-
* When synchronous, only one frame is processed at a time by the capture mode, the frame source will wait until the
|
|
693
|
-
* frame data is back to send the next frame.
|
|
694
|
-
*
|
|
695
|
-
* IdCapture uses the synchronous flow because BlinkID only processes one frame at a time.
|
|
696
|
-
* MatrixScan and other barcode modes usually use the asynchronous flow because they can use multi-threading.
|
|
697
|
-
*/
|
|
698
|
-
private _useSynchronousFrameFlow;
|
|
699
|
-
private static _sharedInstance;
|
|
700
|
-
static get sharedInstance(): DataCaptureContext$1;
|
|
701
|
-
private initializeWithOptions;
|
|
702
|
-
get frameSource(): FrameSource | null;
|
|
703
|
-
private get workerCommand();
|
|
704
|
-
static create(): Promise<DataCaptureContext$1>;
|
|
705
|
-
static createWithOptions(options: DataCaptureContextCreationOptions): Promise<DataCaptureContext$1>;
|
|
706
|
-
static getOpenSourceSoftwareLicenseInfo(): Promise<OpenSourceSoftwareLicenseInfo>;
|
|
707
|
-
/**
|
|
708
|
-
* Disconnect the current frame source from the context and connect the new one. This process can happen multiple
|
|
709
|
-
* times for the same frame source because of its initialisation (The mirroring info of a camera is only available
|
|
710
|
-
* when it has started for example).
|
|
711
|
-
* Trigger the "didChangeFrameSource" listeners only if the new frame source is different than the old one.
|
|
712
|
-
*/
|
|
713
|
-
setFrameSource(frameSource: FrameSource | null): Promise<void>;
|
|
714
|
-
addListener(listener: DataCaptureContextListener): void;
|
|
715
|
-
flushAnalytics(): Promise<void>;
|
|
716
|
-
removeListener(listener: DataCaptureContextListener): void;
|
|
717
|
-
addMode(mode: DataCaptureMode): Promise<void>;
|
|
718
|
-
removeMode(mode: DataCaptureMode): Promise<void>;
|
|
719
|
-
setMode(mode: DataCaptureMode): Promise<void>;
|
|
720
|
-
removeCurrentMode(): Promise<void>;
|
|
721
|
-
/**
|
|
722
|
-
* @deprecated Use removeCurrentMode instead.
|
|
723
|
-
*/
|
|
724
|
-
removeAllModes(): Promise<void>;
|
|
725
|
-
dispose(): Promise<void>;
|
|
726
|
-
applySettings(settings: DataCaptureContextSettings): Promise<void>;
|
|
727
|
-
toJSONObject(): DataCaptureContextJSON;
|
|
728
|
-
private getView;
|
|
729
|
-
private setView;
|
|
730
|
-
private getAppName;
|
|
731
|
-
private urlToHostname;
|
|
732
|
-
private getParentDomain;
|
|
733
|
-
private createContext;
|
|
734
|
-
private subscribeToVisibilityChange;
|
|
735
|
-
private unsubscribeToVisibilityChange;
|
|
736
|
-
private requestFrameData;
|
|
737
|
-
private performanceMark;
|
|
738
|
-
private sendFrameToProcessor;
|
|
739
|
-
private sendFrameToHandlers;
|
|
740
|
-
private sendFrameToSDC;
|
|
741
|
-
private registerFrameHandler;
|
|
742
|
-
private unregisterFrameHandler;
|
|
743
|
-
private onVisibilityChange;
|
|
744
|
-
private onWorkerMessage;
|
|
745
|
-
private subscribeToCameraManagerEvents;
|
|
746
|
-
private reportCameraProperties;
|
|
747
|
-
private onCameraAccessError;
|
|
748
|
-
private update;
|
|
749
|
-
private updateContext;
|
|
750
|
-
private getViewInfo;
|
|
751
|
-
private getMirrorAxisForFrameSource;
|
|
752
|
-
private addComponent;
|
|
753
|
-
private addNativeOverlay;
|
|
754
|
-
private removeNativeOverlay;
|
|
755
|
-
private subscribeToWorkerMessages;
|
|
756
|
-
private unsubscribeToWorkerMessages;
|
|
757
|
-
private hasEnabledMode;
|
|
758
|
-
/**
|
|
759
|
-
* Some capture modes process frames synchronously, like IdCapture. Other can process multiple frames
|
|
760
|
-
* in parallel, like MatrixScan. We inform the CameraManager how to process frames.
|
|
761
|
-
*/
|
|
762
|
-
private updateCameraFrameFlow;
|
|
763
|
-
private isFeatureSupported;
|
|
194
|
+
declare function convertToPublicFrameData(loadableFrameData: PrivateLoadableFrameData, context: DataCaptureContext): FrameData;
|
|
195
|
+
|
|
196
|
+
interface ModuleLoader {
|
|
197
|
+
moduleName: string;
|
|
198
|
+
load(options: ModuleLoaderOptions): Promise<any>;
|
|
764
199
|
}
|
|
765
200
|
|
|
766
201
|
/**
|
|
@@ -992,7 +427,7 @@ interface EmscriptenClassHandle<Self = EmscriptenClassHandle<unknown>> {
|
|
|
992
427
|
deleteLater: () => void;
|
|
993
428
|
isAliasOf: () => Self;
|
|
994
429
|
}
|
|
995
|
-
interface DataCaptureContext extends EmscriptenClassHandle {
|
|
430
|
+
interface DataCaptureContext$1 extends EmscriptenClassHandle {
|
|
996
431
|
setCameraProperties: (deviceId: string, isFrontFacing: boolean, hasAutofocus: boolean) => void;
|
|
997
432
|
addListener: (function_: unknown) => void;
|
|
998
433
|
addFrameListener: (listener: unknown) => void;
|
|
@@ -1029,12 +464,12 @@ interface JSONParseable extends EmscriptenClassHandle {
|
|
|
1029
464
|
toJson: () => string;
|
|
1030
465
|
}
|
|
1031
466
|
interface DataCaptureContextDeserializerResult extends EmscriptenClassHandle {
|
|
1032
|
-
getContext: () => DataCaptureContext;
|
|
467
|
+
getContext: () => DataCaptureContext$1;
|
|
1033
468
|
getView: () => DataCaptureView | undefined;
|
|
1034
469
|
}
|
|
1035
470
|
interface DataCaptureContextDeserializer extends EmscriptenClassHandle {
|
|
1036
471
|
contextFromJson: (json: string) => DataCaptureContextDeserializerResult | null;
|
|
1037
|
-
updateContextFromJson: (context: DataCaptureContext, view: DataCaptureView | undefined, json: string) => DataCaptureContextDeserializerResult | null;
|
|
472
|
+
updateContextFromJson: (context: DataCaptureContext$1, view: DataCaptureView | undefined, json: string) => DataCaptureContextDeserializerResult | null;
|
|
1038
473
|
getLastError: () => string;
|
|
1039
474
|
}
|
|
1040
475
|
interface CaptureModeDeserializerInstance extends EmscriptenClassHandle {
|
|
@@ -1106,31 +541,6 @@ interface HintStyle {
|
|
|
1106
541
|
maxLines: number;
|
|
1107
542
|
cornerRadius: number;
|
|
1108
543
|
fitToText: boolean;
|
|
1109
|
-
/**
|
|
1110
|
-
* Will be removed after Id Capture migrates to HintPresenter v2
|
|
1111
|
-
* @deprecated
|
|
1112
|
-
*/
|
|
1113
|
-
anchor: Anchor;
|
|
1114
|
-
/**
|
|
1115
|
-
* @deprecated
|
|
1116
|
-
*/
|
|
1117
|
-
verticalOffsetRatio: number;
|
|
1118
|
-
/**
|
|
1119
|
-
* @deprecated
|
|
1120
|
-
*/
|
|
1121
|
-
font: HintFont;
|
|
1122
|
-
/**
|
|
1123
|
-
* @deprecated
|
|
1124
|
-
*/
|
|
1125
|
-
hintWidth: HintWidth;
|
|
1126
|
-
/**
|
|
1127
|
-
* @deprecated
|
|
1128
|
-
*/
|
|
1129
|
-
hintHeight: HintHeight;
|
|
1130
|
-
/**
|
|
1131
|
-
* @deprecated
|
|
1132
|
-
*/
|
|
1133
|
-
hintCornerStyle: HintCornerStyle;
|
|
1134
544
|
}
|
|
1135
545
|
declare enum GuidanceHintAnchor {
|
|
1136
546
|
AboveViewFinder = "aboveViewFinder",
|
|
@@ -1203,7 +613,8 @@ declare enum LicensedFeature {
|
|
|
1203
613
|
SmartLabelBarcode = 35,
|
|
1204
614
|
SmartLabelText = 36,
|
|
1205
615
|
VoidedIdDetection = 37,
|
|
1206
|
-
BarcodeArFull = 38
|
|
616
|
+
BarcodeArFull = 38,
|
|
617
|
+
BarcodeSequence = 39
|
|
1207
618
|
}
|
|
1208
619
|
interface HintPresenterV2 extends EmscriptenClassHandle {
|
|
1209
620
|
showToast: (toastHint: string) => void;
|
|
@@ -1230,20 +641,20 @@ interface Module extends EmscriptenModule {
|
|
|
1230
641
|
DataCaptureContextDeserializer: new (fsFolderPath: string, deviceId: string, deviceModel: string, domain: string, parentDomain: string, modeDeserializer: Vector, delayedRegistration: boolean, highEndBlurryRecognition: boolean, resourcePath: string) => DataCaptureContextDeserializer;
|
|
1231
642
|
DataCaptureContextListener: {
|
|
1232
643
|
extend: (target: "DataCaptureContextListener", parameters: {
|
|
1233
|
-
didChangeStatus: (context: DataCaptureContext, contextStatus: {
|
|
644
|
+
didChangeStatus: (context: DataCaptureContext$1, contextStatus: {
|
|
1234
645
|
toJson: () => string;
|
|
1235
646
|
}) => void;
|
|
1236
|
-
didStartObservingContext: (context: DataCaptureContext) => void;
|
|
1237
|
-
didStopObservingContext: (context: DataCaptureContext) => void;
|
|
647
|
+
didStartObservingContext: (context: DataCaptureContext$1) => void;
|
|
648
|
+
didStopObservingContext: (context: DataCaptureContext$1) => void;
|
|
1238
649
|
}) => new () => EmscriptenClassHandle;
|
|
1239
650
|
};
|
|
1240
651
|
DataCaptureContextFrameListener: {
|
|
1241
652
|
extend: (target: "DataCaptureContextFrameListener", parameters: {
|
|
1242
|
-
onObservationStarted: (context: DataCaptureContext) => void;
|
|
1243
|
-
onObservationStopped: (context: DataCaptureContext) => void;
|
|
1244
|
-
onFrameProcessingStarted: (context: DataCaptureContext, frameData: WasmFrameData) => void;
|
|
1245
|
-
onFrameProcessingFinished: (context: DataCaptureContext, frameData: WasmFrameData) => void;
|
|
1246
|
-
onFrameSkipped: (context: DataCaptureContext, frameData: WasmFrameData) => void;
|
|
653
|
+
onObservationStarted: (context: DataCaptureContext$1) => void;
|
|
654
|
+
onObservationStopped: (context: DataCaptureContext$1) => void;
|
|
655
|
+
onFrameProcessingStarted: (context: DataCaptureContext$1, frameData: WasmFrameData) => void;
|
|
656
|
+
onFrameProcessingFinished: (context: DataCaptureContext$1, frameData: WasmFrameData) => void;
|
|
657
|
+
onFrameSkipped: (context: DataCaptureContext$1, frameData: WasmFrameData) => void;
|
|
1247
658
|
}) => new () => EmscriptenClassHandle;
|
|
1248
659
|
};
|
|
1249
660
|
HintPresenter: {
|
|
@@ -1301,12 +712,12 @@ interface Module extends EmscriptenModule {
|
|
|
1301
712
|
};
|
|
1302
713
|
dispose: () => void;
|
|
1303
714
|
LicenseFeature: LicensedFeature;
|
|
1304
|
-
addBarcodeFindToContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
|
|
1305
|
-
removeBarcodeFindFromContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
|
|
715
|
+
addBarcodeFindToContext: (context: DataCaptureContext$1, mode: EmscriptenClassHandle) => void;
|
|
716
|
+
removeBarcodeFindFromContext: (context: DataCaptureContext$1, mode: EmscriptenClassHandle) => void;
|
|
1306
717
|
addBarcodeFindBasicOverlayToView: (view: DataCaptureView, overlay: EmscriptenClassHandle) => void;
|
|
1307
718
|
removeBarcodeFindBasicOverlayFromView: (view: DataCaptureView, overlay: EmscriptenClassHandle) => void;
|
|
1308
|
-
addBarcodeArToContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
|
|
1309
|
-
removeBarcodeArFromContext: (context: DataCaptureContext, mode: EmscriptenClassHandle) => void;
|
|
719
|
+
addBarcodeArToContext: (context: DataCaptureContext$1, mode: EmscriptenClassHandle) => void;
|
|
720
|
+
removeBarcodeArFromContext: (context: DataCaptureContext$1, mode: EmscriptenClassHandle) => void;
|
|
1310
721
|
OpenSourceSoftwareLicenseInfo: {
|
|
1311
722
|
getLicenseText(): string;
|
|
1312
723
|
};
|
|
@@ -1324,214 +735,43 @@ interface ModuleHandler<M extends Module> {
|
|
|
1324
735
|
set: (v: M) => void;
|
|
1325
736
|
}
|
|
1326
737
|
|
|
1327
|
-
interface
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
738
|
+
interface PoolCapacityOptions {
|
|
739
|
+
minPoolCapacity: number;
|
|
740
|
+
maxPoolCapacity: number;
|
|
741
|
+
}
|
|
742
|
+
declare abstract class FrameReaderAbstract {
|
|
743
|
+
colorType: ColorType;
|
|
744
|
+
protected readonly _contextWebGL: WebGLRenderingContext;
|
|
745
|
+
protected readonly _maxPoolCapacity: number;
|
|
746
|
+
protected readonly _minPoolCapacity: number;
|
|
747
|
+
/**
|
|
748
|
+
* In mobile applications, particularly on Android, capturing frames at a slow rate can be a common issue,
|
|
749
|
+
* especially in scenarios involving barcode tracking. Using a stack becomes valuable in such situations
|
|
750
|
+
* because it allows us to capture next frame with pixel data while the engine is still processing the previous one,
|
|
751
|
+
* eliminating the need to wait for the engine to finish before capturing the next frame.
|
|
752
|
+
*/
|
|
753
|
+
protected _framePool: Optional<WatermarkStack<Uint8ClampedArray>>;
|
|
754
|
+
constructor(contextWebGL: WebGLRenderingContext, options?: PoolCapacityOptions | undefined);
|
|
755
|
+
abstract readFromSource(source: TexImageSource): FrameCapture;
|
|
756
|
+
abstract setup(): void;
|
|
757
|
+
recycle(pixelsData: Uint8ClampedArray): void;
|
|
758
|
+
abstract dispose(): void;
|
|
1333
759
|
}
|
|
1334
|
-
type PrivateLoadableFrameData = Omit<FrameData, "getData" | "toBlob"> & {
|
|
1335
|
-
frameId: number;
|
|
1336
|
-
};
|
|
1337
|
-
/**
|
|
1338
|
-
* Adds some function to the passed frame data object to let the user load the frame data.
|
|
1339
|
-
*/
|
|
1340
|
-
declare function convertToPublicFrameData(loadableFrameData: PrivateLoadableFrameData, context: DataCaptureContext$1): FrameData;
|
|
1341
760
|
|
|
1342
|
-
declare enum
|
|
1343
|
-
|
|
761
|
+
declare enum ColorType {
|
|
762
|
+
RGBA = "RGBA",
|
|
763
|
+
GRAYSCALE = "GRAYSCALE"
|
|
1344
764
|
}
|
|
1345
|
-
declare class
|
|
1346
|
-
|
|
1347
|
-
private
|
|
1348
|
-
private
|
|
1349
|
-
private
|
|
1350
|
-
private
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
private
|
|
1355
|
-
static register(): void;
|
|
1356
|
-
static create(): HintPresenter;
|
|
1357
|
-
connectedCallback(): void;
|
|
1358
|
-
disconnectedCallback(): void;
|
|
1359
|
-
setViewFinderRect(rect: Rect | null): void;
|
|
1360
|
-
handleMessage(message: DataCaptureCallbackMessage): void;
|
|
1361
|
-
private setHintStyleToToast;
|
|
1362
|
-
private onDidToastHide;
|
|
1363
|
-
showToast(toast: GenericHint): Promise<void>;
|
|
1364
|
-
showToastWithCustomIcon(hintStyle: GenericHint, icon: ScanditIcon): Promise<void>;
|
|
1365
|
-
hideToast(hintStyle: GenericHint): Promise<void>;
|
|
1366
|
-
private showGuidance;
|
|
1367
|
-
private hideGuidance;
|
|
1368
|
-
private startUpdateTimer;
|
|
1369
|
-
private stopUpdateTimer;
|
|
1370
|
-
private idFromHint;
|
|
1371
|
-
private onOrientationChange;
|
|
1372
|
-
}
|
|
1373
|
-
declare global {
|
|
1374
|
-
interface HTMLElementTagNameMap {
|
|
1375
|
-
[HintPresenter.tag]: HintPresenter;
|
|
1376
|
-
}
|
|
1377
|
-
interface HTMLElementEventMap {
|
|
1378
|
-
[HintPresenterEvents.Update]: CustomEvent<void>;
|
|
1379
|
-
}
|
|
1380
|
-
}
|
|
1381
|
-
|
|
1382
|
-
interface LoadLibraryParameters {
|
|
1383
|
-
libraryLocation: string;
|
|
1384
|
-
locationPath: string;
|
|
1385
|
-
writableDataPathOverride?: string;
|
|
1386
|
-
overrideSimdSupport: OverrideState;
|
|
1387
|
-
overrideThreadsSupport: OverrideState;
|
|
1388
|
-
verifyResponseHash: boolean;
|
|
1389
|
-
onProgress?: (info: ProgressInfo) => void;
|
|
1390
|
-
referredOrigin?: string;
|
|
1391
|
-
fixedWasmMemory: number | null;
|
|
1392
|
-
}
|
|
1393
|
-
interface CreateContextParameters {
|
|
1394
|
-
context: DataCaptureContextJSON;
|
|
1395
|
-
deviceId: string;
|
|
1396
|
-
delayedRegistration: boolean;
|
|
1397
|
-
highEndBlurryRecognition: boolean;
|
|
1398
|
-
appName: string | null;
|
|
1399
|
-
parentDomain: string;
|
|
1400
|
-
}
|
|
1401
|
-
interface UpdateContextParameters {
|
|
1402
|
-
context: DataCaptureContextJSON;
|
|
1403
|
-
view: {
|
|
1404
|
-
width: number;
|
|
1405
|
-
height: number;
|
|
1406
|
-
visible: boolean;
|
|
1407
|
-
orientation: Orientation;
|
|
1408
|
-
} | null;
|
|
1409
|
-
}
|
|
1410
|
-
interface SetFrameSourceParameters {
|
|
1411
|
-
mirrorAxis: PrivateMirrorAxis;
|
|
1412
|
-
isCameraFrameSource: boolean;
|
|
1413
|
-
}
|
|
1414
|
-
type ProcessFrameParameters = FrameCapture;
|
|
1415
|
-
interface ReportCameraPropertiesParameters {
|
|
1416
|
-
deviceId: string;
|
|
1417
|
-
hasAutofocus: boolean;
|
|
1418
|
-
isFrontFacing: boolean;
|
|
1419
|
-
}
|
|
1420
|
-
interface WorkerFunctions {
|
|
1421
|
-
getOffscreenCanvas: () => OffscreenCanvas | undefined;
|
|
1422
|
-
postMessage: (message: DataCaptureCallbackMessage, transfer?: Transferable[]) => void;
|
|
1423
|
-
}
|
|
1424
|
-
/**
|
|
1425
|
-
* DataCaptureEngine is an abstraction of the engine, it is created by the engine worker
|
|
1426
|
-
* and should be used as a singleton. It calls the underlying engine methods directly.
|
|
1427
|
-
*/
|
|
1428
|
-
declare class DataCaptureEngine<M extends Module> {
|
|
1429
|
-
private static get3dPartyLicenseKeyMethodName;
|
|
1430
|
-
context: DataCaptureContext;
|
|
1431
|
-
lastUsedModuleMirrorAxis: unknown;
|
|
1432
|
-
view: DataCaptureView | undefined;
|
|
1433
|
-
hintPresenterV2: HintPresenterV2 | null;
|
|
1434
|
-
protected readonly MAX_NUMBER_OF_IMAGES_IN_FRAME_DATA_POOL: number;
|
|
1435
|
-
protected readonly moduleHandler: ModuleHandler<M>;
|
|
1436
|
-
protected readonly redrawInterval: number;
|
|
1437
|
-
protected readonly redrawRequests: number[];
|
|
1438
|
-
protected readonly workerFunctions: WorkerFunctions;
|
|
1439
|
-
protected _isDrawLoopRunning: boolean;
|
|
1440
|
-
protected contextDeserializer: DataCaptureContextDeserializer | undefined;
|
|
1441
|
-
protected frameDataPool: Map<number, Uint8ClampedArray>;
|
|
1442
|
-
protected imageFrameSource?: DataCaptureImageBufferFrameSource;
|
|
1443
|
-
protected lastFrameCounter: number;
|
|
1444
|
-
protected libraryLoadingPromise: Promise<void> | undefined;
|
|
1445
|
-
protected loopTimeoutId?: ReturnType<typeof setTimeout>;
|
|
1446
|
-
protected resourcePath: string;
|
|
1447
|
-
protected writableDataPath: string;
|
|
1448
|
-
protected poorMansBenchmarkLogs: boolean;
|
|
1449
|
-
protected parentDomain: string;
|
|
1450
|
-
protected readonly writableDataPathStandard: string;
|
|
1451
|
-
protected readonly resourceFilesSubfolder: string;
|
|
1452
|
-
protected performanceMetricsReporterTimer: ReturnType<typeof setTimeout> | undefined;
|
|
1453
|
-
protected performanceMetrics: PerformanceMetrics;
|
|
1454
|
-
protected gestureRecognizer: GestureRecognizer | null;
|
|
1455
|
-
private gestureListener;
|
|
1456
|
-
private webPlatformHintPresenter;
|
|
1457
|
-
constructor(moduleHandler: ModuleHandler<M>, workerFunctions: WorkerFunctions);
|
|
1458
|
-
get Module(): M;
|
|
1459
|
-
set isDrawLoopRunning(newValue: boolean);
|
|
1460
|
-
get isDrawLoopRunning(): boolean;
|
|
1461
|
-
convertToLoadableFrameData(frameData: WasmFrameData): PrivateLoadableFrameData;
|
|
1462
|
-
createContext(createContextJSON: CreateContextParameters): EngineWorkerResponse<"createContext">;
|
|
1463
|
-
onTap(point: PointJSON): void;
|
|
1464
|
-
hintPresenterV2Update(): void;
|
|
1465
|
-
startReportingPerformanceMetrics(): void;
|
|
1466
|
-
reportPerformanceMetrics(): Promise<void>;
|
|
1467
|
-
deleteFrameData(frameId: number): void;
|
|
1468
|
-
dispose(): EngineWorkerResponse<"dispose">;
|
|
1469
|
-
flushAnalytics(): void;
|
|
1470
|
-
extractCentaurusLicense(scanditLicenseKey: string): EngineWorkerResponse<"extractCentaurusLicense">;
|
|
1471
|
-
getModeDeserializers(): Vector;
|
|
1472
|
-
loadLibrary(parameters: LoadLibraryParameters): EngineWorkerResponse<"loadLibrary">;
|
|
1473
|
-
processFrame(parameters: ProcessFrameParameters): EngineWorkerResponse<"processFrame">;
|
|
1474
|
-
reportCameraProperties(properties: ReportCameraPropertiesParameters): EngineWorkerResponse<"reportCameraProperties">;
|
|
1475
|
-
requestFrameData(frameId: number): EngineWorkerResponse<"requestFrameData">;
|
|
1476
|
-
scheduleRedraw(view: DataCaptureView, redrawInMs: number): void;
|
|
1477
|
-
sendViewRefreshCommands(commands: Uint8Array): void;
|
|
1478
|
-
setFrameSource(mirrorAxis: PrivateMirrorAxis, isCameraFrameSource: boolean): EngineWorkerResponse<"setFrameSource">;
|
|
1479
|
-
/**
|
|
1480
|
-
* The draw loop check at regular interval if any redraw request were made by the engine.
|
|
1481
|
-
* If a redraw is necessary, it gathers and sends drawing commands to the main thread.
|
|
1482
|
-
*/
|
|
1483
|
-
startDrawLoop(view: DataCaptureView): void;
|
|
1484
|
-
updateContext(contextUpdateParameters: UpdateContextParameters): EngineWorkerResponse<"updateContext">;
|
|
1485
|
-
/**
|
|
1486
|
-
* Called before updateContextFromJson
|
|
1487
|
-
*
|
|
1488
|
-
* @protected
|
|
1489
|
-
* @param {UpdateContextParameters} contextUpdateParameters
|
|
1490
|
-
* @returns {UpdateContextParameters}
|
|
1491
|
-
*/
|
|
1492
|
-
protected onBeforeUpdateContextHook(contextUpdateParameters: UpdateContextParameters): UpdateContextParameters;
|
|
1493
|
-
onDocumentVisibilityChange(state: DocumentVisibilityState): void;
|
|
1494
|
-
isFeatureSupported(feature: LicensedFeature): EngineWorkerResponse<"isFeatureSupported">;
|
|
1495
|
-
getViewfinderInfo(): EngineWorkerResponse<"getViewfinderInfo">;
|
|
1496
|
-
getOpenSourceSoftwareLicenseInfo(): EngineWorkerResponse<"getOpenSourceSoftwareLicenseInfo">;
|
|
1497
|
-
protected getNextFrameId(): number;
|
|
1498
|
-
protected getWasmDynamicLibraries(coreWasmURI: string): string[];
|
|
1499
|
-
protected getWasmCoreExpectedHash(simdSupport: boolean, threadsSupport: boolean): string;
|
|
1500
|
-
protected getWasmCoreFileName(simdSupport: boolean, threadsSupport: boolean): string;
|
|
1501
|
-
protected getWasmMetadata(): Record<string, {
|
|
1502
|
-
bytes: number;
|
|
1503
|
-
}>;
|
|
1504
|
-
protected getWasmSideModuleFileName(): string;
|
|
1505
|
-
private _loadProgressCallback;
|
|
1506
|
-
/**
|
|
1507
|
-
* Redraw requests are scheduled at [now + redrawInMs], so when pushed they must be sorted
|
|
1508
|
-
* in chronological order so that we can later easily check if we need to redraw by checking
|
|
1509
|
-
* the first element.
|
|
1510
|
-
* @param redrawInMs
|
|
1511
|
-
*/
|
|
1512
|
-
private addRedrawRequest;
|
|
1513
|
-
private contextDidChangeStatus;
|
|
1514
|
-
private didStartObservingContext;
|
|
1515
|
-
private mapMirrorAxisOnModule;
|
|
1516
|
-
protected setView(view: DataCaptureView | undefined): void;
|
|
1517
|
-
/**
|
|
1518
|
-
* Add a native overlay to the view without passing from the deserializer.
|
|
1519
|
-
* must be implemented in the specific module.
|
|
1520
|
-
* @param event - The message event containing the overlay handle.
|
|
1521
|
-
*/
|
|
1522
|
-
addNativeOverlay(event: MessageEvent<AnyDataCaptureActionMessage>): void;
|
|
1523
|
-
/**
|
|
1524
|
-
* Remove a native overlay from the view.
|
|
1525
|
-
* must be implemented in the specific module.
|
|
1526
|
-
* @param event - The message event containing the overlay handle.
|
|
1527
|
-
*/
|
|
1528
|
-
removeNativeOverlay(event: MessageEvent<AnyDataCaptureActionMessage>): void;
|
|
1529
|
-
private setViewRefreshHandler;
|
|
1530
|
-
private setupDataDecoding;
|
|
1531
|
-
private start;
|
|
1532
|
-
private getWritableDataPath;
|
|
1533
|
-
private numOfMBToPages;
|
|
1534
|
-
private setup;
|
|
765
|
+
declare class FrameReader extends FrameReaderAbstract {
|
|
766
|
+
colorType: ColorType;
|
|
767
|
+
private _framebuffer;
|
|
768
|
+
private _texture;
|
|
769
|
+
private _frameSize;
|
|
770
|
+
private get _initialized();
|
|
771
|
+
readFromSource(source: TexImageSource): FrameCapture;
|
|
772
|
+
setup(): void;
|
|
773
|
+
dispose(): void;
|
|
774
|
+
private updateFrameSizeIfNeeded;
|
|
1535
775
|
}
|
|
1536
776
|
|
|
1537
777
|
declare enum MeteringMode {
|
|
@@ -1595,11 +835,11 @@ declare class CameraManager {
|
|
|
1595
835
|
private static readonly videoMetadataCheckTimeoutMs;
|
|
1596
836
|
private static MIRRORED_CLASS_NAME;
|
|
1597
837
|
private static _instance;
|
|
1598
|
-
activeCamera?: DeviceCamera
|
|
838
|
+
activeCamera?: DeviceCamera;
|
|
1599
839
|
activeCameraSettings?: CameraSettings;
|
|
1600
840
|
canvas: HTMLCanvasElement;
|
|
1601
841
|
gui: GUI;
|
|
1602
|
-
selectedCamera?: DeviceCamera
|
|
842
|
+
selectedCamera?: DeviceCamera;
|
|
1603
843
|
videoElement: HTMLVideoElement;
|
|
1604
844
|
private constraint;
|
|
1605
845
|
private clipArea?;
|
|
@@ -1661,7 +901,7 @@ declare class CameraManager {
|
|
|
1661
901
|
addListener<E extends CameraManagerEvent>(event: CameraManagerEvent, listener: (details: CameraManagerEventParameters<E>) => void): void;
|
|
1662
902
|
applyCameraSettings(cameraSettings?: CameraSettings): Promise<void>;
|
|
1663
903
|
captureImage(): FrameCapture | null;
|
|
1664
|
-
initializeCameraWithSettings(camera?: DeviceCamera
|
|
904
|
+
initializeCameraWithSettings(camera?: DeviceCamera, cameraSettings?: CameraSettings): Promise<void>;
|
|
1665
905
|
isMirrorImageEnabled(): boolean;
|
|
1666
906
|
isPinchToZoomEnabled(): boolean;
|
|
1667
907
|
isTapToFocusEnabled(): boolean;
|
|
@@ -1683,7 +923,7 @@ declare class CameraManager {
|
|
|
1683
923
|
setInteractionOptions(torchToggleEnabled: boolean, tapToFocusEnabled: boolean, pinchToZoomEnabled: boolean): void;
|
|
1684
924
|
setMirrorImageEnabled(enabled: boolean, override: boolean): void;
|
|
1685
925
|
setPinchToZoomEnabled(enabled: boolean): void;
|
|
1686
|
-
setSelectedCamera(camera?: DeviceCamera
|
|
926
|
+
setSelectedCamera(camera?: DeviceCamera): void;
|
|
1687
927
|
setSelectedCameraSettings(cameraSettings?: CameraSettings): void;
|
|
1688
928
|
setTapToFocusEnabled(enabled: boolean): void;
|
|
1689
929
|
setTorchEnabled(enabled: boolean): Promise<void>;
|
|
@@ -1761,85 +1001,551 @@ declare class CameraManager {
|
|
|
1761
1001
|
private handleVideoPause;
|
|
1762
1002
|
}
|
|
1763
1003
|
|
|
1764
|
-
interface
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1004
|
+
interface LoadLibraryParameters {
|
|
1005
|
+
libraryLocation: string;
|
|
1006
|
+
locationPath: string;
|
|
1007
|
+
writableDataPathOverride?: string;
|
|
1008
|
+
overrideSimdSupport: OverrideState;
|
|
1009
|
+
overrideThreadsSupport: OverrideState;
|
|
1010
|
+
verifyResponseHash: boolean;
|
|
1011
|
+
onProgress?: (info: ProgressInfo) => void;
|
|
1012
|
+
referredOrigin?: string;
|
|
1013
|
+
fixedWasmMemory: number | null;
|
|
1774
1014
|
}
|
|
1775
|
-
|
|
1776
|
-
|
|
1015
|
+
interface CreateContextParameters {
|
|
1016
|
+
context: DataCaptureContextJSON;
|
|
1777
1017
|
deviceId: string;
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
private
|
|
1838
|
-
private
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1018
|
+
delayedRegistration: boolean;
|
|
1019
|
+
highEndBlurryRecognition: boolean;
|
|
1020
|
+
appName: string | null;
|
|
1021
|
+
parentDomain: string;
|
|
1022
|
+
}
|
|
1023
|
+
interface UpdateContextParameters {
|
|
1024
|
+
context: DataCaptureContextJSON;
|
|
1025
|
+
view: {
|
|
1026
|
+
width: number;
|
|
1027
|
+
height: number;
|
|
1028
|
+
visible: boolean;
|
|
1029
|
+
orientation: Orientation;
|
|
1030
|
+
} | null;
|
|
1031
|
+
}
|
|
1032
|
+
interface SetFrameSourceParameters {
|
|
1033
|
+
mirrorAxis: PrivateMirrorAxis;
|
|
1034
|
+
isCameraFrameSource: boolean;
|
|
1035
|
+
}
|
|
1036
|
+
type ProcessFrameParameters = FrameCapture;
|
|
1037
|
+
interface ReportCameraPropertiesParameters {
|
|
1038
|
+
deviceId: string;
|
|
1039
|
+
hasAutofocus: boolean;
|
|
1040
|
+
isFrontFacing: boolean;
|
|
1041
|
+
}
|
|
1042
|
+
interface WorkerFunctions {
|
|
1043
|
+
getOffscreenCanvas: () => OffscreenCanvas | undefined;
|
|
1044
|
+
postMessage: (message: DataCaptureCallbackMessage, transfer?: Transferable[]) => void;
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* DataCaptureEngine is an abstraction of the engine, it is created by the engine worker
|
|
1048
|
+
* and should be used as a singleton. It calls the underlying engine methods directly.
|
|
1049
|
+
*/
|
|
1050
|
+
declare class DataCaptureEngine<M extends Module> {
|
|
1051
|
+
private static get3dPartyLicenseKeyMethodName;
|
|
1052
|
+
context: DataCaptureContext$1;
|
|
1053
|
+
lastUsedModuleMirrorAxis: unknown;
|
|
1054
|
+
view: DataCaptureView | undefined;
|
|
1055
|
+
hintPresenterV2: HintPresenterV2 | null;
|
|
1056
|
+
protected readonly MAX_NUMBER_OF_IMAGES_IN_FRAME_DATA_POOL: number;
|
|
1057
|
+
protected readonly moduleHandler: ModuleHandler<M>;
|
|
1058
|
+
protected readonly redrawInterval: number;
|
|
1059
|
+
protected readonly redrawRequests: number[];
|
|
1060
|
+
protected readonly workerFunctions: WorkerFunctions;
|
|
1061
|
+
protected _isDrawLoopRunning: boolean;
|
|
1062
|
+
protected contextDeserializer: DataCaptureContextDeserializer | undefined;
|
|
1063
|
+
protected frameDataPool: Map<number, Uint8ClampedArray>;
|
|
1064
|
+
protected imageFrameSource?: DataCaptureImageBufferFrameSource;
|
|
1065
|
+
protected lastFrameCounter: number;
|
|
1066
|
+
protected libraryLoadingPromise: Promise<void> | undefined;
|
|
1067
|
+
protected loopTimeoutId?: ReturnType<typeof setTimeout>;
|
|
1068
|
+
protected resourcePath: string;
|
|
1069
|
+
protected writableDataPath: string;
|
|
1070
|
+
protected poorMansBenchmarkLogs: boolean;
|
|
1071
|
+
protected parentDomain: string;
|
|
1072
|
+
protected readonly writableDataPathStandard: string;
|
|
1073
|
+
protected readonly resourceFilesSubfolder: string;
|
|
1074
|
+
protected performanceMetricsReporterTimer: ReturnType<typeof setTimeout> | undefined;
|
|
1075
|
+
protected performanceMetrics: PerformanceMetrics;
|
|
1076
|
+
protected gestureRecognizer: GestureRecognizer | null;
|
|
1077
|
+
private gestureListener;
|
|
1078
|
+
private webPlatformHintPresenter;
|
|
1079
|
+
constructor(moduleHandler: ModuleHandler<M>, workerFunctions: WorkerFunctions);
|
|
1080
|
+
get Module(): M;
|
|
1081
|
+
set isDrawLoopRunning(newValue: boolean);
|
|
1082
|
+
get isDrawLoopRunning(): boolean;
|
|
1083
|
+
convertToLoadableFrameData(frameData: WasmFrameData): PrivateLoadableFrameData;
|
|
1084
|
+
createContext(createContextJSON: CreateContextParameters): EngineWorkerResponse<"createContext">;
|
|
1085
|
+
onTap(point: PointJSON): void;
|
|
1086
|
+
hintPresenterV2Update(): void;
|
|
1087
|
+
startReportingPerformanceMetrics(): void;
|
|
1088
|
+
reportPerformanceMetrics(): Promise<void>;
|
|
1089
|
+
deleteFrameData(frameId: number): void;
|
|
1090
|
+
dispose(): EngineWorkerResponse<"dispose">;
|
|
1091
|
+
flushAnalytics(): void;
|
|
1092
|
+
extractCentaurusLicense(scanditLicenseKey: string): EngineWorkerResponse<"extractCentaurusLicense">;
|
|
1093
|
+
getModeDeserializers(): Vector;
|
|
1094
|
+
loadLibrary(parameters: LoadLibraryParameters): EngineWorkerResponse<"loadLibrary">;
|
|
1095
|
+
processFrame(parameters: ProcessFrameParameters): EngineWorkerResponse<"processFrame">;
|
|
1096
|
+
reportCameraProperties(properties: ReportCameraPropertiesParameters): EngineWorkerResponse<"reportCameraProperties">;
|
|
1097
|
+
requestFrameData(frameId: number): EngineWorkerResponse<"requestFrameData">;
|
|
1098
|
+
scheduleRedraw(view: DataCaptureView, redrawInMs: number): void;
|
|
1099
|
+
sendViewRefreshCommands(commands: Uint8Array): void;
|
|
1100
|
+
setFrameSource(mirrorAxis: PrivateMirrorAxis, isCameraFrameSource: boolean): EngineWorkerResponse<"setFrameSource">;
|
|
1101
|
+
/**
|
|
1102
|
+
* The draw loop check at regular interval if any redraw request were made by the engine.
|
|
1103
|
+
* If a redraw is necessary, it gathers and sends drawing commands to the main thread.
|
|
1104
|
+
*/
|
|
1105
|
+
startDrawLoop(view: DataCaptureView): void;
|
|
1106
|
+
updateContext(contextUpdateParameters: UpdateContextParameters): EngineWorkerResponse<"updateContext">;
|
|
1107
|
+
/**
|
|
1108
|
+
* Called before updateContextFromJson
|
|
1109
|
+
*
|
|
1110
|
+
* @protected
|
|
1111
|
+
* @param {UpdateContextParameters} contextUpdateParameters
|
|
1112
|
+
* @returns {UpdateContextParameters}
|
|
1113
|
+
*/
|
|
1114
|
+
protected onBeforeUpdateContextHook(contextUpdateParameters: UpdateContextParameters): UpdateContextParameters;
|
|
1115
|
+
onDocumentVisibilityChange(state: DocumentVisibilityState): void;
|
|
1116
|
+
isFeatureSupported(feature: LicensedFeature): EngineWorkerResponse<"isFeatureSupported">;
|
|
1117
|
+
getViewfinderInfo(): EngineWorkerResponse<"getViewfinderInfo">;
|
|
1118
|
+
getOpenSourceSoftwareLicenseInfo(): EngineWorkerResponse<"getOpenSourceSoftwareLicenseInfo">;
|
|
1119
|
+
protected getNextFrameId(): number;
|
|
1120
|
+
protected getWasmDynamicLibraries(coreWasmURI: string): string[];
|
|
1121
|
+
protected getWasmCoreExpectedHash(simdSupport: boolean, threadsSupport: boolean): string;
|
|
1122
|
+
protected getWasmCoreFileName(simdSupport: boolean, threadsSupport: boolean): string;
|
|
1123
|
+
protected getWasmMetadata(): Record<string, {
|
|
1124
|
+
bytes: number;
|
|
1125
|
+
}>;
|
|
1126
|
+
protected getWasmSideModuleFileName(): string;
|
|
1127
|
+
private _loadProgressCallback;
|
|
1128
|
+
/**
|
|
1129
|
+
* Redraw requests are scheduled at [now + redrawInMs], so when pushed they must be sorted
|
|
1130
|
+
* in chronological order so that we can later easily check if we need to redraw by checking
|
|
1131
|
+
* the first element.
|
|
1132
|
+
* @param redrawInMs
|
|
1133
|
+
*/
|
|
1134
|
+
private addRedrawRequest;
|
|
1135
|
+
private contextDidChangeStatus;
|
|
1136
|
+
private didStartObservingContext;
|
|
1137
|
+
private mapMirrorAxisOnModule;
|
|
1138
|
+
protected setView(view: DataCaptureView | undefined): void;
|
|
1139
|
+
/**
|
|
1140
|
+
* Add a native overlay to the view without passing from the deserializer.
|
|
1141
|
+
* must be implemented in the specific module.
|
|
1142
|
+
* @param event - The message event containing the overlay handle.
|
|
1143
|
+
*/
|
|
1144
|
+
addNativeOverlay(event: MessageEvent<AnyDataCaptureActionMessage>): void;
|
|
1145
|
+
/**
|
|
1146
|
+
* Remove a native overlay from the view.
|
|
1147
|
+
* must be implemented in the specific module.
|
|
1148
|
+
* @param event - The message event containing the overlay handle.
|
|
1149
|
+
*/
|
|
1150
|
+
removeNativeOverlay(event: MessageEvent<AnyDataCaptureActionMessage>): void;
|
|
1151
|
+
private setViewRefreshHandler;
|
|
1152
|
+
private setupDataDecoding;
|
|
1153
|
+
private start;
|
|
1154
|
+
private getWritableDataPath;
|
|
1155
|
+
private numOfMBToPages;
|
|
1156
|
+
private setup;
|
|
1157
|
+
}
|
|
1158
|
+
|
|
1159
|
+
type CommandAndPayload<A, C> = A extends {
|
|
1160
|
+
command: C;
|
|
1161
|
+
} ? A : never;
|
|
1162
|
+
type WorkerCommandPayload<C> = Omit<CommandAndPayload<AnyDataCaptureActionMessage, C>, "command" | "id">;
|
|
1163
|
+
type WorkerListener = (event: DataCaptureCallbackMessage) => any;
|
|
1164
|
+
interface DataCaptureLoaderOptions {
|
|
1165
|
+
libraryLocation: string;
|
|
1166
|
+
verifyResponseHash: boolean;
|
|
1167
|
+
loadProgressNotifier?: (info: ProgressInfo) => void;
|
|
1168
|
+
logLevel?: Logger.Level;
|
|
1169
|
+
overrideSimdSupport: OverrideState;
|
|
1170
|
+
overrideThreadsSupport: OverrideState;
|
|
1171
|
+
highEndBlurryRecognition?: boolean;
|
|
1172
|
+
}
|
|
1173
|
+
/**
|
|
1174
|
+
* The DataCaptureLoader class is used by the main thread, it instantiates the worker
|
|
1175
|
+
* and sends commands to it. It represents thus the main communication channel
|
|
1176
|
+
* between the main thread and the engine running in the worker.
|
|
1177
|
+
*/
|
|
1178
|
+
declare class DataCaptureLoader {
|
|
1179
|
+
highEndBlurryRecognition?: boolean;
|
|
1180
|
+
protected overrideThreadsSupport: OverrideState;
|
|
1181
|
+
protected overrideSimdSupport: OverrideState;
|
|
1182
|
+
protected verifyResponseHash: boolean;
|
|
1183
|
+
protected _dataCaptureWorker?: DataCaptureWorker;
|
|
1184
|
+
protected readonly libraryLocation: string;
|
|
1185
|
+
protected workerCommandId: number;
|
|
1186
|
+
protected readonly workerTasks: Map<number, {
|
|
1187
|
+
resolve: (...arguments_: any[]) => any;
|
|
1188
|
+
reject: (...arguments_: any[]) => any;
|
|
1189
|
+
command: string;
|
|
1190
|
+
}>;
|
|
1191
|
+
protected readonly workerListeners: WorkerListener[];
|
|
1192
|
+
protected workerMessageListener: (event_: MessageEvent<DataCaptureCallbackMessage>) => void;
|
|
1193
|
+
protected constructor(options: DataCaptureLoaderOptions);
|
|
1194
|
+
get dataCaptureWorker(): DataCaptureWorker;
|
|
1195
|
+
protected get name(): string;
|
|
1196
|
+
protected get fixedWasmMemory(): number | null;
|
|
1197
|
+
static create(options: DataCaptureLoaderOptions): Promise<DataCaptureLoader>;
|
|
1198
|
+
load(): Promise<WorkerResponse<"loadLibrary">>;
|
|
1199
|
+
/**
|
|
1200
|
+
* Send a task (i.e. a command) to the worker. Every task sent has a corresponding Promise object which
|
|
1201
|
+
* gets resolved when the worker has processed the request. The tasks are identified by an id which is
|
|
1202
|
+
* sent along with the data by both sides.
|
|
1203
|
+
*/
|
|
1204
|
+
workerCommand<C extends DataCaptureActionMessageKey>(command: C, payload: WorkerCommandPayload<C>, transferables?: Transferable[]): Promise<WorkerResponse<C>>;
|
|
1205
|
+
terminateDataCaptureWorker(disposeContext?: boolean): Promise<void>;
|
|
1206
|
+
addWorkerListener(listener: WorkerListener): void;
|
|
1207
|
+
removeWorkerListener(listener: WorkerListener): void;
|
|
1208
|
+
getOptions(): Pick<DataCaptureLoaderOptions, "libraryLocation" | "overrideSimdSupport" | "overrideThreadsSupport" | "verifyResponseHash">;
|
|
1209
|
+
protected onWorkerMessage(event_: MessageEvent<DataCaptureCallbackMessage>): void;
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
declare enum HintPresenterEvents {
|
|
1213
|
+
Update = "hintpresenterupdate"
|
|
1214
|
+
}
|
|
1215
|
+
declare class HintPresenter extends ScanditHTMLElement {
|
|
1216
|
+
static readonly tag: "scandit-hints";
|
|
1217
|
+
private intervalId;
|
|
1218
|
+
private root;
|
|
1219
|
+
private _viewFinderRect;
|
|
1220
|
+
private onDidToastHideHandler;
|
|
1221
|
+
private orientationObserver;
|
|
1222
|
+
private onOrientationChangeHandler;
|
|
1223
|
+
constructor();
|
|
1224
|
+
private static createStyleElement;
|
|
1225
|
+
static register(): void;
|
|
1226
|
+
static create(): HintPresenter;
|
|
1227
|
+
connectedCallback(): void;
|
|
1228
|
+
disconnectedCallback(): void;
|
|
1229
|
+
setViewFinderRect(rect: Rect | null): void;
|
|
1230
|
+
handleMessage(message: DataCaptureCallbackMessage): Promise<void>;
|
|
1231
|
+
private setHintStyleToToast;
|
|
1232
|
+
private onDidToastHide;
|
|
1233
|
+
private getToastElementFromIdOrTag;
|
|
1234
|
+
showToast(toast: GenericHint): Promise<void>;
|
|
1235
|
+
showToastWithCustomIcon(hintStyle: GenericHint, icon: ScanditIcon): Promise<void>;
|
|
1236
|
+
hideToast(hintStyle: GenericHint): Promise<void>;
|
|
1237
|
+
private showGuidance;
|
|
1238
|
+
private hideGuidance;
|
|
1239
|
+
private startUpdateTimer;
|
|
1240
|
+
private stopUpdateTimer;
|
|
1241
|
+
private idFromHint;
|
|
1242
|
+
private onOrientationChange;
|
|
1243
|
+
}
|
|
1244
|
+
declare global {
|
|
1245
|
+
interface HTMLElementTagNameMap {
|
|
1246
|
+
[HintPresenter.tag]: HintPresenter;
|
|
1247
|
+
}
|
|
1248
|
+
interface HTMLElementEventMap {
|
|
1249
|
+
[HintPresenterEvents.Update]: CustomEvent<void>;
|
|
1250
|
+
}
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
interface DataCaptureContextListener {
|
|
1254
|
+
didChangeStatus?: (context: DataCaptureContext, contextStatus: ContextStatus) => void;
|
|
1255
|
+
didStartObservingContext?: (context: DataCaptureContext) => void;
|
|
1256
|
+
didChangeFrameSource?: (context: DataCaptureContext, frameSource: FrameSource | null) => void;
|
|
1257
|
+
}
|
|
1258
|
+
interface ContextStatusJSON {
|
|
1259
|
+
code: number;
|
|
1260
|
+
isValid: boolean;
|
|
1261
|
+
message: string;
|
|
1262
|
+
}
|
|
1263
|
+
declare class ContextStatus {
|
|
1264
|
+
private _message;
|
|
1265
|
+
private _code;
|
|
1266
|
+
private _isValid;
|
|
1267
|
+
private static fromJSON;
|
|
1268
|
+
get message(): string;
|
|
1269
|
+
get code(): number;
|
|
1270
|
+
get isValid(): boolean;
|
|
1271
|
+
}
|
|
1272
|
+
declare enum PrivateMirrorAxis {
|
|
1273
|
+
None = "None",
|
|
1274
|
+
X = "X",
|
|
1275
|
+
Y = "Y"
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
type DataCaptureContextState = "unconfigured" | "configuring" | "configured" | "creating-context" | "ready";
|
|
1279
|
+
|
|
1280
|
+
type Change = {
|
|
1281
|
+
type: "modeEnabled";
|
|
1282
|
+
newValue: boolean;
|
|
1283
|
+
} | {
|
|
1284
|
+
type: "addControl";
|
|
1285
|
+
newValue: any;
|
|
1286
|
+
} | {
|
|
1287
|
+
type: "addOverlay";
|
|
1288
|
+
newValue: any;
|
|
1289
|
+
} | {
|
|
1290
|
+
type: "cameraSettings";
|
|
1291
|
+
newValue: any;
|
|
1292
|
+
} | {
|
|
1293
|
+
type: "frameSourceState";
|
|
1294
|
+
newValue: any;
|
|
1295
|
+
} | {
|
|
1296
|
+
type: "removeControl";
|
|
1297
|
+
newValue: any;
|
|
1298
|
+
} | {
|
|
1299
|
+
type: "removeOverlay";
|
|
1300
|
+
newValue: any;
|
|
1301
|
+
} | {
|
|
1302
|
+
type: "singleImageModeUploaderSettings";
|
|
1303
|
+
newValue: any;
|
|
1304
|
+
} | {
|
|
1305
|
+
type: "torchState";
|
|
1306
|
+
newValue: any;
|
|
1307
|
+
} | {
|
|
1308
|
+
type: "viewChange";
|
|
1309
|
+
newValue: {
|
|
1310
|
+
orientation: Orientation;
|
|
1311
|
+
} & Partial<HTMLElementStateJSON>;
|
|
1312
|
+
} | {
|
|
1313
|
+
type: "viewSet";
|
|
1314
|
+
newValue: DataCaptureView$1 | null;
|
|
1315
|
+
};
|
|
1316
|
+
type PrivateChangeSet = Change[];
|
|
1317
|
+
interface DataCaptureMode extends Serializable {
|
|
1318
|
+
isEnabled(): boolean;
|
|
1319
|
+
setEnabled(enabled: boolean): Promise<void>;
|
|
1320
|
+
context: Optional<DataCaptureContext>;
|
|
1321
|
+
}
|
|
1322
|
+
interface PrivateDataCaptureMode extends DataCaptureMode {
|
|
1323
|
+
type: "barcodeCapture" | "idCapture";
|
|
1324
|
+
skipSerialization?: boolean;
|
|
1325
|
+
[nativeHandle]?: symbol;
|
|
1326
|
+
_context: Optional<DataCaptureContext>;
|
|
1327
|
+
attachedToContext: (context: DataCaptureContext) => Promise<void>;
|
|
1328
|
+
detachedFromContext: () => Promise<void>;
|
|
1329
|
+
_synchronousFrameFlow?: boolean;
|
|
1330
|
+
}
|
|
1331
|
+
interface DataCaptureModeJSON<S = JSONType> {
|
|
1332
|
+
type: "barcodeCapture" | "barcodeTracking" | "idCapture" | "parser" | "sparkScan" | "barcodeFind" | "barcodeAr" | "labelCapture";
|
|
1333
|
+
enabled: boolean;
|
|
1334
|
+
settings: S;
|
|
1335
|
+
}
|
|
1336
|
+
interface PrivateDataCaptureComponent {
|
|
1337
|
+
_context: DataCaptureContext;
|
|
1338
|
+
}
|
|
1339
|
+
type DataCaptureComponentJSON = JSONType;
|
|
1340
|
+
interface DataCaptureComponent extends Serializable<DataCaptureComponentJSON> {
|
|
1341
|
+
readonly id: string;
|
|
1342
|
+
}
|
|
1343
|
+
interface PrivateDataCaptureContextOptions {
|
|
1344
|
+
deviceName?: string | null;
|
|
1345
|
+
dataCaptureInstance?: DataCaptureLoader;
|
|
1346
|
+
delayedRegistration?: boolean;
|
|
1347
|
+
licenseKey?: string;
|
|
1348
|
+
settings?: DataCaptureContextSettings;
|
|
1349
|
+
}
|
|
1350
|
+
interface PrivateDataCaptureContext<W extends (...parameters: any[]) => unknown = DataCaptureLoader["workerCommand"]> {
|
|
1351
|
+
_frameSource?: FrameSource | null;
|
|
1352
|
+
_useSynchronousFrameFlow: boolean;
|
|
1353
|
+
modes: Set<DataCaptureMode>;
|
|
1354
|
+
components: DataCaptureComponent[];
|
|
1355
|
+
createContext: () => Promise<void>;
|
|
1356
|
+
update: (changeSet?: PrivateChangeSet, { updateContext }?: {
|
|
1357
|
+
updateContext?: boolean;
|
|
1358
|
+
}) => Promise<void>;
|
|
1359
|
+
addNativeOverlay: (overlay: DataCaptureOverlay) => Promise<void>;
|
|
1360
|
+
removeNativeOverlay: (overlay: DataCaptureOverlay) => Promise<void>;
|
|
1361
|
+
addComponent: (component: DataCaptureComponent) => Promise<void>;
|
|
1362
|
+
dataCaptureInstance: DataCaptureLoader;
|
|
1363
|
+
sendFrameToProcessor: (capture: FrameCapture) => Promise<WorkerResponse<"processFrame">>;
|
|
1364
|
+
subscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
|
|
1365
|
+
unsubscribeToWorkerMessages: (listener: (message: DataCaptureCallbackMessage) => void) => void;
|
|
1366
|
+
hasEnabledMode: () => boolean;
|
|
1367
|
+
hasModes: () => boolean;
|
|
1368
|
+
workerCommand: MethodSignature<W>;
|
|
1369
|
+
performanceMark: MethodSignature<DataCaptureContext["performanceMark"]>;
|
|
1370
|
+
isFeatureSupported: (feature: LicensedFeature) => Promise<boolean>;
|
|
1371
|
+
new (): DataCaptureContext;
|
|
1372
|
+
updateListeners: Set<(change: Change) => void>;
|
|
1373
|
+
updateCameraFrameFlow: (synchronous: boolean) => void;
|
|
1374
|
+
getView: () => DataCaptureView$1 | null;
|
|
1375
|
+
}
|
|
1376
|
+
interface DataCaptureContextCreationOptions {
|
|
1377
|
+
libraryLocation: string;
|
|
1378
|
+
moduleLoaders: ModuleLoader[];
|
|
1379
|
+
deviceName?: string;
|
|
1380
|
+
settings?: DataCaptureContextSettings;
|
|
1381
|
+
logLevel?: Logger.Level;
|
|
1382
|
+
}
|
|
1383
|
+
/**
|
|
1384
|
+
* Configuration options for initializing the DataCapture SDK.
|
|
1385
|
+
*
|
|
1386
|
+
* @public
|
|
1387
|
+
*/
|
|
1388
|
+
interface ModuleLoaderOptions {
|
|
1389
|
+
licenseKey: string;
|
|
1390
|
+
libraryLocation: string;
|
|
1391
|
+
moduleLoaders: ModuleLoader[];
|
|
1392
|
+
logLevel: Logger.Level;
|
|
1393
|
+
}
|
|
1394
|
+
interface RuntimeEnvironment {
|
|
1395
|
+
deviceOS: string;
|
|
1396
|
+
browser: string;
|
|
1397
|
+
browserVersion: string;
|
|
1398
|
+
deviceModelName: string;
|
|
1399
|
+
}
|
|
1400
|
+
interface DataCaptureContextJSON extends RuntimeEnvironment {
|
|
1401
|
+
framework: string;
|
|
1402
|
+
settings: DataCaptureContextSettingsJSON;
|
|
1403
|
+
licenseKey: string;
|
|
1404
|
+
deviceName: string;
|
|
1405
|
+
frameSource: FrameSourceJSON | null;
|
|
1406
|
+
modes: DataCaptureModeJSON[];
|
|
1407
|
+
components: DataCaptureComponentJSON[];
|
|
1408
|
+
view: DataCaptureViewJSON | null;
|
|
1409
|
+
}
|
|
1410
|
+
type PrivateFrameHandlerResponse = {
|
|
1411
|
+
action: "continue" | "skip";
|
|
1412
|
+
frame: FrameCapture;
|
|
1413
|
+
};
|
|
1414
|
+
type PrivateFrameHandler = (frame: FrameCapture) => Promise<PrivateFrameHandlerResponse>;
|
|
1415
|
+
declare class DataCaptureContext implements Serializable<DataCaptureContextJSON> {
|
|
1416
|
+
static deviceID: string;
|
|
1417
|
+
protected static stateMachine: AsyncStateMachine<DataCaptureContextState>;
|
|
1418
|
+
protected static mainDataCaptureLoader: DataCaptureLoader | undefined;
|
|
1419
|
+
protected static dataCaptureLoaders: Map<string, DataCaptureLoader>;
|
|
1420
|
+
protected static libraryLocation: string | undefined;
|
|
1421
|
+
private static userLicenseKey;
|
|
1422
|
+
private static get moduleLicenseTextProviders();
|
|
1423
|
+
private readonly framework;
|
|
1424
|
+
private readonly runtimeEnvironment;
|
|
1425
|
+
private settings;
|
|
1426
|
+
private licenseKey;
|
|
1427
|
+
private deviceName;
|
|
1428
|
+
private _frameSource;
|
|
1429
|
+
private _view;
|
|
1430
|
+
private readonly modes;
|
|
1431
|
+
private readonly components;
|
|
1432
|
+
private listeners;
|
|
1433
|
+
private readonly updateListeners;
|
|
1434
|
+
private readonly cameraPropertiesReportListener;
|
|
1435
|
+
private readonly cameraAccessErrorListener;
|
|
1436
|
+
private readonly onWorkerMessageListener;
|
|
1437
|
+
private readonly onVisibilityChangeListener;
|
|
1438
|
+
private dataCaptureInstance;
|
|
1439
|
+
private readonly pendingWorkerMessageListeners;
|
|
1440
|
+
private delayedRegistration;
|
|
1441
|
+
private highEndBlurryRecognition;
|
|
1442
|
+
private readonly _frameHandlers;
|
|
1443
|
+
/**
|
|
1444
|
+
* When synchronous, only one frame is processed at a time by the capture mode, the frame source will wait until the
|
|
1445
|
+
* frame data is back to send the next frame.
|
|
1446
|
+
*
|
|
1447
|
+
* IdCapture uses the synchronous flow because BlinkID only processes one frame at a time.
|
|
1448
|
+
* MatrixScan and other barcode modes usually use the asynchronous flow because they can use multi-threading.
|
|
1449
|
+
*/
|
|
1450
|
+
private _useSynchronousFrameFlow;
|
|
1451
|
+
private static _sharedInstance;
|
|
1452
|
+
static get sharedInstance(): DataCaptureContext;
|
|
1453
|
+
/**
|
|
1454
|
+
* Get the current state of the DataCaptureContext initialization
|
|
1455
|
+
*/
|
|
1456
|
+
protected static get currentState(): DataCaptureContextState;
|
|
1457
|
+
/**
|
|
1458
|
+
* Check if the context is ready for use
|
|
1459
|
+
*/
|
|
1460
|
+
protected static get isReady(): boolean;
|
|
1461
|
+
/**
|
|
1462
|
+
* Check if initialization is in progress
|
|
1463
|
+
*/
|
|
1464
|
+
protected static get isInitializing(): boolean;
|
|
1465
|
+
/**
|
|
1466
|
+
* Add a listener to state changes
|
|
1467
|
+
*/
|
|
1468
|
+
protected static addStateListener(listener: (currentState: DataCaptureContextState, previousState: DataCaptureContextState, context?: any) => void): void;
|
|
1469
|
+
/**
|
|
1470
|
+
* Remove a state change listener
|
|
1471
|
+
*/
|
|
1472
|
+
protected static removeStateListener(listener: (currentState: DataCaptureContextState, previousState: DataCaptureContextState, context?: any) => void): void;
|
|
1473
|
+
private initializeWithOptions;
|
|
1474
|
+
get frameSource(): FrameSource | null;
|
|
1475
|
+
private get workerCommand();
|
|
1476
|
+
static forLicenseKey(licenseKey: string, options: DataCaptureContextCreationOptions): Promise<DataCaptureContext>;
|
|
1477
|
+
private static internalConfigure;
|
|
1478
|
+
/**
|
|
1479
|
+
* Initialize the DataCapture SDK for Electron applications using a license data path.
|
|
1480
|
+
* This method handles the Electron-specific license key retrieval logic.
|
|
1481
|
+
*
|
|
1482
|
+
* @param licenseDataPath - Path to the license data file in the Electron app
|
|
1483
|
+
* @param options - Configuration options for the DataCapture SDK
|
|
1484
|
+
* @returns Promise resolving to the DataCaptureContext instance
|
|
1485
|
+
*/
|
|
1486
|
+
static forLicenseKeyInElectronPath(licenseDataPath: string, options: DataCaptureContextCreationOptions): Promise<DataCaptureContext>;
|
|
1487
|
+
private static updateViewsWithProgress;
|
|
1488
|
+
private static getOverridesFromQueryString;
|
|
1489
|
+
private static validateOptions;
|
|
1490
|
+
private static loadModules;
|
|
1491
|
+
static getOpenSourceSoftwareLicenseInfo(): Promise<OpenSourceSoftwareLicenseInfo>;
|
|
1492
|
+
/**
|
|
1493
|
+
* Disconnect the current frame source from the context and connect the new one. This process can happen multiple
|
|
1494
|
+
* times for the same frame source because of its initialisation (The mirroring info of a camera is only available
|
|
1495
|
+
* when it has started for example).
|
|
1496
|
+
* Trigger the "didChangeFrameSource" listeners only if the new frame source is different than the old one.
|
|
1497
|
+
*/
|
|
1498
|
+
setFrameSource(frameSource: FrameSource | null): Promise<void>;
|
|
1499
|
+
addListener(listener: DataCaptureContextListener): void;
|
|
1500
|
+
flushAnalytics(): Promise<void>;
|
|
1501
|
+
removeListener(listener: DataCaptureContextListener): void;
|
|
1502
|
+
addMode(mode: DataCaptureMode): Promise<void>;
|
|
1503
|
+
removeMode(mode: DataCaptureMode): Promise<void>;
|
|
1504
|
+
setMode(mode: DataCaptureMode): Promise<void>;
|
|
1505
|
+
removeCurrentMode(): Promise<void>;
|
|
1506
|
+
/**
|
|
1507
|
+
* @deprecated Use removeCurrentMode instead.
|
|
1508
|
+
*/
|
|
1509
|
+
removeAllModes(): Promise<void>;
|
|
1510
|
+
dispose(): Promise<void>;
|
|
1511
|
+
applySettings(settings: DataCaptureContextSettings): Promise<void>;
|
|
1512
|
+
toJSONObject(): DataCaptureContextJSON;
|
|
1513
|
+
private getView;
|
|
1514
|
+
private setView;
|
|
1515
|
+
private getAppName;
|
|
1516
|
+
private urlToHostname;
|
|
1517
|
+
private getParentDomain;
|
|
1518
|
+
private createContext;
|
|
1519
|
+
private subscribeToVisibilityChange;
|
|
1520
|
+
private unsubscribeToVisibilityChange;
|
|
1521
|
+
private requestFrameData;
|
|
1522
|
+
private performanceMark;
|
|
1523
|
+
private sendFrameToProcessor;
|
|
1524
|
+
private sendFrameToHandlers;
|
|
1525
|
+
private sendFrameToSDC;
|
|
1526
|
+
private registerFrameHandler;
|
|
1527
|
+
private unregisterFrameHandler;
|
|
1528
|
+
private onVisibilityChange;
|
|
1529
|
+
private onWorkerMessage;
|
|
1530
|
+
private subscribeToCameraManagerEvents;
|
|
1531
|
+
private reportCameraProperties;
|
|
1532
|
+
private onCameraAccessError;
|
|
1533
|
+
private update;
|
|
1534
|
+
private updateContext;
|
|
1535
|
+
private getViewInfo;
|
|
1536
|
+
private getMirrorAxisForFrameSource;
|
|
1537
|
+
private addComponent;
|
|
1538
|
+
private addNativeOverlay;
|
|
1539
|
+
private removeNativeOverlay;
|
|
1540
|
+
private subscribeToWorkerMessages;
|
|
1541
|
+
private unsubscribeToWorkerMessages;
|
|
1542
|
+
private hasEnabledMode;
|
|
1543
|
+
/**
|
|
1544
|
+
* Some capture modes process frames synchronously, like IdCapture. Other can process multiple frames
|
|
1545
|
+
* in parallel, like MatrixScan. We inform the CameraManager how to process frames.
|
|
1546
|
+
*/
|
|
1547
|
+
private updateCameraFrameFlow;
|
|
1548
|
+
protected isFeatureSupported(feature: LicensedFeature): Promise<boolean>;
|
|
1843
1549
|
}
|
|
1844
1550
|
|
|
1845
|
-
export { type
|
|
1551
|
+
export { type RequestFrameDataDataCaptureAction as $, DataCaptureLoader as A, DataCaptureEngine as B, type Change as C, type DataCaptureContextState as D, type Module as E, type FrameData as F, type PerformanceMetrics as G, HintPresenter as H, type GenericHint as I, type AnyDataCaptureActionMessage as J, type AugmentedWorker as K, type ModuleHandler as L, type ModuleLoaderOptions as M, type DataCaptureCallbackMessage as N, type DataCaptureActionMessageKey as O, type PrivateChangeSet as P, type EngineWorkerResponse as Q, type ExtractCentaurusLicenseResponse as R, type RequestFrameDataResponse as S, type IsFeatureSupportedResponse as T, type GetViewfinderInfo as U, type GetOpenSourceSoftwareLicenseInfoResponse as V, type WorkerResponse as W, type LoadLibraryDataCaptureAction as X, type CreateContextDataCaptureAction as Y, type SetFrameSourceDataCaptureAction as Z, type ProcessFrameDataCaptureAction as _, type DataCaptureMode as a, type LoadLibraryParameters as a$, type DeleteFrameDataDataCaptureAction as a0, type VisibilityChangeAction as a1, type IsFeatureSupportedAction as a2, type UpdateContextDataCaptureAction as a3, type DisposeDataCaptureAction as a4, type FlushAnalyticsDataCaptureAction as a5, type ReportCameraPropertiesDataCaptureAction as a6, type SetLogLevelDataCaptureAction as a7, type ExtractCentaurusLicenseDataCaptureAction as a8, type OnTapAction as a9, type DataCaptureImageBufferFrameSource as aA, type GestureListener as aB, type GestureRecognizer as aC, type DataCaptureView as aD, type JSONParseable as aE, type DataCaptureContextDeserializerResult as aF, type DataCaptureContextDeserializer as aG, type CaptureModeDeserializerInstance as aH, type ModuleMirrorAxis as aI, type Vector as aJ, type WasmFrameData as aK, HintFont as aL, HintTextAlignment as aM, HintWidth as aN, HintHeight as aO, HintCornerStyle as aP, HintIcon as aQ, HintAnchor as aR, type HintStyle as aS, GuidanceHintAnchor as aT, GuidanceHintStyle as aU, type GuidanceHint as aV, ToastHintStyle as aW, type ToastHint as aX, LicensedFeature as aY, type HintPresenterV2 as aZ, type PlatformHintPresenter as a_, type HintPresenterV2updateAction as aa, type GetViewfinderInfoAction as ab, type GetOpenSourceSoftwareLicenseInfoAction as ac, type AddNativeOverlayAction as ad, type RemoveNativeOverlayAction as ae, type DataCaptureCallbackMessageKeys as af, type SuccessFeedbackWorkerMessage as ag, type ShowHintWorkerMessage as ah, type UpdateHintWorkerMessage as ai, type IsFeatureSupportedMessage as aj, type HideHintWorkerMessage as ak, type PerformanceMetricsReportMessage as al, type DidTapTrackedBarcode as am, type OnFrameProcessingStartedMessage as an, type OnFrameProcessingFinishedMessage as ao, type OnFrameSkippedMessage as ap, type ShowToastMessage as aq, type HideToastMessage as ar, type ShowGuidanceMessage as as, type HideGuidanceMessage as at, type StartUpdateTimerMessage as au, type StopUpdateTimerMessage as av, type PayloadForCommand as aw, type DataCaptureWorker as ax, type EmscriptenClassHandle as ay, type DataCaptureContext$1 as az, type PrivateDataCaptureMode as b, type CreateContextParameters as b0, type UpdateContextParameters as b1, type SetFrameSourceParameters as b2, type ProcessFrameParameters as b3, type ReportCameraPropertiesParameters as b4, type WorkerFunctions as b5, FrameReaderAbstract as b6, ColorType as b7, type PoolCapacityOptions as b8, type FrameCapture as b9, FrameReader as ba, MeteringMode as bb, CameraResolutionConstraint as bc, type ExtendedMediaTrackCapabilities as bd, type ExtendedMediaTrackConstraintSet as be, type GUI as bf, CameraManagerEvent as bg, type CameraManagerEventParameters as bh, CameraManager as bi, HintPresenterEvents as bj, type DataCaptureModeJSON as c, type PrivateDataCaptureComponent as d, type DataCaptureComponentJSON as e, type DataCaptureComponent as f, type PrivateDataCaptureContextOptions as g, type PrivateDataCaptureContext as h, type DataCaptureContextCreationOptions as i, type DataCaptureContextJSON as j, type PrivateFrameHandlerResponse as k, type PrivateFrameHandler as l, DataCaptureContext as m, type DataCaptureContextListener as n, type ContextStatusJSON as o, ContextStatus as p, PrivateMirrorAxis as q, type DataCaptureOverlay as r, type DataCaptureViewListener as s, type DataCaptureViewJSON as t, type DataCaptureViewConnectOptions as u, DataCaptureView$1 as v, type PrivateLoadableFrameData as w, convertToPublicFrameData as x, type ModuleLoader as y, type DataCaptureLoaderOptions as z };
|