Symbian3/PDK/Source/GUID-3074D4E5-25EA-5DA0-877D-6E3086DCBDB5.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 16:16:55 +0100
changeset 6 43e37759235e
parent 5 f345bda72bc4
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of example code"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     6
<!-- Initial Contributors:
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     7
    Nokia Corporation - initial contribution.
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     8
Contributors: 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     9
-->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    10
<!DOCTYPE concept
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    12
<concept xml:lang="en" id="GUID-3074D4E5-25EA-5DA0-877D-6E3086DCBDB5"><title> Overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document introduces you to Histogram. </p> <section><title>Purpose</title> <p>Histogram provides the functionality needed to work with histogram data in a specified format for an image (for example, luminance based histogram or average colour value histogram). </p> <p>The data generated can be application rendered. In this case the application gets histogram frequencies and renders them onto a bitmap. The data can also be camera rendered, meaning it is displayed directly in the viewfinder. In the camera rendered case, the client can specify properties of the histogram such as size, colour and position. </p> <p><b>Histogram Library Details</b> </p> <p>The DLL that provides the functionality and the library to which your code must link is identified below. </p> <table id="GUID-4A16C453-F70D-56AF-A438-6676CCB525D2"><tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/><thead><row><entry>DLL</entry> <entry>LIB</entry> <entry>Short Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-89E287A6-8149-3583-A342-246DA7D9DD98.dita"><apiname>ecamhistogram.dll</apiname></xref>  </p> </entry> <entry><p> <xref href="GUID-AE2B970C-BCE8-3A17-AB2B-D5D51AB9F29E.dita"><apiname>ecamhistogram.lib </apiname></xref>  </p> </entry> <entry><p>These files are used for implementing the Histogram APIs. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Architectural Relationship</title> <p>Histogram is part of the camera component. </p> </section> <section><title>Description</title> <p>Histogram allows only one type per object. To allow multiple types of histogram for a given imaging mode, multiple histogram objects need to be created for that imaging mode. Histogram objects are created separately for still images, video, viewfinders and snapshots. Call-backs associated with still images, video and viewfinders notify clients about the generation of histogram data. For client histograms, the data is available in buffers. </p> <p> <xref href="GUID-B63B9FB7-0067-3563-A763-00A255716798.dita"><apiname>MhistogramV2Buffer</apiname></xref> interface provides only one buffer at a time. Unless new histogram data is available through MhistogramV2Buffer, the same histogram data is used for the image modes. </p> </section> <section><title>Key Histogram API Classes</title> <p>The key classes that make up the Histogram are as follows: </p> <ul><li id="GUID-936ED3D3-E2BC-5034-9B1D-18C2E8CE34BC"><p> <xref href="GUID-3EE49C9F-944F-3FA0-9B03-0BDCAE63A103.dita"><apiname>CcameraV2Histogram</apiname></xref>  </p> <p>Exposes an API for the client to get client histogram data and also to display the direct histogram on the screen. </p> </li> <li id="GUID-C04D32AC-2009-51AA-A391-3EF747E58071"><p> <xref href="GUID-32DD14F5-52D7-35F4-A8EE-8375CDC5A3D6.dita"><apiname>CcameraHistogram</apiname></xref>  </p> <p>A facade class, which is used to access camera histogram functionality. </p> </li> <li id="GUID-78978D2C-99C3-5456-816C-5A6DF8BF40DF"><p> <xref href="GUID-4E270B4A-074C-3531-9789-123C8AE899F0.dita#GUID-4E270B4A-074C-3531-9789-123C8AE899F0/GUID-CE9EB364-1142-3F9F-9DFF-7B1FAAC9FED7"><apiname>
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
                CCamera::CCameraHistogram::PrepareHistogramL()</apiname></xref>  </p> <p>Set the properties of a histogram </p> </li> <li id="GUID-4390137D-B47C-56AA-A0AF-CDDA48E9DEA1"><p> <xref href="GUID-4E270B4A-074C-3531-9789-123C8AE899F0.dita#GUID-4E270B4A-074C-3531-9789-123C8AE899F0/GUID-CE93EB98-6389-3021-B9CA-05E37ACA2ED4"><apiname>CCamera::CCameraHistogram::StartHistogramL()</apiname></xref>  </p> <p>Request to start receiving histogram data. The camera calls the client's callback <xref href="GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F.dita"><apiname>MCameraObserver2</apiname></xref> interface, with event <xref href="GUID-B6C4A086-7DBC-31C1-9973-E4BBFAF9EE32.dita"><apiname>KUidECamEventCameraHistogram</apiname></xref>, when histogram data is available to be retrieved. </p> </li> <li id="GUID-251E1F54-6C79-5AB2-9426-7EB08FC35D5C"><p> <xref href="GUID-4E270B4A-074C-3531-9789-123C8AE899F0.dita#GUID-4E270B4A-074C-3531-9789-123C8AE899F0/GUID-E12BC60D-2AC3-335B-86A7-0E5B6896ABBA"><apiname>CCamera::CCameraHistogram::HistogramDataL() </apiname></xref>  </p> <p>Retrieve the histogram data from the Camera server. The data is returned in an <xref href="GUID-5064D139-1B97-394C-8C7D-417F72444F75.dita"><apiname>MHistogramBuffer</apiname></xref> object. </p> </li> <li id="GUID-C22A6354-A290-5594-91AA-13E045B7521B"><p> <xref href="GUID-4E270B4A-074C-3531-9789-123C8AE899F0.dita#GUID-4E270B4A-074C-3531-9789-123C8AE899F0/GUID-DC1D3897-F460-3378-89EA-1706B260A8DE"><apiname> CCamera::CCameraHistogram::StopHistogramL()</apiname></xref>  </p> <p>Stop receiving histogram notifications. Use <xref href="GUID-4E270B4A-074C-3531-9789-123C8AE899F0.dita#GUID-4E270B4A-074C-3531-9789-123C8AE899F0/GUID-97BF3872-0EFC-31B4-90F9-EFE16B375A7C"><apiname>CCamera::CCameraHistogram::DestroyHistogramL() </apiname></xref> to remove the histogram from the Camera server, and release its resources. </p> </li> <li id="GUID-35FF61D5-CA90-5787-8F81-69717090E901"><p> <xref href="GUID-D1A0B5FD-DFB6-3AE3-8D7A-A57E25C19795.dita"><apiname> McameraHistogram</apiname></xref>  </p> <p>Interface class for which the device creator must provide an implementation. </p> </li> <li id="GUID-F75B908C-4139-5ABC-A207-B44BB2799D3C"><p> <xref href="GUID-5633ECD5-C42B-360A-B74F-11621CA9BB54.dita"><apiname> MhistogramBuffer</apiname></xref>  </p> <p>Interface class to transfer histogram data from server to client. The buffer may contain multiple histograms. The class allows the client to access the data as a descriptor to a kernel. </p> </li> </ul> </section> <section><title>Using Histogram API</title> <p>Clients can use the histogram to: </p> <ul><li id="GUID-67EC0920-E61A-55A4-8D3E-B3D9F6ED212E"><p>Get histogram data of various types. </p> </li> <li id="GUID-5786364A-551A-5F31-99FF-8030C847B5BD"><p>Retrieve and modify the properties of a direct histogram including the background color, histogram color, its size, position and type. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-36C3A2FD-F4F9-5B8C-91B7-40C29B3D2224.dita">Overview</xref> of Camera Framework </p> </section> </conbody></concept>