class MCameraPreImageCaptureControl |
Mixin class for implementation by providers of the PreImageCaptureControl Camera Extension API. PreImageCaptureControl class exposes an API for controlling advanced still image related settings and control prior to capturing the images.
void | GetCaptureEventSupportInfoL | ( | TUint & | aSupportedDriveModes | ) | const [pure virtual] |
Retrieves whether the camera device is capable of providing capture event notification to the client. Client may take the responsibility of playing the capture sound after receiving the notification.
If capture event notification is supported, ECam implementation will use KUidECamEventImageCaptureEvent to notify clients that the image has been exposed to the camera sensor. Clients may play capture sound if they desire to do so.
TUint & aSupportedDriveModes | A reference to bit-field of TUint which indicates the drive modes in which the capture event notification is supported. If aSupportedDriveModes =0, capture event notification is not supported. |
void | GetDirectSavingTypeL | ( | CCamera::CCameraPreImageCaptureControl::TDirectSavingType & | aDirectSavingType | ) | const [pure virtual] |
Retrieves the type of direct saving currently used. This will be represented as a direct saving state as given by TDirectSavingType.
Whether or not the direct saving option is used, client will receive the MCaptureImageObserver::ImageCaptureComplete() callback to mark the completion of the image capture operation.
If EDirectSavingNotUsed, direct saving is not used. Images will be received in buffer MCameraImageBuffer through callback MCaptureImageObserver::ImageBufferReady() .
If EDirectSavingHighResolutionFileOnly, direct saving to file option is currently used. But no cut down version of the image will be saved to file. Callback used is MCaptureImageObserver::ImageDirectSavingCompleted() .
If EDirectSavingWithLowerResolutionFile, apart from direct saving to file option for the actual image, a cut down version of the image will be saved to another specified file. Callbacks used are MCaptureImageObserver :: ImageDirectSavingCompleted() for actual image and MCaptureImageObserver::CutDownImageDirectSavingCompleted() for lower resolution image.
Direct saving to file will continue even if the client application gets closed for any reasons.
CCamera::CCameraPreImageCaptureControl::TDirectSavingType & aDirectSavingType | Current type of the direct saving. |
void | GetDirectSnapshotSupportInfoL | ( | TUint & | aDirectSnapshotSupportInfo | ) | const [pure virtual] |
Retrieves information regarding the direct snapshot feature support. Direct Snapshot, if supported, can be created out of version2 direct viewfinder object only.
TUint & aDirectSnapshotSupportInfo | This is a bit field providing supported direct snapshot of type TDirectSnapshotType |
void | GetImageFormatsSupportedL | ( | TUint & | aImageFormatsSupported, |
const TSize & | aSize | |||
) | const [pure virtual] |
Retrieves the supported image formats for a given resolution.
void | GetImageMaxMemorySizeL | ( | TUint & | aMemorySize | ) | const [pure virtual] |
Get the maximum memory size in kilo bytes when encoding to the current format.
In case of JPEG, the maximum memory size will take preference over JPEG quality if the maximum memory size is not sufficient to achieve the desired quality. Refer CCamera::JpegQuality()
TUint & aMemorySize | Retrieves the maximum memory size in kilo bytes. |
void | GetImageMaxMemorySizeSettingSupportInfoL | ( | TBool & | aIsImageMaxMemorySizeSettingSupported | ) | const [pure virtual] |
Informs whether or not the setting of maximum memory size when encoding to the current format is supported.
TBool & aIsImageMaxMemorySizeSettingSupported | ETrue indicates that setting of maximum memory size is supported. EFalse indicates that setting of maximum memory size is not supported. |
void | GetPixelAspectsSupportedL | ( | TUint & | aPixelAspectsSupported, |
CCamera::TFormat | aImageFormat, | |||
const TSize & | aSize | |||
) | const [pure virtual] |
Retrieves the supported pixel aspect ratio for a given resolution in case of still image.
TUint & aPixelAspectsSupported | A bit field which retrieves the supported pixel aspect ratio for a given resolution. Pixel aspect ratio have been defined as CCamera::CCameraAdvancedSettings::TPixelAspectRatio |
CCamera::TFormat aImageFormat | The image format for which the supported pixel aspect ratio have to be retrieved. |
const TSize & aSize | The resolution (or size) for which the supported pixel aspect ratio have to be retrieved. |
void | GetSupportedDirectSavingTypeL | ( | CCamera::CCameraPreImageCaptureControl::TDirectSavingType & | aSupportedDirectSavingType | ) | const [pure virtual] |
Retrieves information regarding the supported direct saving state. If used, still images are saved in files rather than providing clients the MCameraImageBuffer . Direct saving to file will continue even if the client application gets closed for any reasons.
If EDirectSavingHighResolutionFileOnly, direct saving to file is supported. But no cut down version of the image will be saved to file. Callback used is MCaptureImageObserver::ImageDirectSavingCompleted() .
If EDirectSavingWithLowerResolutionFile, Direct saving to file is supported. Also, a cut down version of the image will be saved to another specified file. Callbacks used are MCaptureImageObserver::ImageDirectSavingCompleted() for actual image and MCaptureImageObserver::CutDownImageDirectSavingCompleted() for lower resolution image.
CCamera::CCameraPreImageCaptureControl::TDirectSavingType & aSupportedDirectSavingType | Retrieves the enum specifying supported TDirectSavingType. If EDirectSavingNotUsed, direct saving not supported. Images will be received in buffer MCameraImageBuffer. |
void | GetSupportedEmbeddedStillCaptureSettingsL | ( | RArray < TUid > & | aSupportedEmbeddedStillCaptureSettings | ) | const [pure virtual] |
Retrieves the settings supported for embedded still captures. Possibilty exists that not all the settings supported for normal still image captures are supported for embedded still captures as well.
void | GetSupportedProcessingOptionsL | ( | TUint & | aEcamProcessingOptionsSupported | ) | const [pure virtual] |
Retrieves the supported processing options.
TUint & aEcamProcessingOptionsSupported | Bitfield containing the available processing options. |
void | PrepareImageCapture | ( | const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & | aPrepareImageParameters, |
MCaptureImageObserver & | aCaptureImageObserver | |||
) | [pure virtual] |
Performs setup and allocation of memory for image capture operation. Implementation creates a new CCameraImageCapture* object which reflects the prepare image parameters passed by the client. The callback MPreImageCaptureControlObserver :: PrepareImageComplete() passes the ownership of the CCameraImageCapture* object to the client.
This needs to be called every time client wishes to change prepare image parameters or if the client wishes to create a new CCameraImageCapture* object.
Next PrepareImageCapture can be called only after receiving the notification KUidECamEventReadyForNextPrepare.
Implementation will call CCameraImageCapture::CreateL( CCamera & aCamera, MCaptureImageObserver & aCaptureImageObserver) method and pass the CCameraImageCapture* to the client through the MPreImageCaptureControlObserver::PrepareImageComplete() callback.
If drive mode is EDriveModeTimeNudgeCapture the ECam implementation will immediately begin capturing images after creating a new CCameraImageCapture object. Once the client initiates image capture, the total amount of images requested by the client (specified by the client in TDriveModeDependentAttributes) will be returned to the client (via MCaptureImageObserver::ImageBufferReady() ) or saved to file. The implementation should not create another instance of CCameraImageCapture whilst using this drive mode until the first instance is destroyed by the client.
const CCamera::CCameraPreImageCaptureControl::TPrepareImageParameters & aPrepareImageParameters | The desired image parameters to be used for capturing still images using the CCameraImageCapture instance which would be passed by the implementation. |
MCaptureImageObserver & aCaptureImageObserver | The Capture image observer which is needed by the implementation in order to pass it to the CCameraImageCapture while creating it. |
void | SetDirectSavingTypeL | ( | CCamera::CCameraPreImageCaptureControl::TDirectSavingType | aDirectSavingType | ) | [pure virtual] |
Instructs the ECam implementation to use the desired type of direct saving option as specifed by its state.
Whether or not the direct saving option is used, client will receive the MCaptureImageObserver::ImageCaptureComplete() callback to mark the completion of the image capture operation.
If EDirectSavingNotUsed, direct saving will not be used. Images will be received in buffer MCameraImageBuffer through callback MCaptureImageObserver::ImageBufferReady() .
If EDirectSavingHighResolutionFileOnly, direct saving to file option will be used. But no cut down version of the image will be saved to file. Callback to be used is MCaptureImageObserver::ImageDirectSavingCompleted() .
If EDirectSavingWithLowerResolutionFile, apart from direct saving to file option for the actual image, a cut down version of the image will be saved to another specified file. Callbacks to be used are MCaptureImageObserver :: ImageDirectSavingCompleted() for actual image and MCaptureImageObserver::CutDownImageDirectSavingCompleted() for lower resolution image.
Clients need to provide the filename before capturing still images under direct saving option. Callback MCaptureImageObserver::ImageDirectSavingCompleted() may provide error KErrNotReady if filenames are not provided before images are captured for direct saving. Similarly, if cut down version of image is also to be saved to file, MCaptureImageObserver::CutDownImageDirectSavingCompleted() may provide error KErrNotReady if filenames are not provided before hand.
Direct saving to file will continue even if the client application gets closed for any reasons.
CCamera::CCameraPreImageCaptureControl::TDirectSavingType aDirectSavingType | The desired type of the direct saving. |
void | SetLowerResolutionSequentialImageFilenameL | ( | const TDesC8 & | aLowerResolutionFilename, |
TInt | aStartingSequenceNumber | |||
) | [pure virtual] |
Provides the base name for file used to save cut down version of the original images. If there are sequential images, files will be created by implementation with names appearing as base name and appended by increasing integers which would start from aStartingSequenceNumber. This is used for the cut down version of the original image.
It is upto the implementation how many digits it uses for sequence number. Accordingly, padding will be done with zeroes.
const TDesC8 & aLowerResolutionFilename | A const TDesC8&: Base name for files which ECam implementation needs to create in order to collect the cut down version of every sequential image. |
TInt aStartingSequenceNumber | The starting sequence number which will be appended to the base name 'aFilename'. The sequence number will keep on increasing for every individual still image capture. |
void | SetPreImageCaptureControlObserver | ( | MPreImageCaptureControlObserver & | aPreImageCaptureControlObserver | ) | [pure virtual] |
The observer for the pre image capture control is passed to the implementation for passing callbacks on it.
MPreImageCaptureControlObserver & aPreImageCaptureControlObserver | The reference to the pre image capture control observer. |
void | SetSequentialImageFilenameL | ( | const TDesC8 & | aFilename, |
TInt | aStartingSequenceNumber | |||
) | [pure virtual] |
Provides the base name for file used to save images. If there are sequential images, files will be created by implementation with names appearing as base name and appended by increasing integers which would start from aStartingSequenceNumber. This is used for the original image only, but not for the cut down version of the original image.
It is upto the implementation how many digits it uses for sequence number. Accordingly, padding will be done with zeroes.
const TDesC8 & aFilename | A const TDesC8&: Base name for files which ECam implementation needs to create in order to collect every sequential image. |
TInt aStartingSequenceNumber | The starting sequence number which will be appended to the base name 'aFilename'. The sequence number will keep on increasing for every individual still image capture. |
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.