CCamera::CCameraContinuousZoom Class Reference

class CCamera::CCameraContinuousZoom : public CBase

This API is used to provide advanced continuous zoom support to the user.

This class is not directly created by the client but instead created via CCameraAdvancedSettings::CreateContinuousZoomL(). Ownership of the object is passed back to the client.

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.

Inherits from

  • CCamera::CCameraContinuousZoom

Constructor & Destructor Documentation

CCameraContinuousZoom()

CCameraContinuousZoom()[private]

CCameraContinuousZoom Constructor.

~CCameraContinuousZoom()

IMPORT_C~CCameraContinuousZoom()

Destructor

Member Functions Documentation

ConstructL(MContinuousZoomObserver &, CCamera::CCameraAdvancedSettings::TContinuousZoomType, const MImplementationFactory &)

voidConstructL(MContinuousZoomObserver &aObserver,
CCamera::CCameraAdvancedSettings::TContinuousZoomTypeaContinuousZoomType,
const MImplementationFactory &aImplFactory
)[private]

CCameraContinuousZoom second phase constructor.

Function used to initialise internal state of the object.

leave
KErrNoMemory Out of memory.

Parameters

MContinuousZoomObserver & aObserverContinuous zoom observer which is passed to the implementation so it can provide callbacks to the client.
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomTypeThe continuous zoom type that the implementation will be initialised with.
const MImplementationFactory & aImplFactoryA constant reference to the MImplementationFactory derived object.

CreateL(MContinuousZoomObserver &, CCamera::CCameraAdvancedSettings::TContinuousZoomType, const MImplementationFactory &)

CCameraContinuousZoom *CreateL(MContinuousZoomObserver &aObserver,
CCamera::CCameraAdvancedSettings::TContinuousZoomTypeaContinuousZoomType,
const MImplementationFactory &aImplFactory
)[private, static]

Factory function that creates a new continuous zoom object.

leave
KErrNoMemory if out of memory; also any system wide error.

Parameters

MContinuousZoomObserver & aObserverContinuous zoom observer which is passed to the implementation so it can provide callbacks to the client.
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomTypeThe continuous zoom type that the implementation will be initialised with.
const MImplementationFactory & aImplFactoryA constant reference to the MImplementationFactory derived object.

GetContinuousZoomId(TInt &)

IMPORT_C voidGetContinuousZoomId(TInt &aZoomId)const

Retrieves the unique id of the continuous zoom object. This is used to identify the continuous zoom handle returned to clients via the MContinuousZoomObserver callback.

Parameters

TInt & aZoomIdThe unique id of this Continuous Zoom object.

GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo &)

IMPORT_C voidGetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo &aContinuousZoomInfo)const

Retrieves information about the supported settings related to continuous zoom support.

leave
May leave with any error code.

Parameters

CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo & aContinuousZoomInfoThe information of supported continuous zoom functionality.

StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters)

IMPORT_C voidStartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParametersaContinuousZoomParameters)

Starts the continuous zoom operation. Clients wil receive MContinuousZoomObserver::ContinuousZoomProgress() callback for intermediate zoom factors achieved. Depending on the implementation, the client may or may not receive this callback for every intermediate zoom factor. Upon completion, the client will receive MContinuousZoomObserver::ContinuousZoomComplete() callback.

Note:

If the implementation does not support re-configuring of zoom parameters whilst an existing continuous zoom operation is active then StartContinuousZoomL() will leave with KErrInUse.

If client has selected EDirectionTele zoom direction and the current zoom factor is greater than the target zoom factor, StartContinuousZoomL() will leave with KErrArgument. Similarly, StartContinuousZoomL() will also leave with KErrArgument if client has selected EDirectionWide zoom direction and current zoom factor is less than target zoom factor.

leave
May leave with any error code.

Parameters

CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParametersThe desired parameters to be used for the continuous zoom operation.

StopContinuousZoom()

IMPORT_C voidStopContinuousZoom()

Stop any exisiting continuous zoom operation. Since this method is synchronous, no callback shall be issued for the concerned continuous zoom operation.

Member Data Documentation

MCameraContinuousZoom * iImpl

MCameraContinuousZoom *iImpl[private]