CCamera::CCameraImageCapture Class Reference

class CCamera::CCameraImageCapture : public CBase

CCameraImageCapture class exposes an API for capturing the image and controlling the overall capture. This class gets created by the implementation of MCameraPreImageCaptureControl::PrepareImageCapture and passed to the client through callback MPreImageCaptureControlObserver::PrepareImageComplete . Destruction of this class is equivalent to releasing the resources owned in order to prepare and allocate memory for capturing images.

Note:

This class is not intended for sub-classing and used to standardise existing varieties of implementations.

If the class methods leave, the output type parameter value is not guaranteed to be valid.

The use of this class implies that client will be able to issue image capture call even if previous captures are still outstanding.

Clients must implement an MCaptureImageObserver in order to use this CCameraImageCapture API. MCameraObserver2::ImageBufferReady will not be used with this class.

Inherits from

  • CCamera::CCameraImageCapture
Public Member Functions
~CCameraImageCapture ()
IMPORT_C void CancelCaptureImage ()
IMPORT_C void CaptureImage ()
IMPORT_C CCamera::CCameraV2Histogram * CreateHistogramHandleL ()
IMPORT_C CCameraImageCapture * CreateL ( CCamera &, const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &, MCaptureImageObserver &)
IMPORT_C void GetCaptureImagePriorityL ( TECamImagePriority &)
IMPORT_C void GetNumImagesExposedL ( TUint &)
IMPORT_C void GetNumTotalImagesL ( TUint &)
IMPORT_C void GetPostCaptureControlHandleL ( CCamera::CCameraPostImageCaptureControl *&, TPostCaptureControlId )
IMPORT_C void GetPrepareImageParametersL ( CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)
IMPORT_C CCamera::CCameraSnapshot * GetSnapshotHandleL ( TInt )
IMPORT_C CCamera::CCameraImageProcessing * GetTransformationHandleL ()
IMPORT_C void PauseProcessing ( TUint )
IMPORT_C void ResumeProcessingL ( TUint )
IMPORT_C void SetCaptureImagePriorityL ( TECamImagePriority )
Private Member Functions
CCameraImageCapture ( CCamera &)
void ConstructL (const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &, MCaptureImageObserver &)
MCameraImageCapture * Impl ()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Private Attributes
MCameraImageCapture * iImpl
CCamera & iOwner

Constructor & Destructor Documentation

CCameraImageCapture(CCamera &)

CCameraImageCapture ( CCamera & aOwner ) [private]

Parameters

CCamera & aOwner a reference to a CCamera object.

~CCameraImageCapture()

IMPORT_C ~CCameraImageCapture ( )

Destructor Destruction of this class is equivalent to releasing the resources owned in order to prepare and allocate memory for capturing images.

Note:

The child objects created out of this image capture class object shall be delete beforehand. Various child objects are snapshot, image processing and histograms.

Member Functions Documentation

CancelCaptureImage()

IMPORT_C void CancelCaptureImage ( )

Cancels the outstanding Capture Image operation. This will also cancel any outstanding processing options associated with the concerned Capture Image operation. This method is synchronous. Hence, no callback shall be received with respect to concerned capture image operation.

CaptureImage()

IMPORT_C void CaptureImage ( )

Performant image capture. This postpones the processing options involved with current image captured in order to capture/prepare for next images.

Previously created CCameraPostImageCaptureControl objects for this CCameraImageCapture object will become unavailable after this call.

Note:

Further images (either still or video) can be captured only after receiving the notification KUidECamEventReadyForNextCapture. Current image may be outstanding in order to undergo any processing options.

Callback MCaptureImageObserver::ImageCaptureComplete() informs the client that the image capture operation has been completed. The CCameraImageCapture & can be further used for next image captures. In case of continuous drive modes, this callback will be received by the client only once in order to provide the result of the whole image capture operation.

Callback MCaptureImageObserver::ImageBufferReady() provides client the link to CCameraPostImageCaptureControl & which helps retrieving the image buffer. In case of continuous drive modes, this callback will be received by the client for every individual image. In case of single shots, this will be received by the client only once in order to retrieve the image buffer.

ConstructL(const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &, MCaptureImageObserver &)

void ConstructL ( const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters,
MCaptureImageObserver & aCaptureImageObserver
) [private]

CCameraImageCapture second phase constructor.

Function used to initialise internal state of the object. Uses reference to the camera to retrieve CameraImageCapture interface pointer.

leave
KErrNoMemory Out of memory or any other system-wide error code

Parameters

const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters TPrepareImageParameters tied with this image capture class object.
MCaptureImageObserver & aCaptureImageObserver Reference to the capture image observer.

CreateHistogramHandleL()

IMPORT_C CCamera::CCameraV2Histogram * CreateHistogramHandleL ( ) const

Retrieve pointer to histogram API in order to use it specifically for a specific still image capture.

leave
May leave with any error code.
Note:

Different types of histogram may be used for a specific still image capture. Every time this method will be called on the CCameraImageCapture class object, a new type of histogram will be created.

CreateL(CCamera &, const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &, MCaptureImageObserver &)

IMPORT_C CCameraImageCapture * CreateL ( CCamera & aCamera,
const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters,
MCaptureImageObserver & aCaptureImageObserver
) [static]

Factory function for creating the CCameraImageCapture object. This will be called only by the concrete implementation of MCameraPreImageCaptureControl::PrepareImageCapture (const TPrepareImageParameters& aPrepareImageParameters, MCaptureImageObserver & aCaptureImageObserver).

leave
KErrNoMemory Out of memory Or any other system-wide error code.

Parameters

CCamera & aCamera a reference to a CCamera object providing the settings.
const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters TPrepareImageParameters tied with this image capture class object.
MCaptureImageObserver & aCaptureImageObserver Reference to the capture image observer.

GetCaptureImagePriorityL(TECamImagePriority &)

IMPORT_C void GetCaptureImagePriorityL ( TECamImagePriority & aCaptureImagePriority ) const

Retrieves the priority of the Capture Image operation.

leave
May leave with any error code.

Parameters

TECamImagePriority & aCaptureImagePriority Retrieves the current level of priority.

GetNumImagesExposedL(TUint &)

IMPORT_C void GetNumImagesExposedL ( TUint & aNumImagesExposed ) const

Retrieves the number of images exposed to sensor with respect to a specific image capture command. Any processing options associated with these images may be pending.

Note:

May leave with any error code.

Parameters

TUint & aNumImagesExposed Retrieves the number of images exposed to sensor till now. For single shot type of drive modes, this value will be one after the image gets exposed to sensor. For multiple shot type of drive modes, this value will be the number of images exposed till now.

GetNumTotalImagesL(TUint &)

IMPORT_C void GetNumTotalImagesL ( TUint & aNumTotalImages ) const

Retrieves the total number of images which is supposed to be captured with respect to a specific image capture command.

Note:

May leave with any error code.

Parameters

TUint & aNumTotalImages Retrieves the total number of images supposed to be captured. For single shot type of drive modes, this value will be always be one. For multiple shot type of drive modes, this value will be greater than one.

GetPostCaptureControlHandleL(CCamera::CCameraPostImageCaptureControl *&, TPostCaptureControlId)

IMPORT_C void GetPostCaptureControlHandleL ( CCamera::CCameraPostImageCaptureControl *& aPostCaptureControlHandle,
TPostCaptureControlId aPostCaptureControlId
) const

Retrieves the post capture control handle based on the ID passed to it. Client may use this handle for post capture operations of the image identified by the ID. The ID is received by the clients through MCaptureImageObserver callbacks.

Note:

May leave with any error code.

Parameters

CCamera::CCameraPostImageCaptureControl *& aPostCaptureControlHandle Retrieves pointer to the post capture control class object.
TPostCaptureControlId aPostCaptureControlId The ID used to retrieve the post capture control handle of the captured image.

GetPrepareImageParametersL(CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)

IMPORT_C void GetPrepareImageParametersL ( CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters ) const

Retrieves the prepare image parameters tied with this image capture class object.

leave
May leave with any error code

Parameters

CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters TPrepareImageParameters tied with this image capture class object.

GetSnapshotHandleL(TInt)

IMPORT_C CCamera::CCameraSnapshot * GetSnapshotHandleL ( TInt aClientViewFinderId ) const

Retrieve pointer to snapshot API in order to use it specifically for a specific still image capture.

leave
May leave with any error code.

Parameters

TInt aClientViewFinderId The client viewfinder on which this client snapshot will be displayed.

GetTransformationHandleL()

IMPORT_C CCamera::CCameraImageProcessing * GetTransformationHandleL ( ) const

Retrieve pointer to image processing API in order to use it specifically for tha specific still image capture.

leave
May leave with any error code.

Impl()

MCameraImageCapture * Impl ( ) const [private]

Returns the MCameraImageCapture* which will be used by the CCameraPostImageCaptureControl for the concrete implementation. Both CCameraImageCapture and CCameraPostImageCaptureControl are made to use the same interface for implementation.

PauseProcessing(TUint)

IMPORT_C void PauseProcessing ( TUint aProcessingTypes )

Pauses processing options associated with the concerned Capture Image operation.

Parameters

TUint aProcessingTypes The processing options which need to be paused.

ResumeProcessingL(TUint)

IMPORT_C void ResumeProcessingL ( TUint aProcessingTypes )

Resumes processing options associated with the concerned Capture Image operation.

leave
May leave with any error code.

Parameters

TUint aProcessingTypes The processing options which need to be resumed.

SetCaptureImagePriorityL(TECamImagePriority)

IMPORT_C void SetCaptureImagePriorityL ( TECamImagePriority aCaptureImagePriority )

Prioritises the Capture Image operation. This implies that any processing options associated with the concerned Capture Image operation will be prioritised over other pending processing options.

leave
May leave with any error code.

Parameters

TECamImagePriority aCaptureImagePriority The desired level of priority.

Member Data Documentation

MCameraImageCapture * iImpl

MCameraImageCapture * iImpl [private]

CCamera & iOwner

CCamera & iOwner [private]