class CCamera::CCameraV2Histogram : public CBase |
This class allows the client to get histogram data in a specified format for an image (for example, luminance based histogram, average colour value histogram, etc).
Histogram may be created for still images, video, viewfinders and snapshot. Further different types of histogram may be created for any of the imaging modes.
The data generated can be fed to some exposure based algorithm, or directly displayed on the screen. It also allows the client to get and set the properties of a histogram.
The client selects histogram parameters calling PrepareClientHistogramL or PrepareDirectHistogramL. It can then start and stop receiving notifications from the ECam implementation by calling StartHistogram() and StopHistogram(). The client application using this API shall provide the interfaces: MCaptureImageObserver, MCaptureVideoObserver, MDirectViewFinderObserver and MClientViewFinderObserver in order to receive notifications about direct histogram display or client histogram data availablility.
Implementation shall use MHistogramV2Buffer in order to provide client histogram data.
This class provides a standardised client interface for the camera histogram. Classes cannot be derived from it.
If the class methods leave, the output type parameter value is not guaranteed to be valid.
Public Member Functions | |
---|---|
~CCameraV2Histogram() | |
IMPORT_C void | GetDirectHistogramPropertiesL(TDirectHistogramParameters &) |
IMPORT_C void | GetDirectHistogramSupportInfoL(TBool &) |
IMPORT_C void | GetHistogramStateL(TBool &) |
IMPORT_C void | GetSupportedHistogramsL(TUint &) |
IMPORT_C void | PrepareClientHistogramL(THistogramType) |
IMPORT_C void | PrepareDirectHistogramL(const TDirectHistogramParameters &) |
IMPORT_C void | StartHistogram() |
IMPORT_C void | StopHistogram() |
IMPORT_C void | UpdateDirectHistogramPropertiesL(const TDirectHistogramParameters &) |
Private Member Functions | |
---|---|
CCameraV2Histogram(CCamera &) | |
void | ConstructL(const MImplementationFactory &) |
IMPORT_C CCamera::CCameraV2Histogram * | CreateL(CCamera &, MImplementationFactory &) |
Public Member Enumerations | |
---|---|
enum | THistogramType { EHistNone = 0x0000, ELuminance = 0x0001, EAverageRGB = 0x0002, ERedComponent = 0x0004, EBlueComponent = 0x0008, EGreenComponent = 0x0010, EOverExposure = 0x0020, EUnderExposure = 0x0040 } |
Private Attributes | |
---|---|
MCameraV2Histogram * | iImpl |
CCamera & | iOwner |
CCameraV2Histogram | ( | CCamera & | aOwner | ) | [private] |
CCamera & aOwner |
void | ConstructL | ( | const MImplementationFactory & | aImplFactory | ) | [private] |
const MImplementationFactory & aImplFactory |
IMPORT_C CCamera::CCameraV2Histogram * | CreateL | ( | CCamera & | aCamera, |
MImplementationFactory & | aImplFactory | |||
) | [private, static] |
CCamera & aCamera | |
MImplementationFactory & aImplFactory |
IMPORT_C void | GetDirectHistogramPropertiesL | ( | TDirectHistogramParameters & | aDirectHistogramParameters | ) | const |
TDirectHistogramParameters & aDirectHistogramParameters |
IMPORT_C void | GetDirectHistogramSupportInfoL | ( | TBool & | aIsDirectHistogramSupported | ) | const |
TBool & aIsDirectHistogramSupported |
IMPORT_C void | GetHistogramStateL | ( | TBool & | aIsHistogramActive | ) | const |
TBool & aIsHistogramActive |
IMPORT_C void | GetSupportedHistogramsL | ( | TUint & | aSupportedHistogramType | ) | const |
TUint & aSupportedHistogramType |
IMPORT_C void | PrepareClientHistogramL | ( | THistogramType | aType | ) |
THistogramType aType |
IMPORT_C void | PrepareDirectHistogramL | ( | const TDirectHistogramParameters & | aDirectHistogramParameters | ) |
const TDirectHistogramParameters & aDirectHistogramParameters |
IMPORT_C void | UpdateDirectHistogramPropertiesL | ( | const TDirectHistogramParameters & | aDirectHistogramParameters | ) |
const TDirectHistogramParameters & aDirectHistogramParameters |
Supported histogram types. The enumeration list may be extended in future.
EHistNone = 0x0000 |
No histogram has been specified. |
ELuminance = 0x0001 |
Luminance based histogram. |
EAverageRGB = 0x0002 |
The histogram is based on the average value of all three RGB colour components. |
ERedComponent = 0x0004 |
The histogram is based on the value of the red colour component. |
EBlueComponent = 0x0008 |
The histogram is based on the value of the blue colour component. |
EGreenComponent = 0x0010 |
The histogram is based on the value of the green colour component. |
EOverExposure = 0x0020 |
Qualitative Histogram to mark over exposed parts of image. |
EUnderExposure = 0x0040 |
Qualitative Histogram to mark under exposed parts of image. |