CCamera::CCameraClientViewFinder Class Reference

class CCamera::CCameraClientViewFinder : public CCameraViewFinder

CCamera client view finder class is used to provide support for multiple client View Finder. A new instance of this class will be created for every new client viewfinder.

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.

Clients must implement an MClientViewFinderObserver in order to use this CCameraClientViewFinder API. MCameraObserver2::ViewFinderReady will not be used with this class.

Inherits from

Public Member Functions
~CCameraClientViewFinder ()
IMPORT_C CCamera::CCameraV2Histogram * CreateHistogramHandleL ()
IMPORT_C void GetClientViewFinderPropertiesL ( TInt &, CCamera::TFormat &, TSize &, TRect &)
IMPORT_C void GetClientViewFinderStateL ( TBool &)
IMPORT_C CCamera::CCameraImageProcessing * GetTransformationHandleL ()
IMPORT_C void GetViewFinderBufferL ( MCameraBuffer2 &)
IMPORT_C CCameraClientViewFinder * NewL ( CCamera &, MClientViewFinderObserver &)
IMPORT_C void StartClientViewFinderL ( TInt , CCamera::TFormat , TSize &)
IMPORT_C void StartClientViewFinderL ( TInt , CCamera::TFormat , TSize &, TRect &)
IMPORT_C void StopClientViewFinder ()
Private Member Functions
CCameraClientViewFinder ( CCamera &)
void ConstructL ( MClientViewFinderObserver &)
void SetImplBaseHandle ()
void SetImplHandle ()
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()
CCameraViewFinder::CCameraViewFinder(CCamera &)
CCameraViewFinder::GetImageEnhancementL(TImageEnhancement &)const
CCameraViewFinder::GetSpotsPositionL(TUint,RArray< TRect > &)const
CCameraViewFinder::GetSupportedImageEnhancementL(TUint &)const
CCameraViewFinder::GetSupportedVFMagnificationL(RArray< TUint > &)const
CCameraViewFinder::GetViewFinderFadingCapabilitiesL(TViewFinderFadingCapabilities &)const
CCameraViewFinder::GetViewFinderFadingEffectL(TViewFinderFadingEffect &)const
CCameraViewFinder::GetViewFinderHandleL(TInt &)const
CCameraViewFinder::GetViewfinderMagnificationL(TUint &)const
CCameraViewFinder::SetImageEnhancementL(TImageEnhancement)
CCameraViewFinder::SetViewFinderFadingEffectL(const TViewFinderFadingEffect &)
CCameraViewFinder::SetViewfinderMagnificationL(TUint)
CCameraViewFinder::~CCameraViewFinder()
Inherited Enumerations
CCameraViewFinder:TImageEnhancement
CCameraViewFinder:TViewFinderFadingControl
CCameraViewFinder:TViewFinderFadingDirection
CCameraViewFinder:TViewFinderFadingType
Private Attributes
MCameraClientViewFinder * iImpl
Inherited Attributes
CCameraViewFinder::iImplBase
CCameraViewFinder::iOwner

Constructor & Destructor Documentation

CCameraClientViewFinder(CCamera &)

CCameraClientViewFinder ( CCamera & aOwner ) [private]

Parameters

CCamera & aOwner a reference to a CCamera object providing the settings.

~CCameraClientViewFinder()

IMPORT_C ~CCameraClientViewFinder ( )
Destructor
Note:

The child objects created out of this client viewfinder class object shall be delete beforehand. Various child objects are snapshot and histograms.

Member Functions Documentation

ConstructL(MClientViewFinderObserver &)

void ConstructL ( MClientViewFinderObserver & aClientViewFinderObserver ) [private]

Parameters

MClientViewFinderObserver & aClientViewFinderObserver

CreateHistogramHandleL()

IMPORT_C CCamera::CCameraV2Histogram * CreateHistogramHandleL ( ) const

Retrieve pointer to histogram API in order to use it specifically for a particular viewfinder.

leave
May leave with any error code.
Note:

Different types of histogram may be used for a specific viewfinder. Every time this method will be called on the CCameraClientViewFinder class object, a new type of histogram will be created.

GetClientViewFinderPropertiesL(TInt &, CCamera::TFormat &, TSize &, TRect &)

IMPORT_C void GetClientViewFinderPropertiesL ( TInt & aScreenNumber,
CCamera::TFormat & aImageFormat,
TSize & aSize,
TRect & aClipRect
) const

Retrieves the parameters associated with the client viewfinder.

leave
May leave with any error code.

Parameters

TInt & aScreenNumber Retrieves the screen number on which the client viewfinder is supposed to run.
CCamera::TFormat & aImageFormat Retrieves the image format of the client viewfinder.
TSize & aSize Retrieves the size used for the client viewfinder.
TRect & aClipRect Retrieves the clip rectangle. If not specified, the clipping is retrieved as a TRect having origin as top left corner and the size as 'aSize'.

GetClientViewFinderStateL(TBool &)

IMPORT_C void GetClientViewFinderStateL ( TBool & aIsActive ) const

Retrieves the state of the client viewfinder.

leave
May leave with any error code.

Parameters

TBool & aIsActive ETrue indicates that client viewfinder is active. EFalse indicates that client viewfinder is not active.

GetTransformationHandleL()

IMPORT_C CCamera::CCameraImageProcessing * GetTransformationHandleL ( ) const

Retrieve pointer to image processing API in order to use it specifically for a particular viewfinder.

leave
May leave with any error code.

GetViewFinderBufferL(MCameraBuffer2 &)

IMPORT_C void GetViewFinderBufferL ( MCameraBuffer2 & aClientViewFinderBuffer ) const

Retrieves the client viewfinder buffer. Client calls this method after being notified about availability of viewfinder data via MClientViewFinderObserver::ViewFinderBufferReady() .

leave
May leave with any error code.

Parameters

MCameraBuffer2 & aClientViewFinderBuffer Reference to MCameraBuffer2 which retrieves the client viewfinder data.

NewL(CCamera &, MClientViewFinderObserver &)

IMPORT_C CCameraClientViewFinder * NewL ( CCamera & aOwner,
MClientViewFinderObserver & aClientViewFinderObserver
) [static]

Factory function for creating the CCameraClientViewFinder 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 & aOwner A reference to a CCamera object providing the settings.
MClientViewFinderObserver & aClientViewFinderObserver Reference to the client view finder observer.

SetImplBaseHandle()

void SetImplBaseHandle ( ) [private]

Gets the handle to the implementer's MCameraViewFinder derived class for client viewfinder.

SetImplHandle()

void SetImplHandle ( ) [private]

Gets the handle to the implementer's MCameraClientViewFinder derived class.

StartClientViewFinderL(TInt, CCamera::TFormat, TSize &)

IMPORT_C void StartClientViewFinderL ( TInt aScreenNumber,
CCamera::TFormat aImageFormat,
TSize & aSize
)

Creates a new viewfinder and starts transfer of view finder data.

Availability of viewfinder data is notified by MClientViewFinderObserver::ViewFinderBufferReady() .

leave
May leave with any error code.
Note:

KECamDefaultViewFinderHandle is used to refer to the viewfinder started using CCamera methods.

CCamera::StartViewFinderL(TFormat aImageFormat,TSize& aSize)

Parameters

TInt aScreenNumber The screen number on which the client viewfinder is supposed to run.
CCamera::TFormat aImageFormat The image format requested by the client.
TSize & aSize On return, the size used. The size may be modified by the implementation because of hardware constraints and byte alignment.

StartClientViewFinderL(TInt, CCamera::TFormat, TSize &, TRect &)

IMPORT_C void StartClientViewFinderL ( TInt aScreenNumber,
CCamera::TFormat aImageFormat,
TSize & aSize,
TRect & aClipRect
)

Creates a new viewfinder and starts transfer of view finder data. Also, clips the picture to the specified clip rectangle.

Availability of viewfinder data is notified by MClientViewFinderObserver::ViewFinderBufferReady() .

The picture is the size of the intersection of aSize and aClipRect, not simply aSize padded with white space.

leave
May leave with any error code.
Note:

KECamDefaultViewFinderHandle is used to refer viewfinder started using CCamera methods.

CCamera::StartViewFinderL(TFormat aImageFormat,TSize& aSize,TRect& aClipRect)

Parameters

TInt aScreenNumber The screen number on which the client viewfinder is supposed to run.
CCamera::TFormat aImageFormat The image format.
TSize & aSize On return, the size used. The size may be modified by the implementation because of hardware constraints and byte alignment.
TRect & aClipRect Required clip rectangle. May be modified if, for example, the camera only supports certain byte alignments.

StopClientViewFinder()

IMPORT_C void StopClientViewFinder ( )

Stop the client viewfinder.

Member Data Documentation

MCameraClientViewFinder * iImpl

MCameraClientViewFinder * iImpl [private]