import { release, somewhatImplemented } from '../../base/utilities/Debug'; import { Rectangle } from '../geom/Rectangle'; import { Float64Vector } from '../../avm2/natives/float64Vector'; import { ByteArray } from '../../avm2/natives/byteArray'; import { BitmapData } from '../display/BitmapData'; import { axCoerceString } from '../../avm2/run/axCoerceString'; import { ASArray } from '../../avm2/nat/ASArray'; import { EventDispatcher } from '../events/EventDispatcher'; /** * Copyright 2014 Mozilla Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Class: Camera export class Camera extends EventDispatcher { static classInitializer: any = null; constructor () { super(); } static get names(): ASArray { release || somewhatImplemented('public flash.media.Camera::get names'); return this.sec.createArrayUnsafe([]); } static get isSupported(): boolean { return false; } static getCamera(name: string = null): Camera { name = axCoerceString(name); release || somewhatImplemented('public flash.media.Camera::static getCamera'); return null; } static _scanHardware(): void { release || somewhatImplemented('public flash.media.Camera::static _scanHardware'); } get activityLevel(): number { release || somewhatImplemented('public flash.media.Camera::get activityLevel'); return 0; } get bandwidth(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get bandwidth'); return 0; } get currentFPS(): number { release || somewhatImplemented('public flash.media.Camera::get currentFPS'); return 0; } get fps(): number { release || somewhatImplemented('public flash.media.Camera::get fps'); return 0; } get height(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get height'); return 0; } get index(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get index'); return 0; } get keyFrameInterval(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get keyFrameInterval'); return 1; } get loopback(): boolean { release || somewhatImplemented('public flash.media.Camera::get loopback'); return false; } get motionLevel(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get motionLevel'); return 0; } get motionTimeout(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get motionTimeout'); return 0; } get muted(): boolean { release || somewhatImplemented('public flash.media.Camera::get muted'); return true; } get name(): string { release || somewhatImplemented('public flash.media.Camera::get name'); return ''; } get quality(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get quality'); return 0; } get width(): number /*int*/ { release || somewhatImplemented('public flash.media.Camera::get width'); return 0; } setCursor(value: boolean): void { value = !!value; release || somewhatImplemented('public flash.media.Camera::setCursor'); } setKeyFrameInterval(keyFrameInterval: number /*int*/): void { keyFrameInterval = keyFrameInterval | 0; release || somewhatImplemented('public flash.media.Camera::setKeyFrameInterval'); } setLoopback(compress: boolean = false): void { compress = !!compress; release || somewhatImplemented('public flash.media.Camera::setLoopback'); } setMode(width: number /*int*/, height: number /*int*/, fps: number, favorArea: boolean = true): void { width = width | 0; height = height | 0; fps = +fps; favorArea = !!favorArea; release || somewhatImplemented('public flash.media.Camera::setMode'); } setMotionLevel(motionLevel: number /*int*/, timeout: number /*int*/ = 2000): void { motionLevel = motionLevel | 0; timeout = timeout | 0; release || somewhatImplemented('public flash.media.Camera::setMotionLevel'); } setQuality(bandwidth: number /*int*/, quality: number /*int*/): void { bandwidth = bandwidth | 0; quality = quality | 0; release || somewhatImplemented('public flash.media.Camera::setQuality'); } drawToBitmapData(destination: BitmapData): void { destination = destination; release || somewhatImplemented('public flash.media.Camera::drawToBitmapData'); } copyToByteArray(rect: Rectangle, destination: ByteArray): void { rect = rect; destination = destination; release || somewhatImplemented('public flash.media.Camera::copyToByteArray'); } copyToVector(rect: Rectangle, destination: Float64Vector): void { rect = rect; destination = destination; release || somewhatImplemented('public flash.media.Camera::copyToVector'); } }