Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ppapi / c / private / ppb_camera_capabilities_private.h
blobc5c17d6ebba028abd0ce562a012fbdd90a400b80
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 /* From private/ppb_camera_capabilities_private.idl,
7 * modified Fri Aug 22 11:08:14 2014.
8 */
10 #ifndef PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_
11 #define PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_
13 #include "ppapi/c/pp_bool.h"
14 #include "ppapi/c/pp_instance.h"
15 #include "ppapi/c/pp_macros.h"
16 #include "ppapi/c/pp_resource.h"
17 #include "ppapi/c/pp_size.h"
18 #include "ppapi/c/pp_stdint.h"
20 #define PPB_CAMERACAPABILITIES_PRIVATE_INTERFACE_0_1 \
21 "PPB_CameraCapabilities_Private;0.1"
22 #define PPB_CAMERACAPABILITIES_PRIVATE_INTERFACE \
23 PPB_CAMERACAPABILITIES_PRIVATE_INTERFACE_0_1
25 /**
26 * @file
27 * This file defines the PPB_CameraCapabilities_Private interface for
28 * establishing an image capture configuration resource within the browser.
32 /**
33 * @addtogroup Interfaces
34 * @{
36 /**
37 * The <code>PPB_CameraCapabilities_Private</code> interface contains pointers
38 * to several functions for getting the image capture capabilities within the
39 * browser.
41 struct PPB_CameraCapabilities_Private_0_1 {
42 /**
43 * Creates a PPB_CameraCapabilities_Private resource.
45 * @param[in] instance A <code>PP_Instance</code> identifying one instance of
46 * a module.
48 * @return A <code>PP_Resource</code> corresponding to a
49 * PPB_CameraCapabilities_Private resource if successful, 0 if failed.
51 PP_Resource (*Create)(PP_Instance instance);
52 /**
53 * IsCameraCapabilities() determines if the given resource is a
54 * <code>PPB_CameraCapabilities_Private</code>.
56 * @param[in] resource A <code>PP_Resource</code> corresponding to an image
57 * capture capabilities resource.
59 * @return A <code>PP_Bool</code> containing <code>PP_TRUE</code> if the given
60 * resource is an <code>PP_CameraCapabilities_Private</code> resource,
61 * otherwise <code>PP_FALSE</code>.
63 PP_Bool (*IsCameraCapabilities)(PP_Resource resource);
64 /**
65 * GetSupportedPreviewSizes() returns the supported preview sizes for the
66 * given <code>PPB_CameraCapabilities_Private</code>.
68 * @param[in] capabilities A <code>PP_Resource</code> corresponding to an
69 * image capture capabilities resource.
70 * @param[out] array_size The size of preview size array.
71 * @param[out] preview_sizes An array of <code>PP_Size</code> corresponding
72 * to the supported preview sizes in pixels. The ownership of the array
73 * belongs to <code>PPB_CameraCapabilities_Private</code> and the caller
74 * should not free it. When a PPB_CameraCapabilities_Private is deleted,
75 * the array returning from this is no longer valid.
77 void (*GetSupportedPreviewSizes)(PP_Resource capabilities,
78 int32_t* array_size,
79 struct PP_Size** preview_sizes);
80 /**
81 * GetSupportedJpegSize() returns the supported JPEG sizes for the given
82 * <code>PPB_CameraCapabilities_Private</code>.
84 * @param[in] capabilities A <code>PP_Resource</code> corresponding to an
85 * image capture capabilities resource.
86 * @param[out] array_size The size of JPEG size array. If the output of this
87 * is 0, the camera has no support for generating JPEG images.
88 * @param[out] jpeg_sizes An array of <code>PP_Size</code> corresponding to
89 * the supported JPEG image sizes in pixels. The ownership of the array
90 * belongs to <code>PPB_CameraCapabilities_Private</code> and the caller
91 * should not free it. When a PPB_CameraCapabilities_Private is deleted, the
92 * array returning from this is no longer valid.
94 void (*GetSupportedJpegSizes)(PP_Resource capabilities,
95 int32_t* array_size,
96 struct PP_Size** jpeg_sizes);
99 typedef struct PPB_CameraCapabilities_Private_0_1
100 PPB_CameraCapabilities_Private;
102 * @}
105 #endif /* PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_ */