react-native-scanbot-barcode-scanner-sdk
Version:
Scanbot Barcode Scanner SDK React Native Plugin for Android and iOS
146 lines (141 loc) • 4.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ViewFinderConfiguration = exports.FinderStyle = exports.FinderStrokedStyle = exports.FinderCorneredStyle = void 0;
var _Common = require("../common/Common");
var _utils = require("../../utils");
/**
Configuration of the scanning interface's viewfinder, serving as guidance to the user.
*/
class ViewFinderConfiguration extends _utils.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 _Common.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 _Common.AspectRatio(source.aspectRatio);
}
}
}
exports.ViewFinderConfiguration = ViewFinderConfiguration;
/** @internal */
let FinderStyle = exports.FinderStyle = void 0;
(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 || (exports.FinderStyle = FinderStyle = {}));
/**
A variant of the viewfinder displaying only the four corners of the scanning area.
*/
class FinderCorneredStyle extends _utils.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.
*/
exports.FinderCorneredStyle = FinderCorneredStyle;
class FinderStrokedStyle extends _utils.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;
}
}
}
exports.FinderStrokedStyle = FinderStrokedStyle;
//# sourceMappingURL=ViewFinderConfiguration.js.map