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.
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.
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() |
Private Attributes | |
---|---|
MCameraImageCapture * | iImpl |
CCamera & | iOwner |
CCameraImageCapture | ( | CCamera & | aOwner | ) | [private] |
CCameraImageCapture Constructor.
CCamera & aOwner | a reference to a CCamera object. |
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.
The child objects created out of this image capture class object shall be delete beforehand. Various child objects are snapshot, image processing and histograms.
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.
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.
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.
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.
const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters | TPrepareImageParameters tied with this image capture class object. |
MCaptureImageObserver & aCaptureImageObserver | Reference to the capture image observer. |
IMPORT_C CCamera::CCameraV2Histogram * | CreateHistogramHandleL | ( | ) | const |
Retrieve pointer to histogram API in order to use it specifically for a specific still image capture.
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.
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).
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. |
IMPORT_C void | GetCaptureImagePriorityL | ( | TECamImagePriority & | aCaptureImagePriority | ) | const |
Retrieves the priority of the Capture Image operation.
TECamImagePriority & aCaptureImagePriority | Retrieves the current level of priority. |
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.
May leave with any error code.
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. |
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.
May leave with any error code.
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. |
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.
May leave with any error code.
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. |
IMPORT_C void | GetPrepareImageParametersL | ( | CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & | aPrepareImageParameters | ) | const |
Retrieves the prepare image parameters tied with this image capture class object.
CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters | TPrepareImageParameters tied with this image capture class object. |
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.
TInt aClientViewFinderId | The client viewfinder on which this client snapshot will be displayed. |
IMPORT_C CCamera::CCameraImageProcessing * | GetTransformationHandleL | ( | ) | const |
Retrieve pointer to image processing API in order to use it specifically for tha specific still image capture.
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.
IMPORT_C void | PauseProcessing | ( | TUint | aProcessingTypes | ) |
Pauses processing options associated with the concerned Capture Image operation.
TUint aProcessingTypes | The processing options which need to be paused. |
IMPORT_C void | ResumeProcessingL | ( | TUint | aProcessingTypes | ) |
Resumes processing options associated with the concerned Capture Image operation.
TUint aProcessingTypes | The processing options which need to be resumed. |
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.
TECamImagePriority aCaptureImagePriority | The desired level of priority. |
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.