Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License
"Eclipse Public License v1.0" which accompanies this distribution,
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
Nokia Corporation - initial contribution.
Contributors:
-->
<!DOCTYPE concept
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-17C64C2F-9426-4B41-9F0A-23060289D644" xml:lang="en"><title>Multi-touch</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Multi-touch is an enhancement to the touch screen, which provides
the user with the ability to apply elaborate finger gestures onto
the display as commands to the device.</p>
<p>Multi-touch is implemented based on the size and type of interfaces.
When a finger or an object touches the display causing the light to
scatter, the reflection is caught by the sensors. The response for
the touch is sent back based on the type of reflection measured.</p>
<p>Only the devices with multi-touch support have 'Pinch Stroke' as
a touch stroke.</p>
<section id="GUID-7AECBBDD-8583-4555-A2F3-83404CBC64C1"><title>Pinch
Stroke</title>Pinch stroke is invoked by two separate but simultaneously
active touch down events and dragging movements along the line that
goes through both touch down points. On release, the pinch in or pinch
out state is maintained. Pinch stroke can be utilized, for example,
in Photo viewer to zoom in and zoom out.<fig id="GUID-93C93C51-1F0D-4ADE-8FEC-3223B9C9F60B">
<image href="GUID-22498580-E902-4024-921C-F756A8CD58DF_d0e70545_href.png" placement="inline"/>
</fig><p>The following table lists the default touch-events for pinch-stroke:</p><table id="GUID-D5917E40-42B1-461B-8722-C7AD66482078-GENID-1-10-1-6-1-1-6-2-1-5-1-1-6-1-2-4-4"><title>Default
touch events for pinch-stroke</title>
<tgroup cols="3"><colspec colname="col1" colwidth="0.68*"/><colspec colname="col2" colwidth="1.00*"/><colspec colname="col3" colwidth="1.32*"/>
<thead>
<row>
<entry valign="top"><p>User action</p></entry>
<entry valign="top"><p>State change</p></entry>
<entry valign="top"><p>Feedback</p></entry>
</row>
</thead>
<tbody>
<row>
<entry><p>First touch down</p></entry>
<entry><p>No action.</p></entry>
<entry><p>Tactile: <ul>
<li><p>First touch down tactile feedback follows the context-based
feedback. </p></li>
<li><p>Audio feedback is provided with touch down.</p></li>
</ul></p></entry>
</row>
<row>
<entry><p>Second simultaneous touch down</p></entry>
<entry><p>Activates multi-touch mode for the content defined.</p></entry>
<entry><p>Tactile: <ul>
<li><p>When second finger is touched down multi-touch recognition,
two sensitive pulses effect is provided.</p></li>
<li><p>Audio feedback is provided with touch down.</p></li>
</ul></p></entry>
</row>
<row>
<entry><p>Pinch in</p></entry>
<entry><p>Moving the touch points (directly) closer to each other
is recognized as pinch in. Application can use it, for example, for
zooming out a picture. The behavior should be in relation to the speed
and size of the stroke.</p></entry>
<entry><p>Tactile: Smooth pinch effect is provided while moving the
fingers. </p><p>No audio feedback is provided.</p></entry>
</row>
<row>
<entry><p>Pinch out</p></entry>
<entry><p>Moving the touch points (directly) away from each other
is recognized as pinch out. Application can use it, for example, for
zooming in a picture. The behavior should be in relation to the speed
and size of the stroke.</p></entry>
<entry><p>Tactile: Smooth pinch effect is provided while moving the
fingers. </p><p>No audio feedback is provided.</p></entry>
</row>
<row>
<entry><p>Touch release</p></entry>
<entry><p>Releasing one or both fingers stops the pinch.</p></entry>
<entry><p>No tactile or audio feedback given.</p></entry>
</row>
</tbody>
</tgroup>
</table></section>
<section id="GUID-C9D46D3B-B1D0-45C7-8A9F-FCF82653D78F"><title>Using multi-touch in applications</title>For multi-touch,
use classes <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> (which extends <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>). For more information,
see <xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced
pointers</xref> section.</section>
</conbody></concept>