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 voidGetCaptureEventSupportInfoL(TUint &)
IMPORT_C voidGetDirectSavingTypeL(TDirectSavingType &)
IMPORT_C voidGetDirectSnapshotSupportInfoL(TUint &)
IMPORT_C voidGetImageFormatsSupportedL(TUint &, const TSize &)
IMPORT_C voidGetImageMaxMemorySizeL(TUint &)
IMPORT_C voidGetImageMaxMemorySizeSettingSupportInfoL(TBool &)
IMPORT_C voidGetPixelAspectsSupportedL(TUint &, CCamera::TFormat, const TSize &)
IMPORT_C voidGetSupportedDirectSavingTypeL(TDirectSavingType &)
IMPORT_C voidGetSupportedEmbeddedStillCaptureSettingsL(RArray< TUid > &)
IMPORT_C voidGetSupportedProcessingOptionsL(TUint &)
IMPORT_C CCameraPreImageCaptureControl *NewL(CCamera &, MPreImageCaptureControlObserver &)
IMPORT_C voidPrepareImageCapture(const TPrepareImageParameters &, MCaptureImageObserver &)
IMPORT_C voidSetDirectSavingTypeL(TDirectSavingType)
IMPORT_C voidSetLowerResolutionSequentialImageFilenameL(const TDesC8 &, TInt)
IMPORT_C voidSetSequentialImageFilenameL(const TDesC8 &, TInt)
Private Member Functions
CCameraPreImageCaptureControl(CCamera &)
voidConstructL(MPreImageCaptureControlObserver &)
voidDisableSubFramesL()
voidEnableSubFramesL()
voidEndEmbeddedStillCaptureSettingsL()
voidGetColorSpaceL(TColorSpace &)
voidGetFailedEmbeddedStillCaptureSettingsL(RArray< TUid > &)
voidGetMaximumSpotsL(CCamera::CCameraAdvancedSettings::TFocusMode, TInt &)
voidGetPanoDirectionL(TPanoDirection &)
voidGetPanoModeSupportInfoL(TBool &, TInt &)
voidGetSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusMode, TUint &)
voidGetStreamedImageSupportInfoL(TBool &)
voidGetStreamedImageSupportedTransformationsL(RArray< TUid > &)
voidGetSubFramesStateL(TBool &)
voidGetSupportedColorSpaceL(TUint &)
voidGetSupportedSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusMode, RArray< TUint > &)
voidSetColorSpace(TColorSpace)
voidSetPanoDirection(TPanoDirection)
voidSetSpotsCombination(CCamera::CCameraAdvancedSettings::TFocusMode, TUint)
voidStartEmbeddedStillCaptureSettingsL()
voidStartPanoMode(TStitchingOption)
voidStartPanoMode(TStitchingOption, const RArray< TInt > &)
voidStopPanoModeL(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
enumTDirectSavingType { EDirectSavingNotUsed = 0x00, EDirectSavingHighResolutionFileOnly = 0x01, EDirectSavingWithLowerResolutionFile = 0x02 }
enumTDirectSnapshotType { EDirectSnapshotNotSupported = 0x00, EDirectSnapshotSupported = 0x01 }
enumTEcamProcessingOptions { EEcamProcessingNone = 0x00000000, EEcamNormalProcessing = 0x00000001, EEcamBackgroundProcessing = 0x00000002 }
Private Member Enumerations
enumTColorSpace {
EColorSpaceUnknown = 0x0000, EColorSpacesRGB = 0x0001, EColorSpaceAdobeRGB = 0x0002, EColorSpaceAdobeWideGamutRGB = 0x0004, EColorSpaceCMYK = 0x0008, EColorSpaceYIQ = 0x0010, EColorSpaceYUV = 0x0020, EColorSpaceYDbDr = 0x0040, EColorSpaceYCbCr = 0x0080, EColorSpaceHSB = 0x0100, EColorSpaceHSL = 0x0200
}
enumTPanoDirection { EPanoRight, EPanoLeft, EPanoUp, EPanoDown }
enumTStitchedImageRetrieval { EStitchedImageRetrieve, EStitchedImageDiscard }
enumTStitchingOption { EStitchingOptionNone = 0x00, EStitchingOptionEnable = 0x01, EStitchingOptionDisable = 0x02 }
Private Attributes
MCameraPreImageCaptureControl *iImpl
CCamera &iOwner

Constructor & Destructor Documentation

CCameraPreImageCaptureControl(CCamera &)

CCameraPreImageCaptureControl(CCamera &aOwner)[private]

Parameters

CCamera & aOwnera reference to a CCamera object.

~CCameraPreImageCaptureControl()

IMPORT_C~CCameraPreImageCaptureControl()

Destructor

Member Functions Documentation

ConstructL(MPreImageCaptureControlObserver &)

voidConstructL(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 & aPreImageCaptureControlObserverReference to the pre image capture control observer.

DisableSubFramesL()

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

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

voidEndEmbeddedStillCaptureSettingsL()[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 voidGetCaptureEventSupportInfoL(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 & aSupportedDriveModesA 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 &)

voidGetColorSpaceL(TColorSpace &aColorSpace)const [private]

Get the current color space being used.

leave
May leave with any error code.

Parameters

TColorSpace & aColorSpaceCurrently used color space.

GetDirectSavingTypeL(TDirectSavingType &)

IMPORT_C voidGetDirectSavingTypeL(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 & aDirectSavingTypeCurrent type of the direct saving.

GetDirectSnapshotSupportInfoL(TUint &)

IMPORT_C voidGetDirectSnapshotSupportInfoL(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 & aIsDirectSnapshotSupportedThis is a bit field providing supported direct snapshot of type TDirectSnapshotType

GetFailedEmbeddedStillCaptureSettingsL(RArray< TUid > &)

voidGetFailedEmbeddedStillCaptureSettingsL(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 > & aFailedEmbeddedStillCaptureSettingsArray of uids which reflects the failed embedded still capture settings.

GetImageFormatsSupportedL(TUint &, const TSize &)

IMPORT_C voidGetImageFormatsSupportedL(TUint &aImageFormatsSupported,
const TSize &aSize
)const

Retrieves the supported image formats for a given resolution.

leave
May leave with any error code.

Parameters

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

GetImageMaxMemorySizeL(TUint &)

IMPORT_C voidGetImageMaxMemorySizeL(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 & aMemorySizeRetrieves the maximum memory size in kilo bytes.

GetImageMaxMemorySizeSettingSupportInfoL(TBool &)

IMPORT_C voidGetImageMaxMemorySizeSettingSupportInfoL(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 & aIsImageMaxMemorySizeSettingSupportedETrue 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 &)

voidGetMaximumSpotsL(CCamera::CCameraAdvancedSettings::TFocusModeaFocusMode,
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 aFocusModeThe focus mode for which the number of spots have to be retrieved.
TInt & aMaximumSpotsRetrieves the maximum number of spots for the given focus mode.

GetPanoDirectionL(TPanoDirection &)

voidGetPanoDirectionL(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 & aPanoDirectionThe currently used panning direction.

GetPanoModeSupportInfoL(TBool &, TInt &)

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

Retrieves the panorama mode support.

leave
May leave with any error code.

Parameters

TBool & aIsPanoModeSupportedInforms whether the pano mode is supported or not.
TInt & aSupportedStitchingOptionRetrieves 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 voidGetPixelAspectsSupportedL(TUint &aPixelAspectsSupported,
CCamera::TFormataImageFormat,
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 & aPixelAspectsSupportedA 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 aImageFormatThe image format for which the supported pixel aspect ratio have to be retrieved.
const TSize & aSizeThe resolution (or size) for which the supported pixel aspect ratio have to be retrieved.

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

voidGetSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusModeaFocusMode,
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 aFocusModeThe focussing mode in which the spot combination has to be used for retrieving feedback.
TUint & aSpotsCombinationThe retrieved spot combination. It is a bitfield marking the presence or absence of spots. This is dependent on the focusssing mode.

GetStreamedImageSupportInfoL(TBool &)

voidGetStreamedImageSupportInfoL(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 & aIsStreamedImageSupportedETrue indicates that streamed image is supported. EFalse indicates that streamed image is not supported.

GetStreamedImageSupportedTransformationsL(RArray< TUid > &)

voidGetStreamedImageSupportedTransformationsL(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 > & aStreamedImageSupportedTransformationsRetrieves an array of uids which represents those image processing attributes which are supported for streamed image.

GetSubFramesStateL(TBool &)

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

voidGetSupportedColorSpaceL(TUint &aSupportedColorSpace)const [private]

Retrieves the supported color space.

leave
May leave with any error code.

Parameters

TUint & aSupportedColorSpaceA bitfield representing the supported TColorSpace

GetSupportedDirectSavingTypeL(TDirectSavingType &)

IMPORT_C voidGetSupportedDirectSavingTypeL(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 & aSupportedDirectSavingTypeRetrieves the enum specifying supported TDirectSavingType. If EDirectSavingNotUsed, direct saving not supported. Images will be received in buffer MCameraImageBuffer.

GetSupportedEmbeddedStillCaptureSettingsL(RArray< TUid > &)

IMPORT_C voidGetSupportedEmbeddedStillCaptureSettingsL(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 > & aSupportedEmbeddedStillCaptureSettingsArray 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 voidGetSupportedProcessingOptionsL(TUint &aECamProcessingOptionsSupported)const

Retrieves the supported processing options.

leave
May leave with any error code.

Parameters

TUint & aECamProcessingOptionsSupported

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

voidGetSupportedSpotsCombinationL(CCamera::CCameraAdvancedSettings::TFocusModeaFocusMode,
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 aFocusModeThe focus mode for which the supported spot combinations have to be retrieved.
RArray< TUint > & aPossibleSpotCombinationsEach 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 & aCameraa reference to a CCamera object providing the settings.
MPreImageCaptureControlObserver & aPreImageCaptureControlObserverReference to the pre image capture control observer.

PrepareImageCapture(const TPrepareImageParameters &, MCaptureImageObserver &)

IMPORT_C voidPrepareImageCapture(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 & aPrepareImageParametersThe desired image parameters to be used for capturing still images using the CCameraImageCapture instance which would be passed by the implementation.
MCaptureImageObserver & aCaptureImageObserverThe Capture image observer which is needed by the implementation in order to pass it to the CCameraImageCapture while creating it.

SetColorSpace(TColorSpace)

voidSetColorSpace(TColorSpaceaColorSpace)[private]

Set a particular color space.

Note:

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

Parameters

TColorSpace aColorSpaceThe color space value to be set.

SetDirectSavingTypeL(TDirectSavingType)

IMPORT_C voidSetDirectSavingTypeL(TDirectSavingTypeaDirectSavingType)

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 aDirectSavingTypeThe desired type of the direct saving.

SetLowerResolutionSequentialImageFilenameL(const TDesC8 &, TInt)

IMPORT_C voidSetLowerResolutionSequentialImageFilenameL(const TDesC8 &aLowerResolutionFilename,
TIntaStartingSequenceNumber
)

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 & aLowerResolutionFilenameA 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 aStartingSequenceNumberThe 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)

voidSetPanoDirection(TPanoDirectionaPanoDirection)[private]

Sets the direction of panning

Note:

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

Parameters

TPanoDirection aPanoDirectionThe desired panning direction.

SetSequentialImageFilenameL(const TDesC8 &, TInt)

IMPORT_C voidSetSequentialImageFilenameL(const TDesC8 &aFilename,
TIntaStartingSequenceNumber
)

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 & aFilenameA const TDesC8&: Base name for files which ECam implementation needs to create in order to collect every sequential image.
TInt aStartingSequenceNumberThe 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)

voidSetSpotsCombination(CCamera::CCameraAdvancedSettings::TFocusModeaFocusMode,
TUintaSpotsCombination
)[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 aFocusModeThe focussing mode in which the spot combination has to be used for retrieving feedback.
TUint aSpotsCombinationThe spot combination to be set. It is a bitfield marking the presence or absence of spots.

StartEmbeddedStillCaptureSettingsL()

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

voidStartPanoMode(TStitchingOptionaStitchingOption)[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 aStitchingOptionEnum 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 > &)

voidStartPanoMode(TStitchingOptionaStitchingOption,
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 aStitchingOptionEnum 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)

voidStopPanoModeL(TStitchedImageRetrievalaStitchedImageRetrieval)[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 aStitchedImageRetrievalEnum 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]