extjs-gpl
Version:
GPL licensed version of Sencha Ext JS
68 lines (56 loc) • 1.88 kB
JavaScript
/**
* @private
*/
Ext.define('Ext.device.camera.Cordova', {
alternateClassName: 'Ext.device.camera.PhoneGap',
extend: 'Ext.device.camera.Abstract',
getPicture: function (onSuccess, onError, options){
try {
navigator.camera.getPicture(onSuccess, onError, options);
} catch (e) {
alert(e);
}
},
cleanup: function(onSuccess, onError) {
try {
navigator.camera.cleanup(onSuccess, onError);
} catch (e) {
alert(e);
}
},
capture: function(args) {
var onSuccess = args.success,
onError = args.failure,
scope = args.scope,
sources = this.source,
destinations = this.destination,
encodings = this.encoding,
source = args.source,
destination = args.destination,
encoding = args.encoding,
options = {};
if (scope) {
onSuccess = Ext.Function.bind(onSuccess, scope);
onError = Ext.Function.bind(onError, scope);
}
if (source !== undefined) {
options.sourceType = sources.hasOwnProperty(source) ? sources[source] : source;
}
if (destination !== undefined) {
options.destinationType = destinations.hasOwnProperty(destination) ? destinations[destination] : destination;
}
if (encoding !== undefined) {
options.encodingType = encodings.hasOwnProperty(encoding) ? encodings[encoding] : encoding;
}
if ('quality' in args) {
options.quality = args.quality;
}
if ('width' in args) {
options.targetWidth = args.width;
}
if ('height' in args) {
options.targetHeight = args.height;
}
this.getPicture(onSuccess, onError, options);
}
});