Symbian3/SDK/Source/GUID-3C3BBE1F-D7A2-5021-830B-78084334C883.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
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
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-3C3BBE1F-D7A2-5021-830B-78084334C883"><title>Controlling Captured Image</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This document explains you how to control captured images. </p> <section><title>Purpose</title> <p>This document provides a detailed explanation on the use of <b>Post ImageCapture Control </b> API. </p> <p><b>Introduction</b> </p> <p>This classes provide necessary framework to retrieve the image data from individual images and also to apply control on the captured images individually. </p> </section> <section><title>Using Post ImageCapture Control </title> <p>The following tasks are covered on Post ImageCapture Control implementation: </p> <ol id="GUID-6EEFB87A-E8FF-5EC9-96EB-9F3CE37B87A6"><li id="GUID-7A4FA862-EA26-5D02-8C12-2E1D700AC5A1"><p>Provide concrete implementation of <xref href="GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754.dita"><apiname>McameraImageCapture</apiname></xref> class to create <xref href="GUID-3ECFEF01-EC6F-35E4-A544-39A345E3D8F2.dita"><apiname>CcameraPostImageCaptureControl</apiname></xref> facade class. </p> </li> <li id="GUID-53BFDBDA-BD18-5E69-AA8D-4A33269668E7"><p>Create object of class <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> to control each captured still image. </p> </li> <li id="GUID-3AEF9A47-6FEA-5911-87B0-84C2D58C3569"><p>Pass a pointer to <xref href="GUID-ED5F1027-BD98-3DEA-BF1B-0EB1A17B6F43.dita"><apiname>McameraPostImageCaptureControl</apiname></xref> object to the <xref href="GUID-3ECFEF01-EC6F-35E4-A544-39A345E3D8F2.dita"><apiname>CcameraPostImageCaptureControl</apiname></xref> object. </p> </li> <li id="GUID-53EBC94E-A630-5EF0-BAAF-70F2F5BCD49A"><p>Call <xref href="GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754.dita#GUID-65D8585F-4841-3AF4-9A9D-5EAB188C6754/GUID-065F8E55-564B-33BE-BE9D-C629553AB133"><apiname>McameraImageCapture::
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
                CreatePostImageCaptureControlImpl</apiname></xref> method with UID value <xref href="GUID-6EBFCB30-8CDE-3E3F-A552-BC722F4F5B93.dita"><apiname>KECamMCameraPostImageCaptureControlUid</apiname></xref> to get the interface pointer. </p> <p>This creates a newly created interface to represent the individual image. </p> </li> <li id="GUID-D712DE6E-7FB2-56FE-A8D3-1FD66A48471C"><p>Use <xref href="GUID-6EBFCB30-8CDE-3E3F-A552-BC722F4F5B93.dita"><apiname>KECamMCameraPostImageCaptureControlUid</apiname></xref> ID to map the individual image with the <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> instance. </p> </li> <li id="GUID-D61383B7-DFAE-54C0-AA89-CFA93684C50E"><p>Use <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> class to control each captured still image. </p> </li> </ol> <p>Use <xref href="GUID-2D94F0AD-10D4-3C3E-B445-3728718C8765.dita#GUID-2D94F0AD-10D4-3C3E-B445-3728718C8765/GUID-7735D08D-6514-3D39-B5D4-08D735BADC9A"><apiname>CCameraImageProcessing::TRelativeFlipping</apiname></xref> to describe the various relative flipping of an image. The image can be flipped horizontally or vertically. </p> <p>Note: </p> <ul><li id="GUID-62442474-2A4A-5D86-963E-371CEF544815"><p> <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> objects will become unavailable if a new image capture request is issued, while the previous request is still not completed. </p> </li> <li id="GUID-009888BE-88FA-5DF9-A03F-868C84BDF18F"><p>Make sure you destroy <xref href="GUID-752D3B52-5BAD-3551-B832-16D0C47CD4EB.dita"><apiname>CCameraPostImageCaptureControl</apiname></xref> object when individual image cancellation is completed and/or individual image is saved. </p> </li> </ul> <p>The following example code snippets illustrates the use of <b>Post ImageCapture Control </b> classes. </p> <codeblock id="GUID-56F70751-E2CA-5EFC-B109-11E26180FC8B" xml:space="preserve">class MCameraImageCapture
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
    14
{
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
    15
...
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
    16
...
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
    17
TAny* CCamImageCapture::CreatePostImageCaptureControlImpl(TUid aInterface, TPostCaptureControlId aPostCaptureControlId)
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
    18
...
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
    19
}
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
    20
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
    21
CCamera::CCameraPostImageCaptureControl* postImageCaptureControl;
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
    22
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
    23
CCamPostImageCaptureControl* camPostImageCaptureControl;
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
    24
static_cast&lt;MCameraPostImageCaptureControl*&gt;(camPostImageCaptureControl);
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
    25
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
    26
if(aInterface.iUid == KECamMCameraPostImageCaptureControlUidValue)
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
    27
    camPostImageCaptureControl = CCamPostImageCaptureControl::NewL(const_cast&lt;CCamImageCapture&amp;&gt;(*this));
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
    28
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
    29
//Use of CCameraPostImageCaptureControl for Image Capture
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
    30
    CCamera::CCameraPostImageCaptureControl* postImgCapt = NULL;</codeblock> <p>Post ImageCapture Control implementation lets you do the following tasks: </p> <ul><li id="GUID-0A6C9D31-6515-5325-B44E-46D8950910AF"><p>retrieve the image data for individual images </p> </li> <li id="GUID-24D3C749-70A4-50E3-8E5D-A556EDC48518"><p>retrieve the post image capture identity for this class object </p> </li> <li id="GUID-23A14BED-AA67-56C1-A237-6B14B6642F27"><p>retrieve the sequence number of the individual image </p> </li> <li id="GUID-30A0DAB3-6018-5A1B-A946-C85306848B23"><p>pause or resume the background processing associated with this individual image </p> </li> <li id="GUID-37D5B6B2-B1A1-5B0A-A5E4-76C3885A999D"><p>retrieve information about the current state of the individual image and/or the current state of the image buffer. </p> </li> <li id="GUID-B6427AFE-2D9D-5E4A-8123-22C0E214BA8E"><p>retrieve the image buffer after notifying the availability of the individual image through associated call-backs. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-6C8507F7-FE70-5654-91B5-53E356CFF67C.dita"> Controlling Pre-Image Capture</xref>  </p> <p><xref href="GUID-BFDDCE4E-FE4F-5815-9D0B-A0967EA53B11.dita">Controlling Still-image Capture</xref> </p> </section> </conbody></concept>