Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ppapi / api / private / ppb_camera_capabilities_private.idl
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  */
5
6 /**
7  * This file defines the PPB_CameraCapabilities_Private interface for
8  * establishing an image capture configuration resource within the browser.
9  */
10
11 [generate_thunk]
12
13 label Chrome {
14   M39 = 0.1
15 };
16
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.
21  */
22 [version=0.1]
23 interface PPB_CameraCapabilities_Private {
24   /**
25    * Creates a PPB_CameraCapabilities_Private resource.
26    *
27    * @param[in] instance A <code>PP_Instance</code> identifying one instance of
28    * a module.
29    *
30    * @return A <code>PP_Resource</code> corresponding to a
31    * PPB_CameraCapabilities_Private resource if successful, 0 if failed.
32    */
33   PP_Resource Create([in] PP_Instance instance);
34
35   /**
36    * IsCameraCapabilities() determines if the given resource is a
37    * <code>PPB_CameraCapabilities_Private</code>.
38    *
39    * @param[in] resource A <code>PP_Resource</code> corresponding to an image
40    * capture capabilities resource.
41    *
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>.
45    */
46   PP_Bool IsCameraCapabilities(
47       [in] PP_Resource resource);
48
49   /**
50    * GetSupportedPreviewSizes() returns the supported preview sizes for the
51    * given <code>PPB_CameraCapabilities_Private</code>.
52    *
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.
61    */
62   void GetSupportedPreviewSizes(
63       [in] PP_Resource capabilities,
64       [out] int32_t array_size,
65       [out, size_is(array_size)] PP_Size[] preview_sizes);
66
67   /**
68    * GetSupportedJpegSize() returns the supported JPEG sizes for the given
69    * <code>PPB_CameraCapabilities_Private</code>.
70    *
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.
80    */
81   void GetSupportedJpegSizes(
82       [in] PP_Resource capabilities,
83       [out] int32_t array_size,
84       [out, size_is(array_size)] PP_Size[] jpeg_sizes);
85 };