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

IMPORT_C ~CCameraContinuousZoom ( )

Destructor

Member Functions Documentation

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

void ConstructL ( MContinuousZoomObserver & aObserver,
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType,
const MImplementationFactory & aImplFactory
) [private]

CCameraContinuousZoom second phase constructor.

Function used to initialise internal state of the object.

leave
KErrNoMemory Out of memory.

Parameters

MContinuousZoomObserver & aObserver Continuous zoom observer which is passed to the implementation so it can provide callbacks to the client.
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType The continuous zoom type that the implementation will be initialised with.
const MImplementationFactory & aImplFactory A constant reference to the MImplementationFactory derived object.

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

CCameraContinuousZoom * CreateL ( MContinuousZoomObserver & aObserver,
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType,
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 & aObserver Continuous zoom observer which is passed to the implementation so it can provide callbacks to the client.
CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType The continuous zoom type that the implementation will be initialised with.
const MImplementationFactory & aImplFactory A constant reference to the MImplementationFactory derived object.

GetContinuousZoomId(TInt &)

IMPORT_C void GetContinuousZoomId ( 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 & aZoomId The unique id of this Continuous Zoom object.

GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo &)

IMPORT_C void GetContinuousZoomSupportInfoL ( 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 & aContinuousZoomInfo The information of supported continuous zoom functionality.

StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters)

IMPORT_C void StartContinuousZoomL ( CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParameters )

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 aContinuousZoomParameters The desired parameters to be used for the continuous zoom operation.

StopContinuousZoom()

IMPORT_C void StopContinuousZoom ( )

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]