Viewfinder's Region of Interest
This topic describes how to add area of interest specification and control for viewfinder in the Ecam API.
The
CCamera
API is extended to allow you to give region of interest (ROI) for viewfinder. The areas of interest are approximated by the rectangle shape. You select a preference order for ROIs. This selection of preference is supported by
CCamera
. Your selection of preference has higher priority.
The ROIs provides multiple uses for
CCamera
, they are as follows:
-
Call
CCameraViewFinder::GetSupportedROIScopeL(TInt&
)
to get support and query the number of scope for a viewfinder. For example, If n is the number of ROI scope supported, then scope indices will vary from 0 to –1.
-
Call
CCameraViewFinder::TROIParameters( )
to provide the ROI per scope to the
CCamera
adaptation. The
TROIParameters
function is used to allow you to specify a priority with every ROI.
-
Call
CCameraViewFinder::StartROIOperation(const
RArray< TROIParameters>&, TInt)
to perform the operation depending on the ROI scope,
CCamera
adaptation adjust the scope priority. When the ROI operation is completed,
CCamera
adaptation notifies you the completion of the ROI Operation. You have to know the viewfinder and the scope with which this ROI operation is linked. This can be done by issuing a new event
KUIdECamEvent2ViewFInderROIReady
with
iParam
as
iViewFinderHandle
and
iParam1
as
iROIScopeIndex
. Note: You have to prepare a group of the desired region set with high priorities scopes. When you have set the high priorities scopes, you needs to specify the scope based on which the
CCamera
adaptation uses the ROIs.
-
Call
MDirectViewFInderObserver::ROIChangeReady(CCamera::CCameraV2DirectViewFinder&,
Tint, Tint)
to extend the callback associated with the two viewfinders in order to provide the ROI scope notifications. The two notification function notifies you that
CCamera
adaptation starts the ROI operation based on the modified set of ROI parameter.
-
When the
CCamera
adaptation changes the ROI scope, call
CCameraViewFinder::GetROIParameters (RArray<
TROIParameters>&, TInt)
to retrieve the ROI according to their higher priorities. You can use these regions for any desired purpose depending on the scope.
-
Call
CCameraViewFinder::StopROIOperation(TInt)
to stop ROI operation for the specific scope.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.