UNPKG

react-native-scanbot-sdk

Version:

Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS

138 lines (133 loc) 3.66 kB
import { AspectRatio } from '../common/Common'; import { PartiallyConstructible } from '../../utils'; /** Configuration of the scanning interface's viewfinder, serving as guidance to the user. */ export class ViewFinderConfiguration extends PartiallyConstructible { /** Determines whether the viewfinder is visible or not. Default is true */ visible = true; /** The visual appearance of the viewfinder. */ style = new FinderCorneredStyle({ strokeColor: '?sbColorSurface', strokeWidth: 2.0, cornerRadius: 10.0 }); /** The color of the viewfinder overlay. Default is "?sbColorSurfaceLow" */ overlayColor = '?sbColorSurfaceLow'; /** The viewfinder's aspect ratio. */ aspectRatio = new AspectRatio({ width: 1.0, height: 1.0 }); /** @param source {@displayType `DeepPartial<ViewFinderConfiguration>`} */ constructor(source = {}) { super(); if (source.visible !== undefined) { this.visible = source.visible; } if (source.style !== undefined) { this.style = FinderStyle.From(source.style); } if (source.overlayColor !== undefined) { this.overlayColor = source.overlayColor; } if (source.aspectRatio !== undefined) { this.aspectRatio = new AspectRatio(source.aspectRatio); } } } /** @internal */ export let FinderStyle; (function (_FinderStyle) { function From(source) { const _type = source._type; switch (_type) { case 'FinderCorneredStyle': return new FinderCorneredStyle(source); case 'FinderStrokedStyle': return new FinderStrokedStyle(source); default: throw `Unknown child class name: ${_type}`; } } _FinderStyle.From = From; })(FinderStyle || (FinderStyle = {})); /** A variant of the viewfinder displaying only the four corners of the scanning area. */ export class FinderCorneredStyle extends PartiallyConstructible { _type = 'FinderCorneredStyle'; /** The color of the viewfinder corner's outlines. Default is "#FFFFFFFF" */ strokeColor = '#FFFFFFFF'; /** The width of the viewfinder corner's outlines. Default is 3.0 */ strokeWidth = 3.0; /** The radius of the viewfinder's corners. Default is 10.0 */ cornerRadius = 10.0; /** @param source {@displayType `DeepPartial<FinderCorneredStyle>`} */ constructor(source = {}) { super(); if (source.strokeColor !== undefined) { this.strokeColor = source.strokeColor; } if (source.strokeWidth !== undefined) { this.strokeWidth = source.strokeWidth; } if (source.cornerRadius !== undefined) { this.cornerRadius = source.cornerRadius; } } } /** A variant of the viewfinder displaying a full outline of the scanning area. */ export class FinderStrokedStyle extends PartiallyConstructible { _type = 'FinderStrokedStyle'; /** The color of the viewfinder corner's outlines. Default is "#FFFFFFFF" */ strokeColor = '#FFFFFFFF'; /** The width of the viewfinder corner's outlines. Default is 3.0 */ strokeWidth = 3.0; /** The radius of the viewfinder's corners. Default is 10.0 */ cornerRadius = 10.0; /** @param source {@displayType `DeepPartial<FinderStrokedStyle>`} */ constructor(source = {}) { super(); if (source.strokeColor !== undefined) { this.strokeColor = source.strokeColor; } if (source.strokeWidth !== undefined) { this.strokeWidth = source.strokeWidth; } if (source.cornerRadius !== undefined) { this.cornerRadius = source.cornerRadius; } } } //# sourceMappingURL=ViewFinderConfiguration.js.map