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::CCameraHistogramuse MCameraV2Histogram

Member Functions Documentation

DestroyHistogramL(TUint)

voidDestroyHistogramL(TUintaHistHandle)[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 aHistHandleThe handle identifying the histogram on the ECam implementation.

GetActiveHistogramsL(RArray< TUint > &)

voidGetActiveHistogramsL(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 > & aActiveHistogramsReturned list of histogram handles for which StartHistogramL() has been called.

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

voidGetDSAHistogramPropertiesL(TUintaHistHandle,
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 aHistHandleThe handle on the ECam implementation of the direct histogram whose properties are to be retrieved.
TPoint & aPositionA reference to a TPoint object that will receive the position (in pixels) of the histogram on the screen.
TSize & aSizeA reference to a TSize object that will receive the size of the histogram in pixels.
TRgb & aColorA 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(TUintaHistHandle)[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 aHistHandleThe 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::THistogramTypeaType,
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 aTypeThe type of histogram to be prepared. This must be one of the supported histogram types returned by SupportedHistograms().
const TPoint & aPositionThe position on the screen (in pixels) where the histogram is to be displayed.
const TSize & aSizeThe size of histogram in pixels.
const TRgb & aColorThe colour and alpha blending with which the histogram will be displayed.

PrepareHistogramL(CCamera::CCameraHistogram::THistogramType)

TUint PrepareHistogramL(CCamera::CCameraHistogram::THistogramTypeaType)[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 aTypeThe type of histogram to be prepared. This must be one of the supported histogram types returned by SupportedHistograms().

Release()

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

voidStartHistogramL(TUintaHistHandle)[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 aHistHandleThe handle identifying the histogram on the ECam implementation.

StopHistogramL(TUint)

voidStopHistogramL(TUintaHistHandle)[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 aHistHandleThe 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 &)

voidUpdateDSAHistogramPropertiesL(TUintaHistHandle,
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 aHistHandleThe handle identifying the histogram on the ECam implementation.
const TPoint & aPositionThe new position on the screen (in pixels) where the histogram is to be displayed.
const TSize & aSizeThe new size of histogram in pixels.
const TRgb & aColorThe new colour and alpha blending with which the histogram will be displayed.