// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Webcam Private API. namespace webcamPrivate { enum PanDirection { stop, right, left }; enum TiltDirection { stop, up, down }; enum Protocol { visca }; dictionary ProtocolConfiguration { Protocol? protocol; }; dictionary WebcamConfiguration { double? pan; double? panSpeed; PanDirection? panDirection; double? tilt; double? tiltSpeed; TiltDirection? tiltDirection; double? zoom; }; callback WebcamIdCallback = void(DOMString webcamId); callback WebcamConfigurationCallback = void(WebcamConfiguration configuration); interface Functions { // Open a serial port that controls a webcam. static void openSerialWebcam(DOMString path, ProtocolConfiguration protocol, WebcamIdCallback callback); // Close a serial port connection to a webcam. static void closeWebcam(DOMString webcamId); static void get(DOMString webcamId, WebcamConfigurationCallback callback); static void set(DOMString webcamId, WebcamConfiguration config); // Reset a webcam. Note: the value of the parameter have no effect, it's the // presence of the parameter that matters. E.g.: reset(webcamId, {pan: 0, // tilt: 1}); will reset pan & tilt, but not zoom. static void reset(DOMString webcamId, WebcamConfiguration config); }; };