/* Copyright 2014 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* This file defines the PPB_CameraCapabilities_Private interface for
* establishing an image capture configuration resource within the browser.
*/
[generate_thunk]
label Chrome {
M39 = 0.1
};
/**
* The PPB_CameraCapabilities_Private
interface contains pointers
* to several functions for getting the image capture capabilities within the
* browser.
*/
[version=0.1]
interface PPB_CameraCapabilities_Private {
/**
* Creates a PPB_CameraCapabilities_Private resource.
*
* @param[in] instance A PP_Instance
identifying one instance of
* a module.
*
* @return A PP_Resource
corresponding to a
* PPB_CameraCapabilities_Private resource if successful, 0 if failed.
*/
PP_Resource Create([in] PP_Instance instance);
/**
* IsCameraCapabilities() determines if the given resource is a
* PPB_CameraCapabilities_Private
.
*
* @param[in] resource A PP_Resource
corresponding to an image
* capture capabilities resource.
*
* @return A PP_Bool
containing PP_TRUE
if the given
* resource is an PP_CameraCapabilities_Private
resource,
* otherwise PP_FALSE
.
*/
PP_Bool IsCameraCapabilities(
[in] PP_Resource resource);
/**
* GetSupportedPreviewSizes() returns the supported preview sizes for the
* given PPB_CameraCapabilities_Private
.
*
* @param[in] capabilities A PP_Resource
corresponding to an
* image capture capabilities resource.
* @param[out] array_size The size of preview size array.
* @param[out] preview_sizes An array of PP_Size
corresponding
* to the supported preview sizes in pixels. The ownership of the array
* belongs to PPB_CameraCapabilities_Private
and the caller
* should not free it. When a PPB_CameraCapabilities_Private is deleted,
* the array returning from this is no longer valid.
*/
void GetSupportedPreviewSizes(
[in] PP_Resource capabilities,
[out] int32_t array_size,
[out, size_is(array_size)] PP_Size[] preview_sizes);
/**
* GetSupportedJpegSize() returns the supported JPEG sizes for the given
* PPB_CameraCapabilities_Private
.
*
* @param[in] capabilities A PP_Resource
corresponding to an
* image capture capabilities resource.
* @param[out] array_size The size of JPEG size array. If the output of this
* is 0, the camera has no support for generating JPEG images.
* @param[out] jpeg_sizes An array of PP_Size
corresponding to
* the supported JPEG image sizes in pixels. The ownership of the array
* belongs to PPB_CameraCapabilities_Private
and the caller
* should not free it. When a PPB_CameraCapabilities_Private is deleted, the
* array returning from this is no longer valid.
*/
void GetSupportedJpegSizes(
[in] PP_Resource capabilities,
[out] int32_t array_size,
[out, size_is(array_size)] PP_Size[] jpeg_sizes);
};