camera_get_focus_regions()

Retrieve the focus regions configured on the camera

Synopsis:

#include <camera/camera_3a.h>
camera_error_t camera_get_focus_regions(camera_handle_t handle,
                                        int numasked,
                                        int *numsupported,
                                        int *numreturned,
                                        camera_region_t *regions)

Arguments:

handle
The handle returned by a call to the camera_open() function.
numasked
The requested number of regions to return in the regions array. You can specify a value of 0 to determine the number of focus regions supported by the camera.
numsupported
A pointer to an integer that will be updated with the number of focus regions supported by the camera.
numreturned
A pointer to an integer that will be updated with the number of focus regions returned in the regions array.
regions
A pointer to a camera_region_t array. The array is updated with the focus regions configured on the camera. Ensure that you allocate an array with the same number of elements as the numasked argument. For more information about interpreting region geometry, see camera_set_focus_regions().

Library:

libcamapi

Description:

Use this function to retrieve the configured autofocus regions from the camera. For more information on configuring focus regions, see camera_set_focus_regions(). When focus regions are defined, the autofocus algorithm will give priority to focusing on objects in the defined areas of the scene.

The maximum number of supported focus regions is determined by checking the numsupported argument when the function completes successfully.

Ensure that the regions argument points to an array which has at least numasked elements allocated. To determine an appropriate size for this array, you can invoke this function in presizing mode by setting the numasked argument to 0 or the regions argument to NULL. When the function is invoked in this presizing mode, the maximum array size required is returned in the numsupported argument. You can then allocate an array of the appropriate size and invoke the function again with the numasked argument set to the value returned previously in the numsupported argument.

The viewfinder must be running before using this function.

Returns:

CAMERA_EOK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed.