MCameraHistogram Class Reference

class MCameraHistogram

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

Histograms can be sent to the client or directly displayed on the viewfinder.

Note:

This class is intended for sub classing by licensees only.

CCamera::CCameraHistogram use MCameraV2Histogram

Member Functions Documentation

DestroyHistogramL(TUint)

void DestroyHistogramL ( TUint aHistHandle ) [pure virtual]

only one histogram is available per buffer with the usage of MHistogramV2Buffer and MCameraV2Histogram .

Destroys a histogram on the ECam implementation and releases its handle.

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

Parameters

TUint aHistHandle The handle identifying the histogram on the ECam implementation.

GetActiveHistogramsL(RArray< TUint > &)

void GetActiveHistogramsL ( RArray < TUint > & aActiveHistograms ) [pure virtual]

use void MCameraV2Histogram::GetHistogramStateL(TBool& aIsHistogramActive)

Gets a list of all histograms that are active on the ECam implementation. A histogram is in an active state if StartHistogramL() has been called on it.

leave
KErrNoMemory if the ECam implementation cannot add more histogram handles due to low memory; also any system wide error.

Parameters

RArray < TUint > & aActiveHistograms Returned list of histogram handles for which StartHistogramL() has been called.

GetDSAHistogramPropertiesL(TUint, TPoint &, TSize &, TRgb &)

void GetDSAHistogramPropertiesL ( TUint aHistHandle,
TPoint & aPosition,
TSize & aSize,
TRgb & aColor
) [pure virtual]

use void MCameraV2Histogram::GetDirectHistogramPropertiesL

Gets the properties of a direct histogram.

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

Parameters

TUint aHistHandle The handle on the ECam implementation of the direct histogram whose properties are to be retrieved.
TPoint & aPosition A reference to a TPoint object that will receive the position (in pixels) of the histogram on the screen.
TSize & aSize A reference to a TSize object that will receive the size of the histogram in pixels.
TRgb & aColor A reference to a TRgb object that will receive the colour and alpha blending of the histogram.

HistogramDataL()

MHistogramBuffer & HistogramDataL ( ) [pure virtual]

use MCaptureImageObserver , MCaptureVideoObserver , MDirectViewFinderObserver , and MClientViewFinderObserver which have callback functions which notify the client about availability of histogram data. These are sent when CCameraV2Histogram::StartHistogram() is called after CCameraV2Histogram::PrepareClientHistogramL(). If CCameraV2Histogram::PrepareClientHistogramL() is not called first then the callback returns KErrBadHandle.

Returns to the client the histogram data for all the histograms generated by the ECam implementation.

leave
KErrNoMemory if the ECam implementation has not been able to create the histogram buffer; also any system wide error.

HistogramDataL(TUint)

MHistogramBuffer & HistogramDataL ( TUint aHistHandle ) [pure virtual]

use MCaptureImageObserver , MCaptureVideoObserver , MDirectViewFinderObserver , and MClientViewFinderObserver which have callback functions which notify the client about availability of histogram data. These are sent when CCameraV2Histogram::StartHistogram() is called after CCameraV2Histogram::PrepareClientHistogramL(). If CCameraV2Histogram::PrepareClientHistogramL() is not called first then the callback returns KErrBadHandle.

Returns the data for a single histogram from the ECam implementation to the client.

leave
KErrNoMemory if the ECam implementation has not been able to create the histogram buffer; also any system wide error.

Parameters

TUint aHistHandle The handle on the ECam implementation of the histogram whose data is to be retrieved.

PrepareDSAHistogramL(CCamera::CCameraHistogram::THistogramType, const TPoint &, const TSize &, const TRgb &)

TUint PrepareDSAHistogramL ( CCamera::CCameraHistogram::THistogramType aType,
const TPoint & aPosition,
const TSize & aSize,
const TRgb & aColor
) [pure virtual]

use void MCameraV2Histogram::PrepareDirectHistogramL

Request to prepare a direct histogram.

Note:

A direct histogram is directly embedded into the viewfinder.

leave
KErrNotSupported if the histogram type supplied in aType is not supported.
PrepareHistogramL

Parameters

CCamera::CCameraHistogram::THistogramType aType The type of histogram to be prepared. This must be one of the supported histogram types returned by SupportedHistograms().
const TPoint & aPosition The position on the screen (in pixels) where the histogram is to be displayed.
const TSize & aSize The size of histogram in pixels.
const TRgb & aColor The colour and alpha blending with which the histogram will be displayed.

PrepareHistogramL(CCamera::CCameraHistogram::THistogramType)

TUint PrepareHistogramL ( CCamera::CCameraHistogram::THistogramType aType ) [pure virtual]

use void MCameraV2Histogram::PrepareClientHistogramL

Request to prepare a non direct histogram.

Note:

A direct histogram is directly embedded into the viewfinder. If a non direct histogram is requested the histogram data will be passed to the camera client.

leave
KErrNotSupported if the histogram type supplied in aType is not supported.
PrepareDSAHistogramL

Parameters

CCamera::CCameraHistogram::THistogramType aType The type of histogram to be prepared. This must be one of the supported histogram types returned by SupportedHistograms().

Release()

void Release ( ) [pure virtual]

use void MCameraV2Histogram::Release(CCamera::CCameraV2Histogram *aHistogramHandle)

Releases all the histogram handles created by this object and destroys them on the ECam implementation. This function is called from the destructor of CCamera::CCameraHistogram .

StartHistogramL(TUint)

void StartHistogramL ( TUint aHistHandle ) [pure virtual]

use void MCameraV2Histogram::StartHistogram()

Request to start getting histogram notifications.

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

Parameters

TUint aHistHandle The handle identifying the histogram on the ECam implementation.

StopHistogramL(TUint)

void StopHistogramL ( TUint aHistHandle ) [pure virtual]

use void MCameraV2Histogram::StopHistogram()

Request to stop getting histogram notifications.

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

Parameters

TUint aHistHandle The handle identifying the histogram on the ECam implementation.

SupportedHistograms()

TUint32 SupportedHistograms ( ) [pure virtual]

use void MCameraV2Histogram::GetSupportedHistogramsL(TUint& aSupportedHistogramType)

Gets a list of the types of histograms the ECam implementation supports.

CCamera::CCameraHistogram::THistogramType

UpdateDSAHistogramPropertiesL(TUint, const TPoint &, const TSize &, const TRgb &)

void UpdateDSAHistogramPropertiesL ( TUint aHistHandle,
const TPoint & aPosition,
const TSize & aSize,
const TRgb & aColor
) [pure virtual]

use void MCameraV2Histogram::UpdateDirectHistogramPropertiesL

Updates the properties of a direct histogram.

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

Parameters

TUint aHistHandle The handle identifying the histogram on the ECam implementation.
const TPoint & aPosition The new position on the screen (in pixels) where the histogram is to be displayed.
const TSize & aSize The new size of histogram in pixels.
const TRgb & aColor The new colour and alpha blending with which the histogram will be displayed.