| // 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); |
| }; |
| }; |
| |