@nativescript-community/ui-cameraview
Version:
A CameraView allowing custom live processing for NativeScript
96 lines • 3.45 kB
JavaScript
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