Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ppapi / api / private / ppb_camera_capabilities_private.idl
blob57c7421997f9da1c290e58b19294d3dd72de876d
1 /* Copyright 2014 The Chromium Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
6 /**
7 * This file defines the PPB_CameraCapabilities_Private interface for
8 * establishing an image capture configuration resource within the browser.
9 */
11 [generate_thunk]
13 label Chrome {
14 M39 = 0.1
17 /**
18 * The <code>PPB_CameraCapabilities_Private</code> interface contains pointers
19 * to several functions for getting the image capture capabilities within the
20 * browser.
22 [version=0.1]
23 interface PPB_CameraCapabilities_Private {
24 /**
25 * Creates a PPB_CameraCapabilities_Private resource.
27 * @param[in] instance A <code>PP_Instance</code> identifying one instance of
28 * a module.
30 * @return A <code>PP_Resource</code> corresponding to a
31 * PPB_CameraCapabilities_Private resource if successful, 0 if failed.
33 PP_Resource Create([in] PP_Instance instance);
35 /**
36 * IsCameraCapabilities() determines if the given resource is a
37 * <code>PPB_CameraCapabilities_Private</code>.
39 * @param[in] resource A <code>PP_Resource</code> corresponding to an image
40 * capture capabilities resource.
42 * @return A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the given
43 * resource is an <code>PP_CameraCapabilities_Private</code> resource,
44 * otherwise <code>PP_FALSE</code>.
46 PP_Bool IsCameraCapabilities(
47 [in] PP_Resource resource);
49 /**
50 * GetSupportedPreviewSizes() returns the supported preview sizes for the
51 * given <code>PPB_CameraCapabilities_Private</code>.
53 * @param[in] capabilities A <code>PP_Resource</code> corresponding to an
54 * image capture capabilities resource.
55 * @param[out] array_size The size of preview size array.
56 * @param[out] preview_sizes An array of <code>PP_Size</code> corresponding
57 * to the supported preview sizes in pixels. The ownership of the array
58 * belongs to <code>PPB_CameraCapabilities_Private</code> and the caller
59 * should not free it. When a PPB_CameraCapabilities_Private is deleted,
60 * the array returning from this is no longer valid.
62 void GetSupportedPreviewSizes(
63 [in] PP_Resource capabilities,
64 [out] int32_t array_size,
65 [out, size_is(array_size)] PP_Size[] preview_sizes);
67 /**
68 * GetSupportedJpegSize() returns the supported JPEG sizes for the given
69 * <code>PPB_CameraCapabilities_Private</code>.
71 * @param[in] capabilities A <code>PP_Resource</code> corresponding to an
72 * image capture capabilities resource.
73 * @param[out] array_size The size of JPEG size array. If the output of this
74 * is 0, the camera has no support for generating JPEG images.
75 * @param[out] jpeg_sizes An array of <code>PP_Size</code> corresponding to
76 * the supported JPEG image sizes in pixels. The ownership of the array
77 * belongs to <code>PPB_CameraCapabilities_Private</code> and the caller
78 * should not free it. When a PPB_CameraCapabilities_Private is deleted, the
79 * array returning from this is no longer valid.
81 void GetSupportedJpegSizes(
82 [in] PP_Resource capabilities,
83 [out] int32_t array_size,
84 [out, size_is(array_size)] PP_Size[] jpeg_sizes);