react-native-scanbot-sdk
Version:
Scanbot Document and Barcode Scanner SDK React Native Plugin for Android and iOS
112 lines (97 loc) • 3.32 kB
text/typescript
/// Auto-generated with ScanbotSDKCodegenV3. Modifications will be overwritten.
/// Generated from rtu-ui-v2/schemas/common/CameraConfiguration.yaml
import { CameraPreviewMode, OrientationLockMode } from '../../ui_v2/common/Common';
import { DeepPartial, PartiallyConstructible } from '../../utils/utils';
/**
Determines which camera module to use on start-up.
- `FRONT`:
Use the front camera.
- `BACK`:
Use the default back camera.
- `BACK_WIDEST`:
Use the back camera with the widest available angle. iOS only.
*/
export type CameraModule = 'FRONT' | 'BACK' | 'BACK_WIDEST';
export const CameraModuleValues: CameraModule[] = ['FRONT', 'BACK', 'BACK_WIDEST'];
/**
Configuration of the camera settings to be used while scanning.
*/
export class CameraConfiguration extends PartiallyConstructible {
/**
Determines which camera module to use on start-up.
Default is BACK
*/
public cameraModule: CameraModule = 'BACK';
/**
The zoom steps available to the user.
*/
public zoomSteps: number[] = [1.0, 2.0, 5.0];
/**
The default zoom factor on start-up.
Default is 1.0
*/
public defaultZoomFactor: number = 1.0;
/**
Determines whether the flash is enabled on start-up.
Default is false
*/
public flashEnabled: boolean = false;
/**
Determines whether to lock the focus at the minimum possible distance (device-specific).
Default is false
*/
public minFocusDistanceLock: boolean = false;
/**
Determines whether touch-to-focus is enabled or not. Android only.
Default is false
*/
public touchToFocusEnabled: boolean = false;
/**
Determines whether pinch-to-zoom is enabled or not.
Default is true
*/
public pinchToZoomEnabled: boolean = true;
/**
Determines which mode to use when orientation should be locked to landscape or portrait.
Default is NONE
*/
public orientationLockMode: OrientationLockMode = 'NONE';
/**
Determines which camera preview mode to use.
Default is FILL_IN
*/
public cameraPreviewMode: CameraPreviewMode = 'FILL_IN';
/** @param source {@displayType `DeepPartial<CameraConfiguration>`} */
public constructor(source: DeepPartial<CameraConfiguration> = {}) {
super();
if (source.cameraModule !== undefined) {
this.cameraModule = source.cameraModule;
}
if (source.zoomSteps !== undefined) {
this.zoomSteps = source.zoomSteps.map((it: any) => {
return it;
});
}
if (source.defaultZoomFactor !== undefined) {
this.defaultZoomFactor = source.defaultZoomFactor;
}
if (source.flashEnabled !== undefined) {
this.flashEnabled = source.flashEnabled;
}
if (source.minFocusDistanceLock !== undefined) {
this.minFocusDistanceLock = source.minFocusDistanceLock;
}
if (source.touchToFocusEnabled !== undefined) {
this.touchToFocusEnabled = source.touchToFocusEnabled;
}
if (source.pinchToZoomEnabled !== undefined) {
this.pinchToZoomEnabled = source.pinchToZoomEnabled;
}
if (source.orientationLockMode !== undefined) {
this.orientationLockMode = source.orientationLockMode;
}
if (source.cameraPreviewMode !== undefined) {
this.cameraPreviewMode = source.cameraPreviewMode;
}
}
}