diff -r 51a74ef9ed63 -r ae94777fff8f Symbian3/SDK/Source/GUID-36BD6059-6547-5754-8BE0-F8051A838C14.dita --- a/Symbian3/SDK/Source/GUID-36BD6059-6547-5754-8BE0-F8051A838C14.dita Wed Mar 31 11:11:55 2010 +0100 +++ b/Symbian3/SDK/Source/GUID-36BD6059-6547-5754-8BE0-F8051A838C14.dita Fri Jun 11 12:39:03 2010 +0100 @@ -1,20 +1,94 @@ - - - - - -Using Time-Nudge-Capture Drive Mode This topic describes how to capture an image using Time-Nudge-Capture drive mode in the Ecam API.

Before you start you should understand the following topics:

  • Capturing Image.

  • Advanced Camera Settings Overview.

The EDriveModeTimeNudgeCapture mode allows you to specify the amount of images to be captured both before and after the capture button key press. The numbers of pre- or post-capture images to be captured are set by the TDriveModeDependentAttributes values, with the total number of images being calculated as follows:

Total number of captured images = iParam1 + 1 + iParam2 where iParam1 and iParam2 represent pre and post capture images respectively, and 1 represents the present image.

Call CCamera::New2L(MCameraObserver2 - &,TInt,TInt) to create an instance of CCamera. Call CCamera::CCameraPreImageCaptureControl to create an image capture object. Call CCamera::PrepareImageCapture(const - TPrepareImageParameter&, MCaptureImageObserver&) to prepare for capturing the image. TPrepareImageParameter uses TDriveModeDependentAttributes to set the number of images before and after the camera capture key press event. The iDriveMode value in TPrepareImageParameter should be replaced into the EDriveModeTimeNudgeCapture value, to support the time-nudge-capture drive mode. If an aErrorCode occurs while preparing an image, you have to call CCamera::PrepareImageComplete(CCamera::CCameraImageCapture*, - TInt). Note: The PrepareImageComplete() callback is deferred until the implementation is ready with the pre-image data saved in the buffer so that you can press the capture key at any time. Meanwhile the implementation continues saving the latest pre-capture images until the CaptureImage() function is called. Call CCamera::CaptureImage(CCameraCapture*) to capture an image. Note: You can call the CaptureImage() function to capture the current image exposed to the sensor plus the required number of post-image capture images. Call the MCaptureImageObserver::IndividualImageControlHandle(CCamera::CCameraImageCapture&, - TPostCaptureControlId) function for each captured image to pass the individual id of each image to the client. Call MCaptureImageObserver::ImageCaptureComplete(CCamera::CCameraImageCapture&, - TInt) and - [a11]CCamera::HandleEvent(KUidECamEventReadyForNextCapture) to notify the client that the current capture operation has finished. Note: This must only occur once the implementation has saved another set of pre-image capture images. This is so that the implementation is ready to receive further CaptureImage() calls. Call CCamera::CCameraPostImageCaptureControl(TUid, - TPostCaptureControlUid) to control the post image capture after capturing the desired image. Call the CCamera::HandleEvent(KUidECamEventReadyForNextPrepare) function when you have deleted the current CCameraImageCapture object. Note: In this drive mode, only one instance of CCameraImageCapture can be created at any one time, i.e. PrepareImageCapture() can only be called once. In order to successfully call PrepareImageCapture() again and create a new CCameraImageCapture object, clients must first destroy the previous one. Therefore, the implementation should only issue this callback once the client has deleted the object.
Controlling Pre-Image Capture Controlling Still-Image - Capture Controlling Captured Image
\ No newline at end of file + + + + + +Using +Time-Nudge-Capture Drive Mode This topic describes how to capture an image using Time-Nudge-Capture +drive mode in the Ecam API. +

Before you start +you should understand the following topics:

    +
  • Capturing Still +Images

  • +
  • Advanced +Camera Settings Overview.

  • +
+

The CCamera::CCameraAdvancedSettings::EDriveModeTimeNudgeCapture mode +allows you to specify the amount of images to be captured both before and +after the capture button key press. The numbers of pre- or post-capture images +to be captured are set by the CCamera::CCameraPreImageCaptureControl::TDriveModeDependentAttributes values, +with the total number of images being calculated as follows:

Total +number of captured images = iParam1 + 1 + iParam2 where iParam1 and iParam2 represent +pre and post capture images respectively, and 1 represents the present image.

+ + +Call CCamera::New2L(MCameraObserver2 &,TInt,TInt) to +create an instance of CCamera. + + +Call CCamera::CCameraPreImageCaptureControl to create +an image capture object. + + +Call CCamera::CCameraPreImageCaptureControl::PrepareImageCapture(const +TPrepareImageParameters &,MCaptureImageObserver &) to prepare +for capturing the image. TPrepareImageParameter uses TDriveModeDependentAttributes to +set the number of images before and after the camera capture key press event. +The iDriveMode value in TPrepareImageParameter should +be replaced into the EDriveModeTimeNudgeCapture value, to +support the time-nudge-capture drive mode. +If an aErrorCode occurs while preparing an image, you +have to call CCamera::PrepareImageComplete(CCamera::CCameraImageCapture*, +TInt). +Note: The PrepareImageComplete() callback is deferred +until the implementation is ready with the pre-image data saved in the buffer +so that you can press the capture key at any time. Meanwhile the implementation +continues saving the latest pre-capture images until the CaptureImage() function +is called. + + +Call CCamera::CaptureImage() to capture an image. +Note: You can call the CaptureImage() function to capture +the current image exposed to the sensor plus the required number of post-image +capture images. + + +Call the MCaptureImageObserver::IndividualImageControlHandle(CCamera::CCameraImageCapture +&,TPostCaptureControlId) function for each captured image to +pass the individual id of each image to the client. + + +Call MCaptureImageObserver::ImageCaptureComplete(CCamera::CCameraImageCapture +&,TInt) and MCameraObserver2::HandleEvent(const TECAMEvent +&) to notify the client that the current capture operation has +finished. +Note: This must only occur once the implementation has saved another +set of pre-image capture images. This is so that the implementation is ready +to receive further CaptureImage() calls. + + +Call CCamera::CCameraPostImageCaptureControl::CCameraPostImageCaptureControl(CCamera::CCameraImageCapture +*,TPostCaptureControlId) to control the post image capture after +capturing the desired image. + + +Call the MCameraObserver2::HandleEvent(const TECAMEvent &) function +when you have deleted the current CCameraImageCapture object. +Note: In this drive mode, only one instance of CCameraImageCapture can +be created at any one time, that is, PrepareImageCapture() can +only be called once. In order to successfully call PrepareImageCapture() again +and create a new CCameraImageCapture object, clients must +first destroy the previous one. Therefore, the implementation should only +issue this callback once the client has deleted the object. + + +
+Camera Library + +
\ No newline at end of file