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

Constructor & Destructor Documentation

CCameraImageCapture(CCamera &)

CCameraImageCapture(CCamera &aOwner)[private]

CCameraImageCapture Constructor.

Parameters

CCamera & aOwnera 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 voidCancelCaptureImage()

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 voidCaptureImage()

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 &)

voidConstructL(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 & aPrepareImageParametersTPrepareImageParameters tied with this image capture class object.
MCaptureImageObserver & aCaptureImageObserverReference 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 & aCameraa reference to a CCamera object providing the settings.
const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParametersTPrepareImageParameters tied with this image capture class object.
MCaptureImageObserver & aCaptureImageObserverReference to the capture image observer.

GetCaptureImagePriorityL(TECamImagePriority &)

IMPORT_C voidGetCaptureImagePriorityL(TECamImagePriority &aCaptureImagePriority)const

Retrieves the priority of the Capture Image operation.

leave
May leave with any error code.

Parameters

TECamImagePriority & aCaptureImagePriorityRetrieves the current level of priority.

GetNumImagesExposedL(TUint &)

IMPORT_C voidGetNumImagesExposedL(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 & aNumImagesExposedRetrieves 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 voidGetNumTotalImagesL(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 & aNumTotalImagesRetrieves 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 voidGetPostCaptureControlHandleL(CCamera::CCameraPostImageCaptureControl *&aPostCaptureControlHandle,
TPostCaptureControlIdaPostCaptureControlId
)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 *& aPostCaptureControlHandleRetrieves pointer to the post capture control class object.
TPostCaptureControlId aPostCaptureControlIdThe ID used to retrieve the post capture control handle of the captured image.

GetPrepareImageParametersL(CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters &)

IMPORT_C voidGetPrepareImageParametersL(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 & aPrepareImageParametersTPrepareImageParameters tied with this image capture class object.

GetSnapshotHandleL(TInt)

IMPORT_C CCamera::CCameraSnapshot *GetSnapshotHandleL(TIntaClientViewFinderId)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 aClientViewFinderIdThe 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 voidPauseProcessing(TUintaProcessingTypes)

Pauses processing options associated with the concerned Capture Image operation.

Parameters

TUint aProcessingTypesThe processing options which need to be paused.

ResumeProcessingL(TUint)

IMPORT_C voidResumeProcessingL(TUintaProcessingTypes)

Resumes processing options associated with the concerned Capture Image operation.

leave
May leave with any error code.

Parameters

TUint aProcessingTypesThe processing options which need to be resumed.

SetCaptureImagePriorityL(TECamImagePriority)

IMPORT_C voidSetCaptureImagePriorityL(TECamImagePriorityaCaptureImagePriority)

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 aCaptureImagePriorityThe desired level of priority.

Member Data Documentation

MCameraImageCapture * iImpl

MCameraImageCapture *iImpl[private]

CCamera & iOwner

CCamera &iOwner[private]