MCameraOverlay Class Reference

class MCameraOverlay

This is a mixin class to be implemented by providers of the camera extension API for image overlays.

Note:

This class is intended for sub classing by licensees only.

CCamera::CCameraOverlay

Member Functions Documentation

CreateOverlayL(const CCamera::CCameraOverlay::TOverlayParameters &, CFbsBitmap *)

TUint CreateOverlayL(const CCamera::CCameraOverlay::TOverlayParameters &aParameters,
CFbsBitmap *aBitmap
)[pure virtual]

Creates an image overlay object on the ECam implementation, returning a handle to the newly created object.

leave
KErrNoMemory if out of memory; also any system wide error.
leave
KErrArgument if the member variables in TOverlayParameters are such that they create mutual exclusion.

Parameters

const CCamera::CCameraOverlay::TOverlayParameters & aParametersThe parameters characterizing the overlay to be created.
CFbsBitmap * aBitmapThe image that is to become the overlay. By default this is set to NULL, allowing the client to provide the image at some point after the overlay object has been created, by using SetOverlayBitmapL().

GetAllOverlaysInZOrderL(RArray< TUint > &)

voidGetAllOverlaysInZOrderL(RArray< TUint > &aOverlayHandles)[pure virtual]

Gets all the overlay handles maintained by the ECam implementation, in order of their Z-Value.

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

Parameters

RArray< TUint > & aOverlayHandlesReturned list, in Z-Value order, of all the overlay handles maintained on the ECam implementation. The topmost overlay is the first element of the array.

GetOverlayBitmapL(TUint, CFbsBitmap *)

voidGetOverlayBitmapL(TUintaOverlayHandle,
CFbsBitmap *aBitmap
)[pure virtual]

Gets the overlay image data for a specified overlay.

leave
KErrArgument if aOverlayHandle is out of range; also any system wide error.
leave
KErrNotSupported if a sharing client (which did not create the given overlay) tries to retrieve the overlay bitmap and the implementation may not be interested in providing the overlay.
Note:

The ECam implementation will transfer the ownership of the aBitmap to the client.

Parameters

TUint aOverlayHandleThe handle of the overlay whose overlay image data is to be obtained.
CFbsBitmap * aBitmapA CFbsBitmap that will receive the returned image data for the overlay.

GetOverlayParametersL(TUint, CCamera::CCameraOverlay::TOverlayParameters &)

voidGetOverlayParametersL(TUintaOverlayHandle,
CCamera::CCameraOverlay::TOverlayParameters &aInfo
)[pure virtual]

Gets the parameters that characterize a given overlay.

leave
KErrArgument if aOverlayHandle is out of range; also any system wide error.

Parameters

TUint aOverlayHandleThe handle of the overlay whose parameters are required.
CCamera::CCameraOverlay::TOverlayParameters & aInfoReference to TOverlayParameters object that will contain the returned overlay parameters.

GetOverlaySupport(CCamera::CCameraOverlay::TOverlaySupportInfo &)

voidGetOverlaySupport(CCamera::CCameraOverlay::TOverlaySupportInfo &aInfo)[pure virtual]

Gets information on the overlay functionality supported by the ECam implementation.

Parameters

CCamera::CCameraOverlay::TOverlaySupportInfo & aInfoA reference to a TOverlaySupportInfo object that will receive the overlay support information.

Release()

voidRelease()[pure virtual]

Releases and destroys all overlay handles on the ECam implementation. This function is called from the destructor of CCamera::CCameraOverlay.

ReleaseOverlay(TUint)

voidReleaseOverlay(TUintaOverlayHandle)[pure virtual]

Releases the specified overlay handle.

Note:

If the handle specified in aOverlayHandle is invalid (out of range) the function call is ignored and no error is reported.

Parameters

TUint aOverlayHandleThe handle of the overlay that is to be released.

SetAllOverlaysInZOrderL(const RArray< TUint > &)

voidSetAllOverlaysInZOrderL(const RArray< TUint > &aOverlayHandles)[pure virtual]

Sets Z-Order of all the overlay handles known by this CCameraOverlay object.

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

Parameters

const RArray< TUint > & aOverlayHandlesThe overlay handles in aOverlayHandles array. This must be the complete current set of handles known to this CCameraOverlay object. The client specifies the desired order by placing the topmost overlay in the first element of the array.

SetOverlayBitmapL(TUint, const CFbsBitmap *)

voidSetOverlayBitmapL(TUintaOverlayHandle,
const CFbsBitmap *aBitmap
)[pure virtual]

Allows the overlay image data to be changed for a specified overlay. Use this function to set the overlay image data if it was not specified when the overlay was created using CreateOverlayL().

leave
KErrArgument if aOverlayHandle is out of range; also any system wide error.
Note:

Once this method is called, overlay size should not be changed for the given overlay. Hence, SetOverlayParametersL should not be called after this method.

Parameters

TUint aOverlayHandleThe handle of the overlay whose overlay image data is to be changed.
const CFbsBitmap * aBitmapThe new image data for the overlay.

SetOverlayParametersL(TUint, const CCamera::CCameraOverlay::TOverlayParameters &)

voidSetOverlayParametersL(TUintaOverlayHandle,
const CCamera::CCameraOverlay::TOverlayParameters &aParameters
)[pure virtual]

Sets new parameters that characterize a given overlay.

leave
KErrNotSupported if TOverlayCameraMode passed in TOverlayParameters is not supported; also any system wide error.
leave
KErrArgument if the member variables in TOverlayParameters are such that they create mutual exclusion.

Parameters

TUint aOverlayHandleThe handle of the overlay whose parameters are to be changed.
const CCamera::CCameraOverlay::TOverlayParameters & aParametersThe new overlay parameters.