added show/hide preview and added camera.getPicture
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/commit/caa733bd Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/tree/caa733bd Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/diff/caa733bd Branch: refs/heads/master Commit: caa733bdf70d33832111bf1c43fb9f7460102a2f Parents: 516c137 Author: Anis Kadri <anis.ka...@gmail.com> Authored: Wed May 9 02:51:34 2012 -0700 Committer: Anis Kadri <anis.ka...@gmail.com> Committed: Wed May 9 02:51:34 2012 -0700 ---------------------------------------------------------------------- lib/bada/plugin/bada/Camera.js | 80 +++++++++++++++++++++++----------- 1 files changed, 54 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cordova-js/blob/caa733bd/lib/bada/plugin/bada/Camera.js ---------------------------------------------------------------------- diff --git a/lib/bada/plugin/bada/Camera.js b/lib/bada/plugin/bada/Camera.js index 6c7e40a..382f3ec 100644 --- a/lib/bada/plugin/bada/Camera.js +++ b/lib/bada/plugin/bada/Camera.js @@ -1,30 +1,58 @@ module.exports = { - _mainCamera: null, - _cams: [], - getPicture: function(cameraSuccess, cameraFailure, cameraOptions) { - // TODO - }, - getPreview: function() { - var self = this; - var onCreatePreviewNodeSuccess = function(previewObject) { - var previewDiv = document.getElementById("preview"); - previewDiv.appendChild(previewObject); - previewObject.style.visibility = "visible"; - }; - var error = function(e) { - alert("An error occured: " + e.message); - }; + _mainCamera: null, + _cams: [], + getPicture: function(success, fail, cameraOptions) { + var dataList = []; + dataList[0] = "type:camera"; + + var appcontrolobject = Osp.App.AppManager.findAppControl("osp.appcontrol.provider.camera", "osp.appcontrol.operation.capture"); + + if(appcontrolobject) { + appcontrolobject.start(dataList, function(cbtype, appControlId, operationId, resultList) { + var i; + if(cbtype === "onAppControlCompleted") { + if(resultList.length > 1 && resultList[1]) { + success(resultList[1]); + } + } else { + var error = {message: "An error occured while capturing image", code: 0}; + fail(error); + } + }); + } + }, + showPreview: function(nodeId) { + var self = this; + var onCreatePreviewNodeSuccess = function(previewObject) { + var previewDiv = document.getElementById(nodeId); + previewDiv.appendChild(previewObject); + previewObject.style.visibility = "visible"; + }; + var error = function(e) { + alert("An error occured: " + e.message); + }; + + var success = function(cams) { + if (cams.length > 0) { + self._cams = cams; + self._mainCamera = cams[0]; + self._mainCamera.createPreviewNode(onCreatePreviewNodeSuccess, error); + return; + } + alert("Sorry, no cameras available."); + }; + if(nodeId) { + deviceapis.camera.getCameras(success, error); + } else { + console.log("camera::getPreview: must provide a nodeId"); + } + }, + hidePreview: function(nodeId) { + var preview = document.getElementById(nodeId); + if(preview.childNodes[0]) { + preview.removeChild(preview.childNodes[0]); + } + } - var success = function(cams) { - if (cams.length > 0) { - self._cams = cams; - self._mainCamera = cams[0]; - self._mainCamera.createPreviewNode(onCreatePreviewNodeSuccess, error); - return; - } - alert("Sorry, no cameras available."); - }; - deviceapis.camera.getCameras(success, error); - } };