diff options
Diffstat (limited to 'testing/web-platform/tests/interfaces/image-capture.idl')
-rw-r--r-- | testing/web-platform/tests/interfaces/image-capture.idl | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/testing/web-platform/tests/interfaces/image-capture.idl b/testing/web-platform/tests/interfaces/image-capture.idl new file mode 100644 index 0000000000..f98912cb6a --- /dev/null +++ b/testing/web-platform/tests/interfaces/image-capture.idl @@ -0,0 +1,160 @@ +// GENERATED CONTENT - DO NOT EDIT +// Content was automatically extracted by Reffy into webref +// (https://github.com/w3c/webref) +// Source: MediaStream Image Capture (https://w3c.github.io/mediacapture-image/) + +[Exposed=Window] +interface ImageCapture { + constructor(MediaStreamTrack videoTrack); + Promise<Blob> takePhoto(optional PhotoSettings photoSettings = {}); + Promise<PhotoCapabilities> getPhotoCapabilities(); + Promise<PhotoSettings> getPhotoSettings(); + + Promise<ImageBitmap> grabFrame(); + + readonly attribute MediaStreamTrack track; +}; + +dictionary PhotoCapabilities { + RedEyeReduction redEyeReduction; + MediaSettingsRange imageHeight; + MediaSettingsRange imageWidth; + sequence<FillLightMode> fillLightMode; +}; + +dictionary PhotoSettings { + FillLightMode fillLightMode; + double imageHeight; + double imageWidth; + boolean redEyeReduction; +}; + +dictionary MediaSettingsRange { + double max; + double min; + double step; +}; + +enum RedEyeReduction { + "never", + "always", + "controllable" +}; + +enum FillLightMode { + "auto", + "off", + "flash" +}; + +partial dictionary MediaTrackSupportedConstraints { + boolean whiteBalanceMode = true; + boolean exposureMode = true; + boolean focusMode = true; + boolean pointsOfInterest = true; + + boolean exposureCompensation = true; + boolean exposureTime = true; + boolean colorTemperature = true; + boolean iso = true; + + boolean brightness = true; + boolean contrast = true; + boolean pan = true; + boolean saturation = true; + boolean sharpness = true; + boolean focusDistance = true; + boolean tilt = true; + boolean zoom = true; + boolean torch = true; +}; + +partial dictionary MediaTrackCapabilities { + sequence<DOMString> whiteBalanceMode; + sequence<DOMString> exposureMode; + sequence<DOMString> focusMode; + + MediaSettingsRange exposureCompensation; + MediaSettingsRange exposureTime; + MediaSettingsRange colorTemperature; + MediaSettingsRange iso; + + MediaSettingsRange brightness; + MediaSettingsRange contrast; + MediaSettingsRange saturation; + MediaSettingsRange sharpness; + + MediaSettingsRange focusDistance; + MediaSettingsRange pan; + MediaSettingsRange tilt; + MediaSettingsRange zoom; + + boolean torch; +}; + +partial dictionary MediaTrackConstraintSet { + ConstrainDOMString whiteBalanceMode; + ConstrainDOMString exposureMode; + ConstrainDOMString focusMode; + ConstrainPoint2D pointsOfInterest; + + ConstrainDouble exposureCompensation; + ConstrainDouble exposureTime; + ConstrainDouble colorTemperature; + ConstrainDouble iso; + + ConstrainDouble brightness; + ConstrainDouble contrast; + ConstrainDouble saturation; + ConstrainDouble sharpness; + + ConstrainDouble focusDistance; + (boolean or ConstrainDouble) pan; + (boolean or ConstrainDouble) tilt; + (boolean or ConstrainDouble) zoom; + + ConstrainBoolean torch; +}; + +partial dictionary MediaTrackSettings { + DOMString whiteBalanceMode; + DOMString exposureMode; + DOMString focusMode; + sequence<Point2D> pointsOfInterest; + + double exposureCompensation; + double exposureTime; + double colorTemperature; + double iso; + + double brightness; + double contrast; + double saturation; + double sharpness; + + double focusDistance; + double pan; + double tilt; + double zoom; + + boolean torch; +}; + +dictionary ConstrainPoint2DParameters { + sequence<Point2D> exact; + sequence<Point2D> ideal; +}; + +typedef (sequence<Point2D> or ConstrainPoint2DParameters) ConstrainPoint2D; + +enum MeteringMode { + "none", + "manual", + "single-shot", + "continuous" +}; + +dictionary Point2D { + double x = 0.0; + double y = 0.0; +}; |