Symbian3/SDK/Source/GUID-3074D4E5-25EA-5DA0-877D-6E3086DCBDB5.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
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>
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
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>