capacitor-plugin-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK for Capacitor
134 lines • 4.32 kB
JavaScript
import { PartiallyConstructible } from '../../utils';
import { AspectRatio } from '../common/Common';
/**
Configuration of the scanning interface's viewfinder, serving as guidance to the user.
*/
export class ViewFinderConfiguration extends PartiallyConstructible {
/** @param source {@displayType `DeepPartial<ViewFinderConfiguration>`} */
constructor(source = {}) {
super();
/**
Determines whether the viewfinder is visible or not.
Default is true
*/
this.visible = true;
/**
The visual appearance of the viewfinder.
*/
this.style = new FinderCorneredStyle({
strokeColor: '?sbColorSurface',
strokeWidth: 2.0,
cornerRadius: 10.0,
});
/**
The color of the viewfinder overlay.
Default is "?sbColorSurfaceLow"
*/
this.overlayColor = '?sbColorSurfaceLow';
/**
The viewfinder's aspect ratio.
*/
this.aspectRatio = new AspectRatio({
width: 1.0,
height: 1.0,
});
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 var FinderStyle;
(function (FinderStyle) {
/** @internal */
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 {
/** @param source {@displayType `DeepPartial<FinderCorneredStyle>`} */
constructor(source = {}) {
super();
this._type = 'FinderCorneredStyle';
/**
The color of the viewfinder corner's outlines.
Default is "#FFFFFFFF"
*/
this.strokeColor = '#FFFFFFFF';
/**
The width of the viewfinder corner's outlines.
Default is 3.0
*/
this.strokeWidth = 3.0;
/**
The radius of the viewfinder's corners.
Default is 10.0
*/
this.cornerRadius = 10.0;
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 {
/** @param source {@displayType `DeepPartial<FinderStrokedStyle>`} */
constructor(source = {}) {
super();
this._type = 'FinderStrokedStyle';
/**
The color of the viewfinder corner's outlines.
Default is "#FFFFFFFF"
*/
this.strokeColor = '#FFFFFFFF';
/**
The width of the viewfinder corner's outlines.
Default is 3.0
*/
this.strokeWidth = 3.0;
/**
The radius of the viewfinder's corners.
Default is 10.0
*/
this.cornerRadius = 10.0;
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