UNPKG

@scandit/web-datacapture-barcode

Version:

Scandit Data Capture SDK for the Web

1 lines 3.63 kB
import"../SparkScanScanningBehavior.js";import{SparkScanBarcodeFeedback as e,SparkScanBarcodeSuccessFeedback as t}from"../SparkScanBarcodeFeedback.js";import{SmartScanSelectionOverlay as n}from"../../private/SmartScanSelectionOverlay.js";import{SparkScanOverlay as r}from"../SparkScanOverlay.js";import"./SparkScanViewState.js";import{Brush as i,Color as a}from"@scandit/web-datacapture-core";var o=class o{constructor(e){this.settings=e}setViewSettings(e){var t;this.settings=e,(t=this.smartScanSelectionOverlay)==null||t.setBrush(this.selectionCandidateBrush())}get isReady(){return this.sparkScanOverlay!=null&&this.smartScanSelectionOverlay!=null}async prepareScanning(t,i,a){this.lastSelectedBrushFromFeedback=void 0,this.sparkScanOverlay=await r.withSparkScanForView(t,i),await this.sparkScanOverlay.setShouldRemoveLocationsAfterScan(a===`continuous`),this.smartScanSelectionOverlay=n.forMode(t),this.smartScanSelectionOverlay.setBrush(this.selectionCandidateBrush()),this.smartScanSelectionOverlay.setSelectedBrush(e.defaultSuccessBrush()),this.smartScanSelectionOverlay.setErrorBrush(this.sparkScanOverlay.getErrorBrush())}async onSwitchToActiveState(e,t,n){var r;if(n&&await this.setBrushToOverlays(this.brushForFeedback(n)),await((r=this.sparkScanOverlay)==null?void 0:r.setShouldRemoveLocationsAfterScan(t)),e===`active`){var i;await((i=this.sparkScanOverlay)==null?void 0:i.overlayReadyForDraw())}else{var a;await((a=this.sparkScanOverlay)==null?void 0:a.discardEnqueuedData())}}async onSwitchToIdleState(){var e;await((e=this.sparkScanOverlay)==null?void 0:e.overlayReadyForDraw())}async setBrushForFeedback(e){let t=this.brushForFeedback(e);this.lastSelectedBrushFromFeedback=t,await this.setBrushToOverlays(t)}async overlayReadyForDraw(){var e;await((e=this.sparkScanOverlay)==null?void 0:e.overlayReadyForDraw())}async onSwitchToErrorState(e){var t,n,r,i;(t=this.smartScanSelectionOverlay)==null||t.setErrorBrush(e.brush),await((n=this.sparkScanOverlay)==null?void 0:n.setErrorBrush(e.brush)),await((r=this.sparkScanOverlay)==null?void 0:r.overlayReadyForDraw()),await((i=this.sparkScanOverlay)==null?void 0:i.setShouldRemoveLocationsAfterScan(e.resumeCapturingDelay===0))}async onSwitchedToSmartScanSelection(e){this.sparkScanOverlay&&this.smartScanSelectionOverlay&&(this.lastSelectedBrushFromFeedback&&this.smartScanSelectionOverlay.setSelectedBrush(this.lastSelectedBrushFromFeedback),await(e==null?void 0:e.removeOverlay(this.sparkScanOverlay)),await(e==null?void 0:e.addOverlay(this.smartScanSelectionOverlay)))}async onSwitchedAwayFromSmartScanSelection(e){this.sparkScanOverlay&&this.smartScanSelectionOverlay&&(await(e==null?void 0:e.removeOverlay(this.smartScanSelectionOverlay)),await(e==null?void 0:e.addOverlay(this.sparkScanOverlay)))}async setShouldRemoveLocationsAfterScan(e){var t;await((t=this.sparkScanOverlay)==null?void 0:t.setShouldRemoveLocationsAfterScan(e))}async setShouldDrawViewfinder(e){var t;await((t=this.sparkScanOverlay)==null?void 0:t.setShouldDrawViewfinder(e))}setRadius(e){var t;(t=this.sparkScanOverlay)==null||t.setRadius(e)}async setBrushToOverlays(e){var t,n,r;(t=this.smartScanSelectionOverlay)==null||t.setBrush(this.selectionCandidateBrush()),(n=this.smartScanSelectionOverlay)==null||n.setSelectedBrush(e),await((r=this.sparkScanOverlay)==null?void 0:r.setBrush(e))}selectionCandidateBrush(){return this.settings.selectionModeCandidateBrush??o.defaultSelectionModeCandidateBrush()}static defaultSelectionModeCandidateBrush(){return new i(a.fromRGBA(0,0,0,0),a.fromRGBA(0,255,255,1),3)}brushForFeedback(e){return e instanceof t,e.brush}};export{o as SparkScanOverlayManager};