CCamera::CCameraPreImageCaptureControl Class Reference

class CCamera::CCameraPreImageCaptureControl : public CBase

CCameraPreImageCaptureControl class exposes an API for controlling image operations/settings prior to image capture.

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.

Client should not use old Capture methods present in class CCamera . Class CCameraImageCapture and class CCameraPostImageCaptureControl should be used rather.

Inherits from

  • CCamera::CCameraPreImageCaptureControl
Public Member Functions
~CCameraPreImageCaptureControl ()
IMPORT_C void GetCaptureEventSupportInfoL ( TUint &)
IMPORT_C void GetDirectSavingTypeL ( TDirectSavingType &)
IMPORT_C void GetDirectSnapshotSupportInfoL ( TUint &)
IMPORT_C void GetImageFormatsSupportedL ( TUint &, const TSize &)
IMPORT_C void GetImageMaxMemorySizeL ( TUint &)
IMPORT_C void GetImageMaxMemorySizeSettingSupportInfoL ( TBool &)
IMPORT_C void GetPixelAspectsSupportedL ( TUint &, CCamera::TFormat , const TSize &)
IMPORT_C void GetSupportedDirectSavingTypeL ( TDirectSavingType &)
IMPORT_C void GetSupportedEmbeddedStillCaptureSettingsL ( RArray < TUid > &)
IMPORT_C void GetSupportedProcessingOptionsL ( TUint &)
IMPORT_C CCameraPreImageCaptureControl * NewL ( CCamera &, MPreImageCaptureControlObserver &)
IMPORT_C void PrepareImageCapture (const TPrepareImageParameters &, MCaptureImageObserver &)
IMPORT_C void SetDirectSavingTypeL ( TDirectSavingType )
IMPORT_C void SetLowerResolutionSequentialImageFilenameL (const TDesC8 &, TInt )
IMPORT_C void SetSequentialImageFilenameL (const TDesC8 &, TInt )
Private Member Functions
CCameraPreImageCaptureControl ( CCamera &)
void ConstructL ( MPreImageCaptureControlObserver &)
void DisableSubFramesL ()
void EnableSubFramesL ()
void EndEmbeddedStillCaptureSettingsL ()
void GetColorSpaceL ( TColorSpace &)
void GetFailedEmbeddedStillCaptureSettingsL ( RArray < TUid > &)
void GetMaximumSpotsL ( CCamera::CCameraAdvancedSettings::TFocusMode , TInt &)
void GetPanoDirectionL ( TPanoDirection &)
void GetPanoModeSupportInfoL ( TBool &, TInt &)
void GetSpotsCombinationL ( CCamera::CCameraAdvancedSettings::TFocusMode , TUint &)
void GetStreamedImageSupportInfoL ( TBool &)
void GetStreamedImageSupportedTransformationsL ( RArray < TUid > &)
void GetSubFramesStateL ( TBool &)
void GetSupportedColorSpaceL ( TUint &)
void GetSupportedSpotsCombinationL ( CCamera::CCameraAdvancedSettings::TFocusMode , RArray < TUint > &)
void SetColorSpace ( TColorSpace )
void SetPanoDirection ( TPanoDirection )
void SetSpotsCombination ( CCamera::CCameraAdvancedSettings::TFocusMode , TUint )
void StartEmbeddedStillCaptureSettingsL ()
void StartPanoMode ( TStitchingOption )
void StartPanoMode ( TStitchingOption , const RArray < TInt > &)
void StopPanoModeL ( TStitchedImageRetrieval )
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enum TDirectSavingType { EDirectSavingNotUsed  = 0x00, EDirectSavingHighResolutionFileOnly  = 0x01, EDirectSavingWithLowerResolutionFile  = 0x02 }
enum TDirectSnapshotType { EDirectSnapshotNotSupported  = 0x00, EDirectSnapshotSupported  = 0x01 }
enum TEcamProcessingOptions { EEcamProcessingNone  = 0x00000000, EEcamNormalProcessing  = 0x00000001, EEcamBackgroundProcessing  = 0x00000002 }
Private Member Enumerations
enum TColorSpace {
EColorSpaceUnknown  = 0x0000, EColorSpacesRGB  = 0x0001, EColorSpaceAdobeRGB  = 0x0002, EColorSpaceAdobeWideGamutRGB  = 0x0004, EColorSpaceCMYK  = 0x0008, EColorSpaceYIQ  = 0x0010, EColorSpaceYUV  = 0x0020, EColorSpaceYDbDr  = 0x0040, EColorSpaceYCbCr  = 0x0080, EColorSpaceHSB  = 0x0100, EColorSpaceHSL  = 0x0200
}
enum TPanoDirection { EPanoRight , EPanoLeft , EPanoUp , EPanoDown }
enum TStitchedImageRetrieval { EStitchedImageRetrieve , EStitchedImageDiscard }
enum TStitchingOption { EStitchingOptionNone  = 0x00, EStitchingOptionEnable  = 0x01, EStitchingOptionDisable  = 0x02 }
Private Attributes
MCameraPreImageCaptureControl * iImpl
CCamera & iOwner

Constructor & Destructor Documentation

CCameraPreImageCaptureControl(CCamera &)

CCameraPreImageCaptureControl ( CCamera & aOwner ) [private]

Parameters

CCamera & aOwner a reference to a CCamera object.

~CCameraPreImageCaptureControl()

IMPORT_C ~CCameraPreImageCaptureControl ( )

Destructor

Member Functions Documentation

ConstructL(MPreImageCaptureControlObserver &)

void ConstructL ( MPreImageCaptureControlObserver & aPreImageCaptureControlObserver ) [private]

CCameraPreImageCaptureControl second phase constructor.

Function used to initialise internal state of the object. Uses reference to the camera to retrieve PreImageCaptureControl interface pointer.

leave
KErrNoMemory Out of memory Or any other system-wide error code.

Parameters

MPreImageCaptureControlObserver & aPreImageCaptureControlObserver Reference to the pre image capture control observer.

DisableSubFramesL()

void DisableSubFramesL ( ) [private]

Disable the streamed image output and hence the use of sub-frames to collect image data. Every MCaptureImageObserver::ImageBufferReady() will retrieve one full still image.

leave
May leave with any error code.

EnableSubFramesL()

void EnableSubFramesL ( ) [private]

Enables the streamed image output and hence the use of sub-frames to collect image data. MCameraImageBuffer will be used in place of MCameraBuffer in order to provide sub-frames details. Every MCaptureImageObserver::ImageBufferReady() will retrieve only one sub-frame. Full image will be reconstructed after receiving all the sub-frames.

leave
May leave with any error code.
Note:

The corresponding image capture call is considered to be complete only when every sub-frame has been received.

EndEmbeddedStillCaptureSettingsL()

void EndEmbeddedStillCaptureSettingsL ( ) [private]

Marker method to mark end of providing selective settings for embedded still captures only (not to video capture)

Note:

Any feature setting issued after calling this method is treated as a normal setting operation.

Any getter method issued after calling this method gives feature value which would be used normally.

leave
May leave with any error code.

GetCaptureEventSupportInfoL(TUint &)

IMPORT_C void GetCaptureEventSupportInfoL ( TUint & aSupportedDriveModes ) const

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.

Note:

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.

leave
May leave with any error code.
CCamera::CCameraAdvancedSettings::TDriveMode

Parameters

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.

GetColorSpaceL(TColorSpace &)

void GetColorSpaceL ( TColorSpace & aColorSpace ) const [private]

Get the current color space being used.

leave
May leave with any error code.

Parameters

TColorSpace & aColorSpace Currently used color space.

GetDirectSavingTypeL(TDirectSavingType &)

IMPORT_C void GetDirectSavingTypeL ( TDirectSavingType & aDirectSavingType ) const

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.

leave
May leave with any error code.
Note:

Direct saving to file will continue even if the client application gets closed for any reasons.

Parameters

TDirectSavingType & aDirectSavingType Current type of the direct saving.

GetDirectSnapshotSupportInfoL(TUint &)

IMPORT_C void GetDirectSnapshotSupportInfoL ( TUint & aIsDirectSnapshotSupported ) const

Retrieves information regarding the direct snapshot feature support. Direct Snapshot, if supported, can be created out of version2 direct viewfinder object only.

leave
May leave with any error code.

Parameters

TUint & aIsDirectSnapshotSupported This is a bit field providing supported direct snapshot of type TDirectSnapshotType

GetFailedEmbeddedStillCaptureSettingsL(RArray< TUid > &)

void GetFailedEmbeddedStillCaptureSettingsL ( RArray < TUid > & aFailedEmbeddedStillCaptureSettings ) const [private]

Retrieves the list of failed embedded still capture settings.

Note:

This method may be issued after receiving the notification KUidECamEventFailedEmbeddedStillCaptureSetting.

Parameters

RArray < TUid > & aFailedEmbeddedStillCaptureSettings Array of uids which reflects the failed embedded still capture settings.

GetImageFormatsSupportedL(TUint &, const TSize &)

IMPORT_C void GetImageFormatsSupportedL ( TUint & aImageFormatsSupported,
const TSize & aSize
) const

Retrieves the supported image formats for a given resolution.

leave
May leave with any error code.

Parameters

TUint & aImageFormatsSupported A bit field which retrieves the supported image formats for a given resolution. Formats have been defined as CCamera::TFormat
const TSize & aSize The resolution (or size) for which the total number of supported image formats have to be retrieved.

GetImageMaxMemorySizeL(TUint &)

IMPORT_C void GetImageMaxMemorySizeL ( TUint & aMemorySize ) const

Get the maximum memory size in kilo bytes when encoding to the current format.

Note:

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

leave
May leave with any error code.

Parameters

TUint & aMemorySize Retrieves the maximum memory size in kilo bytes.

GetImageMaxMemorySizeSettingSupportInfoL(TBool &)

IMPORT_C void GetImageMaxMemorySizeSettingSupportInfoL ( TBool & aIsImageMaxMemorySizeSettingSupported ) const

Informs whether or not the setting of maximum memory size when encoding to the current format is supported.

leave
May leave with any error code.

Parameters

TBool & aIsImageMaxMemorySizeSettingSupported ETrue indicates that setting of maximum memory size is supported. EFalse indicates that setting of maximum memory size is not supported.

GetMaximumSpotsL(CCamera::CCameraAdvancedSettings::TFocusMode, TInt &)

void GetMaximumSpotsL ( CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode,
TInt & aMaximumSpots
) const [private]

Retrieves the maximum number of spots present from where the camera hardware collects the focussing information.

leave
May leave with any error code.
Note:

The maximum number of spots is supposed to be less than or equal to KMaxNumberOfFocusSpots.

CCameraViewFinder::GetSpotsPositionL

Parameters

CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode The focus mode for which the number of spots have to be retrieved.
TInt & aMaximumSpots Retrieves the maximum number of spots for the given focus mode.

GetPanoDirectionL(TPanoDirection &)

void GetPanoDirectionL ( TPanoDirection & aPanoDirection ) const [private]

Retrieves the direction of panning.

leave
May leave with any error code.
Note:

When the image is captured, the cropped version of the captured image covering a full rectangle is overlaid at the left hand side of the display screen (if TPanoDirection is EPanoRight) and viewfinder runs below that.

If the method leaves, the reference to CCamera::CCameraPreImageCaptureControl::TPanoDirection i.e. aPanoDirection is not guaranteed to be valid.

Parameters

TPanoDirection & aPanoDirection The currently used panning direction.

GetPanoModeSupportInfoL(TBool &, TInt &)

void GetPanoModeSupportInfoL ( TBool & aIsPanoModeSupported,
TInt & aSupportedStitchingOption
) const [private]

Retrieves the panorama mode support.

leave
May leave with any error code.

Parameters

TBool & aIsPanoModeSupported Informs whether the pano mode is supported or not.
TInt & aSupportedStitchingOption Retrieves the supported image stitching option available with the ECAM implementation for the images captured under panorama mode. It is a TInt represepesting bitfield for supported TStitchingOption If pano mode is not supported, this has to be 0.

GetPixelAspectsSupportedL(TUint &, CCamera::TFormat, const TSize &)

IMPORT_C void GetPixelAspectsSupportedL ( TUint & aPixelAspectsSupported,
CCamera::TFormat aImageFormat,
const TSize & aSize
) const

Retrieves the supported pixel aspect ratio for a given resolution in case of still image.

leave
May leave with any error code.

Parameters

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.

GetSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusMode, TUint &)

void GetSpotsCombinationL ( CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode,
TUint & aSpotsCombination
) const [private]

Retrieves the focussing spot combination which is used to provide focussing feedback in a particular focussing mode.

leave
May leave with any error code.
CCameraViewFinder::GetSpotsPositionL

Parameters

CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode The focussing mode in which the spot combination has to be used for retrieving feedback.
TUint & aSpotsCombination The retrieved spot combination. It is a bitfield marking the presence or absence of spots. This is dependent on the focusssing mode.

GetStreamedImageSupportInfoL(TBool &)

void GetStreamedImageSupportInfoL ( TBool & aIsStreamedImageSupported ) const [private]

Retrieves whether the streamed image is supported or not. Sub-frames are used if streamed image output is used.

leave
May leave with any error code.

Parameters

TBool & aIsStreamedImageSupported ETrue indicates that streamed image is supported. EFalse indicates that streamed image is not supported.

GetStreamedImageSupportedTransformationsL(RArray< TUid > &)

void GetStreamedImageSupportedTransformationsL ( RArray < TUid > & aStreamedImageSupportedTransformations ) const [private]

Retrieves the list of transformations (image processing) available in case streamed image is used.

leave
May leave with any error code.

Parameters

RArray < TUid > & aStreamedImageSupportedTransformations Retrieves an array of uids which represents those image processing attributes which are supported for streamed image.

GetSubFramesStateL(TBool &)

void GetSubFramesStateL ( TBool & aIsSubFrameEnabled ) const [private]

Retrieves the current state about streamed image option or sub-frame usage.

leave
May leave with any error code.

Parameters

TBool & aIsSubFrameEnabled

GetSupportedColorSpaceL(TUint &)

void GetSupportedColorSpaceL ( TUint & aSupportedColorSpace ) const [private]

Retrieves the supported color space.

leave
May leave with any error code.

Parameters

TUint & aSupportedColorSpace A bitfield representing the supported TColorSpace

GetSupportedDirectSavingTypeL(TDirectSavingType &)

IMPORT_C void GetSupportedDirectSavingTypeL ( TDirectSavingType & aSupportedDirectSavingType ) const

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.

leave
May leave with any error code.

Parameters

TDirectSavingType & aSupportedDirectSavingType Retrieves the enum specifying supported TDirectSavingType. If EDirectSavingNotUsed, direct saving not supported. Images will be received in buffer MCameraImageBuffer.

GetSupportedEmbeddedStillCaptureSettingsL(RArray< TUid > &)

IMPORT_C void GetSupportedEmbeddedStillCaptureSettingsL ( RArray < TUid > & aSupportedEmbeddedStillCaptureSettings ) const

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.

leave
May leave with any error code.

Parameters

RArray < TUid > & aSupportedEmbeddedStillCaptureSettings Array of TUid which retrieves the supported embedded still captures. Empty list indicated that no settings are supported for embedded still captures.

GetSupportedProcessingOptionsL(TUint &)

IMPORT_C void GetSupportedProcessingOptionsL ( TUint & aECamProcessingOptionsSupported ) const

Retrieves the supported processing options.

leave
May leave with any error code.

Parameters

TUint & aECamProcessingOptionsSupported

GetSupportedSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusMode, RArray< TUint > &)

void GetSupportedSpotsCombinationL ( CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode,
RArray < TUint > & aPossibleSpotCombinations
) const [private]

Retrieves the supported spot combinations for the given focus mode.

leave
May leave with any error code.
Note:

Since maximum number of spots can go up to KMaxNumberOfFocusSpots, it can be easily known which spots are present in a particular array entry (every array entry is a bit field and every bit represents presence or absence of a particular spot). For example,if KMaxNumberOfFocusSpots is 32 and if a particular array entry is 0x07001000. This means that spot number 13,25,26 and 27 are being represented.

CCameraViewFinder::GetSpotsPositionL

Parameters

CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode The focus mode for which the supported spot combinations have to be retrieved.
RArray < TUint > & aPossibleSpotCombinations Each member of this array is of type TUint and is a bit field where every bit represents presence or absence of a particular spot.

NewL(CCamera &, MPreImageCaptureControlObserver &)

IMPORT_C CCameraPreImageCaptureControl * NewL ( CCamera & aCamera,
MPreImageCaptureControlObserver & aPreImageCaptureControlObserver
) [static]

Factory function for creating the CCameraPreImageCaptureControl object.

leave
KErrNoMemory Out of memory Or any other system-wide error code.
leave
KErrExtensionNotSupported When NewL/NewDuplicateL used instead of New2L/NewDuplicate2L.

Parameters

CCamera & aCamera a reference to a CCamera object providing the settings.
MPreImageCaptureControlObserver & aPreImageCaptureControlObserver Reference to the pre image capture control observer.

PrepareImageCapture(const TPrepareImageParameters &, MCaptureImageObserver &)

IMPORT_C void PrepareImageCapture ( const TPrepareImageParameters & aPrepareImageParameters,
MCaptureImageObserver & aCaptureImageObserver
)

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.

Note:

Next PrepareImageCapture can be called only after receiving the notification KUidECamEventReadyForNextPrepare.

If drive mode is EDriveModeTimeNudgeCapture, when the client initiates image capture the total amount of images requested by the client (specified in TDriveModeDependentAttributes ) will be returned to the client (via MCaptureImageObserver::ImageBufferReady() ) or saved to file. No other instance of CCameraImageCapture can be created whilst using this drive mode until the first instance is destroyed.

CCamera::PrepareImageCaptureL(TFormat aImageFormat,TInt aSizeIndex)

Parameters

const 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.

SetColorSpace(TColorSpace)

void SetColorSpace ( TColorSpace aColorSpace ) [private]

Set a particular color space.

Note:

Event KUidECamEventImageCaptureControlColorSpace is used to notify clients about setting the color space.

Parameters

TColorSpace aColorSpace The color space value to be set.

SetDirectSavingTypeL(TDirectSavingType)

IMPORT_C void SetDirectSavingTypeL ( TDirectSavingType aDirectSavingType )

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.

leave
May leave with any error code.
Note:

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.

Parameters

TDirectSavingType aDirectSavingType The desired type of the direct saving.

SetLowerResolutionSequentialImageFilenameL(const TDesC8 &, TInt)

IMPORT_C void SetLowerResolutionSequentialImageFilenameL ( const TDesC8 & aLowerResolutionFilename,
TInt aStartingSequenceNumber
)

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.

leave
May leave with any error code.
Note:

It is upto the implementation how many digits it uses for sequence number. Accordingly, padding will be done with zeroes.

Parameters

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.

SetPanoDirection(TPanoDirection)

void SetPanoDirection ( TPanoDirection aPanoDirection ) [private]

Sets the direction of panning

Note:

Event KUidECamEventImageCaptureControlPanoDirection is used to notify the requesting client about setting of the panning direction.

Parameters

TPanoDirection aPanoDirection The desired panning direction.

SetSequentialImageFilenameL(const TDesC8 &, TInt)

IMPORT_C void SetSequentialImageFilenameL ( const TDesC8 & aFilename,
TInt aStartingSequenceNumber
)

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.

leave
May leave with any error code.
Note:

It is upto the implementation how many digits it uses for sequence number. Accordingly, padding will be done with zeroes.

Parameters

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.

SetSpotsCombination(CCamera::CCameraAdvancedSettings::TFocusMode, TUint)

void SetSpotsCombination ( CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode,
TUint aSpotsCombination
) [private]

Sets a particular spot combination which can be used to provide focussing feedback in a particular focussing mode.

Note:

Event KUidECamEvent2ImageCaptureControlSpotCombination is used to notify the requesting client about setting of a particular spot combination.

Event KUidECamEvent2ImageCaptureControlFocussingInformation is used to provide the focussing feedback, whenever applicable.

CCameraViewFinder::GetSpotsPositionL

Parameters

CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode The focussing mode in which the spot combination has to be used for retrieving feedback.
TUint aSpotsCombination The spot combination to be set. It is a bitfield marking the presence or absence of spots.

StartEmbeddedStillCaptureSettingsL()

void StartEmbeddedStillCaptureSettingsL ( ) [private]

Synchronous marker method in order to provide selective settings for embedded still captures only (not to video capture)

Note:

Any feature setting issued after calling this method gets saved on the implementation side and the actual setting performed before still images (embedded still captures) are taken.

Any getter method issued after calling this method gives feature value which would be used for still images (embedded still captures). For example, if WhiteBalance set for 'Auto' for EmbeddedStillCapture but 'Cloudy' otherwise, then under the marker method, white balance will show 'Cloudy'.

Event KUidECamEventFailedEmbeddedStillCaptureSetting notified to the client if in case any embedded still capture setting gets failed during the time they are actually set. After this notification, client can issue GetFailedEmbeddedStillCaptureSettingsL to retrieve the list of failed settings.

leave
May leave with any error code.

StartPanoMode(TStitchingOption)

void StartPanoMode ( TStitchingOption aStitchingOption ) [private]

Starts panning the viewfinder. Any image captured under pano mode gets overlaid on top of viewfinder and in a particular direction.

This method starts panorama mode for every viewfinder screen.

Enum value EStitchingOptionDisable instructs implemenation to provide the images unstitched.

Enum value EStitchingOptionNone should be passed only when stitching option is not supported by the implementation.

Note:

Event KUidECamEventImageCaptureControlStartPanoMode is used to notify clients about the start of panorama mode.

Calling the StartPanoMode twice and without stopping it will result in an error.

Parameters

TStitchingOption aStitchingOption Enum value EStitchingOptionEnable instructs implementation to perform stitching of images captured under pano mode. So only one completion feedback will be given to the client regarding image being ready.(either through MCaptureImageObserver::ImageBufferReady() or through MCaptureImageObserver::ImageDirectSavingCompleted())

StartPanoMode(TStitchingOption, const RArray< TInt > &)

void StartPanoMode ( TStitchingOption aStitchingOption,
const RArray < TInt > & aVFHandle
) [private]

Starts panning the viewfinder. Any image captured under pano mode gets overlaid on top of viewfinder and in a particular direction.

This method starts panorama mode only on few specified viewfinder screens.

Enum value EStitchingOptionDisable instructs implemenation to provide the images unstitched.

Enum value EStitchingOptionNone should be passed only when stitching option is not supported by the implementation.

Note:

Event KUidECamEventImageCaptureControlStartPanoMode is used to notify clients about the start of panorama mode.

Calling the StartPanoMode twice and without stopping it will result in an error.

Parameters

TStitchingOption aStitchingOption Enum value EStitchingOptionEnable instructs implementation to perform stitching of images captured under pano mode. So only one completion feedback will be given to the client regarding image being ready.(either through MCaptureImageObserver::ImageBufferReady() or through MCaptureImageObserver::ImageDirectSavingCompleted())
const RArray < TInt > & aVFHandle

StopPanoModeL(TStitchedImageRetrieval)

void StopPanoModeL ( TStitchedImageRetrieval aStitchedImageRetrieval ) [private]

Stop the panorama mode.

Enum value EStitchedImageDiscard indicates that images should not be stitched (discarded) if initially image stitching was enabled. No image ready notification returned to the client in this case. This may happen when client is not happy with the panned images captured so far.

leave
May leave with any error code.
Note:

If image stitching option was not enabled while starting the pano mode, the 'aStitchedImageRetrieval' parameter is ignored by the implementation.

Parameters

TStitchedImageRetrieval aStitchedImageRetrieval Enum value EStitchedImageRetrieve indicates that images has to be stitched if initially image stitching was enabled.

Member Enumerations Documentation

Enum TColorSpace

Different types of color space. Camera will print or capture images in given color space. The enumeration list may be extended in future.

Enumerators

EColorSpaceUnknown = 0x0000

not known

EColorSpacesRGB = 0x0001

sRGB color space

EColorSpaceAdobeRGB = 0x0002

adobeRGB color space

EColorSpaceAdobeWideGamutRGB = 0x0004

adobeWideGamutRGB color space

EColorSpaceCMYK = 0x0008

CMY(K) color space

EColorSpaceYIQ = 0x0010

YIQ color space

EColorSpaceYUV = 0x0020

YUV color space

EColorSpaceYDbDr = 0x0040

YDbDr color space

EColorSpaceYCbCr = 0x0080

YCbCr color space

EColorSpaceHSB = 0x0100

HSB color space

EColorSpaceHSL = 0x0200

HSL color space

Enum TDirectSavingType

Specifies the type of direct saving. The enumeration list may be extended in future.

Enumerators

EDirectSavingNotUsed = 0x00

Image saved in buffers. Direct saving to file not being used. Callback used is MCaptureImageObserver::ImageBufferReady .

EDirectSavingHighResolutionFileOnly = 0x01

Image saved to file as per the format specified. Image saved after any processing options have completed. Callback used is MCaptureImageObserver::ImageDirectSavingCompleted() .

EDirectSavingWithLowerResolutionFile = 0x02

Image saved to file as per the format specified. Also, a lower resolution image gets saved in a separately specified file. This helps in retrieving the lower resolution image sooner than the higher resolution image gets saved. Callback used for lower resolution image saving is MCaptureImageObserver :: CutDownImageDirectSavingCompleted().

Enum TDirectSnapshotType

Specifies the various type of direct snapshot support. The enumeration list may be extended in future.

Enumerators

EDirectSnapshotNotSupported = 0x00

Direct snapshot not supported.

EDirectSnapshotSupported = 0x01

Direct Snapshot supported. It will be displayed on the same direct viewfinder screen, out of which it has been created

Enum TEcamProcessingOptions

Specifies the available processing options. The enumeration list may be extended in future.

Enumerators

EEcamProcessingNone = 0x00000000

Processing options are not supported.

EEcamNormalProcessing = 0x00000001

Enable normal processing when image capture is initiated.

EEcamBackgroundProcessing = 0x00000002

Enable background processing when image capture is initiated.

Enum TPanoDirection

Specifies direction of panning. The enumeration list may be extended in future.

Enumerators

EPanoRight

Viewfinder displays towards the right of already captured images

EPanoLeft

Viewfinder displays towards the left of already captured images

EPanoUp

Viewfinder displays towards the top of already captured images

EPanoDown

Viewfinder displays towards the bottom of already captured images

Enum TStitchedImageRetrieval

Specifies whether the panned images captured under 'stitching enabled option' would be discarded by the implementation. The enumeration list may be extended in future.

Enumerators

EStitchedImageRetrieve

allow ecam implementation to provide the stitched images.

EStitchedImageDiscard

instruct ECAM Implementation to discard the stitched images.

Enum TStitchingOption

Specifies the stitching options when panning is started. The enumeration list may be extended in future.

Enumerators

EStitchingOptionNone = 0x00

Stitching of panned images is not supported by the ECAM Implementation.

EStitchingOptionEnable = 0x01

Stitching of panned images can be done by the ECAM Implementation.

EStitchingOptionDisable = 0x02

Stitching of panned images can be disabled/discarded by the ECAM Implementation.

Member Data Documentation

MCameraPreImageCaptureControl * iImpl

MCameraPreImageCaptureControl * iImpl [private]

CCamera & iOwner

CCamera & iOwner [private]