Home | History | Annotate | Download | only in private
      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 /* From private/ppb_camera_capabilities_private.idl,
      7  *   modified Fri Aug 22 11:08:14 2014.
      8  */
      9 
     10 #ifndef PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_
     11 #define PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_
     12 
     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"
     19 
     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
     24 
     25 /**
     26  * @file
     27  * This file defines the PPB_CameraCapabilities_Private interface for
     28  * establishing an image capture configuration resource within the browser.
     29  */
     30 
     31 
     32 /**
     33  * @addtogroup Interfaces
     34  * @{
     35  */
     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.
     40  */
     41 struct PPB_CameraCapabilities_Private_0_1 {
     42   /**
     43    * Creates a PPB_CameraCapabilities_Private resource.
     44    *
     45    * @param[in] instance A <code>PP_Instance</code> identifying one instance of
     46    * a module.
     47    *
     48    * @return A <code>PP_Resource</code> corresponding to a
     49    * PPB_CameraCapabilities_Private resource if successful, 0 if failed.
     50    */
     51   PP_Resource (*Create)(PP_Instance instance);
     52   /**
     53    * IsCameraCapabilities() determines if the given resource is a
     54    * <code>PPB_CameraCapabilities_Private</code>.
     55    *
     56    * @param[in] resource A <code>PP_Resource</code> corresponding to an image
     57    * capture capabilities resource.
     58    *
     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>.
     62    */
     63   PP_Bool (*IsCameraCapabilities)(PP_Resource resource);
     64   /**
     65    * GetSupportedPreviewSizes() returns the supported preview sizes for the
     66    * given <code>PPB_CameraCapabilities_Private</code>.
     67    *
     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.
     76    */
     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>.
     83    *
     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.
     93    */
     94   void (*GetSupportedJpegSizes)(PP_Resource capabilities,
     95                                 int32_t* array_size,
     96                                 struct PP_Size** jpeg_sizes);
     97 };
     98 
     99 typedef struct PPB_CameraCapabilities_Private_0_1
    100     PPB_CameraCapabilities_Private;
    101 /**
    102  * @}
    103  */
    104 
    105 #endif  /* PPAPI_C_PRIVATE_PPB_CAMERA_CAPABILITIES_PRIVATE_H_ */
    106 
    107