UNPKG

@nativescript-community/ui-cameraview

Version:

A CameraView allowing custom live processing for NativeScript

96 lines 3.45 kB
import { GridLayout, Trace } from '@nativescript/core'; import { Property } from '@nativescript/core/ui/core/properties'; import { booleanConverter } from '@nativescript/core/ui/core/view-base'; export const CameraViewTraceCategory = 'CameraView'; export var CLogTypes; (function (CLogTypes) { CLogTypes[CLogTypes["log"] = 0] = "log"; CLogTypes[CLogTypes["info"] = 1] = "info"; CLogTypes[CLogTypes["warning"] = 2] = "warning"; CLogTypes[CLogTypes["error"] = 3] = "error"; })(CLogTypes || (CLogTypes = {})); export const CLog = (type, ...args) => { Trace.write(args.map((a) => (a && typeof a === 'object' ? JSON.stringify(a) : a)).join(' '), CameraViewTraceCategory, type); }; export var ScaleType; (function (ScaleType) { ScaleType["None"] = "none"; ScaleType["Fill"] = "fill"; ScaleType["AspectFill"] = "aspectFill"; ScaleType["AspectFit"] = "aspectFit"; ScaleType["Center"] = "center"; ScaleType["FitCenter"] = "fitCenter"; ScaleType["FitEnd"] = "fitEnd"; ScaleType["FitStart"] = "fitStart"; })(ScaleType || (ScaleType = {})); export class CameraViewBase extends GridLayout { constructor() { super(...arguments); this.flashMode = 'off'; // [readyToStartPreviewProperty.setNative](value: boolean) { // if (value) { // this.startPreview(); // } // } } } CameraViewBase.FRAME_EVENT = 'frame'; export const flashModeProperty = new Property({ name: 'flashMode', defaultValue: 'off' }); export const enablePinchZoomProperty = new Property({ name: 'enablePinchZoom', defaultValue: false, valueConverter: booleanConverter }); export const autoFocusProperty = new Property({ name: 'autoFocus', defaultValue: false, valueConverter: (v) => (v === 'false' || v === 'true' ? booleanConverter(v) : parseInt(v, 10)) }); export const frontMirroredProperty = new Property({ name: 'frontMirrored', defaultValue: true, valueConverter: booleanConverter }); export const saveToGalleryProperty = new Property({ name: 'saveToGallery', defaultValue: false, valueConverter: booleanConverter }); export const readyToStartPreviewProperty = new Property({ name: 'readyToStartPreview', defaultValue: true, valueConverter: booleanConverter }); export const pictureSizeProperty = new Property({ name: 'pictureSize' }); export const captureModeProperty = new Property({ name: 'captureMode', valueConverter: (d) => parseInt(d, 10), defaultValue: 1 }); export const jpegQualityProperty = new Property({ name: 'jpegQuality', valueConverter: (d) => parseInt(d, 10) }); export const zoomProperty = new Property({ name: 'zoom', valueConverter: (d) => parseInt(d, 10) }); export const stretchProperty = new Property({ name: 'stretch' }); export const aspectRatioProperty = new Property({ name: 'aspectRatio' }); zoomProperty.register(CameraViewBase); jpegQualityProperty.register(CameraViewBase); pictureSizeProperty.register(CameraViewBase); captureModeProperty.register(CameraViewBase); flashModeProperty.register(CameraViewBase); autoFocusProperty.register(CameraViewBase); enablePinchZoomProperty.register(CameraViewBase); saveToGalleryProperty.register(CameraViewBase); stretchProperty.register(CameraViewBase); aspectRatioProperty.register(CameraViewBase); frontMirroredProperty.register(CameraViewBase); //# sourceMappingURL=index.common.js.map