class CCamera::CCameraPostImageCaptureControl : public CBase |
CCameraPostImageCaptureControl class exposes an API for retrieving the image data from individual images (in case continuous drive mode is used for capturing the images) and also to apply control on the captured images individually.
CCameraPostImageCaptureControl instances will be owned by CCameraImageCapture and would be available until new capture command is issued using the owning CCameraImageCapture instance. If client wishes to initiate new capture but preserve the CCameraPostImageCaptureControl instances from previous capture, it would have to create a new CCameraImageCapture instance and use that for the new capture.
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 CCameraPostImageCaptureControl API. MCameraObserver2::ImageBufferReady will not be used with this class.
Public Member Functions | |
---|---|
~CCameraPostImageCaptureControl () | |
IMPORT_C void | CancelImage () |
IMPORT_C CCameraPostImageCaptureControl * | CreateL ( CCameraImageCapture *, TPostCaptureControlId ) |
IMPORT_C void | GetBufferStateL ( TBufferState &) |
IMPORT_C void | GetImageBufferL ( MCameraImageBuffer &) |
IMPORT_C void | GetImagePriorityL ( TECamImagePriority &) |
IMPORT_C void | GetImageSequenceNumberL ( TUint &) |
IMPORT_C void | GetImageStateL ( TImageState &) |
IMPORT_C void | GetPostCaptureControlId ( TPostCaptureControlId &) |
IMPORT_C CCamera::CCameraImageCapture * | ImageCaptureHandle () |
IMPORT_C void | PauseProcessing ( TUint ) |
IMPORT_C void | ResumeProcessingL ( TUint ) |
IMPORT_C void | SetImagePriorityL ( TECamImagePriority ) |
Private Member Functions | |
---|---|
CCameraPostImageCaptureControl ( CCamera::CCameraImageCapture *, TPostCaptureControlId ) | |
void | ConstructL () |
Public Member Enumerations | |
---|---|
enum | TBufferState { EBufferNotPresent , EBufferReady , EBufferReleased } |
enum | TImageState { EProcessingPending , EProcessingOngoing , EProcessingCancelled , EProcessingCompleted } |
Private Attributes | |
---|---|
CCamera::CCameraImageCapture * | iCameraImageCapture |
MCameraPostImageCaptureControl * | iImpl |
TPostCaptureControlId | iPostCaptureControlId |
CCameraPostImageCaptureControl | ( | CCamera::CCameraImageCapture * | aCameraImageCapture, |
TPostCaptureControlId | aPostCaptureControlId | ||
) | [private] |
CCamera::CCameraImageCapture * aCameraImageCapture | |
TPostCaptureControlId aPostCaptureControlId |
IMPORT_C void | CancelImage | ( | ) |
Cancels the outstanding individual image which the object of this class is referring to. This will also cancel any outstanding processing options associated with this individual image. This method is synchronous. Hence, no callback shall be received for this individual image.
void | ConstructL | ( | ) | [private] |
CCameraPostImageCaptureControl second phase constructor.
Function used to initialise internal state of the object. Uses CCameraImageCapture* to retrieve CCameraPostImageCaptureControl interface pointer. This interface pointer is provided by 'CCameraImageCapture interface'.
IMPORT_C CCameraPostImageCaptureControl * | CreateL | ( | CCameraImageCapture * | aCameraImageCapture, |
TPostCaptureControlId | aPostCaptureControlId | |||
) | [static] |
Factory function for creating the CCameraPostImageCaptureControl object for every individual image to be captured. This method is supposed to be called only by concrete implementation of MCameraImageCapture . It will be the client's responsibility to destroy it whenever it does not need it any more. (Possible milestone for deletion: Individual image cancellation completed, individual image saved). Previously created CCameraPostImageCaptureControl objects for the CCameraImageCapture object will become unavailable if CaptureImage() is called while previous call on the same object is still outstanding.
CCameraImageCapture * aCameraImageCapture | A pointer to the CCameraImageCapture which was used to issue the Capture Image call. |
TPostCaptureControlId aPostCaptureControlId | The ID used for identification of the post capture control class object by the clients. The ID is passed by the implementation while creating this object. |
IMPORT_C void | GetBufferStateL | ( | TBufferState & | aBufferState | ) | const |
Retrieves the state of the individual image buffer.
TBufferState & aBufferState | Retrieves the current state of the individual image buffer. |
IMPORT_C void | GetImageBufferL | ( | MCameraImageBuffer & | aCameraImageBuffer | ) | const |
Retrieves the image buffer which contains the individual image captured. This method should be called by the client as a result of receiving the callback MCaptureImageObserver::ImageBufferReady() , if the error information received is satisfactory.
MCameraImageBuffer & aCameraImageBuffer | A reference to an MCameraImageBuffer if successful, or NULL if not successful. |
IMPORT_C void | GetImagePriorityL | ( | TECamImagePriority & | aImagePriority | ) | const |
Retrieves the priority of the individual image which the object of this class is referring to.
TECamImagePriority & aImagePriority | The current level of priority. |
IMPORT_C void | GetImageSequenceNumberL | ( | TUint & | aSequenceNumber | ) | const |
Retrieves the sequence number of the image being represented by this post capture control object. The sequence number specifies the index of the individual image if, in case, the multiple shot type of drive mode is being used. The first individual image which is exposed to the sensor has a sequence number of zero. In case of single shot type of drive mode, the sequence number will be zero.
TUint & aSequenceNumber | Retrieves the sequence number of the image. |
IMPORT_C void | GetImageStateL | ( | TImageState & | aImageState | ) | const |
Retrieves the state of the individual image which the object of this class is referring to.
TImageState & aImageState | Retrieves the current state of the individual image. |
IMPORT_C void | GetPostCaptureControlId | ( | TPostCaptureControlId & | aPostCaptureControlId | ) | const |
Retrieves the ID which this class object represents. The ID is unique for this class object and is used for identification purpose.
TPostCaptureControlId & aPostCaptureControlId | Reference to the post capture control ID. |
IMPORT_C CCamera::CCameraImageCapture * | ImageCaptureHandle | ( | ) | const |
Retrieves the CCameraImageCapture* associated with the object of this class. This implies that the individual image, which the object of this class is referring to, belongs to the CaptureImage operation issued by CCameraImageCapture* object.
IMPORT_C void | PauseProcessing | ( | TUint | aProcessingTypes | ) |
Pauses processing options associated with the individual image which the object of this class is referring to.
TUint aProcessingTypes | The processing options which need to be paused. |
IMPORT_C void | ResumeProcessingL | ( | TUint | aProcessingTypes | ) |
Resumes processing options associated with the individual image which the object of this class is referring to.
TUint aProcessingTypes | The processing options which need to be resumed. |
IMPORT_C void | SetImagePriorityL | ( | TECamImagePriority | aImagePriority | ) |
Prioritises the individual image which the object of this class is referring to. This implies that any processing options associated with this individual image will be prioritised over other pending processing options.
TECamImagePriority aImagePriority | The desired level of priority. |
Specifies the various states in which the individual image buffers could be. The enumeration list may be extended in future.
EBufferNotPresent |
If Direct Saving option used, then user accessible buffers are not present. Hence buffer state will always be EBufferNotPresent. If Direct Saving option not used, this buffer state implies that processing options have not been completed. |
EBufferReady |
This buffer state implies that processing options have been completed. Client may retrieve the image buffers once this state is reached. |
EBufferReleased |
This buffer state implies that client has released the image buffers after retrieving the data. |
Specifies the various states in which the individual images could be. The enumeration list may be extended in future.
EProcessingPending |
The image has been exposed to the sensor but still pending for any processing options. |
EProcessingOngoing |
The image is undergoing processing for the required processing options. |
EProcessingCancelled |
The processing options associated with the image has been cancelled. |
EProcessingCompleted |
The processing options associated with the image has been completed. This implies that either the image buffers are ready or the image is directly saved to the file. |
CCamera::CCameraImageCapture * | iCameraImageCapture | [private] |
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.