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 voidGetClientViewFinderPropertiesL(TInt &, CCamera::TFormat &, TSize &, TRect &)
IMPORT_C voidGetClientViewFinderStateL(TBool &)
IMPORT_C CCamera::CCameraImageProcessing *GetTransformationHandleL()
IMPORT_C voidGetViewFinderBufferL(MCameraBuffer2 &)
IMPORT_C CCameraClientViewFinder *NewL(CCamera &, MClientViewFinderObserver &)
IMPORT_C voidStartClientViewFinderL(TInt, CCamera::TFormat, TSize &)
IMPORT_C voidStartClientViewFinderL(TInt, CCamera::TFormat, TSize &, TRect &)
IMPORT_C voidStopClientViewFinder()
Private Member Functions
CCameraClientViewFinder(CCamera &)
voidConstructL(MClientViewFinderObserver &)
voidSetImplBaseHandle()
voidSetImplHandle()
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 & aOwnera 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 &)

voidConstructL(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 voidGetClientViewFinderPropertiesL(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 & aScreenNumberRetrieves the screen number on which the client viewfinder is supposed to run.
CCamera::TFormat & aImageFormatRetrieves the image format of the client viewfinder.
TSize & aSizeRetrieves the size used for the client viewfinder.
TRect & aClipRectRetrieves 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 voidGetClientViewFinderStateL(TBool &aIsActive)const

Retrieves the state of the client viewfinder.

leave
May leave with any error code.

Parameters

TBool & aIsActiveETrue 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 voidGetViewFinderBufferL(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 & aClientViewFinderBufferReference 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 & aOwnerA reference to a CCamera object providing the settings.
MClientViewFinderObserver & aClientViewFinderObserverReference to the client view finder observer.

SetImplBaseHandle()

voidSetImplBaseHandle()[private]

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

SetImplHandle()

voidSetImplHandle()[private]

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

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

IMPORT_C voidStartClientViewFinderL(TIntaScreenNumber,
CCamera::TFormataImageFormat,
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 aScreenNumberThe screen number on which the client viewfinder is supposed to run.
CCamera::TFormat aImageFormatThe image format requested by the client.
TSize & aSizeOn 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 voidStartClientViewFinderL(TIntaScreenNumber,
CCamera::TFormataImageFormat,
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 aScreenNumberThe screen number on which the client viewfinder is supposed to run.
CCamera::TFormat aImageFormatThe image format.
TSize & aSizeOn return, the size used. The size may be modified by the implementation because of hardware constraints and byte alignment.
TRect & aClipRectRequired clip rectangle. May be modified if, for example, the camera only supports certain byte alignments.

StopClientViewFinder()

IMPORT_C voidStopClientViewFinder()

Stop the client viewfinder.

Member Data Documentation

MCameraClientViewFinder * iImpl

MCameraClientViewFinder *iImpl[private]