Skip to content

Commit

Permalink
feat(canvas-camera): add CanvasCamera support
Browse files Browse the repository at this point in the history
  • Loading branch information
ihadeed committed Aug 27, 2016
1 parent f4acc35 commit ad57733
Show file tree
Hide file tree
Showing 2 changed files with 101 additions and 0 deletions.
3 changes: 3 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import { BLE } from './plugins/ble';
import { BluetoothSerial } from './plugins/bluetoothserial';
import { Calendar } from './plugins/calendar';
import { CallNumber } from './plugins/call-number';
import { CanvasCamera } from './plugins/canvas-camera';
import { Camera } from './plugins/camera';
import { CameraPreview } from './plugins/camera-preview';
import { CardIO } from './plugins/card-io';
Expand Down Expand Up @@ -157,6 +158,7 @@ Brightness,
BLE,
BluetoothSerial,
CallNumber,
CanvasCamera,
CameraPreview,
Clipboard,
CodePush,
Expand Down Expand Up @@ -225,6 +227,7 @@ window['IonicNative'] = {
BluetoothSerial: BluetoothSerial,
Calendar: Calendar,
CallNumber: CallNumber,
CanvasCamera: CanvasCamera,
Camera: Camera,
CameraPreview: CameraPreview,
CardIO: CardIO,
Expand Down
98 changes: 98 additions & 0 deletions src/plugins/canvas-camera.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
import {Plugin, Cordova} from './plugin';
/**
* @name CanvasCamera
* @description
*
* @usage
* ```
* import {CanvasCamera} from 'ionic-native';
*
* let object = document.getElementById('myDiv');
* // or
* @ViewChild('myDiv') object;
*
* CanvasCamera.initialize(object);
*
* CanvasCamera.start();
*
* CanvasCamera.takePicture().then(picture => { });
*
* ```
*/
@Plugin({
plugin: 'com.keith.cordova.plugin.canvascamera',
pluginRef: 'CanvasCamera',
repo: 'https://github.com/donaldp24/CanvasCameraPlugin'
})
export class CanvasCamera {
static DestinationType = {
DATA_URL: 0,
FILE_URI: 1
};
static PictureSourceType = {
PHOTOLIBRARY : 0,
CAMERA : 1,
SAVEDPHOTOALBUM : 2
};
static EncodingType = {
JPEG : 0,
PNG : 1
};
static CameraPosition = {
BACK : 0,
FRONT : 1
};
static CameraPosition = {
BACK : 1,
FRONT : 2
};
static FlashMode = {
OFF : 0,
ON : 1,
AUTO : 2
};
/**
* Initialize the Camera
* @param htmlElement {HTMLElement} The HTML Element to preview the camera in
*/
@Cordova({sync: true})
static initialize(htmlElement: HTMLElement): void { }

/**
* Start capture video as images from camera to preview camera on web page.
* @param options
*/
@Cordova({sync: true})
static start(options?: {
quality?: number;
sourceType?: number;
destinationType?: number;
allowEdit?: boolean;
correctOrientation?: boolean;
saveToPhotoAlbum?: boolean;
encodingType?: number;
width?: number;
height?: number;
}): void { }

/**
* Takes a photo
* @returns {Promise<any>}
*/
@Cordova()
static takePicture(): Promise<any> {return; }

/**
* Sets the flash mode
* @param flashMode {number} Flash mode, use CanvasCamera.FlashMode constant to set
*/
@Cordova({sync: true})
static setFlashMode(flashMode: number): void { }

/**
* Set camera position
* @param cameraPosition {number} Camera Position, use CanvasCamera.CameraPosition constant
*/
@Cordova({sync: true})
static setCameraPosition(cameraPosition: number): void {}
}

0 comments on commit ad57733

Please sign in to comment.