Symbian3/SDK/Source/GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3.dita
changeset 8 ae94777fff8f
parent 0 89d6a7a84779
child 13 48780e181b38
equal deleted inserted replaced
7:51a74ef9ed63 8:ae94777fff8f
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <concept xml:lang="en" id="GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3"><title>Advanced Settings for Focus, Drive Modes, and Bracket Modes </title><shortdesc>This document provides a detailed description of various advanced settings of Ecam component. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><section id="GUID-B66B827F-F291-5A87-A96F-0281B5FB2722"><title>Introduction</title> <p>The advanced settings class, <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-E31AEB11-B7A0-3637-BB31-866306F78118"><apiname>CCamera::CCameraAdvancedSettings</apiname></xref>, provides access to common camera hardware settings related to image acquisition for still images and video. </p> <p id="GUID-79C320F6-1B2A-5A91-AEB2-356BB7C0B160"><b>Focus mode</b> </p> <p>The high level steps to set the Camera focus mode are shown here: </p> <ul><li id="GUID-8FEE544B-043C-5A2E-8D1F-29A8336F0CA9"><p>Get the information about the supported focus modes on the camera using the <xref href="GUID-83D453AD-C8D0-33AA-A8AB-6B0342D05741.dita#GUID-83D453AD-C8D0-33AA-A8AB-6B0342D05741/GUID-7DACEEF8-4492-32DB-9FBD-766BF8DF88DF"><apiname>TInt
    12 <concept id="GUID-6A7F8298-F3E9-513C-8C1F-D057AC62E5E3" xml:lang="en"><title>Advanced
    13                   CCamera::CCameraAdvancedSettings::SupportedFocusModes()</apiname></xref> method. </p> </li> <li id="GUID-8B66ECEA-605D-55BC-BA40-679BA9CF1A96"><p>Set a specific focus mode on the camera using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-ADD952C2-0AE2-3971-B29B-3A979CB97BE9"><apiname>CCamera::CCameraAdvancedSettings::SetFocusMode()</apiname></xref> method. </p> </li> <li id="GUID-80E965EA-7C42-564E-9FE6-1B04B89359C4"><p>Get the current focus mode on the camera using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-D057397E-E483-3082-B1E1-B50CF8D3DD2B"><apiname>CCamera::CCameraAdvancedSettings::FocusMode()</apiname></xref> method. </p> <p>The enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-D057397E-E483-3082-B1E1-B50CF8D3DD2B"><apiname>CCamera::CCameraAdvancedSettings::FocusMode()</apiname></xref> defines four supported focus modes: </p> <table id="GUID-02C2468E-DBBF-5137-ACEB-C23FFAFBB468"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum Value</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-9A06A4D0-6284-3176-9AB3-1C3E79B98B17.dita"><apiname>EFocusModeUnknown</apiname></xref>  </p> </entry> <entry><p>Focus mode is unknown </p> </entry> </row> <row><entry><p> <xref href="GUID-D9429C4E-CB09-33C0-BEB3-137ED8F29611.dita"><apiname>EStabilizationComplexityLow</apiname></xref>  </p> </entry> <entry><p>Focus mode is automatic </p> </entry> </row> <row><entry><p> <xref href="GUID-A8C038E9-9126-34C3-8BE4-4780123D9C19.dita"><apiname>EStabilizationComplexityMedium</apiname></xref>  </p> </entry> <entry><p>Focus is fixed </p> </entry> </row> <row><entry><p> <xref href="GUID-DA7CB865-D120-3FC5-9871-428B0C0DCB8C.dita"><apiname>EStabilizationComplexityHigh</apiname></xref>  </p> </entry> <entry><p>Focus is manually set </p> </entry> </row> </tbody> </tgroup> </table> </li> </ul> <p>The following example shows how to change the focus mode: </p> <codeblock id="GUID-24781D9D-62F0-5A3A-8AE1-A3666AED78E2" xml:space="preserve">    // Assigns the focus mode to be set    
    13 Settings for Focus, Drive Modes, and Bracket Modes </title><shortdesc>This document provides a detailed description of various advanced
       
    14 settings of Ecam component. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    15 <section id="GUID-B66B827F-F291-5A87-A96F-0281B5FB2722"><title>Introduction</title> <p>The
       
    16 advanced settings class, <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-E31AEB11-B7A0-3637-BB31-866306F78118"><apiname>CCamera::CCameraAdvancedSettings</apiname></xref>,
       
    17 provides access to common camera hardware settings related to image acquisition
       
    18 for still images and video. </p> <p id="GUID-79C320F6-1B2A-5A91-AEB2-356BB7C0B160"><b>Focus
       
    19 mode</b> </p> <p>The high level steps to set the Camera focus mode are shown
       
    20 here: </p> <ul>
       
    21 <li id="GUID-8FEE544B-043C-5A2E-8D1F-29A8336F0CA9"><p>Get the information
       
    22 about the supported focus modes on the camera using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-B122389A-2B0F-3D93-BC22-0BCEB8494929"><apiname>CCamera::CCameraAdvancedSettings::SupportedFocusModes()
       
    23 const</apiname></xref> method. </p> </li>
       
    24 <li id="GUID-8B66ECEA-605D-55BC-BA40-679BA9CF1A96"><p>Set a specific focus
       
    25 mode on the camera using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-FAC15061-9DE7-3196-969E-70C0752C9253"><apiname>CCamera::CCameraAdvancedSettings::SetFocusMode(TFocusMode
       
    26 aFocusMode)</apiname></xref> method. </p> </li>
       
    27 <li id="GUID-80E965EA-7C42-564E-9FE6-1B04B89359C4"><p>Get the current focus
       
    28 mode on the camera using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-D057397E-E483-3082-B1E1-B50CF8D3DD2B"><apiname>CCamera::CCameraAdvancedSettings::FocusMode()</apiname></xref> method. </p> <p>The
       
    29 enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-877A6E33-8F63-3EFC-8D8C-F77857457B80"><apiname>CCamera::CCameraAdvancedSettings::TFocusMode</apiname></xref> defines
       
    30 four supported focus modes: </p> <table id="GUID-02C2468E-DBBF-5137-ACEB-C23FFAFBB468">
       
    31 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    32 <tbody>
       
    33 <row>
       
    34 <entry><p> <b>Enum Value</b>  </p> </entry>
       
    35 <entry><p> <b>Description</b>  </p> </entry>
       
    36 </row>
       
    37 <row>
       
    38 <entry><p> <codeph>EFocusModeUnknown</codeph>  </p> </entry>
       
    39 <entry><p>Focus mode is unknown </p> </entry>
       
    40 </row>
       
    41 <row>
       
    42 <entry><p> <codeph>EStabilizationComplexityLow</codeph> </p> </entry>
       
    43 <entry><p>Focus mode is automatic </p> </entry>
       
    44 </row>
       
    45 <row>
       
    46 <entry><p> <codeph>EStabilizationComplexityMedium</codeph>  </p> </entry>
       
    47 <entry><p>Focus is fixed </p> </entry>
       
    48 </row>
       
    49 <row>
       
    50 <entry><p><codeph>EStabilizationComplexityHigh</codeph>  </p> </entry>
       
    51 <entry><p>Focus is manually set </p> </entry>
       
    52 </row>
       
    53 </tbody>
       
    54 </tgroup>
       
    55 </table> </li>
       
    56 </ul> <p>The following example shows how to change the focus mode: </p> <codeblock id="GUID-24781D9D-62F0-5A3A-8AE1-A3666AED78E2" xml:space="preserve">    // Assigns the focus mode to be set    
    14     CCamera::CCameraAdvancedSettings::TFocusMode focusMode = CCamera::CCameraAdvancedSettings::EFocusModeFixed;
    57     CCamera::CCameraAdvancedSettings::TFocusMode focusMode = CCamera::CCameraAdvancedSettings::EFocusModeFixed;
    15     
    58     
    16     // Gets the supported modes
    59     // Gets the supported modes
    17     TInt suppFocusModes = settings-&gt;SupportedFocusModes();// Checks if the focus mode is supported before setting it
    60     TInt suppFocusModes = settings-&gt;SupportedFocusModes();// Checks if the focus mode is supported before setting it
    18     if (focusMode &amp; suppFocusModes)
    61     if (focusMode &amp; suppFocusModes)
    19         {
    62         {
    20            // Sets the focus mode if it is supported
    63            // Sets the focus mode if it is supported
    21         settings-&gt;SetFocusMode(focusMode);
    64         settings-&gt;SetFocusMode(focusMode);
    22         }</codeblock> <p id="GUID-20148E50-5531-595D-AED3-BACF2F5D69A3"><b>Focus range</b> </p> <p>Get the supported focus range using the enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-24EC2538-2021-3A84-BBEC-9B07F60D47F1"><apiname>CCamera::CCameraAdvancedSettings::TFocusRange</apiname></xref>. This defines eight supported focus ranges: </p> <table id="GUID-45890051-4539-57F0-A07E-17F4530415D3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum Value</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-0C446118-46EC-31D1-9D06-15B50A6A0D46.dita"><apiname>EFocusRangeAuto</apiname></xref>  </p> </entry> <entry><p>Automatic </p> </entry> </row> <row><entry><p> <xref href="GUID-88AF32AF-5B11-3C40-82BE-29C5ACE25FF4.dita"><apiname>EFocusRangeMacro</apiname></xref>  </p> </entry> <entry><p>Focus operates in close range </p> </entry> </row> <row><entry><p> <xref href="GUID-88AF32AF-5B11-3C40-82BE-29C5ACE25FF4.dita"><apiname>EFocusRangeMacro</apiname></xref>  </p> </entry> <entry><p>Normal operation </p> </entry> </row> <row><entry><p> <xref href="GUID-88AF32AF-5B11-3C40-82BE-29C5ACE25FF4.dita"><apiname>EFocusRangeMacro</apiname></xref>  </p> </entry> <entry><p>Extended (tele) operation </p> </entry> </row> <row><entry><p> <xref href="GUID-8299C8D8-2260-3163-9A5B-5A129CAC5C5A.dita"><apiname>EFocusRangePortrait</apiname></xref>  </p> </entry> <entry><p>Focus at larger areas at short to medium distance </p> </entry> </row> <row><entry><p> <xref href="GUID-27C0ABB6-9A85-340D-94B2-020DF2878852.dita"><apiname>EFocusRangeSuperMacro</apiname></xref>  </p> </entry> <entry><p>Optimised macro operation, where depth of field is very shallow and observation area changes quickly </p> </entry> </row> <row><entry><p> <xref href="GUID-4F2CF1F1-DFE9-3F39-BEC8-ECC7D34B8D07.dita"><apiname>EFocusRangeHyperfocal</apiname></xref>  </p> </entry> <entry><p>All objects at distances from half of the hyperfocal distance out to infinity will be in focus. This gives maximum depth of field. </p> </entry> </row> <row><entry><p> <xref href="GUID-C97CC323-120D-3DA7-BE57-DD6DA5B8A355.dita"><apiname>EFocusRangeInfinite</apiname></xref>  </p> </entry> <entry><p>Infinite range, when there is a near obstacle or better focus wanted for far away objects. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following example shows how to change the focus range: </p> <codeblock id="GUID-D65E3CD4-BD93-5D87-AB07-3596BBFFCF21" xml:space="preserve">    // Assigns the focus range to EFocusRangeHyperfocal and checks if it is supported
    65         }</codeblock> <p id="GUID-20148E50-5531-595D-AED3-BACF2F5D69A3"><b>Focus
       
    66 range</b> </p> <p>Get the supported focus range using the enumerated type <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-AE5EC95A-7BDD-34F9-83DA-BFC79BFD38F2"><apiname>CCamera::CCameraAdvancedSettings:TFocusRange</apiname></xref>.
       
    67 This defines eight supported focus ranges: </p> <table id="GUID-45890051-4539-57F0-A07E-17F4530415D3">
       
    68 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    69 <tbody>
       
    70 <row>
       
    71 <entry><p> <b>Enum Value</b>  </p> </entry>
       
    72 <entry><p> <b>Description</b>  </p> </entry>
       
    73 </row>
       
    74 <row>
       
    75 <entry><p> <codeph>EFocusRangeAuto</codeph>  </p> </entry>
       
    76 <entry><p>Automatic </p> </entry>
       
    77 </row>
       
    78 <row>
       
    79 <entry><p> <codeph>EFocusRangeMacro</codeph>  </p> </entry>
       
    80 <entry><p>Focus operates in close range </p> </entry>
       
    81 </row>
       
    82 <row>
       
    83 <entry><p> <codeph>EFocusRangeMacro</codeph>  </p> </entry>
       
    84 <entry><p>Normal operation </p> </entry>
       
    85 </row>
       
    86 <row>
       
    87 <entry><p> <codeph>EFocusRangeMacro</codeph>  </p> </entry>
       
    88 <entry><p>Extended (tele) operation </p> </entry>
       
    89 </row>
       
    90 <row>
       
    91 <entry><p> <codeph>EFocusRangePortrait</codeph>  </p> </entry>
       
    92 <entry><p>Focus at larger areas at short to medium distance </p> </entry>
       
    93 </row>
       
    94 <row>
       
    95 <entry><p> <codeph>EFocusRangeSuperMacro</codeph>  </p> </entry>
       
    96 <entry><p>Optimized macro operation, where depth of field is very shallow
       
    97 and observation area changes quickly </p> </entry>
       
    98 </row>
       
    99 <row>
       
   100 <entry><p> <codeph>EFocusRangeHyperfocal</codeph>  </p> </entry>
       
   101 <entry><p>All objects at distances from half of the hyperfocal distance out
       
   102 to infinity will be in focus. This gives maximum depth of field. </p> </entry>
       
   103 </row>
       
   104 <row>
       
   105 <entry><p> <codeph>EFocusRangeInfinite</codeph>  </p> </entry>
       
   106 <entry><p>Infinite range, when there is a near obstacle or better focus wanted
       
   107 for far away objects. </p> </entry>
       
   108 </row>
       
   109 </tbody>
       
   110 </tgroup>
       
   111 </table> <p>The following example shows how to change the focus range: </p> <codeblock id="GUID-D65E3CD4-BD93-5D87-AB07-3596BBFFCF21" xml:space="preserve">    // Assigns the focus range to EFocusRangeHyperfocal and checks if it is supported
    23     CCamera::CCameraAdvancedSettings::TFocusRange focusRange = CCamera::CCameraAdvancedSettings::EFocusRangeHyperfocal;
   112     CCamera::CCameraAdvancedSettings::TFocusRange focusRange = CCamera::CCameraAdvancedSettings::EFocusRangeHyperfocal;
    24         
   113         
    25     // Gets the supported ranges            
   114     // Gets the supported ranges            
    26     TInt suppRanges = settings-&gt;SupportedFocusRanges();
   115     TInt suppRanges = settings-&gt;SupportedFocusRanges();
    27     
   116     
    28     // Checks if the focus range is supported before setting it.
   117     // Checks if the focus range is supported before setting it.
    29     if (focusRange &amp; suppRanges) 
   118     if (focusRange &amp; suppRanges) 
    30         {
   119         {
    31         // Sets the focus range if it is supported
   120         // Sets the focus range if it is supported
    32         settings-&gt;SetFocusRange(focusRange);
   121         settings-&gt;SetFocusRange(focusRange);
    33         }</codeblock> <p>The result of <xref href="GUID-FF2ABB51-4E7C-3FB5-AC6B-37A00ADA9A47.dita"><apiname>SetFocusRange</apiname></xref> is notified to the client asynchronously through <xref href="GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F.dita#GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F/GUID-AA5629D4-6228-3EAE-86DB-CE8A735557B0"><apiname>MCameraObserver2::HandleEvent()</apiname></xref> and with UID <xref href="GUID-5AA4F8A8-276F-308D-8FDA-4B0A99EB7805.dita"><apiname>KUidECamEventCameraSettingFocusRange2</apiname></xref>. </p> <p id="GUID-13C7E377-B9DB-5382-8D2C-C182D1849AEC"><b> Autofocus types</b> </p> <p>Get the supported autofocus types using the enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-03893892-2ADB-3F2F-92ED-92B56FA91732"><apiname>CCamera::CCameraAdvancedSettings::TAutoFocusType</apiname></xref>. This defines three supported focus types: </p> <table id="GUID-3535B88E-68BA-5DAF-B367-24E856B76A8B"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-4F75D808-7D0B-38F8-8251-E85A03286186.dita"><apiname>EAutoFocusTypeOff</apiname></xref>  </p> </entry> <entry><p>Autofocus is switched off </p> </entry> </row> <row><entry><p> <xref href="GUID-5F4E04B7-45D1-32E3-BAD8-428615C99A7D.dita"><apiname>EAutoFocusTypeSingle</apiname></xref>  </p> </entry> <entry><p>Operates on a single shot, consumes less power </p> </entry> </row> <row><entry><p> <xref href="GUID-47254936-309C-37A7-9753-4C07C4D46EDD.dita"><apiname>EAutoFocusTypeContinuous</apiname></xref>  </p> </entry> <entry><p>Continuous autofocus, more precise but consumes more power. This is also known as AF Servo. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following example shows how to change the autofocus type: </p> <codeblock id="GUID-9FE120BA-04B9-58A4-A319-B820F3274066" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TAutoFocusType focusType = CCamera::CCameraAdvancedSettings::EAutoFocusTypeOff;
   122         }</codeblock> <p>The result of <codeph>SetFocusRange</codeph> is notified
       
   123 to the client asynchronously through <codeph>MCameraObserver2::HandleEvent()</codeph> and
       
   124 with UID <codeph>KUidECamEventCameraSettingFocusRange2</codeph>. </p> <p id="GUID-13C7E377-B9DB-5382-8D2C-C182D1849AEC"><b> Autofocus</b> </p><p>Autofocus
       
   125 support for camera applications is controlled through the <codeph>CCameraAdvancedSettings</codeph> class. </p><fig id="GUID-BD935125-B7F9-4223-BC94-0B4A663DE13C">
       
   126 <title>Implementation of autofocus</title>
       
   127 <image href="GUID-57C10E91-F0CD-494E-96CE-92FB1E06CB53_d0e292667_href.png" placement="inline"/>
       
   128 </fig><p>Pressing the camera shutter key on the device halfway down generates
       
   129 additional key events. The key events can be used to activate autofocus if
       
   130 the camera hardware supports the functionality. Shutter release (image capture)
       
   131 can be triggered by pressing the key all the way down. The key presses generate
       
   132 separate key events. To capture other than autofocus key events from the shutter
       
   133 key, you need the <codeph>SwEvent</codeph> <xref href="GUID-6971B0A2-F79B-4E05-8AF3-BB1FC1932A22.dita">capability</xref>.</p><p>The
       
   134 settings you can use in your application depend on the camera hardware on
       
   135 the device. The Camera API allows you to query almost all features of the
       
   136 device camera. For example, to get a list of supported advanced settings,
       
   137 use the <xref href="GUID-67DF1203-B840-3C25-8EB5-3F0C8F28A4FF.dita#GUID-67DF1203-B840-3C25-8EB5-3F0C8F28A4FF/GUID-D266F5CF-75DE-3032-BE3A-359C7D021696"><apiname>CCameraAdvancedSettings::GetSupportedSettingsL(RArray&lt;TUid&gt;&amp;
       
   138 aSettings) const</apiname></xref> method.</p><p>Get the supported autofocus types
       
   139 using the enumerated type <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-AE09FE2C-D173-38AA-9867-75B7788ACD6E"><apiname>CCamera::CCameraAdvancedSettings:TAutoFocusType</apiname></xref>.
       
   140 This defines three supported focus types: </p> <table id="GUID-3535B88E-68BA-5DAF-B367-24E856B76A8B">
       
   141 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   142 <tbody>
       
   143 <row>
       
   144 <entry><p> <b>Enum</b>  </p> </entry>
       
   145 <entry><p> <b>Description</b>  </p> </entry>
       
   146 </row>
       
   147 <row>
       
   148 <entry><p> <codeph>EAutoFocusTypeOff</codeph>  </p> </entry>
       
   149 <entry><p>Autofocus is switched off.</p> </entry>
       
   150 </row>
       
   151 <row>
       
   152 <entry><p> <codeph>EAutoFocusTypeSingle</codeph>  </p> </entry>
       
   153 <entry><p>Operates on a single shot, consumes less power. </p> </entry>
       
   154 </row>
       
   155 <row>
       
   156 <entry><p> <codeph>EAutoFocusTypeContinuous</codeph>  </p> </entry>
       
   157 <entry><p>Continuous autofocus, more precise but consumes more power. This
       
   158 is also known as AF Servo. </p> </entry>
       
   159 </row>
       
   160 </tbody>
       
   161 </tgroup>
       
   162 </table> <p>The following example shows how to change the autofocus type: </p> <codeblock id="GUID-9FE120BA-04B9-58A4-A319-B820F3274066" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TAutoFocusType focusType = CCamera::CCameraAdvancedSettings::EAutoFocusTypeOff;
    34     
   163     
    35     // Gets the supported focus types
   164     // Gets the supported focus types
    36     TInt suppFocusTypes = settings-&gt;SupportedAutoFocusTypes();
   165     TInt suppFocusTypes = settings-&gt;SupportedAutoFocusTypes();
    37     
   166     
    38     // Checks if the focus type is supported before setting it.
   167     // Checks if the focus type is supported before setting it.
    39     if (focusType &amp; suppFocusTypes)
   168     if (focusType &amp; suppFocusTypes)
    40         {
   169         {
    41         // Sets the focus type if it is supported
   170         // Sets the focus type if it is supported
    42         settings-&gt;SetAutoFocusType(focusType);
   171         settings-&gt;SetAutoFocusType(focusType);
    43         }</codeblock> <p>The result of <xref href="GUID-75DE7509-68C6-3A14-BDFF-648DA0B608B0.dita"><apiname>SetAutoFocusType</apiname></xref> is notified to the client asynchronously through <xref href="GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F.dita#GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F/GUID-AA5629D4-6228-3EAE-86DB-CE8A735557B0"><apiname>MCameraObserver2::HandleEvent()</apiname></xref> and with uid <xref href="GUID-7114AB87-6D96-398B-8ABF-A5E9883EB6BD.dita"><apiname>KUidECamEventCameraSettingAutoFocusType2</apiname></xref>. </p> <p id="GUID-6A1C1EAC-092F-59FE-B0FA-74991872A42D"><b> Drive modes</b> </p> <p>Get the supported drive modes for the camera using the enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-44BD2C6E-A58B-36F6-8C31-109330FC6D40"><apiname>CCamera::CCameraAdvancedSettings::TDriveMode</apiname></xref> that determines how and in what succession images are captured. This defines eight supported drive modes for the camera with the following Enum Values: </p> <table id="GUID-4D90CBA3-7721-5785-92C2-282EE7996588"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum Value</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-8B34CD7E-04C5-3EF4-9743-BF1BC8B9AD64.dita"><apiname>EDriveModeAuto</apiname></xref>  </p> </entry> <entry><p>Automatic </p> </entry> </row> <row><entry><p> <xref href="GUID-737A7DBE-7556-3FC8-968C-6770A0A59EFC.dita"><apiname>EDriveModeSingleShot</apiname></xref>  </p> </entry> <entry><p>Camera takes a single image or shot </p> </entry> </row> <row><entry><p> <xref href="GUID-AFDA6C4B-6400-381B-882D-2E1441C61EA7.dita"><apiname>EDriveModeContinuous</apiname></xref>  </p> </entry> <entry><p>Camera continuously captures images as fast as it can until it is stopped or it exceeds the storage space. </p> </entry> </row> <row><entry><p> <xref href="GUID-2F0BC93F-C2FF-324B-A108-94CC27BF1931.dita"><apiname>EDriveModeBracket</apiname></xref>  </p> </entry> <entry><p>Camera is in bracketing mode, producing individual frames. </p> </entry> </row> <row><entry><p> <xref href="GUID-EFFDEF7C-BE5F-376C-8819-F3CA49E7EAA7.dita"><apiname>EDriveModeBracketMerge</apiname></xref>  </p> </entry> <entry><p>Camera is in bracketing mode, but producing a single image. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-45C51172-F35D-3EAE-BD1E-FDFBEC99108D"><apiname>CCamera::CCameraAdvancedSettings::SetBracketMerge</apiname></xref> method to work in this drive mode. </p> </entry> </row> <row><entry><p> <xref href="GUID-FFE93DB5-A36F-34ED-9B8B-0CF01BC9CDA8.dita"><apiname>EDriveModeTimed</apiname></xref>  </p> </entry> <entry><p>Camera captures a single shot after specified time period. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-03A1C480-F9C6-3130-9A51-4080A3745972"><apiname>CCamera::CCameraAdvancedSettings::SetTimerInterval</apiname></xref> method to work in this drive mode. </p> </entry> </row> <row><entry><p> <xref href="GUID-A282F7BF-9D7D-37D1-94C1-5976389A6BC4.dita"><apiname>EDriveModeTimeLapse</apiname></xref>  </p> </entry> <entry><p>Camera captures a set of images with an uniform interval between them. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-FB2F1372-FFF6-3FA1-9094-6C5D1841E154"><apiname>CCamera::CCameraAdvancedSettings::SetTimeLapse</apiname></xref> method to work in this drive mode. </p> </entry> </row> <row><entry><p> <xref href="GUID-E4CF7578-2E5B-3DDB-91B3-7EA5AEF9FCAE.dita"><apiname>EDriveModeBurst</apiname></xref>  </p> </entry> <entry><p>Camera captures a set of images as fast as it can in batches or bursts. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-62E2D492-5FFD-396E-B192-AF4A4B1E3807"><apiname>CCamera::CCameraAdvancedSettings::SetBurstImages</apiname></xref> method to set the number of burst images before capturing the image. </p> <p> <b>Note</b>: There are chances that the actual number of images captured may be less important due to memory or image size limitations. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following example shows how to change the drive mode: </p> <codeblock id="GUID-9FB24CA2-8107-560F-80DA-4ACDE5E93049" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TDriveMode driveMode = CCamera::CCameraAdvancedSettings::EDriveModeSingleShot;
   172         }</codeblock> <p>The result of <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-668C3353-AC24-39D9-BED8-0AB1E813FD53"><apiname>CCamera::CCameraAdvancedSettings::SetAutoFocusType(TAutoFocusType
       
   173 aAutoFocusType)</apiname></xref> is notified to the client asynchronously through <codeph>MCameraObserver2::HandleEvent()</codeph> and
       
   174 with uid <codeph>KUidECamEventCameraSettingAutoFocusType2</codeph>. </p><p>For
       
   175 more information on how to easily use the device camera with zoom and autofocus,
       
   176 see <xref href="GUID-55BF8452-F9FF-5CF3-9D74-3BC7F5447551.dita">S60 Platform: Camera
       
   177 Example</xref>. The Camera Wrapper provides a unified interface for various
       
   178 Symbian camera APIs. The example application supports the use of both the
       
   179 keypad and touch UI. The application can be self-signed, but it also provides
       
   180 an option to use the dedicated camera key (Symbian signing required).</p> <p id="GUID-6A1C1EAC-092F-59FE-B0FA-74991872A42D"><b> Drive modes</b> </p> <p>Get
       
   181 the supported drive modes for the camera using the enumerated type <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-8A12E8C7-6930-3BFA-B543-C1984CA7AC47"><apiname>CCamera::CCameraAdvancedSettings:TDriveMode</apiname></xref> that
       
   182 determines how and in what succession images are captured. This defines eight
       
   183 supported drive modes for the camera with the following Enum Values: </p> <table id="GUID-4D90CBA3-7721-5785-92C2-282EE7996588">
       
   184 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   185 <tbody>
       
   186 <row>
       
   187 <entry><p> <b>Enum Value</b>  </p> </entry>
       
   188 <entry><p> <b>Description</b>  </p> </entry>
       
   189 </row>
       
   190 <row>
       
   191 <entry><p> <codeph>EDriveModeAuto</codeph>  </p> </entry>
       
   192 <entry><p>Automatic </p> </entry>
       
   193 </row>
       
   194 <row>
       
   195 <entry><p> <codeph>EDriveModeSingleShot</codeph>  </p> </entry>
       
   196 <entry><p>Camera takes a single image or shot </p> </entry>
       
   197 </row>
       
   198 <row>
       
   199 <entry><p> <codeph>EDriveModeContinuous</codeph>  </p> </entry>
       
   200 <entry><p>Camera continuously captures images as fast as it can until it is
       
   201 stopped or it exceeds the storage space. </p> </entry>
       
   202 </row>
       
   203 <row>
       
   204 <entry><p> <codeph>EDriveModeBracket</codeph>  </p> </entry>
       
   205 <entry><p>Camera is in bracketing mode, producing individual frames. </p> </entry>
       
   206 </row>
       
   207 <row>
       
   208 <entry><p> <codeph>EDriveModeBracketMerge</codeph>  </p> </entry>
       
   209 <entry><p>Camera is in bracketing mode, but producing a single image. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-2E5A785B-A468-3BD9-9F69-DEC6057F0EF2"><apiname>CCamera::CCameraAdvancedSettings::SetBracketMerge(TInt
       
   210 aStartIndex, TInt aFrames)</apiname></xref> method to work in this drive mode. </p> </entry>
       
   211 </row>
       
   212 <row>
       
   213 <entry><p> <codeph>EDriveModeTimed</codeph>  </p> </entry>
       
   214 <entry><p>Camera captures a single shot after specified time period. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-D730C647-E4B8-3115-AFDF-1F327CF1F978"><apiname>CCamera::CCameraAdvancedSettings::SetTimerInterval(TInt
       
   215 aTimerInterval)</apiname></xref> method to work in this drive mode. </p> </entry>
       
   216 </row>
       
   217 <row>
       
   218 <entry><p> <codeph>EDriveModeTimeLapse</codeph>  </p> </entry>
       
   219 <entry><p>Camera captures a set of images with an uniform interval between
       
   220 them. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-B1DCD5D8-873A-34CF-B576-719A20798D79"><apiname>CCamera::CCameraAdvancedSettings::SetTimeLapse(const TTime&amp;
       
   221 aStart, const TTime&amp; aEnd, const TTime&amp; aInterval)</apiname></xref> method
       
   222 to work in this drive mode. </p> </entry>
       
   223 </row>
       
   224 <row>
       
   225 <entry><p> <codeph>EDriveModeBurst</codeph>  </p> </entry>
       
   226 <entry><p>Camera captures a set of images as fast as it can in batches or
       
   227 bursts. Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-4B4E2FA2-68CA-33F0-AB76-9731D92B51D6"><apiname>CCamera::CCameraAdvancedSettings::SetBurstImages(TInt
       
   228 aImages)</apiname></xref> method to set the number of burst images before capturing
       
   229 the image. </p> <p> <b>Note</b>: There are chances that the actual number
       
   230 of images captured may be less important due to memory or image size limitations. </p> </entry>
       
   231 </row>
       
   232 </tbody>
       
   233 </tgroup>
       
   234 </table> <p>The following example shows how to change the drive mode: </p> <codeblock id="GUID-9FB24CA2-8107-560F-80DA-4ACDE5E93049" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TDriveMode driveMode = CCamera::CCameraAdvancedSettings::EDriveModeSingleShot;
    44     
   235     
    45     // Gets the supported drive modes
   236     // Gets the supported drive modes
    46     TInt suppDriveModes = settings-&gt;SupportedDriveModes();
   237     TInt suppDriveModes = settings-&gt;SupportedDriveModes();
    47     
   238     
    48     // Checks if the drive mode is supported before setting it.
   239     // Checks if the drive mode is supported before setting it.
    49     if (driveMode &amp; suppDriveModes) 
   240     if (driveMode &amp; suppDriveModes) 
    50         {
   241         {
    51         // Sets the drive mode
   242         // Sets the drive mode
    52         settings-&gt;(driveMode);
   243         settings-&gt;(driveMode);
    53         }</codeblock> <p>The result of <xref href="GUID-FD18B529-8E01-30EA-A604-F2EAB3F0B14B.dita"><apiname>SetDriveMode</apiname></xref> is notified to the client asynchronously through <xref href="GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F.dita#GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F/GUID-AA5629D4-6228-3EAE-86DB-CE8A735557B0"><apiname>MCameraObserver2::HandleEvent()</apiname></xref> and with uid <xref href="GUID-AD1D5E76-4DE1-3D07-9D6F-3B78A27E02C2.dita"><apiname>KUidECamEventCameraSettingDriveMode</apiname></xref>. </p> <p id="GUID-C3CB9300-39D5-5891-8E13-2DDFEFD0D695"><b>Bracket modes</b> </p> <p>Bracket mode is a type of drive mode, which is called using <xref href="GUID-2F0BC93F-C2FF-324B-A108-94CC27BF1931.dita"><apiname>EDriveModeBracket</apiname></xref> method. </p> <p>Bracket mode involves the camera taking a sequence of pictures, while automatically varying a camera setting, such as exposure, over a range of values. The enumerated type <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-BFFB0B95-7F4F-3621-B912-44C8D9FD2FB8"><apiname>CCamera::CCameraAdvancedSettings::TBracketMode</apiname></xref> defines three supported bracket modes for the camera. The setting that is varied is called the bracket parameter, and is represented by the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-99390FB0-7255-3D11-A060-CFB3F760AB88"><apiname>CCamera::CCameraAdvancedSettings::TBracketParameter</apiname></xref> enumeration, while the scale of the change to the setting to make for each new picture is called the bracket step, and is represented by the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-7614DD87-7E47-3B79-BEDD-0BC1E1D25732"><apiname>CCamera::CCameraAdvancedSettings::TBracketStep</apiname></xref> enumeration. The possible bracket modes are: </p> <table id="GUID-0A4D293B-F3F0-5FC4-A29D-D180CE4FF947"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum Value</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p> <xref href="GUID-3D4DBEAF-C64B-3C60-B354-E7F1B93B0C8B.dita"><apiname>EBracketModeOff</apiname></xref>  </p> </entry> <entry><p>Bracket mode is switched off. This is the default value. </p> </entry> </row> <row><entry><p> <xref href="GUID-6206412B-7F08-33D1-9F19-0EE8167474AE.dita"><apiname>EBracketMode3Image</apiname></xref>  </p> </entry> <entry><p>Bracket mode on. Three consecutive pictures are taken in order, with the setting at under (-1), on (0), and over (+1). </p> </entry> </row> <row><entry><p> <xref href="GUID-40BA0BC3-1E12-340F-B3E8-4878B6DFA1D9.dita"><apiname>EBracketMode5Image</apiname></xref>  </p> </entry> <entry><p>Bracket mode on. Five consecutive pictures are taken in order, with the setting at under (-2), under (-1), on (0), over (+1), and over (+2). </p> </entry> </row> </tbody> </tgroup> </table> <p>The following example shows how to change the bracket mode: </p> <codeblock id="GUID-381BFE03-77E1-555B-9389-ACDC97DA7261" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TBracketMode bracketMode = CCamera::CCameraAdvancedSettings::EBracketMode3Image;
   244         }</codeblock> <p>The result of <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-00B45E4F-AB03-3523-A0AB-2D766F34B021"><apiname>CCamera::CCameraAdvancedSettings::SetDriveMode(TDriveMode
       
   245 aDriveMode)</apiname></xref> is notified to the client asynchronously through <codeph>MCameraObserver2::HandleEvent()</codeph> and
       
   246 with uid <codeph>KUidECamEventCameraSettingDriveMode</codeph>. </p> <p id="GUID-C3CB9300-39D5-5891-8E13-2DDFEFD0D695"><b>Bracket
       
   247 modes</b> </p> <p>Bracket mode is a type of drive mode, which is called using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-38F5BF2D-2B72-33F7-803A-274DA455CAD5"><apiname>CCamera::CCameraAdvancedSettings::EDriveModeBracket</apiname></xref>. </p> <p>Bracket mode involves the camera taking a sequence of pictures,
       
   248 while automatically varying a camera setting, such as exposure, over a range
       
   249 of values. The enumerated type <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-8AFEA294-03F8-3E1F-8745-1597B417FB87"><apiname>CCamera::CCameraAdvancedSettings:TBracketMode</apiname></xref> defines
       
   250 three supported bracket modes for the camera. The setting that is varied is
       
   251 called the bracket parameter, and is represented by the <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-9982989C-660D-3D16-B3EB-36ED285A6C5B"><apiname>CCamera::CCameraAdvancedSettings:TBracketParameter</apiname></xref> enumeration,
       
   252 while the scale of the change to the setting to make for each new picture
       
   253 is called the bracket step, and is represented by the <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-B37822DF-182E-3829-9E76-807CAA76F160"><apiname>CCamera::CCameraAdvancedSettings:TBracketStep</apiname></xref> enumeration.
       
   254 The possible bracket modes are: </p> <table id="GUID-0A4D293B-F3F0-5FC4-A29D-D180CE4FF947">
       
   255 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   256 <tbody>
       
   257 <row>
       
   258 <entry><p> <b>Enum Value</b>  </p> </entry>
       
   259 <entry><p> <b>Description</b>  </p> </entry>
       
   260 </row>
       
   261 <row>
       
   262 <entry><p> <codeph>EBracketModeOff</codeph>  </p> </entry>
       
   263 <entry><p>Bracket mode is switched off. This is the default value. </p> </entry>
       
   264 </row>
       
   265 <row>
       
   266 <entry><p> <codeph>EBracketMode3Image</codeph>  </p> </entry>
       
   267 <entry><p>Bracket mode on. Three consecutive pictures are taken in order,
       
   268 with the setting at under (-1), on (0), and over (+1). </p> </entry>
       
   269 </row>
       
   270 <row>
       
   271 <entry><p> <codeph>EBracketMode5Image</codeph>  </p> </entry>
       
   272 <entry><p>Bracket mode on. Five consecutive pictures are taken in order, with
       
   273 the setting at under (-2), under (-1), on (0), over (+1), and over (+2). </p> </entry>
       
   274 </row>
       
   275 </tbody>
       
   276 </tgroup>
       
   277 </table> <p>The following example shows how to change the bracket mode: </p> <codeblock id="GUID-381BFE03-77E1-555B-9389-ACDC97DA7261" xml:space="preserve">    CCamera::CCameraAdvancedSettings::TBracketMode bracketMode = CCamera::CCameraAdvancedSettings::EBracketMode3Image;
    54     
   278     
    55     // Gets the supported bracket modes
   279     // Gets the supported bracket modes
    56     TInt suppBracketModes = settings-&gt;SupportedBracketModes();
   280     TInt suppBracketModes = settings-&gt;SupportedBracketModes();
    57     
   281     
    58     // Checks if the bracket mode is supported before setting it.
   282     // Checks if the bracket mode is supported before setting it.
    59     if (bracketMode &amp; suppBracketModes) 
   283     if (bracketMode &amp; suppBracketModes) 
    60         {
   284         {
    61         settings-&gt;SetBracketMode(bracketMode);    
   285         settings-&gt;SetBracketMode(bracketMode);    
    62         }</codeblock> <p><b>Zoom Mode</b> </p> <p>The high level steps to perform various operations in zoom mode are listed below: </p> <ul><li id="GUID-0F61E199-4297-505B-BC1F-D6F5FE6B073B"><p>Get the continuous zoom types supported by the camera using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-A9D173CE-D76E-38A3-8F86-DE6215761BEF"><apiname>CCamera::CCameraAdvancedSettings::GetSupportedContinuousZoomTypeL</apiname></xref> method. </p> </li> <li id="GUID-CAB0F4ED-DFFD-5C8B-B6E0-0B232CDCDD27"><p>Start continuous zoom using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-A1ED1C7B-D09B-362A-ABAB-0793B2D57E19"><apiname>CCamera::CCameraAdvancedSettings::StartContinuousZoomL()</apiname></xref> method with specified continuous zoom type and the zoom direction. </p> </li> <li id="GUID-03EFA212-975F-5A77-BAFE-C410C015EC18"><p>Notify the client about the extent of continuous zoom achieved using event <xref href="GUID-737C1562-BAFA-3B6D-ABE5-98272DD91C32.dita"><apiname>KUidECamEvent2CameraSettingContinuousZoomPercentageCompletion</apiname></xref>. When continuous zoom reached its limit, notify the client using event <xref href="GUID-C3FFA191-0F6C-3E5B-A606-17E2CB64B623.dita"><apiname>KUidECamEventCameraSettingContinuousZoomReachedLimit</apiname></xref>. </p> </li> <li id="GUID-710E7302-2333-51DC-820D-7F05E8CE5A36"><p>Stop continuous zoom using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-1EA4029D-502F-378E-8E6B-0D15D9C98031"><apiname>CCamera::CCameraAdvancedSettings::StopContinuousZoom()</apiname></xref> method. </p> </li> </ul> <p><b>Extending Pixel Aspect Ratio</b> </p> <p>You can use the pixel aspect ratio to provide settings for PAL, NTSC and NTSC4:3. For this, you need to extend the enumeration of Enum <xref href="GUID-5AD70A40-E28A-3272-8196-0B32F370D6A5.dita"><apiname>TPixelAspectRatio</apiname></xref> as follows: </p> <table id="GUID-DD24C53C-8C60-5EAF-9B7A-05A3A34018F3"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><tbody><row><entry><p> <b>Enum Value</b>  </p> </entry> <entry><p> <b>Description</b>  </p> </entry> </row> <row><entry><p>TPixelAspectRatio:: EEPixelAspect16:11 </p> </entry> <entry><p>PAL </p> </entry> </row> <row><entry><p>TPixelAspectRatio:: EEPixelAspect40:33 </p> </entry> <entry><p>NTSC </p> </entry> </row> <row><entry><p>TPixelAspectRatio:: EEPixelAspect10:11 </p> </entry> <entry><p>NTSC4:3 </p> </entry> </row> </tbody> </tgroup> </table> <p>Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-429847B5-ED64-39BB-9094-A966BDF1796F"><apiname>CCamera::CCameraAdvancedSettings::PixelAspectRatio()</apiname></xref> method to get the current pixel aspect ratio. </p> <p>Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-DCA3E3CB-11A4-362B-911D-55D3A4DCDAB0"><apiname>CCamera::CCameraAdvancedSettings::SetPixelAspectRatio()</apiname></xref> method to set the pixel aspect ratio. Notify <xref href="GUID-09C6DDB6-A208-3C81-9F54-697D4865D99F.dita"><apiname>MCameraObserver2</apiname></xref> clients with <xref href="GUID-778E500B-F707-303B-8B33-C864D36DE21B.dita"><apiname>KUidECamEventPixelAspectRatio</apiname></xref> event. </p> </section> <section><title>Miscellaneous</title> <p>This section details the miscellaneous APIs used in <xref href="GUID-67DF1203-B840-3C25-8EB5-3F0C8F28A4FF.dita"><apiname>CCameraAdvancedSettings</apiname></xref> class. </p> <ul><li id="GUID-95245D67-3B97-52CE-B0E5-40C8143BB63A"><p> <b> ISO rates </b>: ISO indicates the sensitivity of the image sensor and is also a parameter that influences the exposure. </p> <ul><li id="GUID-8376DD53-898A-5CB2-A580-681A14707207"><p>Get the set of camera supported ISO rates using the<xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-E77ED144-D7AE-3362-B89E-46BB2675E75B"><apiname>CCamera::CCameraAdvancedSettings::GetSupportedIsoRatesL()</apiname></xref> method. The Enum value <xref href="GUID-ACE75271-9B07-3E1A-9FFA-22F3E6CA2432.dita"><apiname>TISORateType</apiname></xref> specifies the ISO type supported by the camera. </p> </li> <li id="GUID-5DBE8988-FE71-54C3-80DD-A72DEA495F20"><p>When camera device does not reveal the ISO supported rates, it has to be assumed that camera will work only on the permanently set value. If this value is not known, returns empty array and corresponding getter or setters for this feature should not be used in such a case. </p> </li> <li id="GUID-1F3848E6-6763-591A-9514-091ECEBFBAD0"><p>Set the type of ISO rate and the exposure parameter or specific value using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-2910866C-5AB0-30D8-85D3-2A9C4C517AA2"><apiname>CCamera::CCameraAdvancedSettings::SetISORateL()</apiname></xref> method. </p> </li> <li id="GUID-60604442-D930-5C55-8D2F-F23C891A6590"><p>Get the type of ISO rate, exposure parameter and the value set using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-5636230D-DDF3-3E72-AB2A-DDAD3886AD26"><apiname>CCamera::CCameraAdvancedSettings::GetISORateL()</apiname></xref> method. </p> </li> <li id="GUID-5BEE22FB-1B43-5B83-ABA9-E9BEEA17D30F"><p>Get current ISO rate using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-3886CD52-B71A-31AC-A6BA-20CBE93A3965"><apiname>CCamera::CCameraAdvancedSettings::IsoRate()</apiname></xref>. </p> </li> </ul> </li> <li id="GUID-963323CA-0ABE-5DDF-A0C9-6667FD98D20B"><p>Get current aperture value using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-D383977E-EC59-37CA-9F23-440EC5CCF1CC"><apiname>CCamera::CCameraAdvancedSettings::Aperture()</apiname></xref>. For example, the function returns 280 for the actual aperture of F2.8. If the value returned is Negative, indicates the error case (system wide error code) and positive represents the current aperture value. </p> </li> <li id="GUID-B8F1D3F3-64AB-53B6-B836-36899A5806EC"><p>Get the current shutter speed in microseconds using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-7D10B49C-98D3-3AD9-A3AF-26A2AB40EA40"><apiname>CCamera::CCameraAdvancedSettings::ShutterSpeed()</apiname></xref>. If the value returned is Negative, indicates the error case (system wide error code) and positive represents the current shutter speed. </p> </li> <li id="GUID-C7ECE3F7-F3A9-5397-B745-AFA20F8D8DC4"><p>Get all supported metering modes on this camera using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-FAA5F5AE-63CE-3FAA-8C44-9755A3A2CB46"><apiname>CCamera::CCameraAdvancedSettings::SupportedMeteringModes()</apiname></xref>. </p> </li> <li id="GUID-E3E794F1-2773-5C10-8EF1-ED7538C4CFE1"><p>Get all supported drive modes as bitfields of <xref href="GUID-FAF63EED-08F8-3374-AFF6-4FBD6F17CD3F.dita"><apiname>TDriveMode</apiname></xref> type using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-B80036F6-E8AA-3602-B006-407F3A38EB78"><apiname>CCamera::CCameraAdvancedSettings::SupportedDriveModes()</apiname></xref>. </p> </li> <li id="GUID-D2CDDC69-DDA0-5682-852D-EB984B84F6A5"><p>Get the currently set flash mode using <xref href="GUID-F2F1CCCF-53DF-3297-B8E0-C5C3E52EF24F.dita#GUID-F2F1CCCF-53DF-3297-B8E0-C5C3E52EF24F/GUID-27F0A794-78A7-3318-9D99-B74DEF131795"><apiname>CCamera::TFlash
   286         }</codeblock> <p><b>Zoom Mode</b> </p> <p>The high level steps to
    63                 CCamera::CCameraAdvancedSettings::FlashMode()</apiname></xref>. </p> </li> </ul> </section> <section><title>See also</title> <p><xref href="GUID-176913BA-3877-58E2-9E12-3606EE697813.dita">Overview</xref> for the advanced settings of Camera </p> <p>The <xref href="GUID-0FD204B8-4207-577B-AF3A-6E210D63F78E.dita">Advanced Camera Settings</xref> tutorial </p> </section> </conbody></concept>
   287 perform various operations in zoom mode are listed below: </p> <ul>
       
   288 <li id="GUID-0F61E199-4297-505B-BC1F-D6F5FE6B073B"><p>Get the continuous zoom
       
   289 types supported by the camera using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-6B95F570-6FAC-38C0-98D8-32F2A759CAB6"><apiname>CCamera::CCameraAdvancedSettings::GetSupportedContinuousZoomTypeL(TUint&amp;
       
   290 aSupportedContinuousZoomType) const</apiname></xref> method. </p> </li>
       
   291 <li id="GUID-CAB0F4ED-DFFD-5C8B-B6E0-0B232CDCDD27"><p>Start continuous zoom
       
   292 using <xref href="GUID-2A98C0B4-DBA4-32B9-B35D-8CFF69A0313C.dita#GUID-2A98C0B4-DBA4-32B9-B35D-8CFF69A0313C/GUID-59D734B0-15D2-39CB-A089-F468D81AAB22"><apiname>CCamera::CCameraAdvancedSettings::StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters
       
   293 aContinuousZoomParameters)()</apiname></xref> method with specified continuous zoom
       
   294 type and the zoom direction. </p> </li>
       
   295 <li id="GUID-03EFA212-975F-5A77-BAFE-C410C015EC18"><p>Notify the client about
       
   296 the extent of continuous zoom achieved using event <codeph>KUidECamEvent2CameraSettingContinuousZoomPercentageCompletion</codeph>.
       
   297 When continuous zoom reached its limit, notify the client using event <codeph>KUidECamEventCameraSettingContinuousZoomReachedLimit</codeph>. </p> </li>
       
   298 <li id="GUID-710E7302-2333-51DC-820D-7F05E8CE5A36"><p>Stop continuous zoom
       
   299 using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-1EA4029D-502F-378E-8E6B-0D15D9C98031"><apiname>CCamera::CCameraAdvancedSettings::StopContinuousZoom()</apiname></xref> method. </p> </li>
       
   300 </ul> <p><b>Extending Pixel Aspect Ratio</b> </p> <p>You can use the pixel
       
   301 aspect ratio to provide settings for PAL, NTSC and NTSC4:3. For this, you
       
   302 need to extend the enumeration of enum <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-D97EB1D7-8C88-3A0C-BCB4-8EA01CF20C4E"><apiname>CCamera::CCameraAdvancedSettings:TPixelAspectRatio</apiname></xref> as
       
   303 follows: </p> <table id="GUID-DD24C53C-8C60-5EAF-9B7A-05A3A34018F3">
       
   304 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
   305 <tbody>
       
   306 <row>
       
   307 <entry><p> <b>Enum Value</b>  </p> </entry>
       
   308 <entry><p> <b>Description</b>  </p> </entry>
       
   309 </row>
       
   310 <row>
       
   311 <entry><p><codeph>TPixelAspectRatio::EEPixelAspect16:11 </codeph></p> </entry>
       
   312 <entry><p>PAL </p> </entry>
       
   313 </row>
       
   314 <row>
       
   315 <entry><p><codeph>TPixelAspectRatio::EEPixelAspect40:33</codeph> </p> </entry>
       
   316 <entry><p>NTSC </p> </entry>
       
   317 </row>
       
   318 <row>
       
   319 <entry><p><codeph>TPixelAspectRatio::EEPixelAspect10:11</codeph> </p> </entry>
       
   320 <entry><p>NTSC4:3 </p> </entry>
       
   321 </row>
       
   322 </tbody>
       
   323 </tgroup>
       
   324 </table> <p>Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-429847B5-ED64-39BB-9094-A966BDF1796F"><apiname>CCamera::CCameraAdvancedSettings::PixelAspectRatio()</apiname></xref> method
       
   325 to get the current pixel aspect ratio. </p> <p>Use <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-F92198EA-8E1B-3C2A-A1CE-DED77112AA72"><apiname>CCamera::CCameraAdvancedSettings::SetPixelAspectRatio(TPixelAspectRatio
       
   326 aPixelAspectRatio)</apiname></xref> method to set the pixel aspect ratio. Notify <codeph>MCameraObserver2</codeph> clients
       
   327 with <codeph>KUidECamEventPixelAspectRatio</codeph> event. </p> </section>
       
   328 <section id="GUID-A7312910-7CBC-4ADB-BDB6-4EABF809BDB8"><title>Miscellaneous</title> <p>This
       
   329 section details the miscellaneous APIs used in <codeph>CCameraAdvancedSettings</codeph> class. </p> <ul>
       
   330 <li id="GUID-95245D67-3B97-52CE-B0E5-40C8143BB63A"><p> <b> ISO rates </b>:
       
   331 ISO indicates the sensitivity of the image sensor and is also a parameter
       
   332 that influences the exposure. </p> <ul>
       
   333 <li id="GUID-8376DD53-898A-5CB2-A580-681A14707207"><p>Get the set of camera
       
   334 supported ISO rates using the<xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-988DB2DC-9598-3F07-8DA5-1C1005D775C8"><apiname>CCamera::CCameraAdvancedSettings::GetSupportedIsoRatesL(RArray&lt;TInt&gt;&amp;
       
   335 aSupportedIsoRates) const</apiname></xref> method. The enum value <xref href="GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4.dita#GUID-021C509B-C821-3401-B2F4-DE7F52BB16D4/GUID-0CFA8FBA-1EF7-31A3-BD2F-AA26DA953574"><apiname>CCamera::CCameraAdvancedSettings:TISORateType</apiname></xref> specifies
       
   336 the ISO type supported by the camera. </p> </li>
       
   337 <li id="GUID-5DBE8988-FE71-54C3-80DD-A72DEA495F20"><p>When camera device does
       
   338 not reveal the ISO supported rates, it has to be assumed that camera will
       
   339 work only on the permanently set value. If this value is not known, returns
       
   340 empty array and corresponding getter or setters for this feature should not
       
   341 be used in such a case. </p> </li>
       
   342 <li id="GUID-1F3848E6-6763-591A-9514-091ECEBFBAD0"><p>Set the type of ISO
       
   343 rate and the exposure parameter or specific value using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-637DA561-D767-3D28-859C-23E91D22754B"><apiname>CCamera::CCameraAdvancedSettings::SetISORateL(TISORateType
       
   344 aISORateType, TInt aParam)</apiname></xref> method. </p> </li>
       
   345 <li id="GUID-60604442-D930-5C55-8D2F-F23C891A6590"><p>Get the type of ISO
       
   346 rate, exposure parameter and the value set using the <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-A4E38716-4298-34B6-A831-CCCB580D5277"><apiname>CCamera::CCameraAdvancedSettings::GetISORateL(TISORateType&amp;
       
   347 aISORateType, TInt&amp; aParam, TInt&amp; aISORate) const</apiname></xref> method. </p> </li>
       
   348 <li id="GUID-5BEE22FB-1B43-5B83-ABA9-E9BEEA17D30F"><p>Get current ISO rate
       
   349 using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-C652575D-5A50-3527-A56D-0545141A8D3C"><apiname>CCamera::CCameraAdvancedSettings::IsoRate() const</apiname></xref>. </p> </li>
       
   350 </ul> </li>
       
   351 <li id="GUID-963323CA-0ABE-5DDF-A0C9-6667FD98D20B"><p>Get current aperture
       
   352 value using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-4221E82B-B223-3F99-B750-1846C3751425"><apiname>CCamera::CCameraAdvancedSettings::Aperture() const</apiname></xref>.
       
   353 For example, the function returns 280 for the actual aperture of F2.8. If
       
   354 the value returned is negative, indicates the error case (system wide error
       
   355 code) and positive represents the current aperture value. </p> </li>
       
   356 <li id="GUID-B8F1D3F3-64AB-53B6-B836-36899A5806EC"><p>Get the current shutter
       
   357 speed in microseconds using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-742C86DB-2D66-3538-BEBF-A72081F579E5"><apiname>CCamera::CCameraAdvancedSettings::ShutterSpeed()
       
   358 const</apiname></xref>. If the value returned is negative, indicates the error case
       
   359 (system wide error code) and positive represents the current shutter speed. </p> </li>
       
   360 <li id="GUID-C7ECE3F7-F3A9-5397-B745-AFA20F8D8DC4"><p>Get all supported metering
       
   361 modes on this camera using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-57CD617B-C0BD-3338-A8D1-740BA235CF09"><apiname>CCamera::CCameraAdvancedSettings::SupportedMeteringModes()
       
   362 const</apiname></xref>. </p> </li>
       
   363 <li id="GUID-E3E794F1-2773-5C10-8EF1-ED7538C4CFE1"><p>Get all supported drive
       
   364 modes as bitfields of <codeph>TDriveMode</codeph> type using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-8F453942-2CE0-3FD0-AA78-11B0DDA164C7"><apiname>CCamera::CCameraAdvancedSettings::SupportedDriveModes()
       
   365 const</apiname></xref>. </p> </li>
       
   366 <li id="GUID-D2CDDC69-DDA0-5682-852D-EB984B84F6A5"><p>Get the currently set
       
   367 flash mode using <xref href="GUID-E31AEB11-B7A0-3637-BB31-866306F78118.dita#GUID-E31AEB11-B7A0-3637-BB31-866306F78118/GUID-C6CF3333-C7D8-3A8F-B6B0-097E99E387BC"><apiname>CCamera::CCameraAdvancedSettings::FlashMode()</apiname></xref>. </p> </li>
       
   368 </ul> </section>
       
   369 <section id="GUID-C2683A31-5432-4780-B9AF-CB952A0B8087"><title>See also</title> <p><xref href="GUID-176913BA-3877-58E2-9E12-3606EE697813.dita">Overview</xref> for the advanced
       
   370 settings of Camera </p> <p>The <xref href="GUID-0FD204B8-4207-577B-AF3A-6E210D63F78E.dita">Advanced
       
   371 Camera Settings</xref> tutorials. </p><p>The <xref href="GUID-55BF8452-F9FF-5CF3-9D74-3BC7F5447551.dita">S60
       
   372 Platform: Camera Example</xref>.</p> </section>
       
   373 </conbody></concept>