--- a/Symbian3/PDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,88 +1,98 @@
-<?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_d0e98725_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-12-1-7-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>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-17C64C2F-9426-4B41-9F0A-23060289D644" xml:lang="en">
+<title>Mu<?Pub Caret?>ltiple touch</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>Multiple 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>Multiple 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 multiple 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_d0e98725_href.png"
+placement="inline"></image></fig><p>The following table lists the
+default touch-events for pinch-stroke:</p><table
+id="GUID-D5917E40-42B1-461B-8722-C7AD66482078-GENID-1-12-1-7-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 multiple touch mode for the content defined.</p
+></entry>
+<entry><p>Tactile: <ul>
+<li><p>When second finger is touched down, 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
+multiple touch in applications</title>For multiple 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>
+<?Pub *0000004277?>
--- a/Symbian3/PDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,78 +1,84 @@
-<?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-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en"><title>Designing
-applications for touch UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Both touch screens and hybrid devices are supported by Symbian platform.
-Touch screen enables direct manipulation of content and objects, allowing
-for far more natural interaction with the device. This means a completely
-different user experience and interaction style compared to using a hardware
-keypad.</p>
-<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53">
-<image href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e97669_href.png" scale="60" placement="inline"/>
-</fig>
-<p>All applications must be touch-enabled, which means that they can be used
-with the touch screen alone, regardless of the presence of a keypad. In Symbian
-platform-based touch devices, the important hardware keys are Send, End, Multi-tasking
-and Power key.</p>
-<p>The application features must follow the platform support for different
-hardware. When designing a touch-enabled Symbian application, the UI must
-be designed so that everything can be accomplished by using the touch screen
-interface, as the potential target devices may or may not have a hardware
-keyboard. </p>
-<p>The touch UI in the Symbian platform is based on the use of resistive and
-capacitive touch screens. In <b>resistive touch screen</b> technology, two
-conductive and resistive layers are separated by a thin space. When an object
-touches this kind of touch panel, the layers are connected at a certain point,
-and a touch event is registered. This allows efficient stylus control, in
-addition to finger touch - unlike capacitive panels, which usually register
-only finger touch. Additionally, resistive touch screen offers a higher resolution
-and more durability. In <b>capacitive touch screen</b> technology, the panel
-consists of an insulator such as glass, coated with a transparent conductor
-(such as indium tin oxide (ITO)). When an object touches the surface of the
-screen, it results in a distortion of the local electrostatic field, measurable
-as a change in capacitance. Then a touch controller measures the frequency
-variations to ascertain the co-ordinates of the object's touch. Capacitive
-touch screen supports <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multi-touch</xref>.</p>
-<p>The hardware is supported by various:</p>
-<ul>
-<li><p>touch-specific components (see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch
-support for common UI components</xref>)</p></li>
-<li><p>component and UI behavior changes</p></li>
-<li><p>layout changes, and</p></li>
-<li><p>additions to the interaction style.</p></li>
-</ul>
-<p>The touch UI is designed to enable full task flow with touch, with minimal
-need to switch to hardware keys. Thus, the design ensures that users can complete
-a task with the chosen interaction method from start to finish. </p>
-<p>While designing and implementing applications for touch screen devices
-based on the Symbian platform, consider interactions that benefit the most
-from the touch UI. </p>
-<p>If you can apply direct manipulation of the UI, for example when moving
-items from one place to another, or scrolling a page, do not confine the user
-with unnecessary scrollbars or have the user resort to options list commands.</p>
-<p>Instead, enable the user to view pages larger than a screen by panning
-them directly, and dragging and dropping items rather than marking them and
-using menu options. </p>
-<ul>
-<li><p>Remember that the most intuitive touch screen interactions that can
-be performed using a finger are tapping, stroking up/down/left/right, and
-the long tap. </p></li>
-<li><p>Utilize strokes that are easily discovered to the users in the given
-context. It should be explicit to the user where strokes can be performed. </p></li>
-<li><p>Design to ensure that users can complete a task with the same interaction
-method from start to finish - touch or hardware keys, stylus, or finger, and
-using one hand or both hands. </p></li>
-<li><p>Aim to optimize system performance and battery consumption to provide
-a fluid and reliable touch user experience. </p></li>
-</ul>
-<p><b>See Also</b>:</p>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en">
+<title>Designing applications for touch UI</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>Both touch screens and hybrid devices are supported by Symbian
+platform. Touch screen enables direct manipulation of content and
+objects, allowing for far more natural interaction with the device.
+This means a completely different user experience and interaction
+style compared to using a hardware keypad.</p>
+<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53"><image
+href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e97669_href.png"
+placement="inline" scale="60"></image></fig>
+<p>All applications must be touch-enabled, which means that they can
+be used with the touch screen alone, regardless of the presence of
+a keypad. In Symbian platform-based touch devices, the important hardware
+keys are Send, End, Multi-tasking and Power key.</p>
+<p>The application features must follow the platform support for different
+hardware. When designing a touch-enabled Symbian application, the
+UI must be designed so that everything can be accomplished by using
+the touch screen interface, as the potential target devices may or
+may not have a hardware keyboard. </p>
+<p>The touch UI in the Symbian platform is based on the use of resistive
+and capacitive touch screens. In <b>resistive touch screen</b> technology,
+two conductive and resistive layers are separated by a thin space.
+When an object touches this kind of touch panel, the layers are connected
+at a certain point, and a touch event is registered. This allows efficient
+stylus control, in addition to finger touch - unlike capacitive panels,
+which usually register only finger touch. Additionally, resistive
+touch screen offers a higher resolution and more durability. In <b
+>capacitive touch screen</b> technology, the panel consists of an
+insulator such as glass, coated with a transparent conductor (such
+as indium tin oxide (ITO)). When an object touches the surface of
+the screen, it results in a distortion of the local electrostatic
+field, measurable as a change in capacitance. Then a touch controller
+measures the frequency variations to ascertain the co-ordinates of
+the object's touch. Capacitive touch screen supports <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multiple <?Pub
+Caret?>touch</xref>.</p>
+<p>The hardware is supported by various:</p>
+<ul>
+<li><p>touch-specific components (see <xref
+href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
+for common UI components</xref>)</p></li>
+<li><p>component and UI behavior changes</p></li>
+<li><p>layout changes, and</p></li>
+<li><p>additions to the interaction style.</p></li>
+</ul>
+<p>The touch UI is designed to enable full task flow with touch, with
+minimal need to switch to hardware keys. Thus, the design ensures
+that users can complete a task with the chosen interaction method
+from start to finish. </p>
+<p>While designing and implementing applications for touch screen
+devices based on the Symbian platform, consider interactions that
+benefit the most from the touch UI. </p>
+<p>If you can apply direct manipulation of the UI, for example when
+moving items from one place to another, or scrolling a page, do not
+confine the user with unnecessary scrollbars or have the user resort
+to options list commands.</p>
+<p>Instead, enable the user to view pages larger than a screen by
+panning them directly, and dragging and dropping items rather than
+marking them and using menu options. </p>
+<ul>
+<li><p>Remember that the most intuitive touch screen interactions
+that can be performed using a finger are tapping, stroking up/down/left/right,
+and the long tap. </p></li>
+<li><p>Utilize strokes that are easily discovered to the users in
+the given context. It should be explicit to the user where strokes
+can be performed. </p></li>
+<li><p>Design to ensure that users can complete a task with the same
+interaction method from start to finish - touch or hardware keys,
+stylus, or finger, and using one hand or both hands. </p></li>
+<li><p>Aim to optimize system performance and battery consumption
+to provide a fluid and reliable touch user experience. </p></li>
+</ul>
+<p><b>See Also</b>:</p>
+</conbody>
+</concept>
+<?Pub *0000004437?>
--- a/Symbian3/PDK/Source/GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,37 +1,42 @@
-<?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-2C0C173D-C659-4011-8B7A-8EB35E64D150" xml:lang="en"><title>Touch
-gestures</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The touch gestures (finger movements on the device display area) are interpreted
-using touch gesture framework provided by UI framework. The UI FW listens
-to the pointer events and notifies the client after recognizing the gestures.
-The client can enable listening of desired gestures.</p>
-<p> The touch gesture framework supports the following single touch gestures:<ul>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150" xml:lang="en">
+<title>Touch gestures</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>The touch gestures (finger movements on the device display area)
+are interpreted using touch gesture framework provided by UI framework.
+ The UI FW listens to the pointer events and notifies the client after
+recognizing the gestures. The client can enable listening of desired
+gestures.</p>
+<p> The touch gesture framework supports the following single touch
+gestures:<ul>
<li><p>Tap</p></li>
<li><p>Double tap</p></li>
<li><p>Drag</p></li>
<li><p>Flick</p></li>
<li><p>Swipe (up, down, left and right)</p></li>
-</ul> Gesture Framework can provide swipe speed that can be used as input
-to inertia based effects. Two finger pinch (zoom) multi-touch gesture is also
-recognized.</p>
-<p> Additionally, there is an option to support drag and drop. It is initiated
-by holding the touch position for a short time in the same place. The holding
-mode is active until the user releases the touch. </p>
-<section id="GUID-8E20288C-9B08-484E-8212-040D8B47BC6F"> <title>Using
-touch gestures in C++ applications</title><p>The API to use for recognizing
-touch gestures is Touch Gesture API.</p><p>Touch Gesture Framework contains
-a pointer to a control (derived from <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname></xref>) where
-gestures are recognized. These gestures are reported to the gesture observer.
-Based on the gesture interest set by the gesture observer, <xref href="GUID-C0559E40-20E1-3D2C-A6EF-51F3E80A651E.dita"><apiname>CAknTouchGestureFw</apiname></xref> converts
-the pointer events to the logical gesture.</p></section>
-</conbody></concept>
\ No newline at end of file
+</ul> Gesture Framework can provide swipe speed that can be used as
+input to inertia based effects. Two finger pinch (zoom) multiple <?Pub
+Caret?>touch gesture is also recognized.</p>
+<p> Additionally, there is an option to support drag and drop. It
+is initiated by holding the touch position for a short time in the
+same place. The holding mode is active until the user releases the
+touch. </p>
+<section id="GUID-8E20288C-9B08-484E-8212-040D8B47BC6F"> <title
+>Using touch gestures in C++ applications</title><p>The API to use
+for recognizing touch gestures is Touch Gesture API.</p><p>Touch Gesture
+Framework contains a pointer to a control (derived from <xref
+href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita"><apiname>CCoeControl</apiname
+></xref>) where gestures are recognized. These gestures are reported
+to the gesture observer. Based on the gesture interest set by the
+gesture observer, <xref
+href="GUID-C0559E40-20E1-3D2C-A6EF-51F3E80A651E.dita"><apiname>CAknTouchGestureFw</apiname
+></xref> converts the pointer events to the logical gesture.</p></section>
+</conbody>
+</concept>
+<?Pub *0000001962?>
--- a/Symbian3/PDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,22 +1,25 @@
-<?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-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en"><title>Multi-Touch
-Support in the Emulator</title><shortdesc>This section introduces multi-touch support in the emulator which
-uses multiple mice to simulate human fingers. The multi-touch environment
-in the emulator allows application developers to test their multi-touch related
-UI features when hardware devices are not available.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-</conbody><related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
-Pointers</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en">
+<title>Suppo<?Pub Caret?>rt for Multiple Pointers in the Emulator</title>
+<shortdesc>This section introduces support for multiple pointers in
+the emulator which uses multiple mice to simulate human fingers. The
+multiple pointer environment in the emulator allows application developers
+to test multiple pointer UI features when hardware devices are not
+available.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+</conbody>
+<related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
+>Advanced Pointers</linktext></link>
+</related-links>
+</concept>
+<?Pub *0000001008?>
--- a/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,253 +1,285 @@
-<?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-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"><title>Tactile
-feedback</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>There are two cases where vibration or audio of the device is used as an
-output method:</p>
-<ul>
-<li><p>As a <i>tacticon</i> to inform users through physical feedback, that
-an important event is occurring in the device. For example, when a new message
-arrives or a warning note is displayed.</p></li>
-<li><p>As <i>tactile feedback</i> to indicate to the user that an interaction
-event has been made. For example, users receive tactile feedback when they
-press a button on the touch screen.</p></li>
-</ul>
-<p>As with sounds, tactile feedback must be used carefully so as not to desensitize
-the user to the vibration; the attention grabbing quality remains and functions
-so long as the feedback is not too frequent.</p>
-<p>Tactile feedback is enabled for all the Symbian platform UI components.
-Tactile feedback can be disabled for the common UI components in an application.
-However, this is acceptable only if tactile feedback causes interference with
-other device functions.</p>
-<p>The user can choose the level of tactile feedback and turn tacticons ON
-and OFF.</p>
-<p>The following table lists the tactile feedback effects:</p>
-<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B"><title>Tactile feedback
-effects</title>
-<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec colname="col2" colwidth="1.60*"/>
-<thead>
-<row>
-<entry valign="top"><p>Effects</p></entry>
-<entry valign="top"><p>Description</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p><b>Sensitive button</b></p></entry>
-<entry><p>Provides single pulse effect on repeated key presses with buttons.
-It is also possible with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic button</b></p></entry>
-<entry><p>Provides stronger single pulse effect to buttons. It is also possible
-with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive list</b></p></entry>
-<entry><p>Provides single pulse effect to lists and grids. Effect is used
-with move (drag and flick) when new item appears on the screen.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic list</b></p></entry>
-<entry><p>Provides stronger single pulse effect to lists and grids. Effect
-is used with touch down and release when tap makes an action. </p><p>In hierarchical
-list, collapsing/expanding item provides basic list effect with touch down
-and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Bounce effect</b></p></entry>
-<entry><p>Provides pulse effect when list returns to its normal state after
-boundary effect.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive slider</b></p></entry>
-<entry><p>Provides pulse effect with scrollbar and slider thumbs. Effect is
-provided with touch down and release in thumb area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth slider</b></p></entry>
-<entry><p>Provides continuous smooth feedback when dragging scrollbar or slider
-thumb. This can also be increasing or decreasing depending of the slider type.</p></entry>
-</row>
-<row>
-<entry><p><b>Hold slider</b></p></entry>
-<entry><p>Provides sensitive pulse effect when touch down and hold on the
-slider or scrollbar area. Slider thumb starts moving step by step towards
-the touch point. Every step gives one sensitive pulse. If slider thumb moves
-directly to the touch point, then basic slider effect is provided.</p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up</b></p></entry>
-<entry><p>Provides sensitive pulse effect when pop-up is opened or closed.
-If the theme animations are ON, then pop-up effect is used with opening event
-after increasing long touch effect. In this scenario, there is no pop-up effect
-. <note> All pop-ups do not have theme animation.</note></p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up close</b></p></entry>
-<entry><p>Provides decreasing smooth feedback a pop-up and when theme animations
-are ON.</p></entry>
-</row>
-<row>
-<entry><p><b>Increasing long touch</b></p></entry>
-<entry><p>Provides increasing smooth feedback. This can be used with either
-long tap animation or pop-up opening theme effects. If the theme effects are
-ON and long tap opens a pop-up, then feedback is provided only with long tap.
-This is followed by pop-up.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic tab</b></p></entry>
-<entry><p>Provides strong pulse effect with touch down event in tab area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth flick</b></p></entry>
-<entry><p>Provides smooth feedback with drag when horizontal movement is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive flick</b></p></entry>
-<entry><p>Provides sensitive pulse effect with touch release when horizontal
-movement is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive edit</b></p></entry>
-<entry><p>Provides sensitive pulse effect in editors with touch down and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Text edit</b></p></entry>
-<entry><p>Provides pulse effect when painting the text. Effect is provided
-with every character while painting the text.</p></entry>
-</row>
-<row>
-<entry><p><b>Blank edit</b></p></entry>
-<entry><p>Provides pulse effect when painting blank character. By default,
-it is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Line edit</b></p></entry>
-<entry><p>Provides pulse effect when painting a line.</p></entry>
-</row>
-<row>
-<entry><p><b>Empty line</b></p></entry>
-<entry><p>Provides pulse effect when painting an empty line. By default, it
-is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Check box</b></p></entry>
-<entry><p>Provides pulse effect when marking/unmarking a check box.</p></entry>
-</row>
-<row>
-<entry><p><b>Multi-touch recognition</b></p></entry>
-<entry><p>Provides double pulse (sensitive + sensitive) effect when multi-touch
-is recognized (generally, when second finger is touched down).</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth pinch</b></p></entry>
-<entry><p>Provides smooth continuous feedback while moving fingers in multi-touch
-pinch situation.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth rotate</b></p></entry>
-<entry><p>Provides smooth continuous feedback while moving fingers in multi-touch
-rotate situation.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></p>
-<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics concept</title><p>The different senses associated
-to the skin are called cutaneous senses. These senses are temperature, pressure
-(touch itself), pain, tickle, itch and vibration senses. We can characterize
-touch as passive or active. Passive touch means the sense of touch itself,
-whereas active touch means the touch action.</p><p>To communicate through
-the sense of touch, we have to stimulate some of the cutaneous senses or the
-movement sense. The stimulation of the cutaneous senses or one of them by
-a product is called tactile stimulation. Respectively, the stimulation of
-the movement sense by a product is called haptic stimulation or just haptics.
-Haptics is also used as general term for all issues related to sense of touch,
-both human and machine.</p><p>Haptic feedback, often referred to as "Haptics",
-is the use of the sense of touch in a user interface design to provide information
-to an end user. In mobile phones, this generally means the use of vibrations
-from the device's vibration alarm to denote that a touch screen button has
-been pressed. In this particular example, the phone would vibrate slightly
-in response to the user's activation of an on-screen control, making up for
-the lack of a normal tactile response that the user would experience when
-pressing a physical button.</p></section>
-<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
-of haptics related APIs</title><p>You can use the following APIs to create
-haptic effects:</p><ul>
-<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile Feedback
-Client API</xref></p><ul>
-<li><p>Available from S60 5th Edition onwards.</p></li>
-<li><p>It can be used on all S60 5th Edition or later mobile devices. However,
-the feedback is played only on touch enabled layouts.</p></li>
-<li><p>Provides simple functions for triggering various predefined tactile
-feedback (vibration or audio) effects.</p></li>
-<li><p>Enables a consistent user experience in all applications of the mobile
-device (an application gives a logical feedback type as an input and the actual
-physical effect depends on the mobile device configuration and end user settings).</p></li>
-<li><p>When the area feedback is used, latency is low for the feedback triggering
-(a tactile feedback can already be triggered at the window server level prior
-to the corresponding pointer event being delivered to the visible application).</p></li>
-<li><p>Direct feedback can be easily integrated into <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p></li>
-<li><p>An application can select the logical tactile feedback from certain
-types. The produced effect may be different on various mobile devices.</p></li>
-</ul></li>
-<li><p><xref href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html" format="application/java-archive">Haptics
-API</xref></p><ul>
-<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
-<li><p>It can be used in touch and hybrid mobile devices.</p></li>
-<li><p>Provides an interface for accessing Haptics player that can control
-different actuator types.</p></li>
-<li><p>Enables producing of complex vibrator effects, such as an explosion
-or machine gun effect in a game, bass boost for a music player, advanced ringing
-tone vibration, and so on.</p></li>
-<li><p>Enables simultaneous playing of different kinds of basis effects and
-modifying them when played. </p></li>
-<li><p>Allows the design of complex effects (using a separate PC application)
-that can be loaded on Haptics player for playing.</p></li>
-<li><p>It may require a special license key for third-party applications
-(to be set at runtime) to enable the Haptics player functionality.</p></li>
-</ul></li>
-<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita">Vibra API</xref></p><ul>
-<li><p>Available from S60 3.0 onwards.</p></li>
-<li><p>It can be used for running device vibrator with given intensity for
-a given period of time.</p></li>
-<li><p>It can be used by a privileged client application to play pulse effects,
-which have a very short duration (as the ones used for tactile feedback).</p></li>
-</ul></li>
-</ul></section>
-<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When to use
-Tactile Feedback Client API, Haptics API, and Vibra API</title><p><ul>
-<li><p>Tactile Feedback Client API for providing tactile feedback in custom
-controls (grids, lists, and so on), which will comply with the style of Core
-UI components to ensure a uniform user experience among applications.</p></li>
-<li><p>Haptics API on touch and hybrid mobile devices for producing complex
-vibration feedback, which cannot be achieved with Tactile Framework (games,
-simulations, demos, and so on).</p></li>
-<li><p>Vibra API for producing haptic effects such as ringing tone vibration
-in those mobile devices where Haptics API is not available or functional.</p></li>
-</ul></p></section>
-<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using
-tactile feedback in applications</title><p>The API to use for tactile feedback
-is the <xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
-client API</xref>.</p><p>The Symbian platform includes a tactile feedback
-interface to add, modify and remove feedback areas in the registry. There
-is also an option to trigger direct feedback and bypass the registry. <xref href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"><apiname>MTouchFeedback::Instance()</apiname></xref> is
-used for acquiring a pointer to a touch feedback instance. When touch feedback
-is activated, the mobile device users get a slight vibration when the control
-with the feedback interface is touched. </p><note><p>Tactile feedback can
-be set and disabled in a client application or a mobile device in some scenarios,
-for example, during phone calls.</p></note><p>Client applications cannot determine
-the actual physical feedback that is generated. It depends on device configuration
-and current settings. In current devices, the user changeable settings include
-vibration and audio feedback intensity level.</p><p>For more information,
-see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en">
+<title>Tactile feedback</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>There are two cases where vibration or audio of the device is used
+as an output method:</p>
+<ul>
+<li><p>As a <i>tacticon</i> to inform users through physical feedback,
+that an important event is occurring in the device. For example, when
+a new message arrives or a warning note is displayed.</p></li>
+<li><p>As <i>tactile feedback</i> to indicate to the user that an
+interaction event has been made. For example, users receive tactile
+feedback when they press a button on the touch screen.</p></li>
+</ul>
+<p>As with sounds, tactile feedback must be used carefully so as not
+to desensitize the user to the vibration; the attention grabbing quality
+remains and functions so long as the feedback is not too frequent.</p>
+<p>Tactile feedback is enabled for all the Symbian platform UI components.
+Tactile feedback can be disabled for the common UI components in an
+application. However, this is acceptable only if tactile feedback
+causes interference with other device functions.</p>
+<p>The user can choose the level of tactile feedback and turn tacticons
+ON and OFF.</p>
+<p>The following table lists the tactile feedback effects:</p>
+<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B">
+<title>Tactile feedback effects</title>
+<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec
+colname="col2" colwidth="1.60*"/>
+<thead>
+<row>
+<entry valign="top"><p>Effects</p></entry>
+<entry valign="top"><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p><b>Sensitive button</b></p></entry>
+<entry><p>Provides single pulse effect on repeated key presses with
+buttons. It is also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic button</b></p></entry>
+<entry><p>Provides stronger single pulse effect to buttons. It is
+also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive list</b></p></entry>
+<entry><p>Provides single pulse effect to lists and grids. Effect
+is used with move (drag and flick) when new item appears on the screen.</p
+></entry>
+</row>
+<row>
+<entry><p><b>Basic list</b></p></entry>
+<entry><p>Provides stronger single pulse effect to lists and grids.
+Effect is used with touch down and release when tap makes an action. </p
+><p>In hierarchical list, collapsing/expanding item provides basic
+list effect with touch down and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Bounce effect</b></p></entry>
+<entry><p>Provides pulse effect when list returns to its normal state
+after boundary effect.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive slider</b></p></entry>
+<entry><p>Provides pulse effect with scrollbar and slider thumbs.
+Effect is provided with touch down and release in thumb area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth slider</b></p></entry>
+<entry><p>Provides continuous smooth feedback when dragging scrollbar
+or slider thumb. This can also be increasing or decreasing depending
+of the slider type.</p></entry>
+</row>
+<row>
+<entry><p><b>Hold slider</b></p></entry>
+<entry><p>Provides sensitive pulse effect when touch down and hold
+on the slider or scrollbar area. Slider thumb starts moving step by
+step towards the touch point. Every step gives one sensitive pulse.
+If slider thumb moves directly to the touch point, then basic slider
+effect is provided.</p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up</b></p></entry>
+<entry><p>Provides sensitive pulse effect when pop-up is opened or
+closed. If the theme animations are ON, then pop-up effect is used
+with opening event after increasing long touch effect. In this scenario,
+there is no pop-up effect . <note> All pop-ups do not have theme animation.</note
+></p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up close</b></p></entry>
+<entry><p>Provides decreasing smooth feedback a pop-up and when theme
+animations are ON.</p></entry>
+</row>
+<row>
+<entry><p><b>Increasing long touch</b></p></entry>
+<entry><p>Provides increasing smooth feedback. This can be used with
+either long tap animation or pop-up opening theme effects. If the
+theme effects are ON and long tap opens a pop-up, then feedback is
+provided only with long tap. This is followed by pop-up.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic tab</b></p></entry>
+<entry><p>Provides strong pulse effect with touch down event in tab
+area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth flick</b></p></entry>
+<entry><p>Provides smooth feedback with drag when horizontal movement
+is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive flick</b></p></entry>
+<entry><p>Provides sensitive pulse effect with touch release when
+horizontal movement is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive edit</b></p></entry>
+<entry><p>Provides sensitive pulse effect in editors with touch down
+and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Text edit</b></p></entry>
+<entry><p>Provides pulse effect when painting the text. Effect is
+provided with every character while painting the text.</p></entry>
+</row>
+<row>
+<entry><p><b>Blank edit</b></p></entry>
+<entry><p>Provides pulse effect when painting blank character. By
+default, it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Line edit</b></p></entry>
+<entry><p>Provides pulse effect when painting a line.</p></entry>
+</row>
+<row>
+<entry><p><b>Em<?Pub Caret?>pty line</b></p></entry>
+<entry><p>Provides pulse effect when painting an empty line. By default,
+it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Check box</b></p></entry>
+<entry><p>Provides pulse effect when marking/unmarking a check box.</p
+></entry>
+</row>
+<row>
+<entry><p><b>Multiple touch recognition</b></p></entry>
+<entry><p>Provides double pulse (sensitive + sensitive) effect when
+multiple touch is recognized (generally, when second finger is touched
+down).</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth pinch</b></p></entry>
+<entry><p>Provides smooth continuous feedback while moving fingers
+in multiple touch pinch situation.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth rotate</b></p></entry>
+<entry><p>Provides smooth continuous feedback while moving fingers
+in multiple touch rotate situation.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></p>
+<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics
+concept</title><p>The different senses associated to the skin are
+called cutaneous senses. These senses are temperature, pressure (touch
+itself), pain, tickle, itch and vibration senses. We can characterize
+touch as passive or active. Passive touch means the sense of touch
+itself, whereas active touch means the touch action.</p><p>To communicate
+through the sense of touch, we have to stimulate some of the cutaneous
+senses or the movement sense. The stimulation of the cutaneous senses
+or one of them by a product is called tactile stimulation. Respectively,
+the stimulation of the movement sense by a product is called haptic
+stimulation or just haptics. Haptics is also used as general term
+for all issues related to sense of touch, both human and machine.</p
+><p>Haptic feedback, often referred to as "Haptics", is the use of
+the sense of touch in a user interface design to provide information
+to an end user. In mobile phones, this generally means the use of
+vibrations from the device's vibration alarm to denote that a touch
+screen button has been pressed. In this particular example, the phone
+would vibrate slightly in response to the user's activation of an
+on-screen control, making up for the lack of a normal tactile response
+that the user would experience when pressing a physical button.</p
+></section>
+<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
+of haptics related APIs</title><p>You can use the following APIs
+to create haptic effects:</p><ul>
+<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita"
+>Tactile Feedback Client API</xref></p><ul>
+<li><p>Available from S60 5th Edition onwards.</p></li>
+<li><p>It can be used on all S60 5th Edition or later mobile devices.
+However, the feedback is played only on touch enabled layouts.</p
+></li>
+<li><p>Provides simple functions for triggering various predefined
+tactile feedback (vibration or audio) effects.</p></li>
+<li><p>Enables a consistent user experience in all applications of
+the mobile device (an application gives a logical feedback type as
+an input and the actual physical effect depends on the mobile device
+configuration and end user settings).</p></li>
+<li><p>When the area feedback is used, latency is low for the feedback
+triggering (a tactile feedback can already be triggered at the window
+server level prior to the corresponding pointer event being delivered
+to the visible application).</p></li>
+<li><p>Direct feedback can be easily integrated into <xref
+href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"
+><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p
+></li>
+<li><p>An application can select the logical tactile feedback from
+certain types. The produced effect may be different on various mobile
+devices.</p></li>
+</ul></li>
+<li><p><xref format="application/java-archive"
+href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html"
+>Haptics API</xref></p><ul>
+<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
+<li><p>It can be used in touch and hybrid mobile devices.</p></li>
+<li><p>Provides an interface for accessing Haptics player that can
+control different actuator types.</p></li>
+<li><p>Enables producing of complex vibrator effects, such as an explosion
+or machine gun effect in a game, bass boost for a music player, advanced
+ringing tone vibration, and so on.</p></li>
+<li><p>Enables simultaneous playing of different kinds of basis effects
+and modifying them when played. </p></li>
+<li><p>Allows the design of complex effects (using a separate PC application)
+that can be loaded on Haptics player for playing.</p></li>
+<li><p>It may require a special license key for third-party applications
+(to be set at runtime) to enable the Haptics player functionality.</p
+></li>
+</ul></li>
+<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita"
+>Vibra API</xref></p><ul>
+<li><p>Available from S60 3.0 onwards.</p></li>
+<li><p>It can be used for running device vibrator with given intensity
+for a given period of time.</p></li>
+<li><p>It can be used by a privileged client application to play pulse
+effects, which have a very short duration (as the ones used for tactile
+feedback).</p></li>
+</ul></li>
+</ul></section>
+<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When
+to use Tactile Feedback Client API, Haptics API, and Vibra API</title
+><p><ul>
+<li><p>Tactile Feedback Client API for providing tactile feedback
+in custom controls (grids, lists, and so on), which will comply with
+the style of Core UI components to ensure a uniform user experience
+among applications.</p></li>
+<li><p>Haptics API on touch and hybrid mobile devices for producing
+complex vibration feedback, which cannot be achieved with Tactile
+Framework (games, simulations, demos, and so on).</p></li>
+<li><p>Vibra API for producing haptic effects such as ringing tone
+vibration in those mobile devices where Haptics API is not available
+or functional.</p></li>
+</ul></p></section>
+<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using
+tactile feedback in applications</title><p>The API to use for tactile
+feedback is the <xref
+href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
+client API</xref>.</p><p>The Symbian platform includes a tactile feedback
+interface to add, modify and remove feedback areas in the registry.
+There is also an option to trigger direct feedback and bypass the
+registry. <xref
+href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"
+><apiname>MTouchFeedback::Instance()</apiname></xref> is used for
+acquiring a pointer to a touch feedback instance. When touch feedback
+is activated, the mobile device users get a slight vibration when
+the control with the feedback interface is touched. </p><note><p>Tactile
+feedback can be set and disabled in a client application or a mobile
+device in some scenarios, for example, during phone calls.</p></note
+><p>Client applications cannot determine the actual physical feedback
+that is generated. It depends on device configuration and current
+settings. In current devices, the user changeable settings include
+vibration and audio feedback intensity level.</p><p>For more information,
+see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref
+>.</p></section>
+</conbody>
+</concept>
+<?Pub *0000013046?>
--- a/Symbian3/PDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,385 +1,430 @@
-<?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-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en"><title>What's new in Symbian^3</title><shortdesc>Symbian^3 introduces a lot of new features that enhance
-communication, connectivity, multimedia, graphics, security and the
-overall usability of Symbian devices. These features benefit operators,
-application developers and device creators by making it easier to
-create feature-rich devices and applications.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>If you are moving from a older version of Symbian platform to Symbian^3,
-see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
-applications to Symbian^3</xref>.</p>
-<table id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-5-1-1-5-1-3-2">
-<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec colname="col2" colwidth="1.58*"/>
-<thead>
-<row>
-<entry>Technology Domain</entry>
-<entry>New Features</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>Data Communications</entry>
-<entry><ul>
-<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
-platform now supports a new IP networking architecture. The new architecture
-significantly improves data flow performance and makes it easier for
-third-party developers to integrate new technologies, for example
-firewalls and hotspot authenticators. It also implements automatic
-roaming between different access points, for example WLAN and GPRS.
-For more information, see <xref href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the Comms
-Architecture</xref>.</p></li>
-<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
-provides a new way of managing data connections on the Symbian platform.
-OCC builds on the existing Application Level Roaming (ALR) solution.
-This feature makes the user's interaction with "connecting" and "select
-access point" dialogs significantly simple and easier. For more information,
-see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
-Connection Preferences</xref>.</p> </li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Connectivity</entry>
-<entry><ul>
-
-
-
-<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
-MTP implementation now supports the MTP device services extension
-to the Media Transfer Protocol (MTP). For more information,
-see <xref href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx.dita">MTP Device Services Extension Specification</xref>.</p></li>
-<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b> A Symbian device user can now see music track names and browse playlists
-directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
-or remote control.</p></li>
-<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
-now enables all AT commands to be handled using the same mechanism
-regardless of the connection type. For more information, refer to
-the <b>AT Extension Plug-in API</b>.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Management</entry>
-<entry><ul>
-<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
-(MO):</b> The Symbian platform now supports OMA MO like Software Component
-Management Object (SCOMO) v1.0, Device Capability Management Object
-(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
-Nokia Standard Streaming MO. Some enhancements have been made to Browser
-MO and Email MO.</p></li>
-<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
-now provides an improved device Lock with security and an enhanced
-firmware update installation experience.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Location</entry>
-<entry align="justify"><ul>
-<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
-supports a parser that converts between landmark objects and URLs.
-The parser supports a URL format that is compliant with Ovi Maps.
-For more information, see <xref href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname></xref>.</p></li>
-<li><p><b>New Management Object (MO) for A-GPS:</b> The Symbian platform
-now provides an enhancement to Secure User Plane Location (SUPL) now
-allows the service provider to provide two access points for a SUPL
-server in the MO. This improves the system stability because it acts
-as a fallback mechanism in case one of the access points is unavailable.</p></li>
-<li><p><b>Support for Application Processor Engine (APE) Centric Location
-Architecture:</b> Symbian devices can now use the new architecture
-based on the APE that offers standardized session IDs on network privacy
-and classes that use the SUPL. The architecture converges technology
-from OS, middleware and application software layers.</p></li>
-<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
-Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
-to allow GPS-enabled devices to handle network-based SUPL location
-requests. This includes Cell ID based positioning and assistance data
-exchange as part of SUPL v2.0. <ph>For more information, see <xref href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol Module</xref></ph>.</p></li>
-<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b> The Symbian platform now uses the APE-centric architecture to support
-GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
-Engine (NPE) integration module replaces the OS LBS subsystem reference
-A-GPS version.</p></li>
-<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b> The Symbian platform now uses the APE-centric architecture to support
-NPE and RRLP on GPS-enabled device.</p></li>
-<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
-SUPL 2.0 trigger support that allows the requester to receive location
-updates periodically, which is both network and device initiated.</p></li>
-<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
-platform now includes key enhancements that enable integration with
-an Context framework to develop plug-ins and increase support for
-total and active triggers. An enhanced, dedicated common gateway interface
-enables the client to provide multiple CGIs to create a trigger, which
-is fired on successful matching with at least one CGI.</p></li>
-<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph>.</p></li>
-<li><p><b>Here and Now:</b> The Symbian platform now includes Here
-and now that offers easy-to-use Web services related to the user's
-current location. Here and now allows the user to check the local
-weather and get other topical information while on the move.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia</entry>
-<entry><ul>
-<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
-a small internal system but does so much more than traditional TV.
-It is broadcasted in a multi-grounded environment with high speed
-by using low battery power and low memory usage. <ph>For more information, see <xref href="GUID-893BFF74-5DBB-5606-96FC-F961A52CA90D.dita">Mobile TV DVBH Receiver
-HAI Component</xref></ph>.</p></li>
-<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
-in mobile devices that allows the Multimedia Device Framework (MDF)
-to load, control, connect and unload audio, video and imaging components. <ph>For more information, see <xref href="GUID-E5900ED5-C49E-52B2-AE6D-CC0DB1F234A1.dita">OpenMAX IL Collection</xref></ph>.</p></li>
-<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
-one of the key component in the Sound Device collection that provides
-access to the hardware accelerator in audio technology. For more information,
-see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound
-Component</xref>.</p></li>
-<li><p><b>Image Processor library:</b> The Image Processor is an independent
-and high-level API and framework which is developed for mobile imaging.
-The Image Processor has some pluggable advanced image editing libraries
-to perform the Panoramic Stitching function and the Speed View function.
-For more information, see <xref href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor Library</xref>.</p></li>
-<li><p><b>Camera API Extensions:</b> The Camera API is extended to
-support the features such as background processing, continuous digital
-zooming, time nudge image capturing and automatic aperture setting.
-For more information, see <xref href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref>.</p></li>
-<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
-mobile device to capture video frames which are encoded in the H264
-format. For more information, see <xref href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
-H264 Video Frames to Capture Video</xref>.</p></li>
-<li><p><b>3GP File Format Library:</b> The 3GP Library component is
-a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
-and MP4 files. The 3GP Library is also extended to support larger
-3GP or MP4 files. <ph>For more
-information, see <xref href="GUID-8DD3B2E3-636A-5FE6-B081-FDB57260E6D8.dita">3GP Library Component</xref></ph>.</p></li>
-<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
-Client Video Display is a standalone library used by the Video Client
-library to support video playback. For more information, see <xref href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client Video
-Display Library</xref>.</p></li>
-<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
-using the Video Subtitle CRP component. The Subtitle Graphic library
-displays subtitles artwork on the screen through its interaction with
-Client Process, Controller Process and WServ Process. For more information,
-see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video Subtitle
-CRP Component</xref>.</p></li>
-<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
-supports codecs that enable support for Dolby Digital Audio on Symbian
-devices. <ph>For more information,
-see <xref href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita">Supported
-Audio Codecs</xref>.</ph></p></li>
-<li><p><b>True Pause in Audio Playback:</b> In the audio playback
-request the true pause feature is implemented to stop the audio data
-at the physical sound device without stopping the buffer traffic.
-For more information, see <xref href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and Resuming
-Audio Play</xref>. </p></li>
-<li><p><b>Global Surface Updates:</b> The Video Render component is
-extended to support the global surface updates. For more information,
-see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
-Surface Updates</xref>.</p></li>
-<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
-belongs to the Metadata Utility Framework (MUF) component that provides
-fast metadata access to audio, video and image media files. For more
-information, see the <xref href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
-Library</xref> section.</p></li>
-<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
-specific pattern enhancement, which includes many UI (User Interface)
-features, listed below:</p><ul>
-<li><p>Multiple customized Home Screens with 6 different widget enabled
-screens. </p></li>
-<li><p>Pinch zoom, kinetic scrolling and single-click features.</p></li>
-<li><p>Good screen view with a new UI theme, and renewed icons.</p></li>
-<li><p>Hardware acceleration with fast and responsive UI that creates
-new transition effects.</p></li>
-<li><p>Multitasking with Teleport visual task swapper.</p></li>
-<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
-slider devices. Video Graphics Array (VGA) Touch supports for VGA
-QWERTY mono blocks.</p></li>
-<li><p>VGA Touch helps to control Music player.</p></li>
-</ul></li>
-<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
-broadcast digital mobile television. The Symbian platform provides
-fast and easy access to all videos and TV media content. One key press
-opens videos and TV application suite, and user scrolls and selects
-the desired video functionality. This media experience is built with
-major components such as Videos and TV, video player and Mobile TV.
-Videos and TV support high quality video up to 720 per resolution
-at 12 Mbps and 30 frames per second.</p></li>
-<li><p><b>Image Viewer Application:</b> The Image Viewer application
-is used when the client opens an image file for viewing. File Manager,
-Messaging, Camcorder and Browser S60 components use the Image Viewer
-application. It supports Extended ICL JPEG API, which enables a faster
-and less memory-consuming way to rotate and zoom images.</p></li>
-<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
-FM radio broadcast over the air. FM radio broadcast is a free service. </p></li>
-<li><p><b>Video Sharing:</b> Using the video sharing service, both
-call users can start sharing their device live camera view or pre-recorded
-video clip during a normal circuit switched (CS) voice call. The video
-sharing feature allows the user to upgrade and downgrade their call
-with one-way video at times of need. The video sharing application
-uses the Multimedia Comms Engine API. </p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia Applications</entry>
-<entry><ul>
-<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
-platform now supports HDMI technology. HDMI is supported as an external
-accessory for audio and video playback for a great television playback
-experience. It provides improved data performance and is ideal for
-streaming high definition audio and video. The 720p resolution is
-supported in still image and video viewing. 5+1 channel audio is also
-supported.</p></li>
-<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
-music information through Home Screen Music Widgets. The Home Music
-Widgets controls from the Home Screen menu system enables to play
-and pause the playing track. The Music Widget supports the Radio Player
-and includes the Music Suite Matrix Menu. This menu is configured
-through XML and by default supports to launch the functionality listed
-below:</p><ul>
-<li><p>The last played song</p></li>
-<li><p>The music collection view</p></li>
-<li><p>A music shop, or to open the FM radio</p></li>
-</ul></li>
-<li><p><b>Fusion Player Application:</b> The Symbian platform now
-introduces the Fusion Player, which replaces the existing Media Player
-and Video Center applications. It enables access to both online video
-services and locally stored videos. If DVB-H device is available,
-live TV viewing is also possible. The main features supported by the
-Fusion player application are as follows:</p><ul>
-<li><p>To browse stored videos and to see metadata features of the
-video, such as title, thumbnail DRM info, size or play-time.</p></li>
-<li><p>To check videos that are pre-installed with the device.</p></li>
-<li><p>To play stored video file in the device.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>OS Base Services </entry>
-<entry><ul>
-<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
-supports WDP. This enables efficient use of memory and allows multiple
-applications to run at the same time without physically adding more
-RAM to the hardware. This leads to a more responsive system when switching
-between a number of running applications. <ph>For more information, see <xref href="GUID-2B7D04D9-98DE-5284-836D-01DB4FA8949D.dita">Writable Data Paging</xref></ph>.</p></li>
-<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
-now supports SMP for multi-core processors, such as the ARM Cortex
-A9. This allows device integrators to prototype and prove ARM-based
-SMP platforms. <ph>For more information,
-see <xref href="GUID-CE72E71B-6ED3-4961-B4C5-C43D823ACA9D.dita">SMP</xref>.</ph></p> </li>
-<li><p><b>64-bit file server:</b> The Symbian platform now supports
-files larger than 2 GB. <ph>For
-more information, see <xref href="GUID-C473F6B1-35E7-5A1E-B451-4EBD7064CCDC.dita">Large File Access</xref>.</ph></p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Productivity</entry>
-<entry><ul>
-<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
-Social Networking service is a Nokia-hosted consumer service that
-provides easy and affordable mobile access to popular social networking
-communities.</p></li>
-<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
-has changed to improve flexibility of calendar for regional, religious,
-custom-tailors and xSP calendar service needs. Multiple storages are
-also supported. For more information, see <xref href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref>.</p></li>
-<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
-CalDAV Protocol, which is an open calendar synchronization standard
-contributed by SUN Microsystems. This enables a user to access scheduling
-information on remote servers.</p></li>
-<li><p><b>Enhanced Contacts Application:</b> The Contacts application
-in this release includes the following changes:</p><ul>
-<li><p>Integration with social media.</p></li>
-<li><p>Support for Remote Contacts Lookup, for example, from post-installed
-Mail for Exchange account.</p></li>
-<li><p>Virtual Phonebook API (supports getting access to the user’s
-own contact card).</p></li>
-<li><p>Own contact card.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Runtimes </entry>
-<entry><ul>
-<li><p>The Symbian platform now supports the Open Source based Java
-MIDP 2.1.</p></li>
-<li><p>The Symbian platform now supports Browser Application v7.2
-(with Web Run Time 7.2) that includes the following features:</p><ul>
-<li><p>Browser Control</p></li>
-<li><p>Browser core features</p></li>
-<li><p>Browser Customization</p></li>
-<li><p>Browser plug-ins</p></li>
-<li><p>Browser with touch screen</p></li>
-<li><p>Content Download</p></li>
-<li><p>URI Schemes</p></li>
-<li><p>Display Resolution Optimizations</p></li>
-<li><p>Optical Finger Navigation (OFN)</p></li>
-<li><p>FlashLite 3.1</p></li>
-<li><p>Search Client Integration</p></li>
-<li><p>Expanding Language and Character Set Support</p></li>
-<li><p>Improved Security Prompting</p></li>
-<li><p>Updated Platform Service APIs</p></li>
-<li><p>Visual Task Swapper Support</p></li>
-<li><p>Performance Optimizations</p></li>
-<li><p>Multi-touch/pinch zooming</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Security</entry>
-<entry>The Symbian platform now provides an enhanced Security subsystem
-that enables device creators to integrate hardware acceleration modules,
-which improves the performance of cryptographic algorithms. This is
-particularly valuable in intensive real-time use-cases, such as streaming
-audio or video over a secure link, where bulk data needs to be encrypted
-and decrypted.</entry>
-</row>
-<row>
-<entry>User Interface</entry>
-<entry><ul>
-<li><p><b>ScreenPlay, also known as the New Graphics Architecture
-(NGA):</b> This new graphics architecture enables device creators
-to take advantage of improved software performance, hardware acceleration
-and third party graphics engines. It makes it possible to combine
-UI components, graphics and video to create highly innovative UIs.
-For more information, see <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay Graphics
-Architecture</xref>.</p></li>
-<li><p><b>Extended Bitmaps:</b> The Font and Bitmap Server provides a framework for device creators
-to add support for their own types of bitmap compression. Bitmaps
-that use compression formats that are provided by device creators
-are known as extended bitmaps. For more information, see <xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended Bitmaps</xref>.</p></li>
-<li><p><b>Dynamic Direct Screen
-Access (DSA) Allocation:</b> The Symbian platform now supports the
-dynamic allocation of the DSA buffer. For more information, see <xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing Dynamic
-DSA Allocation</xref>.</p></li>
-<li><p><b>Multi-Touch Support:</b> The ScreenPlay version of the Window
-Server has been extended to support multiple advanced pointers, with
-support for proximity and pressure. The emulator now also supports
-multiple advanced pointers. For more information, see <xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref>.</p></li>
-
-<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
-improvements:</p><ul>
-<li><p>Multi-page Home Screen enables the user to navigate between
-widgets with a simple flick gesture</p></li>
-<li><p>Capacitive multi-touch events are supported.</p></li>
-<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
-</ul></li>
-</ul><p>For more information about the new features in Graphics, see <xref href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in Graphics
-in Symbian^3</xref>.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></conbody><related-links>
-<linklist>
-<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext>New
-C++ APIs in Symbian^3</linktext></link>
-<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext>Porting
-applications to Symbian^3</linktext></link>
-<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext>Introduction
-to Symbian^3</linktext></link>
-</linklist>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en">
+<title>What's new in Symbian^3</title>
+<shortdesc>Symbian^3 introduces a lot of new features that enhance
+communication, connectivity, multimedia, graphics, security and the
+overall usability of Symbian devices. These features benefit operators,
+application developers and device creators by making it easier to
+create feature-rich devices and applications.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>If you are moving from a older version of Symbian platform to Symbian^3,
+see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
+applications to Symbian^3</xref>.</p>
+<table
+id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-5-1-1-5-1-3-2">
+<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec
+colname="col2" colwidth="1.58*"/>
+<thead>
+<row>
+<entry>Technology Domain</entry>
+<entry>New Features</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>Data Communications</entry>
+<entry><ul>
+<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
+platform now supports a new IP networking architecture. The new architecture
+significantly improves data flow performance and makes it easier for
+third-party developers to integrate new technologies, for example
+firewalls and hotspot authenticators. It also implements automatic
+roaming between different access points, for example WLAN and GPRS.
+For more information, see <xref
+href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the
+Comms Architecture</xref>.</p></li>
+<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
+provides a new way of managing data connections on the Symbian platform.
+OCC builds on the existing Application Level Roaming (ALR) solution.
+This feature makes the user's interaction with "connecting" and "select
+access point" dialogs significantly simple and easier. For more information,
+see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
+Connection Preferences</xref>.</p> </li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Connectivity</entry>
+<entry><ul>
+<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
+MTP implementation now supports the MTP device services extension
+to the Media Transfer Protocol (MTP). For more information, see <xref
+href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx.dita"
+>MTP Device Services Extension Specification</xref>.</p></li>
+<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b
+> A Symbian device user can now see music track names and browse playlists
+directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
+or remote control.</p></li>
+<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
+now enables all AT commands to be handled using the same mechanism
+regardless of the connection type. For more information, refer to
+the <b>AT Extension Plug-in API</b>.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Management</entry>
+<entry><ul>
+<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
+(MO):</b> The Symbian platform now supports OMA MO like Software Component
+Management Object (SCOMO) v1.0, Device Capability Management Object
+(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
+Nokia Standard Streaming MO. Some enhancements have been made to Browser
+MO and Email MO.</p></li>
+<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
+now provides an improved device Lock with security and an enhanced
+firmware update installation experience.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Location</entry>
+<entry align="justify"><ul>
+<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
+supports a parser that converts between landmark objects and URLs.
+The parser supports a URL format that is compliant with Ovi Maps.
+For more information, see <xref
+href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname
+></xref>.</p></li>
+<li><p><b>New Management Object (MO) for A-GPS:</b> The Symbian platform
+now provides an enhancement to Secure User Plane Location (SUPL) now
+allows the service provider to provide two access points for a SUPL
+server in the MO. This improves the system stability because it acts
+as a fallback mechanism in case one of the access points is unavailable.</p
+></li>
+<li><p><b>Support for Application Processor Engine (APE) Centric Location
+Architecture:</b> Symbian devices can now use the new architecture
+based on the APE that offers standardized session IDs on network privacy
+and classes that use the SUPL. The architecture converges technology
+from OS, middleware and application software layers.</p></li>
+<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
+Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
+to allow GPS-enabled devices to handle network-based SUPL location
+requests. This includes Cell ID based positioning and assistance data
+exchange as part of SUPL v2.0. <ph>For more information, see <xref
+href="GUID-816334A7-488B-5F91-8C2E-47076D875013.dita">SUPL Protocol
+Module</xref></ph>.</p></li>
+<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b
+> The Symbian platform now uses the APE-centric architecture to support
+GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
+Engine (NPE) integration module replaces the OS LBS subsystem reference
+A-GPS version.</p></li>
+<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b
+> The Symbian platform now uses the APE-centric architecture to support
+NPE and RRLP on GPS-enabled device.</p></li>
+<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
+SUPL 2.0 trigger support that allows the requester to receive location
+updates periodically, which is both network and device initiated.</p
+></li>
+<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
+platform now includes key enhancements that enable integration with
+an Context framework to develop plug-ins and increase support for
+total and active triggers. An enhanced, dedicated common gateway interface
+enables the client to provide multiple CGIs to create a trigger, which
+is fired on successful matching with at least one CGI.</p></li>
+<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph
+>.</p></li>
+<li><p><b>Here and Now:</b> The Symbian platform now includes Here
+and now that offers easy-to-use Web services related to the user's
+current location. Here and now allows the user to check the local
+weather and get other topical information while on the move.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia</entry>
+<entry><ul>
+<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
+a small internal system but does so much more than traditional TV.
+It is broadcasted in a multi-grounded environment with high speed
+by using low battery power and low memory usage. <ph>For more information,
+see <xref href="GUID-893BFF74-5DBB-5606-96FC-F961A52CA90D.dita">Mobile
+TV DVBH Receiver HAI Component</xref></ph>.</p></li>
+<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
+in mobile devices that allows the Multimedia Device Framework (MDF)
+to load, control, connect and unload audio, video and imaging components. <ph
+>For more information, see <xref
+href="GUID-E5900ED5-C49E-52B2-AE6D-CC0DB1F234A1.dita">OpenMAX IL Collection</xref
+></ph>.</p></li>
+<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
+one of the key component in the Sound Device collection that provides
+access to the hardware accelerator in audio technology. For more information,
+see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F
+DevSound Component</xref>.</p></li>
+<li><p><b>Image Processor library:</b> The Image Processor is an independent
+and high-level API and framework which is developed for mobile imaging.
+The Image Processor has some pluggable advanced image editing libraries
+to perform the Panoramic Stitching function and the Speed View function.
+For more information, see <xref
+href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor
+Library</xref>.</p></li>
+<li><p><b>Camera API Extensions:</b> The Camera API is extended to
+support the features such as background processing, continuous digital
+zooming, time nudge image capturing and automatic aperture setting.
+For more information, see <xref
+href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref
+>.</p></li>
+<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
+mobile device to capture video frames which are encoded in the H264
+format. For more information, see <xref
+href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
+H264 Video Frames to Capture Video</xref>.</p></li>
+<li><p><b>3GP File Format Library:</b> The 3GP Library component is
+a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
+and MP4 files. The 3GP Library is also extended to support larger
+3GP or MP4 files. <ph>For more information, see <xref
+href="GUID-8DD3B2E3-636A-5FE6-B081-FDB57260E6D8.dita">3GP Library
+Component</xref></ph>.</p></li>
+<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
+Client Video Display is a standalone library used by the Video Client
+library to support video playback. For more information, see <xref
+href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client
+Video Display Library</xref>.</p></li>
+<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
+using the Video Subtitle CRP component. The Subtitle Graphic library
+displays subtitles artwork on the screen through its interaction with
+Client Process, Controller Process and WServ Process. For more information,
+see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video
+Subtitle CRP Component</xref>.</p></li>
+<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
+supports codecs that enable support for Dolby Digital Audio on Symbian
+devices. <ph>For more information, see <xref
+href="GUID-3483E654-38CC-538B-8B66-9D7A0C0B4025.dita">Supported Audio
+Codecs</xref>.</ph></p></li>
+<li><p><b>True Pause in Audio Playback:</b> In the audio playback
+request the true pause feature is implemented to stop the audio data
+at the physical sound device without stopping the buffer traffic.
+For more information, see <xref
+href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and
+Resuming Audio Play</xref>. </p></li>
+<li><p><b>Global Surface Updates:</b> The Video Render component is
+extended to support the global surface updates. For more information,
+see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
+Surface Updates</xref>.</p></li>
+<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
+belongs to the Metadata Utility Framework (MUF) component that provides
+fast metadata access to audio, video and image media files. For more
+information, see the <xref
+href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
+Library</xref> section.</p></li>
+<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
+specific pattern enhancement, which includes many UI (User Interface)
+features, listed below:</p><ul>
+<li><p>Multiple customized Home Screens with 6 different widget enabled
+screens. </p></li>
+<li><p>Pinch zoom, kinetic scrolling and single-click features.</p
+></li>
+<li><p>Good screen view with a new UI theme, and renewed icons.</p
+></li>
+<li><p>Hardware acceleration with fast and responsive UI that creates
+new transition effects.</p></li>
+<li><p>Multitasking with Teleport visual task swapper.</p></li>
+<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
+slider devices. Video Graphics Array (VGA) Touch supports for VGA
+QWERTY mono blocks.</p></li>
+<li><p>VGA Touch helps to control Music player.</p></li>
+</ul></li>
+<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
+broadcast digital mobile television. The Symbian platform provides
+fast and easy access to all videos and TV media content. One key press
+opens videos and TV application suite, and user scrolls and selects
+the desired video functionality. This media experience is built with
+major components such as Videos and TV, video player and Mobile TV.
+Videos and TV support high quality video up to 720 per resolution
+at 12 Mbps and 30 frames per second.</p></li>
+<li><p><b>Image Viewer Application:</b> The Image Viewer application
+is used when the client opens an image file for viewing. File Manager,
+Messaging, Camcorder and Browser S60 components use the Image Viewer
+application. It supports Extended ICL JPEG API, which enables a faster
+and less memory-consuming way to rotate and zoom images.</p></li>
+<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
+FM radio broadcast over the air. FM radio broadcast is a free service. </p
+></li>
+<li><p><b>Video Sharing:</b> Using the video sharing service, both
+call users can start sharing their device live camera view or pre-recorded
+video clip during a normal circuit switched (CS) voice call. The video
+sharing feature allows the user to upgrade and downgrade their call
+with one-way video at times of need. The video sharing application
+uses the Multimedia Comms Engine API. </p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia Applications</entry>
+<entry><ul>
+<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
+platform now supports HDMI technology. HDMI is supported as an external
+accessory for audio and video playback for a great television playback
+experience. It provides improved data performance and is ideal for
+streaming high definition audio and video. The 720p resolution is
+supported in still image and video viewing. 5+1 channel audio is also
+supported.</p></li>
+<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
+music information through Home Screen Music Widgets. The Home Music
+Widgets controls from the Home Screen menu system enables to play
+and pause the playing track. The Music Widget supports the Radio Player
+and includes the Music Suite Matrix Menu. This menu is configured
+through XML and by default supports to launch the functionality listed
+below:</p><ul>
+<li><p>The last played song</p></li>
+<li><p>The music collection view</p></li>
+<li><p>A music shop, or to open the FM radio</p></li>
+</ul></li>
+<li><p><b>Fusion Player Application:</b> The Symbian platform now
+introduces the Fusion Player, which replaces the existing Media Player
+and Video Center applications. It enables access to both online video
+services and locally stored videos. If DVB-H device is available,
+live TV viewing is also possible. The main features supported by the
+Fusion player application are as follows:</p><ul>
+<li><p>To browse stored videos and to see metadata features of the
+video, such as title, thumbnail DRM info, size or play-time.</p></li>
+<li><p>To check videos that are pre-installed with the device.</p
+></li>
+<li><p>To play stored video file in the device.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>OS Base Services </entry>
+<entry><ul>
+<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
+supports WDP. This enables efficient use of memory and allows multiple
+applications to run at the same time without physically adding more
+RAM to the hardware. This leads to a more responsive system when switching
+between a number of running applications. <ph>For more information,
+see <xref href="GUID-2B7D04D9-98DE-5284-836D-01DB4FA8949D.dita">Writable
+Data Paging</xref></ph>.</p></li>
+<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
+now supports SMP for multi-core processors, such as the ARM Cortex
+A9. This allows device integrators to prototype and prove ARM-based
+SMP platforms. <ph>For more information, see <xref
+href="GUID-CE72E71B-6ED3-4961-B4C5-C43D823ACA9D.dita">SMP</xref>.</ph
+></p> </li>
+<li><p><b>64-bit file server:</b> The Symbian platform now supports
+files larger than 2 GB. <ph>For more information, see <xref
+href="GUID-C473F6B1-35E7-5A1E-B451-4EBD7064CCDC.dita">Large File Access</xref
+>.</ph></p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Productivity</entry>
+<entry><ul>
+<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
+Social Networking service is a Nokia-hosted consumer service that
+provides easy and affordable mobile access to popular social networking
+communities.</p></li>
+<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
+has changed to improve flexibility of calendar for regional, religious,
+custom-tailors and xSP calendar service needs. Multiple storages are
+also supported. For more information, see <xref
+href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref
+>.</p></li>
+<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
+CalDAV Protocol, which is an open calendar synchronization standard
+contributed by SUN Microsystems. This enables a user to access scheduling
+information on remote servers.</p></li>
+<li><p><b>Enhanced Contacts Application:</b> The Contacts application
+in this release includes the following changes:</p><ul>
+<li><p>Integration with social media.</p></li>
+<li><p>Support for Remote Contacts Lookup, for example, from post-installed
+Mail for Exchange account.</p></li>
+<li><p>Virtual Phonebook API (supports getting access to the user’s
+own contact card).</p></li>
+<li><p>Own contact card.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Runtimes </entry>
+<entry><ul>
+<li><p>The Symbian platform now supports the Open Source based Java
+MIDP 2.1.</p></li>
+<li><p>The Symbian platform now supports Browser Application v7.2
+(with Web Run Time 7.2) that includes the following features:</p><ul>
+<li><p>Browser Control</p></li>
+<li><p>Browser core features</p></li>
+<li><p>Browser Customization</p></li>
+<li><p>Browser plug-ins</p></li>
+<li><p>Browser with touch screen</p></li>
+<li><p>Content Download</p></li>
+<li><p>URI Schemes</p></li>
+<li><p>Display Resolution Optimizations</p></li>
+<li><p>Optical Finger Navigation (OFN)</p></li>
+<li><p>FlashLite 3.1</p></li>
+<li><p>Search Client Integration</p></li>
+<li><p>Expanding Language and Character Set Support</p></li>
+<li><p>Improved Security Prompting</p></li>
+<li><p>Updated Platform Service APIs</p></li>
+<li><p>Visual Task Swapper Support</p></li>
+<li><p>Performance Optimizations</p></li>
+<li><p>Multiple touch/pinch zooming</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Security</entry>
+<entry>The Symbian platform now provides an enhanced Security subsystem
+that enables device creators to integrate hardware acceleration modules,
+which improves the performance of cryptographic algorithms. This is
+particularly valuable in intensive real-time use-cases, such as streaming
+audio or video over a secure link, where bulk data needs to be encrypted
+and decrypted.</entry>
+</row>
+<row>
+<entry>User Interface</entry>
+<entry><ul>
+<li><p><b>ScreenPlay, also known as the New Graphics Architecture
+(NGA):</b> This new graphics architecture enables device creators
+to take advantage of improved software performance, hardware acceleration
+and third party graphics engines. It makes it possible to combine
+UI components, graphics and video to create highly innovative UIs.
+For more information, see <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
+Graphics Architecture</xref>.</p></li>
+<li><p><b>Extended Bitmaps:</b> The Font and Bitmap Server provides
+a framework for device creators to add support for their own types
+of bitmap compression. Bitmaps that use compression formats that are
+provided by device creators are known as extended bitmaps. For more
+information, see <xref
+href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended Bitmaps</xref
+>.</p></li>
+<li><p><b>Dynamic Direct Screen Access (DSA) Allocation:</b> The Symbian
+platform now supports the dynamic allocation of the DSA buffer. For
+more information, see <xref
+href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing
+Dynamic DSA Allocation</xref>.</p></li>
+<li><p><b>Multiple Touch Support:</b> The ScreenPlay version of the
+Window Server has been extended to support multiple advanced pointers,
+with support for proximity and pressure. The emulator now also supports
+multiple advanced pointers. For more information, see <xref
+href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref
+>.</p></li>
+<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
+improvements:</p><ul>
+<li><p>Multi-page Home Screen enables the user to navigate between
+widgets with a simple flick gesture</p></li>
+<li><p>Capacitive multiple touch <?Pub Caret?>events are supported.</p
+></li>
+<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
+</ul></li>
+</ul><p>For more information about the new features in Graphics, see <xref
+href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in
+Graphics in Symbian^3</xref>.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</conbody>
+<related-links>
+<linklist>
+<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext
+>New C++ APIs in Symbian^3</linktext></link>
+<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext
+>Porting applications to Symbian^3</linktext></link>
+<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext
+>Introduction to Symbian^3</linktext></link>
+</linklist>
+</related-links>
+</concept>
+<?Pub *0000021663?>
--- a/Symbian3/PDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,90 +1,113 @@
-<?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-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en"><title>Multi-Touch
-Support in the Emulator Overview</title><shortdesc>This topic provides an overview of multi-touch support in the emulator.
-Two mice are used to provide two independent pointer positions. The emulator
-responds to the mice’s individual button-clicks, moves, and mouse wheel scrolls
-as if two human fingers are moving, touching or hovering over the screen.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The emulator can be extended to support more than two mice or other pointer
-devices.</p>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<p>The following figure shows two Windows pointers on the emulator screen,
-each representing a mouse device. The ordinal integer (starting from 0) beside
-each pointer is the unique device identifier. The position of each mouse on
-the screen is represented by the X and Y coordinates. The pressure (a positive
-value) and proximity (a negative value) information captured by the mouse
-wheel is represented by the Z coordinate. Notice that the status bar shows
-the identifier and the dynamic X, Y and Z values of each pointer.</p>
-<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
-<title>Two pointers are displayed in the emulator</title>
-<image href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e241170_href.png" placement="inline"/>
-</fig>
-<p>The delivery of pointer events from the emulator driver to the Window Server
-is the same in the multi-touch environment as in the single pointer environment.
-This means the raw events for a mouse move, button click and mouse wheel movement
-are delivered to the Window Server as usual. Each mouse has a unique device
-identifier, which makes it possible to ascertain which mouse the events relate
-to. The raw events for each individual mouse include the following: </p>
-<ul>
-<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse move or
-a mouse wheel movement event.</p></li>
-<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the left mouse
-button is pressed down.</p></li>
-<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left mouse
-button is released.</p></li>
-<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that the proximity
-of a mouse is out of range. This means that the Z coordinate value of the
-mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph>.</p></li>
-</ul>
-<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"> <title>Pressure
-and proximity emulation</title><p>The Z coordinate value is used to represent
-the pressure and proximity to the screen. In the emulator, the Z value is
-captured and tuned by the mouse wheel movement.</p><ul>
-<li><p>Z < 0 indicates the proximity of the device from the screen.</p></li>
-<li><p>Z > 0 indicates pressure.</p></li>
-</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
-Pointer Overview</xref> for more information about pressure and proximity.</p><p>The
-mouse wheel combines the features of a wheel and a mouse button. The wheel
-has discrete, evenly spaced notches. Rotating the wheel backwards or forwards
-has the effect of changing the pressure or proximity.</p><ul>
-<li><p>When the mouse wheel is rotated, a device-specific message is sent
-to the emulator window that has focus as each notch is encountered.</p></li>
-<li><p>The Z coordinate is initiated as 0. Then when the wheel is moved forward,
-the Z value enters the pressure range and increases by one pressure step.
-When the wheel is moved backward, the Z value enters the proximity range and
-decreases by one proximity step.</p><p>The pressure or proximity step can
-be customized in the <filepath>epoc.ini</filepath> file. See <xref href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling
-Multi-Touch in the Emulator Tutorial</xref> for more information.</p></li>
-<li><p>When the Z value is in the pressure range (Z > 0), moving the wheel
-forward by one notch increases Z by one pressure step. Moving the wheel backward
-by one notch decreases Z by one pressure step, until Z returns to 0.</p></li>
-<li><p>When the Z value is in the proximity range (Z < 0), moving the wheel
-backward by one notch decreases Z by one proximity step. Moving the wheel
-forward by one notch increases Z by one proximity step, until Z returns to
-0. </p></li>
-<li><p>There are limits to the values of the Z coordinate. This
-means that the Symbian emulator does not allow Z to exceed the upper boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a
-positive value) and lower boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a
-negative value). If Z is at the lower boundary, when the mouse wheel is moved
-backward next time, Z does not change. A new <codeph>Out of Range</codeph> pointer
-event is generated and sent to the Window Server. Similarly when Z is at the
-upper boundary, Z does not change when the mouse wheel is moved forward.</p></li>
-<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph> or <codeph>TRawEvent::EButton1Up</codeph>)
-is generated, Z is reset to 0.</p></li>
-</ul> </section>
-</conbody><related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
-Pointers</linktext></link>
-<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext>Enabling
-Multi-Touch in the Emulator Tutorial</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en">
+<title>Support for Multiple Pointers in the Emulator Overview</title>
+<shortdesc>This topic provides an overview of support for multiple
+pointers in the emulator. Two mice are used to provide two independent
+pointer positions. The emulator responds to the mice’s individual
+button-clicks, moves, and mouse wheel scrolls as if two human fingers
+are moving, touching or hovering over the screen.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>The emulator can be extended to support more than two mice or other
+pointer devices.</p>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<p>The following figure shows two Windows pointers on the emulator
+screen, each representing a mouse device. The ordinal integer (starting
+from 0) beside each pointer is the unique device identifier. The position
+of each mouse on the screen is represented by the X and Y coordinates.
+The pressure (a positive value) and proximity (a negative value) information
+captured by the mouse wheel is represented by the Z coordinate. Notice
+that the status bar shows the identifier and the dynamic X, Y and
+Z values of each pointer.</p>
+<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
+<title>Two pointers are displayed in the emulator</title>
+<image
+href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e241170_href.png"
+placement="inline"></image></fig>
+<p>The delivery of pointer events from the emulator driver to the
+Window Server is the same when there are multiple pointers as in the
+single pointer environment. This means the raw events for a mouse
+move, button click and mouse wheel movement are delivered to the Window
+Server as usual. Each mouse has a unique device identifier, which
+makes it possible to ascertain which mouse the events relate to. The
+raw events for each individual mouse include the following: </p>
+<ul>
+<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse
+move or a mouse wheel movement event.</p></li>
+<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the
+left mouse button is pressed down.</p></li>
+<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left
+mouse button is released.</p></li>
+<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that
+the proximity of a mouse is out of range. This means that the Z coordinate
+value of the mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph
+>.</p></li>
+</ul>
+<section
+id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"
+> <title>Pressure and proximity emulation</title><p>The Z coordinate
+value is used to represent the pressure and proximity to the screen.
+In the emulator, the Z value is captured and tuned by the mouse wheel
+movement.</p><ul>
+<li><p>Z < 0 indicates the proximity of the device from the screen.</p
+></li>
+<li><p>Z > 0 indicates pressure.</p></li>
+</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"
+>Advanced Pointer Overview</xref> for more information about pressure
+and proximity.</p><p>The mouse wheel combines the features of a wheel
+and a mouse button. The wheel has discrete, evenly spaced notches.
+Rotating the wheel backwards or forwards has the effect of changing
+the pressure or proximity.</p><ul>
+<li><p>When the mouse wheel is rotated, a device-specific message
+is sent to the emulator window that has focus as each notch is encountered.</p
+></li>
+<li><p>The Z coordinate is initiated as 0. Then when the wheel is
+moved forward, the Z value enters the pressure range and increases
+by one pressure step. When the wheel is moved backward, the Z value
+enters the proximity range and decreases by one proximity step.</p
+><p>The pressure or proximity step can be customized in the <filepath
+>epoc.ini</filepath> file. See <xref
+href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling Multiple
+Pointers in the Emulator Tutorial</xref> for more information.</p
+></li>
+<li><p>When the Z value is in the pressure range (Z > 0), moving the
+wheel forward by one notch increases Z by one pressure step. Moving
+the wheel backward by one notch decreases Z by one pressure step,
+until Z returns to 0.</p></li>
+<li><p>When the Z value is in the proximity range (Z < 0), moving
+the wheel backward by one notch decreases Z by one proximity step.
+Moving the wheel forward by one notch increases Z by one proximity
+step, until Z returns to 0. </p></li>
+<li><p>There are limits to the values of the Z coordinate. This means
+that the Symbian emulator does not allow Z to exceed the upper boundary <xref
+href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"
+><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a positive
+value) and lower boundary <xref
+href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"
+><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a negative
+value). If Z is at the lower boundary, when the mouse wheel is moved
+backward next time, Z does not change. A new <codeph>Out of Range</codeph
+> pointer event is generated and sent to the Window Server. Similarly
+when Z is at the upper boundary, Z does not change when the mouse
+wheel is moved forward.</p></li>
+<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph
+> or <codeph>TRawEvent::EButton1Up</codeph>) is generated, Z is reset
+to 0.</p></li>
+</ul> </section>
+</conbody>
+<related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
+>Advanced Pointers</linktext></link>
+<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext
+>Enabling Multiple Pointers <?Pub Caret?>in the Emulator Tutorial</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000006176?>
--- a/Symbian3/PDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,58 +1,76 @@
-<?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-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en"><title>Enabling
-Multi-Touch in the Emulator Tutorial</title><shortdesc>This topic describes how to configure the Symbian emulator to enable
-a multi-touch environment. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<p>This topic builds on <xref href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Multi-Touch
-Support in the Emulator Overview</xref>.</p>
-<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C"> <title>Configuring
-the emulator</title> <p>Make sure that two or more mice are plugged in and
-detected on the Windows PC on which the emulator will run. The number of
-detected mice can be from two up to the maximum number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph> attribute. </p><ol>
-<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following lines
-to the <filepath>\epoc32\data\epoc.ini</filepath> file. These lines enable
-ScreenPlay and multi-touch.</p><codeblock xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
-EnableMultiTouch ON</codeblock></li>
-<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph>MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to define
-the proximity and pressure steps.</p><codeblock xml:space="preserve">MultiTouchProximityStep 10
-MultiTouchPressureStep 200
-</codeblock><p>If the above two options are not defined in the <filepath>epoc.ini</filepath> file,
-the default proximity and pressure steps are taken from the following HAL
-attributes.</p><codeblock xml:space="preserve">HALData::EPointer3DProximityStep
-HALData::EPointer3DPressureStep</codeblock></li>
-</ol><p><b>Result</b>: Launch the emulator to verify that the mice are detected
-and displayed inside the application window area. When you move a mouse or
-scroll the mouse wheel, its X, Y and Z values are reflected in the status
-bar.</p> </section>
-<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4"> <title>Enabling
-and disabling multi-touch</title><p>Multi-touch is only required by UI applications.
-Therefore, multi-touch is enabled inside the orange rectangular area shown
-on the following diagram. Inside the area two Windows pointers are displayed.
-The one numbered zero is the system pointer and the other is used only for
-multi-touch purposes. The first mouse to report events to the emulator is
-automatically taken as the primary mouse, which owns the Windows system pointer.</p><fig id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
-<title>Multi-touch area</title>
-<image href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e241381_href.png" placement="inline"/>
-</fig><p><b>System pointer</b>. Once the system pointer moves outside multi-touch
-area, multi-touch is temporarily disabled and standard emulator pointer behavior
-is resumed. This means that only one Windows system pointer is displayed and
-it is controlled by both mice.</p> <p><b>Non-system pointer</b>. If the
-non-system pointer moves out of the multi-touch area, the pointer just disappears
-from the screen. Disabling multi-touch is then not necessary because the system
-pointer behaves normally inside the multi-touch area. Moving the non-system
-pointer back into the area makes it reappear on the screen.</p> </section>
-</conbody><related-links>
-<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext>Multi-Touch
-Support in the Emulator Overview</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en">
+<title>Enabling Multi<?Pub Caret?>ple Pointers in the Emulator Tutorial</title>
+<shortdesc>This topic describes how to configure the Symbian emulator
+to enable a multiple pointer environment. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<p>This topic builds on <xref
+href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Support for
+Multiple Pointers in the Emulator Overview</xref>.</p>
+<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C"> <title
+>Configuring the emulator</title> <p>Make sure that two or more mice
+are plugged in and detected on the Windows PC on which the emulator
+will run. The number of detected mice can be from two up to the maximum
+number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph
+> attribute. </p><ol>
+<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following
+lines to the <filepath>\epoc32\data\epoc.ini</filepath> file. These
+lines enable ScreenPlay and multiple pointers.</p><codeblock
+xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
+EnableMultiTouch ON</codeblock></li>
+<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph
+>MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph
+> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to
+define the proximity and pressure steps.</p><codeblock
+xml:space="preserve">MultiTouchProximityStep 10
+MultiTouchPressureStep 200
+</codeblock><p>If the above two options are not defined in the <filepath
+>epoc.ini</filepath> file, the default proximity and pressure steps
+are taken from the following HAL attributes.</p><codeblock
+xml:space="preserve">HALData::EPointer3DProximityStep
+HALData::EPointer3DPressureStep</codeblock></li>
+</ol><p><b>Result</b>: Launch the emulator to verify that the mice
+are detected and displayed inside the application window area. When
+you move a mouse or scroll the mouse wheel, its X, Y and Z values
+are reflected in the status bar.</p> </section>
+<section
+id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-12-1-14-1-1-9-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4"
+> <title>Enabling and disabling multiple pointers</title><p
+>Multiple pointers are only required by UI applications. Therefore,
+they are enabled inside the orange rectangular area shown on the following
+diagram. Inside the area two Windows pointers are displayed. The one
+numbered zero is the system pointer and the other is used only for
+emulating touch with two fingers. The first mouse to report events
+to the emulator is automatically taken as the primary mouse, which
+owns the Windows system pointer.</p><fig
+id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
+<title>Multiple pointer area</title>
+<image
+href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e241381_href.png"
+placement="inline"></image></fig><p><b>System pointer</b>. Once the
+system pointer moves outside the multiple pointer area, multiple pointers
+are temporarily disabled and standard emulator pointer behavior is
+resumed. This means that only one Windows system pointer is displayed
+and it is controlled by both mice.</p> <p><b>Non-system pointer</b
+>. If the non-system pointer moves out of the multiple pointer area,
+the pointer just disappears from the screen. Disabling multiple pointers
+is then not necessary because the system pointer behaves normally
+inside the multiple pointer area. Moving the non-system pointer back
+into the area makes it reappear on the screen.</p> </section>
+</conbody>
+<related-links>
+<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext
+>Support for Multiple Pointers in the Emulator Overview</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000004067?>
--- a/Symbian3/PDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,19 +1,242 @@
-<?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 xml:lang="en" id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B"><title>Advanced Pointer Overview </title><shortdesc>This is an overview of the Window Server extensions that support the use of advanced pointers. These extensions enable mobile devices to respond to events from multiple pointers, including their proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p> <section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title> <p>In response to multi-touch pointer movements, an input driver generates a pointer event for each touch. The Window Server changes and delivers the pointer events to the client application, as shown in the following diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA"><title>
- Pointer events
- </title> <image href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e239080_href.png" placement="inline"/></fig> <p>Pointer-related events move from the driver to the application. The <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref> and <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> classes encapsulate the event information. </p> </section> <section><title>Key concepts/terms</title> <p>The following terms are introduced here and are used throughout the advanced pointer documentation: </p> <dl><dlentry><dt>Pointer</dt> <dd><p>A device that points at the screen, for example, a mouse, pen, finger, or touchpad. </p> </dd> </dlentry> <dlentry><dt>Multi-pointer support</dt> <dd><p>Handling more than one pointer at the same time. </p> </dd> </dlentry> <dlentry><dt>Proximity</dt> <dd><p>Proximity in this context means the distance of the pointer from the mobile device. Sensors detect the value of the proximity of the pointer from the mobile device. </p> </dd> </dlentry> <dlentry><dt>Pressure</dt> <dd><p>Pressure in this context is a value that indicates the force applied to the mobile device by the pointer. Sensors detect the value of the pressure of the pointer on the mobile device. </p> </dd> </dlentry> </dl> </section> <section><title>Logical model of pointing devices</title> <p>A logical model is used to handle all of the different pointing devices correctly. In this logical model, the pointer is <b>performing an action</b> when any of the following scenarios occur: </p> <ul><li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph> event is sent to the client. </p> </li> <li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph> events are sent to the client (optional). </p> </li> <li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph> event is sent to the client. </p> </li> </ul> <p>Pointing devices can be in one of the following states: </p> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>State</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <b>Out of range</b> </p> </entry> <entry><p>Not detected by the device's sensors. </p> </entry> </row> <row><entry><p> <b>Up</b> </p> </entry> <entry><p>Detected by sensors, coordinates available, not performing an action. </p> </entry> </row> <row><entry><p> <b>Down</b> </p> </entry> <entry><p>Detected by sensors, coordinates available, performing an action (as defined above). </p> </entry> </row> </tbody> </tgroup> </table> <p>The mapping between these states and physical actions performed by the user vary for different pointing device types (mouse, finger) and different phone models. Here are two example interpretations of physical pointing device states: </p> <ul><li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b>. An example interpretation by a driver of the physical state of a mouse is as follows: It is always in the <i>up</i> state except when the left button is pressed, when it is in the <i>down</i> state. It is never out of range. </p> </li> <li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers with proximity support</b>. The following is an example interpretation of finger physical states when the device has proximity support (that is, it can measure the finger's proximity from the screen): </p> <ul><li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i> when proximity > 10cm </p> </li> <li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when 1cm < proximity <= 10cm </p> </li> <li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i> when proximity <= 1cm </p> </li> </ul> <p>In this way the finger can perform actions (for example, press buttons, drag items) without touching the screen. </p> </li> </ul> </section> <section><title>Multiple pointers</title> <p>The system handles multiple pointers at the same time by identifying each one with a number and sending pointer events separately for each of them. A field (<codeph>iPointerNumber</codeph>) in the pointer event classes (<xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> and the <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> class which extends <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>) identifies the pointer for which the event occurred. The order and frequency of pointer events depends on the driver of the pointing device. </p> <p>On each phone there is a pool of available pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph> - 1. Every time the driver detects a new pointer coming into the range of the device, the driver assigns a number from the pool. After the pointer goes out of the range of the device, the number no longer identifies that particular pointer and the driver sends <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this pointer number. The number is then released back to the pool and may be reused to identify another pointer coming into the device's range. </p> </section> <section><title>Pressure and proximity</title> <p>The pressure of the pointer on the screen is represented as a positive integer. The proximity of the pointer to the screen is represented as a negative integer. It is up to the UI Platform to define units of pressure and proximity, which may be non-linear. In the <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> class, pressure and proximity are expressed in terms of the Z coordinate of the pointer. The definition of the Z coordinate is based on the assumption that the pointer is either hovering over the screen (proximity < 0, pressure = 0) or touching the screen (proximity = 0, pressure >= 0): </p> <ul><li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity < 0 and pressure = 0 then the Z coordinate = proximity. </p> </li> <li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity = 0 and pressure >= 0 then the Z coordinate = pressure. </p> </li> </ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E"><title>
- Relationships between the pointer proximity, pressure and z
- coordinate
- </title> <image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e239367_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <table id="GUID-07002499-484E-500E-AC57-4089AB0197E8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"><apiname>HALData</apiname></xref> </p> </entry> <entry><p>Includes z coordinate, pressure precision and number of pointers. Also contains threshold values for proximity and pressure. </p> </entry> </row> <row><entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> </p> </entry> <entry><p>Includes the pointer number and a structure for proximity and pressure data. </p> </entry> </row> <row><entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref> </p> </entry> <entry><p>Enables advanced pointer events for the window. </p> </entry> </row> <row><entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref> </p> </entry> <entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived from <codeph>TPointerEvent)</codeph>. </p> </entry> </row> <row><entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> </p> </entry> <entry><p>Includes event types for pressing and closeness. </p> </entry> </row> <row><entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> </p> </entry> <entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides capabilities for pressure, proximity and multi-touch support. </p> </entry> </row> <row><entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession</apiname></xref> </p> </entry> <entry><p>Provides get and set methods to manipulate threshold values for proximity and pressure. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <ul><li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling many pointers for a window</b> </p> <p>Enables multiple pointers to act on one window. </p> </li> <li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling concurrent control of many objects</b> </p> <p>Controls many objects on one or more windows with many pointers. </p> </li> <li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting z coordinates from TPointerEvent</b> </p> <p>Reads the pressure and proximity values for a pointer. </p> </li> <li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b> </p> <p>Enables the user to zoom in and out of data by using two fingers to pinch an area of the screen. Pinch zooming is normally used in web-page, map, picture, chart and control applications. </p> </li> <li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding to high pressure events</b> </p> <p>As the pointer state changes, the pressure value can be checked. When it passes over a threshold value, the Window Server responds appropriately to the client. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Pointer States and Event
- Communication</linktext> </link> <link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext>Advanced Pointer
- Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B" xml:lang="en">
+<title>Advanced Pointer Overview </title>
+<shortdesc>This is an overview of the Window Server extensions that
+support the use of advanced pointers. These extensions enable mobile
+devices to respond to events from multiple pointers, including their
+proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p> <b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title
+> <p>In response to multiple pointer movements, an input driver generates
+a pointer event for each touch. The Window Server changes and delivers
+the pointer events to the client application, as shown in the following
+diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA">
+<title> Pointer events </title>
+<image
+href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e239080_href.png"
+placement="inline"></image></fig> <p>Pointer-related events move from
+the driver to the application. The <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
+><apiname>TWsEvent</apiname></xref> and <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
+></xref> classes encapsulate the event information. </p> </section>
+<section><title>Key concepts/terms</title> <p>The following terms
+are introduced here and are used throughout the advanced pointer documentation: </p
+> <dl>
+<dlentry>
+<dt>Pointer</dt>
+<dd><p>A device that points at the screen, for example, a mouse, pen,
+finger, or touchpad. </p> </dd></dlentry>
+<dlentry>
+<dt>Multiple pointer support</dt>
+<dd><p>Handling more than one pointer at the same time. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Proximity</dt>
+<dd><p>Proximity in this context means the distance of the pointer
+from the mobile device. Sensors detect the value of the proximity
+of the pointer from the mobile device. </p> </dd></dlentry>
+<dlentry>
+<dt>Pressure</dt>
+<dd><p>Pressure in this context is a value that indicates the force
+applied to the mobile device by the pointer. Sensors detect the value
+of the pressure of the pointer on the mobile device. </p> </dd>
+</dlentry>
+</dl> </section>
+<section><title>Logical model of pointing devices</title> <p>A logical
+model is used to handle all of the different pointing devices correctly.
+In this logical model, the pointer is <b>performing an action</b> when
+any of the following scenarios occur: </p> <ul>
+<li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph
+> event is sent to the client. </p> </li>
+<li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph
+> events are sent to the client (optional). </p> </li>
+<li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph
+> event is sent to the client. </p> </li>
+</ul> <p>Pointing devices can be in one of the following states: </p
+> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>State</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <b>Out of range</b> </p> </entry>
+<entry><p>Not detected by the device's sensors. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Up</b> </p> </entry>
+<entry><p>Detected by sensors, coordinates available, not performing
+an action. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Down</b> </p> </entry>
+<entry><p>Detected by sensors, coordinates available, performing an
+action (as defined above). </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The mapping between these states and physical actions
+performed by the user vary for different pointing device types (mouse,
+finger) and different phone models. Here are two example interpretations
+of physical pointing device states: </p> <ul>
+<li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b
+>. An example interpretation by a driver of the physical state of
+a mouse is as follows: It is always in the <i>up</i> state except
+when the left button is pressed, when it is in the <i>down</i> state.
+It is never out of range. </p> </li>
+<li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers
+with proximity support</b>. The following is an example interpretation
+of finger physical states when the device has proximity support (that
+is, it can measure the finger's proximity from the screen): </p> <ul>
+<li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i
+> when proximity > 10cm </p> </li>
+<li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when
+1cm < proximity <= 10cm </p> </li>
+<li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i
+> when proximity <= 1cm </p> </li>
+</ul> <p>In this way the finger can perform actions (for example,
+press buttons, drag items) without touching the screen. </p> </li>
+</ul> </section>
+<section><title>Multiple pointers</title> <p>The system handles multiple
+pointers at the same time by identifying each one with a number and
+sending pointer events separately for each of them. A field (<codeph
+>iPointerNumber</codeph>) in the pointer event classes (<xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref> and the <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
+></xref> class which extends <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
+></xref>) identifies the pointer for which the event occurred. The
+order and frequency of pointer events depends on the driver of the
+pointing device. </p> <p>On each phone there is a pool of available
+pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph
+> - 1. Every time the driver detects a new pointer coming into the
+range of the device, the driver assigns a number from the pool. After
+the pointer goes out of the range of the device, the number no longer
+identifies that particular pointer and the driver sends <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"
+><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this
+pointer number. The number is then released back to the pool and may
+be reused to identify another pointer coming into the device's range. </p
+> </section>
+<section><title>Pressure and proximity</title> <p>The pressure of
+the pointer on the screen is represented as a positive integer. The
+proximity of the pointer to the screen is represented as a negative
+integer. It is up to the UI Platform to define units of pressure and
+proximity, which may be non-linear. In the <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref> class, pressure and proximity are expressed in terms of the
+Z coordinate of the pointer. The definition of the Z coordinate is
+based on the assumption that the pointer is either hovering over the
+screen (proximity < 0, pressure = 0) or touching the screen (proximity
+= 0, pressure >= 0): </p> <ul>
+<li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity
+< 0 and pressure = 0 then the Z coordinate = proximity. </p> </li>
+<li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity
+= 0 and pressure >= 0 then the Z coordinate = pressure. </p> </li>
+</ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E">
+<title> Relationships between the pointer proximity,
+pressure and z coordinate </title>
+<image
+href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e239367_href.png"
+placement="inline"></image></fig> </section>
+<section><title>API summary</title> <table
+id="GUID-07002499-484E-500E-AC57-4089AB0197E8">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"
+><apiname>HALData</apiname></xref> </p> </entry>
+<entry><p>Includes z coordinate, pressure precision and number of
+pointers. Also contains threshold values for proximity and pressure. </p
+> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"
+><apiname>TRawEvent</apiname></xref> </p> </entry>
+<entry><p>Includes the pointer number and a structure for proximity
+and pressure data. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"
+><apiname>RWindowBase</apiname></xref> </p> </entry>
+<entry><p>Enables advanced pointer events for the window. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
+><apiname>TWsEvent</apiname></xref> </p> </entry>
+<entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived
+from <codeph>TPointerEvent)</codeph>. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"
+><apiname>TPointerEvent</apiname></xref> </p> </entry>
+<entry><p>Includes event types for pressing and closeness. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"
+><apiname>TAdvancedPointerEvent</apiname></xref> </p> </entry>
+<entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides
+capabilities for pressure, proximity and multiple pointers<?Pub Caret?>. </p
+> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"
+><apiname>RWsSession</apiname></xref> </p> </entry>
+<entry><p>Provides get and set methods to manipulate threshold values
+for proximity and pressure. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section><title>Typical uses</title> <ul>
+<li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling
+many pointers for a window</b> </p> <p>Enables multiple pointers
+to act on one window. </p> </li>
+<li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling
+concurrent control of many objects</b> </p> <p>Controls many objects
+on one or more windows with many pointers. </p> </li>
+<li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting
+z coordinates from TPointerEvent</b> </p> <p>Reads the pressure and
+proximity values for a pointer. </p> </li>
+<li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b
+> </p> <p>Enables the user to zoom in and out of data by using two
+fingers to pinch an area of the screen. Pinch zooming is normally
+used in web-page, map, picture, chart and control applications. </p
+> </li>
+<li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding
+to high pressure events</b> </p> <p>As the pointer state changes,
+the pressure value can be checked. When it passes over a threshold
+value, the Window Server responds appropriately to the client. </p
+> </li>
+</ul> </section>
+</conbody>
+<related-links>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
+>Pointer States and Event Communication</linktext>
+</link>
+<link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext
+>Advanced Pointer Tutorial</linktext></link>
+</related-links>
+</concept>
+<?Pub *0000011676?>
--- a/Symbian3/PDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,54 +1,65 @@
-<?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-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en"><title>Touch
-UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>When designing a Symbian application, the UI must be designed so that all
-tasks can be performed with touch. Therefore, the design must not rely on
-hardware keys (except for turning the power ON and OFF). </p>
-<p>The touch UI in the Symbian platform involves various specific touch components,
-component and UI behavior changes, layout changes and additions to the <xref href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref>. The
-main differences or additions in touch UI include the following:</p>
-<ul>
-<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications for
-touch UI</xref></p></li>
-<li><p>Capacitive touch screen (HW). </p><p>For more information, see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications for
-touch UI</xref></p></li>
-<li><p>Single tap. For more information, see <xref href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single
-tap</xref>.</p></li>
-<li><p>Multi-touch.</p><p>For more information, see <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multi-touch</xref>.</p></li>
-<li><p>Touch gestures.</p><p>For more information,
-see <xref href="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita">Touch gestures</xref>.</p></li>
-<li><p>Toolbar component in touch UI</p><p>For
-more information, see <xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref>.</p></li>
-<li><p>Touch input component (virtual keyboard, hand-writing recognition and
-virtual ITU-T) </p><p>For more information,
-see <xref href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text
-input</xref>.</p></li>
-<li><p>Stylus pop-up menu component </p><p>For
-more information, see <xref href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus
-pop-up menu</xref>.</p></li>
-<li><p>On-screen dialer application </p></li>
-<li><p>Additional touch functionality to some components (for example, Preview
-pop-up) </p><p>For more information,
-see <xref href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview
-pop-up</xref>.</p></li>
-<li><p>Touch-enabled components</p><p>For
-more information, see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support for UI components</xref>.</p></li>
-</ul>
-<p>There are two generic layouts for touch UI -portrait orientation and landscape
-orientation, see the following figure. The <xref href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status
-pane</xref> in Touch UI has three variants: extended, flat and small.</p>
-<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
-<title>Default Symbian Touch UI layouts for portrait and landscape</title>
-<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e96842_href.png" placement="inline"/>
-</fig>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en">
+<title>Touch UI</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>When designing a Symbian application, the UI must be designed so
+that all tasks can be performed with touch. Therefore, the design
+must not rely on hardware keys (except for turning the power ON and
+OFF). </p>
+<p>The touch UI in the Symbian platform involves various specific
+touch components, component and UI behavior changes, layout changes
+and additions to the <xref
+href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref
+>. The main differences or additions in touch UI include the following:</p>
+<ul>
+<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref
+href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications
+for touch UI</xref></p></li>
+<li><p>Capacitive touch screen (HW). </p><p>For more information,
+see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing
+applications for touch UI</xref></p></li>
+<li><p>Single ta<?Pub Caret?>p. For more information, see <xref
+href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single tap</xref
+>.</p></li>
+<li><p>Multiple touch.</p><p>For more information, see <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref
+>.</p></li>
+<li><p>Touch gestures.</p><p>For more information, see <xref
+href="GUID-2C0C173D-C659-4011-8B7A-8EB35E64D150.dita">Touch gestures</xref
+>.</p></li>
+<li><p>Toolbar component in touch UI</p><p>For more information, see <xref
+href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref
+>.</p></li>
+<li><p>Touch input component (virtual keyboard, hand-writing recognition
+and virtual ITU-T) </p><p>For more information, see <xref
+href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text input</xref
+>.</p></li>
+<li><p>Stylus pop-up menu component </p><p>For more information, see <xref
+href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus pop-up
+menu</xref>.</p></li>
+<li><p>On-screen dialer application </p></li>
+<li><p>Additional touch functionality to some components (for example,
+Preview pop-up) </p><p>For more information, see <xref
+href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview pop-up</xref
+>.</p></li>
+<li><p>Touch-enabled components</p><p>For more information, see <xref
+href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
+for UI components</xref>.</p></li>
+</ul>
+<p>There are two generic layouts for touch UI -portrait orientation
+and landscape orientation, see the following figure. The <xref
+href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status pane</xref
+> in Touch UI has three variants: extended, flat and small.</p>
+<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
+<title>Default Symbian Touch UI layouts for portrait and landscape</title>
+<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e96842_href.png"
+placement="inline"></image></fig>
+</conbody>
+</concept>
+<?Pub *0000003177?>
--- a/Symbian3/PDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,199 +1,263 @@
-<?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-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en"><title> Advanced
-Pointer Tutorial</title><shortdesc>This tutorial provides step-by-step instructions and sample code
-to help you write applications using advanced pointers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<section><title>Required background </title> <p>This topic builds on the material
-in the following topics: </p> <ul>
-<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
-Pointer Overview</xref> </p> </li>
-<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced
-Pointer States and Event Communication</xref> </p> </li>
-</ul> </section>
-<section><title>Using advanced pointers</title> <p>This topic covers the following: </p> <ul>
-<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC">Enabling multi-touch for a window</xref> </p> </li>
-<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F">Getting Z coordinates from TPointerEvent</xref> </p> </li>
-<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"> Pinch zooming</xref> </p> </li>
-</ul> </section>
-<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling multi-touch
-in a window</title> <ol id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
-<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname></xref> provides
-a handle to a standard window. Call <codeph>RWindow</codeph> to create an
-instance of a window. </p> <codeblock id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve">
-RWindow window(ws);
-
-User::LeaveIfError(window.Construct(wg, reinterpret_cast<TUint32>(&wg) + 1));
-</codeblock> </li>
-<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to
-enable advanced pointers. Then call <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"><apiname>RWindowBase::Activate()</apiname></xref> to
-display the window and enable the window to receive events. <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname></xref> inherits
-from <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref>, so you can call the <codeph>Activate()</codeph> function
-on <codeph>RWindow</codeph>. </p> <codeblock id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve">
-window.EnableAdvancedPointers();
-window.Activate();
-</codeblock> <p>When an application needs to receive advanced pointer events
-in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph> for
-the window <i>before</i> it is activated. </p> <p>If advanced pointers are
-not enabled for a window, it receives only standard <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> information
-from a single pointer with no pressure and proximity data. The single pointer
-environment rules describe the way in which pointer events coming from many
-pointers in the multi-pointer model are transformed into events of one pointer.
-They are necessary to ensure that old single-pointer applications work in
-a multi-touch environment intuitively and as expected by the user. </p> <p>However,
-the new <codeph>TPointerEvent</codeph> types, <xref href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"><apiname>EEnterCloseProximity</apiname></xref>, <xref href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"><apiname>EExitCloseProximity</apiname></xref>, <xref href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"><apiname>EEnterHighPressure</apiname></xref> and <xref href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"><apiname>EExitHighPressure</apiname></xref>, are delivered to all windows,
-even to those that do not enable advanced pointers. </p> </li>
-</ol> </section>
-<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting Z coordinates
-from TPointerEvent</title> <ol id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
-<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on
-a <codeph>TPointerEvent</codeph> to return a pointer to a <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9" xml:space="preserve">
-TZType aZType;
-TPointerEvent& aPointerEvent;
-TInt* aZ;
-TInt* aPoint3D;
-
-TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
-</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
-details of a pointer event. <codeph>TZType</codeph> is a struct provided by
-the programmer containing members to hold proximity, pressure, and "proximity
-and pressure" data. </p> </li>
-<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need to test
-whether the pointer event contains advanced pointer data. If it is not an
-advanced pointer, the code leaves. </p> <p>If it is an advanced pointer, we
-call functions to detect proximity, pressure, "proximity and pressure" data
-and coordinates. </p> <codeblock id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve">
-if(!advancedP)
- {
- // The TPointerEvent isn't an instance of TAdvancedPointerEvent
- User::Leave(KErrArgument);
- }
-
-switch(aZType)
- {
- case EZTypeProximity:
- aZ = advancedP->Proximity();
- aPoint3D = advancedP->Proximity3D();
- break;
- case EZTypePressure:
- aZ = advancedP->Pressure();
- aPoint3D = advancedP->Pressure3D();
- break;
- case EZTypeProximityAndPressure:
- aZ = advancedP->ProximityAndPressure();
- aPoint3D = advancedP->ProximityAndPressure3D();
- break;
- default:
- User::Leave(KErrArgument);
- break;
- }
-</codeblock> <ul>
-<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns
-the proximity. </p> </li>
-<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns
-the pressure. </p> </li>
-<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref> returns
-the proximity and pressure combined. </p> </li>
-<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"><apiname>TAdvancedPointerEvent::
-Position3D()</apiname></xref> returns the proximity and the X, Y and Z coordinates. </p> </li>
-<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns
-the pressure and the X and Y coordinates. </p> </li>
-</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i> positive.
-Internally they are combined together as a Z coordinate. When Z > 0, the proximity
-is 0 and the Z value represents the pressure. When Z < 0, the pressure
-is 0 and the Z value represents the proximity. Some APIs use only a Z coordinate
-(such as the threshold getters and setters and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref>).
-In these, the Z coordinate is interpreted in terms of pressure and proximity. </p> </li>
-</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
-<title> Relationships between the pointer proximity, pressure and Z
- coordinate </title>
-<image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e241047_href.png" placement="inline"/>
-</fig> </section>
-<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch zooming</title> <p>This
-example shows an easy way to pinch zoom an image when the screen receives
-pointer events from two pointers. There are two functions in this code that
-must be implemented by the programmer: <codeph>BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>.
-They are not included in the example because they involve complex calculations
-that are not related to advanced pointers. </p> <p>The high-level steps to
-perform pinch zooming are: </p> <ol id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
-<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
-equivalent to the given on-screen coordinates. In the code example, this is
-done using the function <codeph>BitmapCoordinates()</codeph>. </p> </li>
-<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID of the
-pointer by using <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>.
-If the device can handle two pointers (two fingers) at the same time, their
-numbers are 0 and 1. The pointer number enables you to distinguish a given
-pointer from other pointers. </p> </li>
-<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer assign
-its coordinates to a local variable. We assume there are only two pointers
-handled by the system here. </p> </li>
-<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph>MoveBitmap()</codeph> function
-to achieve the zoom effect. </p> <codeblock id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve">
-/**
-Receives pointer events from two pointers to perform Pinch Zoom of the image.
-Function will finish when EButton1Up is received for any of the pointers.
-@param aPointer1 Coordinates of pointer number 1 when zoom is started
-@param aPointer2 Coordinates of pointer number 2 when zoom is started
-*/
-
-void PinchZoom(TPoint aPointer1, TPoint aPointer2)
- {
- TPoint actualP1 = aPointer1;
- TPoint actualP2 = aPointer2;
-
- // translate on-screen pointer coordinates to coordinates of displayed bitmap
- TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
- TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
-
- TBool repaint = EFalse;
-
- while (ETrue)
- {
- TAdvancedPointerEvent event = GetNextPointerEvent();
-
- if (event.iType == TPointerEvent::EDrag)
- {
- if (event.PointerNumber() == 1)
- {
- actualP1 = event.iPosition;
- repaint = ETrue;
- }
- else if (event.PointerNumber() == 2)
- {
- actualP2 = event.iPosition;
- repaint = ETrue;
- }
- }
- else if (event.iType == TPointerEvent::EButton1Up)
- {
- break;
- }
-
- if (repaint)
- {
- // move bitmap on the screen in the way that
- // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
- // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
- MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
- repaint = EFalse;
- }
- }
- }
-</codeblock> </li>
-</ol> </section>
-</conbody><related-links>
-<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext>Advanced
-Pointer Overview</linktext></link>
-<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Advanced
-Pointer States and Event Communication</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en">
+<title> Advanced Pointer Tutorial</title>
+<shortdesc>This tutorial provides step-by-step instructions and sample
+code to help you write applications using advanced pointers. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p> <b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<section><title>Required background </title> <p>This topic builds
+on the material in the following topics: </p> <ul>
+<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref
+href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer
+Overview</xref> </p> </li>
+<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref
+href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced Pointer
+States and Event Communication</xref> </p> </li>
+</ul> </section>
+<section><title>Using advanced pointers</title> <p>This topic covers
+the following: </p> <ul>
+<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"
+>Enabling multiple pointers in a window</xref> </p> </li>
+<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"
+>Getting Z coordinates from TPointerEvent</xref> </p> </li>
+<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"
+> Pinch zooming</xref> </p> </li>
+</ul> </section>
+<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling
+multiple pointers in a window</title> <ol
+id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
+<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref
+href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname
+></xref> provides a handle to a standard window. Call <codeph>RWindow</codeph
+> to create an instance of a window. </p> <codeblock
+id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve"
+>
+RWindow window(ws);
+
+User::LeaveIfError(window.Construct(wg, reinterpret_cast<TUint32>(&wg) + 1));
+</codeblock> </li>
+<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref
+href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"
+><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to enable
+advanced pointers. Then call <xref
+href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"
+><apiname>RWindowBase::Activate()</apiname></xref> to display the
+window and enable the window to receive events. <xref
+href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname
+></xref> inherits from <xref
+href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname
+></xref>, so you can call the <codeph>Activate()</codeph> function
+on <codeph>RWindow</codeph>. </p> <codeblock
+id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve"
+>
+window.EnableAdvancedPointers();
+window.Activate();
+</codeblock> <p>When an application needs to receive advanced pointer
+events in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph
+> for the window <i>before</i> it is activated. </p> <p>If advanced
+pointers are not enabled f<?Pub Caret?>or a window, it receives only
+standard <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"
+><apiname>TPointerEvent</apiname></xref> information from a single
+pointer with no pressure and proximity data. The single pointer environment
+rules describe the way in which pointer events coming from many pointers
+in the multiple pointer model are transformed into events of one pointer.
+They are necessary to ensure that old single-pointer applications
+work in a multiple pointer environment intuitively and as expected
+by the user. </p> <p>However, the new <codeph>TPointerEvent</codeph
+> types, <xref href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"
+><apiname>EEnterCloseProximity</apiname></xref>, <xref
+href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"><apiname>EExitCloseProximity</apiname
+></xref>, <xref href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"
+><apiname>EEnterHighPressure</apiname></xref> and <xref
+href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"><apiname>EExitHighPressure</apiname
+></xref>, are delivered to all windows, even to those that do not
+enable advanced pointers. </p> </li>
+</ol> </section>
+<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting
+Z coordinates from TPointerEvent</title> <ol
+id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
+<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"
+><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on
+a <codeph>TPointerEvent</codeph> to return a pointer to a <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
+></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9"
+xml:space="preserve">
+TZType aZType;
+TPointerEvent& aPointerEvent;
+TInt* aZ;
+TInt* aPoint3D;
+
+TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
+</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
+details of a pointer event. <codeph>TZType</codeph> is a struct provided
+by the programmer containing members to hold proximity, pressure,
+and "proximity and pressure" data. </p> </li>
+<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need
+to test whether the pointer event contains advanced pointer data.
+If it is not an advanced pointer, the code leaves. </p> <p>If it is
+an advanced pointer, we call functions to detect proximity, pressure,
+"proximity and pressure" data and coordinates. </p> <codeblock
+id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve"
+>
+if(!advancedP)
+ {
+ // The TPointerEvent isn't an instance of TAdvancedPointerEvent
+ User::Leave(KErrArgument);
+ }
+
+switch(aZType)
+ {
+ case EZTypeProximity:
+ aZ = advancedP->Proximity();
+ aPoint3D = advancedP->Proximity3D();
+ break;
+ case EZTypePressure:
+ aZ = advancedP->Pressure();
+ aPoint3D = advancedP->Pressure3D();
+ break;
+ case EZTypeProximityAndPressure:
+ aZ = advancedP->ProximityAndPressure();
+ aPoint3D = advancedP->ProximityAndPressure3D();
+ break;
+ default:
+ User::Leave(KErrArgument);
+ break;
+ }
+</codeblock> <ul>
+<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"
+><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns
+the proximity. </p> </li>
+<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"
+><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns
+the pressure. </p> </li>
+<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
+><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
+> returns the proximity and pressure combined. </p> </li>
+<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"
+><apiname>TAdvancedPointerEvent:: Position3D()</apiname></xref> returns
+the proximity and the X, Y and Z coordinates. </p> </li>
+<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"
+><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns
+the pressure and the X and Y coordinates. </p> </li>
+</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i
+> positive. Internally they are combined together as a Z coordinate.
+When Z > 0, the proximity is 0 and the Z value represents the pressure.
+When Z < 0, the pressure is 0 and the Z value represents the proximity.
+Some APIs use only a Z coordinate (such as the threshold getters and
+setters and <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
+><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
+>). In these, the Z coordinate is interpreted in terms of pressure
+and proximity. </p> </li>
+</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
+<title> Relationships between the pointer proximity, pressure and
+Z coordinate </title>
+<image
+href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e241047_href.png"
+placement="inline"></image></fig> </section>
+<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch
+zooming</title> <p>This example shows an easy way to pinch zoom an
+image when the screen receives pointer events from two pointers. There
+are two functions in this code that must be implemented by the programmer: <codeph
+>BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>. They
+are not included in the example because they involve complex calculations
+that are not related to advanced pointers. </p> <p>The high-level
+steps to perform pinch zooming are: </p> <ol
+id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
+<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
+equivalent to the given on-screen coordinates. In the code example,
+this is done using the function <codeph>BitmapCoordinates()</codeph
+>. </p> </li>
+<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID
+of the pointer by using <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"
+><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>.
+If the device can handle two pointers (two fingers) at the same time,
+their numbers are 0 and 1. The pointer number enables you to distinguish
+a given pointer from other pointers. </p> </li>
+<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer
+assign its coordinates to a local variable. We assume there are only
+two pointers handled by the system here. </p> </li>
+<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph
+>MoveBitmap()</codeph> function to achieve the zoom effect. </p> <codeblock
+id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve"
+>
+/**
+Receives pointer events from two pointers to perform Pinch Zoom of the image.
+Function will finish when EButton1Up is received for any of the pointers.
+@param aPointer1 Coordinates of pointer number 1 when zoom is started
+@param aPointer2 Coordinates of pointer number 2 when zoom is started
+*/
+
+void PinchZoom(TPoint aPointer1, TPoint aPointer2)
+ {
+ TPoint actualP1 = aPointer1;
+ TPoint actualP2 = aPointer2;
+
+ // translate on-screen pointer coordinates to coordinates of displayed bitmap
+ TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
+ TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
+
+ TBool repaint = EFalse;
+
+ while (ETrue)
+ {
+ TAdvancedPointerEvent event = GetNextPointerEvent();
+
+ if (event.iType == TPointerEvent::EDrag)
+ {
+ if (event.PointerNumber() == 1)
+ {
+ actualP1 = event.iPosition;
+ repaint = ETrue;
+ }
+ else if (event.PointerNumber() == 2)
+ {
+ actualP2 = event.iPosition;
+ repaint = ETrue;
+ }
+ }
+ else if (event.iType == TPointerEvent::EButton1Up)
+ {
+ break;
+ }
+
+ if (repaint)
+ {
+ // move bitmap on the screen in the way that
+ // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
+ // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
+ MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
+ repaint = EFalse;
+ }
+ }
+ }
+</codeblock> </li>
+</ol> </section>
+</conbody>
+<related-links>
+<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext
+>Advanced Pointer Overview</linktext></link>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
+>Advanced Pointer States and Event Communication</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000013536?>
--- a/Symbian3/PDK/Source/GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,128 +1,158 @@
-<?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-D0C84E1D-A625-4F79-8515-399B8153727B" xml:lang="en"><title>What's
-New in Graphics in Symbian^3</title><shortdesc>This section describes the changes introduced in the Graphics package
-in Symbian^3.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-B341632C-47E7-4A0E-B3E5-2B69FD0AB09D"><title>ScreenPlay</title><p>ScreenPlay
-is a new graphics architecture which enables device creators to take advantage
-of improved software performance, hardware acceleration and third party graphics
-engines. For more information, see:</p><ul>
-<li><xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
-Graphics Architecture</xref></li>
-<li><xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">The NonScreenPlay
-Graphics Architecture</xref></li>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-D0C84E1D-A625-4F79-8515-399B8153727B" xml:lang="en">
+<title>What's New in Graphics in Symbian^3</title>
+<shortdesc>This section describes the changes introduced in the Graphics
+package in Symbian^3.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<section id="GUID-B341632C-47E7-4A0E-B3E5-2B69FD0AB09D"><title>ScreenPlay</title
+><p>ScreenPlay is a new graphics architecture which enables device
+creators to take advantage of improved software performance, hardware
+acceleration and third party graphics engines. For more information,
+see:</p><ul>
+<li><xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The
+ScreenPlay Graphics Architecture</xref></li>
+<li><xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">The
+NonScreenPlay Graphics Architecture</xref></li>
<li><xref href="GUID-6D8A1FC7-095B-587E-8274-23C132978C53.dita">Enabling
the Graphics Architecture Variants</xref></li>
-<li><xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics Composition</xref></li>
-<li><xref href="GUID-EF62BF88-3687-505D-8BD7-EEDF36246E56.dita">Graphics Hardware
-Acceleration</xref></li>
-<li><xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">Dynamic Resolution
-Switching</xref></li>
-
+<li><xref href="GUID-859CAA08-59C9-5FD3-98DE-6BDD0D6ED50B.dita">Graphics
+Composition</xref></li>
+<li><xref href="GUID-EF62BF88-3687-505D-8BD7-EEDF36246E56.dita">Graphics
+Hardware Acceleration</xref></li>
+<li><xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">Dynamic
+Resolution Switching</xref></li>
<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
Graphics Headers Component Overview</xref></li>
-<li><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer
-Overview</xref></li>
-<li><xref href="GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita">External Surfaces
-Overview</xref></li>
+<li><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
+Pointer Overview</xref></li>
+<li><xref href="GUID-495EA1C8-E95F-54AE-B4D1-0F463003C2D7.dita">External
+Surfaces Overview</xref></li>
<li><xref href="GUID-2E8929E6-9555-51D2-B41D-6F1D05A4DB87.dita">Render
Stages Overview</xref></li>
<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI
Environment</xref></li>
</ul> </section>
-<section id="GUID-934FEF09-12B2-418D-B6B4-1CCD41FFD27A"><title>Khronos APIs</title><p>For
-information about the supported Khronos APIs, see:</p><ul>
-<li><xref href="GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita">Khronos API Support</xref></li>
-<li><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG Collection</xref></li>
-<li><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES Collection</xref></li>
-<li><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL Collection</xref></li>
+<section id="GUID-934FEF09-12B2-418D-B6B4-1CCD41FFD27A"><title>Khronos
+APIs</title><p>For information about the supported Khronos APIs, see:</p
+><ul>
+<li><xref href="GUID-50254C2F-57B6-58C4-911F-294EF2B79C04.dita">Khronos
+API Support</xref></li>
+<li><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG
+Collection</xref></li>
+<li><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES
+Collection</xref></li>
+<li><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL
+Collection</xref></li>
<li><xref href="GUID-8FE41C9A-8171-58A2-A808-17B81E79B11F.dita">OpenWF
Composition</xref></li>
</ul></section>
<section id="GUID-92E3FEE6-30D9-4C1B-8084-3CE3FA1DFE9B"><title>Other
new features</title><ul>
-<li><xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended Bitmaps</xref></li>
-<li><xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing Dynamic
-DSA Allocation</xref></li>
-<li><xref href="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita">Multi-Touch
-Support in the Emulator</xref></li>
+<li><xref href="GUID-D76C7759-739D-5C98-B718-7297687FE630.dita">Extended
+Bitmaps</xref></li>
+<li><xref href="GUID-8DF46A11-874A-52E5-9298-C083EA633BA0.dita">Implementing
+Dynamic DSA Allocation</xref></li>
+<li><xref href="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita">Multiple
+P<?Pub Caret?>ointer Support in the Emulator</xref></li>
</ul></section>
-<section id="GUID-B7EEA185-4445-4875-A9B6-18EF2264FD9C"><title>Interface breaks
-and deprecated functionality</title><p>The following functionality is deprecated in Symbian^3:</p><ul>
-<li><p>DirectGDI is deprecated. See <xref href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita">DirectGDI Component</xref> for
-more information.</p></li>
-<li><p>The Graphics Resource components
-are deprecated and will be removed in Symbian^4. See <xref href="GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita">Graphics
-Resource Services Collection</xref> for more information.</p></li>
-<li><p>Creating transparent windows using a mask and <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname></xref> is
-deprecated. See <xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
+<section id="GUID-B7EEA185-4445-4875-A9B6-18EF2264FD9C"><title>Interface
+breaks and deprecated functionality</title><p>The following functionality
+is deprecated in Symbian^3:</p><ul>
+<li><p>DirectGDI is deprecated. See <xref
+href="GUID-A2E07A3C-B3A8-50B9-BD60-F1F01795FA24.dita">DirectGDI Component</xref
+> for more information.</p></li>
+<li><p>The Graphics Resource components are deprecated and will be
+removed in Symbian^4. See <xref
+href="GUID-26E51AB0-C0FC-55EA-B747-C834E2D4FD27.dita">Graphics Resource
+Services Collection</xref> for more information.</p></li>
+<li><p>Creating transparent windows using a mask and <xref
+href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname
+></xref> is deprecated. See <xref
+href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
Windows</xref> for more information.</p></li>
-<li><p>Backed-up windows are deprecated. See <xref href="GUID-08A6A034-5609-58B0-8EA7-943B2A937B40.dita">Displayable
+<li><p>Backed-up windows are deprecated. See <xref
+href="GUID-08A6A034-5609-58B0-8EA7-943B2A937B40.dita">Displayable
Windows</xref> for more information. </p></li>
</ul></section>
-<section id="GUID-9B1C753E-E502-4578-A5A7-0C8CD2739C5C"><title>Guide documentation
-changes</title><p>The following documentation
-has been added to the Graphics Reference:</p><ul>
-<li><xref href="GUID-F2AF891D-A514-5743-B6F0-9271CE2A1775.dita">Graphics Components
-and Their CBR Package Names</xref></li>
-<li><xref href="GUID-610C1484-112E-5442-95DC-89CF890A8310.dita">Pixel Formats</xref></li>
-</ul><p>The following documentation has been added to the Windowing collection:</p><ul>
-<li><xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window Server Component
-Overview</xref></li>
-<li><xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display Control
-and Mapping in the Window Server Client</xref></li>
-<li><xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent Windows</xref></li>
-<li><xref href="GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita">Redraw Drawing</xref></li>
-<li><xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref></li>
-<li><xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">External Surfaces</xref></li>
-<li><xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">Render-Stages</xref></li>
+<section id="GUID-9B1C753E-E502-4578-A5A7-0C8CD2739C5C"><title>Guide
+documentation changes</title><p>The following documentation has been
+added to the Graphics Reference:</p><ul>
+<li><xref href="GUID-F2AF891D-A514-5743-B6F0-9271CE2A1775.dita">Graphics
+Components and Their CBR Package Names</xref></li>
+<li><xref href="GUID-610C1484-112E-5442-95DC-89CF890A8310.dita">Pixel
+Formats</xref></li>
+</ul><p>The following documentation has been added to the Windowing
+collection:</p><ul>
+<li><xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Window
+Server Component Overview</xref></li>
+<li><xref href="GUID-B1CB6374-2C2B-5D6C-9A7C-6E49D8F235B8.dita">Display
+Control and Mapping in the Window Server Client</xref></li>
+<li><xref href="GUID-02BD38E7-A579-5BD5-9444-4E7C14C7809A.dita">Transparent
+Windows</xref></li>
+<li><xref href="GUID-8DB1C618-597C-560C-95A2-C0AB2CEBB027.dita">Redraw
+Drawing</xref></li>
+<li><xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced
+Pointers</xref></li>
+<li><xref href="GUID-1C025957-258C-54C0-94A5-AD60C14E6D76.dita">External
+Surfaces</xref></li>
+<li><xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">Render-Stages</xref
+></li>
<li><xref href="GUID-EB7F7772-1C0D-54C7-9856-AD552DF1F102.dita">Window
Server Plug-in Framework Overview</xref></li>
<li><xref href="GUID-8659E1EC-7744-5F93-AC56-C3000A2232CB.dita">MiniGUI
Environment</xref></li>
-<li><xref href="GUID-E29CAFA8-523D-57D2-AC1B-D6D01741550B.dita">Window Server Internals
-Concepts</xref></li>
-<li><xref href="GUID-85E1E45B-DD05-5B7D-84E7-9911E0A3E3CC.dita">The wsini.ini File</xref></li>
+<li><xref href="GUID-E29CAFA8-523D-57D2-AC1B-D6D01741550B.dita">Window
+Server Internals Concepts</xref></li>
+<li><xref href="GUID-85E1E45B-DD05-5B7D-84E7-9911E0A3E3CC.dita">The
+wsini.ini File</xref></li>
<li><xref href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita">Window
Server Plug-ins Component</xref></li>
-</ul><p>The following documentation has
-been added to the Font and Bitmap Server collection:</p><ul>
-<li><p><xref href="GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita">Creating an
-Extended Bitmap Rasterizer</xref></p></li>
-</ul><p>The following documentation has been added to the OpenGLES collection:</p><ul>
-<li><p><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita">OpenGLES Collection</xref></p></li>
-</ul><p>The following documentation has been added to the OpenVG collection:</p><ul>
-<li><p><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita">OpenVG Collection</xref></p></li>
-</ul><p>The following documentation has been added to the EGL collection:</p><ul>
-<li><p><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita">EGL Collection</xref></p></li>
-</ul><p>The following documentation has
-been added to the Graphics Utilities collection:</p><ul>
-<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common Graphics
-Headers Component Overview</xref></li>
-<li><xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection of Adaptations</xref></li>
-</ul><p>The following documentation has
-been added to the Graphics Composition collection:</p><ul>
-<li><p><xref href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita">Graphics Composition
-Collection</xref></p></li>
-</ul><p>The following documentation has
-been added to the Graphics Hardware Drivers collection:</p><ul>
-<li><p><xref href="GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita">Graphics Hardware
-Drivers Collection</xref></p></li>
+</ul><p>The following documentation has been added to the Font and
+Bitmap Server collection:</p><ul>
+<li><p><xref href="GUID-E6E6A439-B3CC-5FEA-9148-2DB5F37003F2.dita"
+>Creating an Extended Bitmap Rasterizer</xref></p></li>
+</ul><p>The following documentation has been added to the OpenGLES
+collection:</p><ul>
+<li><p><xref href="GUID-AB93B01C-B6C2-5B24-ADEF-95706584D625.dita"
+>OpenGLES Collection</xref></p></li>
+</ul><p>The following documentation has been added to the OpenVG collection:</p
+><ul>
+<li><p><xref href="GUID-1B1C6D35-FFDF-55B3-BCE2-DD0295858E49.dita"
+>OpenVG Collection</xref></p></li>
+</ul><p>The following documentation has been added to the EGL collection:</p
+><ul>
+<li><p><xref href="GUID-8C6D4350-A38D-57A1-8C8D-C777EA7E8A3E.dita"
+>EGL Collection</xref></p></li>
+</ul><p>The following documentation has been added to the Graphics
+Utilities collection:</p><ul>
+<li><xref href="GUID-19C3DA8C-0128-5172-B859-4FD6F6197451.dita">Common
+Graphics Headers Component Overview</xref></li>
+<li><xref href="GUID-946E64D6-3E5D-5264-AD5D-29D3AD296543.dita">Selection
+of Adaptations</xref></li>
+</ul><p>The following documentation has been added to the Graphics
+Composition collection:</p><ul>
+<li><p><xref href="GUID-63CB6C7E-44EC-5D0B-A37D-FE78F7D76592.dita"
+>Graphics Composition Collection</xref></p></li>
+</ul><p>The following documentation has been added to the Graphics
+Hardware Drivers collection:</p><ul>
+<li><p><xref href="GUID-4797000B-B61D-5EF8-8C38-3159433C9C7B.dita"
+>Graphics Hardware Drivers Collection</xref></p></li>
</ul><p>The following documentation has been updated:</p><ul>
-<li><xref href="GUID-484B51EC-2209-5492-8E9C-9D792AB0DF35.dita">Graphics and Drawing</xref></li>
-<li><xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">The Font and Bitmap
-Server Overview</xref></li>
+<li><xref href="GUID-484B51EC-2209-5492-8E9C-9D792AB0DF35.dita">Graphics
+and Drawing</xref></li>
+<li><xref href="GUID-71DADA82-3ABC-52D2-8360-33FAEB2E5DE9.dita">The
+Font and Bitmap Server Overview</xref></li>
</ul></section>
-</conbody><related-links>
-<link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext>Graphics
-Guide</linktext></link>
-</related-links></concept>
\ No newline at end of file
+</conbody>
+<related-links>
+<link href="GUID-975CBC70-81E6-5FA2-80CE-88DD2ABE9595.dita"><linktext
+>Graphics Guide</linktext></link>
+</related-links>
+</concept>
+<?Pub *0000007793?>
--- a/Symbian3/PDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/PDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,39 +1,43 @@
-<?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-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en"><title>Zooming
-actions</title><shortdesc>Mobile device users must be able to zoom in and out consistently
-within applications on a mobile device. However the zooming actions may differ
-from one device model to another.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The product features and form factor of a mobile device determine which
-zooming actions application developers should make available on it: </p>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en">
+<title>Zo<?Pub Caret?>oming actions</title>
+<shortdesc>Mobile device users must be able to zoom in and out consistently
+within applications on a mobile device. However the zooming actions
+may differ from one device model to another.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>The product features and form factor of a mobile device determine
+which zooming actions application developers should make available
+on it: </p>
<ul>
-<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms in and
-the hash mark (#) key zooms out. This functionality is not available in editors
-or other states where the keys play another role. In these cases, the zoom
-functions, if applicable, must be available in the <uicontrol>Options</uicontrol> menu. </p></li>
-<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the two topmost
-keys at the top left of the keyboard for zooming in and out. For example,
-on a Latin keyboard, use the Q key to zoom in and the A key to zoom out. Some
-products might have zooming symbols printed on the keyboard to help users
-find the zooming features. Again, the functions are not available in editors.</p></li>
-<li><p>On touch devices, users can use touch stripes to zoom. Finger movement
-along the stripe controls zooming. Applications may support different number
-of zoom levels. It should be possible to zoom across the full range with one
-swipe.</p></li>
-<li><p>On touch devices with multi-touch support, users can use pinch zoom.
-See <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multi-touch</xref> section
-for more details on pinch in and pinch out.</p></li>
-<li><p>On touch devices, some applications may support double-tapping zoom.
-A double tap can toggle between zoomed and normal view, but this depends on
-the application.</p></li>
+<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms
+in and the hash mark (#) key zooms out. This functionality is not
+available in editors or other states where the keys play another role.
+In these cases, the zoom functions, if applicable, must be available
+in the <uicontrol>Options</uicontrol> menu. </p></li>
+<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the
+two topmost keys at the top left of the keyboard for zooming in and
+out. For example, on a Latin keyboard, use the Q key to zoom in and
+the A key to zoom out. Some products might have zooming symbols printed
+on the keyboard to help users find the zooming features. Again, the
+functions are not available in editors.</p></li>
+<li><p>On touch devices, users can use touch stripes to zoom. Finger
+movement along the stripe controls zooming. Applications may support
+different number of zoom levels. It should be possible to zoom across
+the full range with one swipe.</p></li>
+<li><p>On touch devices with multiple touch support, users can use
+pinch zoom. See <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref
+> section for more details on pinch in and pinch out.</p></li>
+<li><p>On touch devices, some applications may support double-tapping
+zoom. A double tap can toggle between zoomed and normal view, but
+this depends on the application.</p></li>
</ul>
-</conbody></concept>
\ No newline at end of file
+</conbody>
+</concept>
+<?Pub *0000002119?>
--- a/Symbian3/SDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,88 +1,99 @@
-<?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>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-17C64C2F-9426-4B41-9F0A-23060289D644" xml:lang="en"><?Pub
+Caret1?>
+<title>Multiple touch</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>Multiple 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>Multiple 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 multiple 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"></image></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 multiple touch mode for the content defined.</p
+></entry>
+<entry><p>Tactile: <ul>
+<li><p>When the second finger is touched down, 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
+multiple touch in applications</title>For multiple 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>
+<?Pub *0000004282?>
--- a/Symbian3/SDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,78 +1,84 @@
-<?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-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en"><title>Designing
-applications for touch UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>Both touch screens and hybrid devices are supported by Symbian platform.
-Touch screen enables direct manipulation of content and objects, allowing
-for far more natural interaction with the device. This means a completely
-different user experience and interaction style compared to using a hardware
-keypad.</p>
-<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53">
-<image href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e69489_href.png" scale="60" placement="inline"/>
-</fig>
-<p>All applications must be touch-enabled, which means that they can be used
-with the touch screen alone, regardless of the presence of a keypad. In Symbian
-platform-based touch devices, the important hardware keys are Send, End, Multi-tasking
-and Power key.</p>
-<p>The application features must follow the platform support for different
-hardware. When designing a touch-enabled Symbian application, the UI must
-be designed so that everything can be accomplished by using the touch screen
-interface, as the potential target devices may or may not have a hardware
-keyboard. </p>
-<p>The touch UI in the Symbian platform is based on the use of resistive and
-capacitive touch screens. In <b>resistive touch screen</b> technology, two
-conductive and resistive layers are separated by a thin space. When an object
-touches this kind of touch panel, the layers are connected at a certain point,
-and a touch event is registered. This allows efficient stylus control, in
-addition to finger touch - unlike capacitive panels, which usually register
-only finger touch. Additionally, resistive touch screen offers a higher resolution
-and more durability. In <b>capacitive touch screen</b> technology, the panel
-consists of an insulator such as glass, coated with a transparent conductor
-(such as indium tin oxide (ITO)). When an object touches the surface of the
-screen, it results in a distortion of the local electrostatic field, measurable
-as a change in capacitance. Then a touch controller measures the frequency
-variations to ascertain the co-ordinates of the object's touch. Capacitive
-touch screen supports <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multi-touch</xref>.</p>
-<p>The hardware is supported by various:</p>
-<ul>
-<li><p>touch-specific components (see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch
-support for common UI components</xref>)</p></li>
-<li><p>component and UI behavior changes</p></li>
-<li><p>layout changes, and</p></li>
-<li><p>additions to the interaction style.</p></li>
-</ul>
-<p>The touch UI is designed to enable full task flow with touch, with minimal
-need to switch to hardware keys. Thus, the design ensures that users can complete
-a task with the chosen interaction method from start to finish. </p>
-<p>While designing and implementing applications for touch screen devices
-based on the Symbian platform, consider interactions that benefit the most
-from the touch UI. </p>
-<p>If you can apply direct manipulation of the UI, for example when moving
-items from one place to another, or scrolling a page, do not confine the user
-with unnecessary scrollbars or have the user resort to options list commands.</p>
-<p>Instead, enable the user to view pages larger than a screen by panning
-them directly, and dragging and dropping items rather than marking them and
-using menu options. </p>
-<ul>
-<li><p>Remember that the most intuitive touch screen interactions that can
-be performed using a finger are tapping, stroking up/down/left/right, and
-the long tap. </p></li>
-<li><p>Utilize strokes that are easily discovered to the users in the given
-context. It should be explicit to the user where strokes can be performed. </p></li>
-<li><p>Design to ensure that users can complete a task with the same interaction
-method from start to finish - touch or hardware keys, stylus, or finger, and
-using one hand or both hands. </p></li>
-<li><p>Aim to optimize system performance and battery consumption to provide
-a fluid and reliable touch user experience. </p></li>
-</ul>
-<p><b>See Also</b>:</p>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C" xml:lang="en">
+<title>Designing applications for touch UI</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>Both touch screens and hybrid devices are supported by Symbian
+platform. Touch screen enables direct manipulation of content and
+objects, allowing for far more natural interaction with the device.
+This means a completely different user experience and interaction
+style compared to using a hardware keypad.</p>
+<fig id="GUID-0895B1BD-27D2-4824-A02C-F89137A16E53"><image
+href="GUID-59F26729-3FFB-48AE-91FB-4B9AC2955A06_d0e69489_href.png"
+placement="inline" scale="60"></image></fig>
+<p>All applications must be touch-enabled, which means that they can
+be used with the touch screen alone, regardless of the presence of
+a keypad. In Symbian platform-based touch devices, the important hardware
+keys are Send, End, Multi-tasking and Power key.</p>
+<p>The application features must follow the platform support for different
+hardware. When designing a touch-enabled Symbian application, the
+UI must be designed so that everything can be accomplished by using
+the touch screen interface, as the potential target devices may or
+may not have a hardware keyboard. </p>
+<p>The touch UI in the Symbian platform is based on the use of resistive
+and capacitive touch screens. In <b>resistive touch screen</b> technology,
+two conductive and resistive layers are separated by a thin space.
+When an object touches this kind of touch panel, the layers are connected
+at a certain point, and a touch event is registered. This allows efficient
+stylus control, in addition to finger touch - unlike capacitive panels,
+which usually register only finger touch. Additionally, resistive
+touch screen offers a higher resolution and more durability. In <b
+>capacitive touch screen</b> technology, the panel consists of an
+insulator such as glass, coated with a transparent conductor (such
+as indium tin oxide (ITO)). When an object touches the surface of
+the screen, it results in a distortion of the local electrostatic
+field, measurable as a change in capacitance. Then a touch controller
+measures the frequency variations to ascertain the co-ordinates of
+the object's touch. Capacitive touch screen supports <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">multiple <?Pub
+Caret?>touch</xref>.</p>
+<p>The hardware is supported by various:</p>
+<ul>
+<li><p>touch-specific components (see <xref
+href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
+for common UI components</xref>)</p></li>
+<li><p>component and UI behavior changes</p></li>
+<li><p>layout changes, and</p></li>
+<li><p>additions to the interaction style.</p></li>
+</ul>
+<p>The touch UI is designed to enable full task flow with touch, with
+minimal need to switch to hardware keys. Thus, the design ensures
+that users can complete a task with the chosen interaction method
+from start to finish. </p>
+<p>While designing and implementing applications for touch screen
+devices based on the Symbian platform, consider interactions that
+benefit the most from the touch UI. </p>
+<p>If you can apply direct manipulation of the UI, for example when
+moving items from one place to another, or scrolling a page, do not
+confine the user with unnecessary scrollbars or have the user resort
+to options list commands.</p>
+<p>Instead, enable the user to view pages larger than a screen by
+panning them directly, and dragging and dropping items rather than
+marking them and using menu options. </p>
+<ul>
+<li><p>Remember that the most intuitive touch screen interactions
+that can be performed using a finger are tapping, stroking up/down/left/right,
+and the long tap. </p></li>
+<li><p>Utilize strokes that are easily discovered to the users in
+the given context. It should be explicit to the user where strokes
+can be performed. </p></li>
+<li><p>Design to ensure that users can complete a task with the same
+interaction method from start to finish - touch or hardware keys,
+stylus, or finger, and using one hand or both hands. </p></li>
+<li><p>Aim to optimize system performance and battery consumption
+to provide a fluid and reliable touch user experience. </p></li>
+</ul>
+<p><b>See Also</b>:</p>
+</conbody>
+</concept>
+<?Pub *0000004437?>
--- a/Symbian3/SDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,22 +1,25 @@
-<?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-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en"><title>Multi-Touch
-Support in the Emulator</title><shortdesc>This section introduces multi-touch support in the emulator which
-uses multiple mice to simulate human fingers. The multi-touch environment
-in the emulator allows application developers to test their multi-touch related
-UI features when hardware devices are not available.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-</conbody><related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
-Pointers</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-3E7A9A92-F217-4BD1-82CE-227931CFB8ED" xml:lang="en">
+<title>Support for Multiple Pointers in the Emulator</title>
+<shortdesc>This section introduces support for multiple pointers in
+the emulator which uses multiple mice to simulate human fingers. The
+multiple pointer environment in the emulator allows application developers
+to test multiple pointer UI features when hardware devices are not
+available<?Pub Caret?>.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+</conbody>
+<related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
+>Advanced Pointers</linktext></link>
+</related-links>
+</concept>
+<?Pub *0000001008?>
--- a/Symbian3/SDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,253 +1,286 @@
-<?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-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"><title>Tactile
-feedback</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>There are two cases where vibration or audio of the device is used as an
-output method:</p>
-<ul>
-<li><p>As a <i>tacticon</i> to inform users through physical feedback, that
-an important event is occurring in the device. For example, when a new message
-arrives or a warning note is displayed.</p></li>
-<li><p>As <i>tactile feedback</i> to indicate to the user that an interaction
-event has been made. For example, users receive tactile feedback when they
-press a button on the touch screen.</p></li>
-</ul>
-<p>As with sounds, tactile feedback must be used carefully so as not to desensitize
-the user to the vibration; the attention grabbing quality remains and functions
-so long as the feedback is not too frequent.</p>
-<p>Tactile feedback is enabled for all the Symbian platform UI components.
-Tactile feedback can be disabled for the common UI components in an application.
-However, this is acceptable only if tactile feedback causes interference with
-other device functions.</p>
-<p>The user can choose the level of tactile feedback and turn tacticons ON
-and OFF.</p>
-<p>The following table lists the tactile feedback effects:</p>
-<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B"><title>Tactile feedback
-effects</title>
-<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec colname="col2" colwidth="1.60*"/>
-<thead>
-<row>
-<entry valign="top"><p>Effects</p></entry>
-<entry valign="top"><p>Description</p></entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p><b>Sensitive button</b></p></entry>
-<entry><p>Provides single pulse effect on repeated key presses with buttons.
-It is also possible with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic button</b></p></entry>
-<entry><p>Provides stronger single pulse effect to buttons. It is also possible
-with other similar components.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive list</b></p></entry>
-<entry><p>Provides single pulse effect to lists and grids. Effect is used
-with move (drag and flick) when new item appears on the screen.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic list</b></p></entry>
-<entry><p>Provides stronger single pulse effect to lists and grids. Effect
-is used with touch down and release when tap makes an action. </p><p>In hierarchical
-list, collapsing/expanding item provides basic list effect with touch down
-and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Bounce effect</b></p></entry>
-<entry><p>Provides pulse effect when list returns to its normal state after
-boundary effect.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive slider</b></p></entry>
-<entry><p>Provides pulse effect with scrollbar and slider thumbs. Effect is
-provided with touch down and release in thumb area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth slider</b></p></entry>
-<entry><p>Provides continuous smooth feedback when dragging scrollbar or slider
-thumb. This can also be increasing or decreasing depending of the slider type.</p></entry>
-</row>
-<row>
-<entry><p><b>Hold slider</b></p></entry>
-<entry><p>Provides sensitive pulse effect when touch down and hold on the
-slider or scrollbar area. Slider thumb starts moving step by step towards
-the touch point. Every step gives one sensitive pulse. If slider thumb moves
-directly to the touch point, then basic slider effect is provided.</p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up</b></p></entry>
-<entry><p>Provides sensitive pulse effect when pop-up is opened or closed.
-If the theme animations are ON, then pop-up effect is used with opening event
-after increasing long touch effect. In this scenario, there is no pop-up effect
-. <note> All pop-ups do not have theme animation.</note></p></entry>
-</row>
-<row>
-<entry><p><b>Pop-up close</b></p></entry>
-<entry><p>Provides decreasing smooth feedback a pop-up and when theme animations
-are ON.</p></entry>
-</row>
-<row>
-<entry><p><b>Increasing long touch</b></p></entry>
-<entry><p>Provides increasing smooth feedback. This can be used with either
-long tap animation or pop-up opening theme effects. If the theme effects are
-ON and long tap opens a pop-up, then feedback is provided only with long tap.
-This is followed by pop-up.</p></entry>
-</row>
-<row>
-<entry><p><b>Basic tab</b></p></entry>
-<entry><p>Provides strong pulse effect with touch down event in tab area.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth flick</b></p></entry>
-<entry><p>Provides smooth feedback with drag when horizontal movement is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive flick</b></p></entry>
-<entry><p>Provides sensitive pulse effect with touch release when horizontal
-movement is possible.</p></entry>
-</row>
-<row>
-<entry><p><b>Sensitive edit</b></p></entry>
-<entry><p>Provides sensitive pulse effect in editors with touch down and release.</p></entry>
-</row>
-<row>
-<entry><p><b>Text edit</b></p></entry>
-<entry><p>Provides pulse effect when painting the text. Effect is provided
-with every character while painting the text.</p></entry>
-</row>
-<row>
-<entry><p><b>Blank edit</b></p></entry>
-<entry><p>Provides pulse effect when painting blank character. By default,
-it is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Line edit</b></p></entry>
-<entry><p>Provides pulse effect when painting a line.</p></entry>
-</row>
-<row>
-<entry><p><b>Empty line</b></p></entry>
-<entry><p>Provides pulse effect when painting an empty line. By default, it
-is none.</p></entry>
-</row>
-<row>
-<entry><p><b>Check box</b></p></entry>
-<entry><p>Provides pulse effect when marking/unmarking a check box.</p></entry>
-</row>
-<row>
-<entry><p><b>Multi-touch recognition</b></p></entry>
-<entry><p>Provides double pulse (sensitive + sensitive) effect when multi-touch
-is recognized (generally, when second finger is touched down).</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth pinch</b></p></entry>
-<entry><p>Provides smooth continuous feedback while moving fingers in multi-touch
-pinch situation.</p></entry>
-</row>
-<row>
-<entry><p><b>Smooth rotate</b></p></entry>
-<entry><p>Provides smooth continuous feedback while moving fingers in multi-touch
-rotate situation.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></p>
-<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics concept</title><p>The different senses associated
-to the skin are called cutaneous senses. These senses are temperature, pressure
-(touch itself), pain, tickle, itch and vibration senses. We can characterize
-touch as passive or active. Passive touch means the sense of touch itself,
-whereas active touch means the touch action.</p><p>To communicate through
-the sense of touch, we have to stimulate some of the cutaneous senses or the
-movement sense. The stimulation of the cutaneous senses or one of them by
-a product is called tactile stimulation. Respectively, the stimulation of
-the movement sense by a product is called haptic stimulation or just haptics.
-Haptics is also used as general term for all issues related to sense of touch,
-both human and machine.</p><p>Haptic feedback, often referred to as "Haptics",
-is the use of the sense of touch in a user interface design to provide information
-to an end user. In mobile phones, this generally means the use of vibrations
-from the device's vibration alarm to denote that a touch screen button has
-been pressed. In this particular example, the phone would vibrate slightly
-in response to the user's activation of an on-screen control, making up for
-the lack of a normal tactile response that the user would experience when
-pressing a physical button.</p></section>
-<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
-of haptics related APIs</title><p>You can use the following APIs to create
-haptic effects:</p><ul>
-<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile Feedback
-Client API</xref></p><ul>
-<li><p>Available from S60 5th Edition onwards.</p></li>
-<li><p>It can be used on all S60 5th Edition or later mobile devices. However,
-the feedback is played only on touch enabled layouts.</p></li>
-<li><p>Provides simple functions for triggering various predefined tactile
-feedback (vibration or audio) effects.</p></li>
-<li><p>Enables a consistent user experience in all applications of the mobile
-device (an application gives a logical feedback type as an input and the actual
-physical effect depends on the mobile device configuration and end user settings).</p></li>
-<li><p>When the area feedback is used, latency is low for the feedback triggering
-(a tactile feedback can already be triggered at the window server level prior
-to the corresponding pointer event being delivered to the visible application).</p></li>
-<li><p>Direct feedback can be easily integrated into <xref href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p></li>
-<li><p>An application can select the logical tactile feedback from certain
-types. The produced effect may be different on various mobile devices.</p></li>
-</ul></li>
-<li><p><xref href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html" format="application/java-archive">Haptics
-API</xref></p><ul>
-<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
-<li><p>It can be used in touch and hybrid mobile devices.</p></li>
-<li><p>Provides an interface for accessing Haptics player that can control
-different actuator types.</p></li>
-<li><p>Enables producing of complex vibrator effects, such as an explosion
-or machine gun effect in a game, bass boost for a music player, advanced ringing
-tone vibration, and so on.</p></li>
-<li><p>Enables simultaneous playing of different kinds of basis effects and
-modifying them when played. </p></li>
-<li><p>Allows the design of complex effects (using a separate PC application)
-that can be loaded on Haptics player for playing.</p></li>
-<li><p>It may require a special license key for third-party applications
-(to be set at runtime) to enable the Haptics player functionality.</p></li>
-</ul></li>
-<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita">Vibra API</xref></p><ul>
-<li><p>Available from S60 3.0 onwards.</p></li>
-<li><p>It can be used for running device vibrator with given intensity for
-a given period of time.</p></li>
-<li><p>It can be used by a privileged client application to play pulse effects,
-which have a very short duration (as the ones used for tactile feedback).</p></li>
-</ul></li>
-</ul></section>
-<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When to use
-Tactile Feedback Client API, Haptics API, and Vibra API</title><p><ul>
-<li><p>Tactile Feedback Client API for providing tactile feedback in custom
-controls (grids, lists, and so on), which will comply with the style of Core
-UI components to ensure a uniform user experience among applications.</p></li>
-<li><p>Haptics API on touch and hybrid mobile devices for producing complex
-vibration feedback, which cannot be achieved with Tactile Framework (games,
-simulations, demos, and so on).</p></li>
-<li><p>Vibra API for producing haptic effects such as ringing tone vibration
-in those mobile devices where Haptics API is not available or functional.</p></li>
-</ul></p></section>
-<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using
-tactile feedback in applications</title><p>The API to use for tactile feedback
-is the <xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
-client API</xref>.</p><p>The Symbian platform includes a tactile feedback
-interface to add, modify and remove feedback areas in the registry. There
-is also an option to trigger direct feedback and bypass the registry. <xref href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"><apiname>MTouchFeedback::Instance()</apiname></xref> is
-used for acquiring a pointer to a touch feedback instance. When touch feedback
-is activated, the mobile device users get a slight vibration when the control
-with the feedback interface is touched. </p><note><p>Tactile feedback can
-be set and disabled in a client application or a mobile device in some scenarios,
-for example, during phone calls.</p></note><p>Client applications cannot determine
-the actual physical feedback that is generated. It depends on device configuration
-and current settings. In current devices, the user changeable settings include
-vibration and audio feedback intensity level.</p><p>For more information,
-see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref>.</p></section>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-581A8E4B-12BE-41C0-A20E-3087A80FEECF" xml:lang="en"><?Pub
+Caret1?>
+<title>Tactile feedback</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>There are two cases where vibration or audio of the device is used
+as an output method:</p>
+<ul>
+<li><p>As a <i>tacticon</i> to inform users through physical feedback,
+that an important event is occurring in the device. For example, when
+a new message arrives or a warning note is displayed.</p></li>
+<li><p>As <i>tactile feedback</i> to indicate to the user that an
+interaction event has been made. For example, users receive tactile
+feedback when they press a button on the touch screen.</p></li>
+</ul>
+<p>As with sounds, tactile feedback must be used carefully so as not
+to desensitize the user to the vibration; the attention grabbing quality
+remains and functions so long as the feedback is not too frequent.</p>
+<p>Tactile feedback is enabled for all the Symbian platform UI components.
+Tactile feedback can be disabled for the common UI components in an
+application. However, this is acceptable only if tactile feedback
+causes interference with other device functions.</p>
+<p>The user can choose the level of tactile feedback and turn tacticons
+ON and OFF.</p>
+<p>The following table lists the tactile feedback effects:</p>
+<p><table id="GUID-4969AEA7-3BE4-4644-8232-1FA26D49010B">
+<title>Tactile feedback effects</title>
+<tgroup cols="2"><colspec colname="col1" colwidth="0.40*"/><colspec
+colname="col2" colwidth="1.60*"/>
+<thead>
+<row>
+<entry valign="top"><p>Effects</p></entry>
+<entry valign="top"><p>Description</p></entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p><b>Sensitive button</b></p></entry>
+<entry><p>Provides single pulse effect on repeated key presses with
+buttons. It is also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic button</b></p></entry>
+<entry><p>Provides stronger single pulse effect to buttons. It is
+also possible with other similar components.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive list</b></p></entry>
+<entry><p>Provides single pulse effect to lists and grids. Effect
+is used with move (drag and flick) when new item appears on the screen.</p
+></entry>
+</row>
+<row>
+<entry><p><b>Basic list</b></p></entry>
+<entry><p>Provides stronger single pulse effect to lists and grids.
+Effect is used with touch down and release when tap makes an action. </p
+><p>In hierarchical list, collapsing/expanding item provides basic
+list effect with touch down and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Bounce effect</b></p></entry>
+<entry><p>Provides pulse effect when list returns to its normal state
+after boundary effect.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive slider</b></p></entry>
+<entry><p>Provides pulse effect with scrollbar and slider thumbs.
+Effect is provided with touch down and release in thumb area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth slider</b></p></entry>
+<entry><p>Provides continuous smooth feedback when dragging scrollbar
+or slider thumb. This can also be increasing or decreasing depending
+of the slider type.</p></entry>
+</row>
+<row>
+<entry><p><b>Hold slider</b></p></entry>
+<entry><p>Provides sensitive pulse effect when touch down and hold
+on the slider or scrollbar area. Slider thumb starts moving step by
+step towards the touch point. Every step gives one sensitive pulse.
+If slider thumb moves directly to the touch point, then basic slider
+effect is provided.</p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up</b></p></entry>
+<entry><p>Provides sensitive pulse effect when pop-up is opened or
+closed. If the theme animations are ON, then pop-up effect is used
+with opening event after increasing long touch effect. In this scenario,
+there is no pop-up effect . <note> All pop-ups do not have theme animation.</note
+></p></entry>
+</row>
+<row>
+<entry><p><b>Pop-up close</b></p></entry>
+<entry><p>Provides decreasing smooth feedback a pop-up and when theme
+animations are ON.</p></entry>
+</row>
+<row>
+<entry><p><b>Increasing long touch</b></p></entry>
+<entry><p>Provides increasing smooth feedback. This can be used with
+either long tap animation or pop-up opening theme effects. If the
+theme effects are ON and long tap opens a pop-up, then feedback is
+provided only with long tap. This is followed by pop-up.</p></entry>
+</row>
+<row>
+<entry><p><b>Basic tab</b></p></entry>
+<entry><p>Provides strong pulse effect with touch down event in tab
+area.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth flick</b></p></entry>
+<entry><p>Provides smooth feedback with drag when horizontal movement
+is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive flick</b></p></entry>
+<entry><p>Provides sensitive pulse effect with touch release when
+horizontal movement is possible.</p></entry>
+</row>
+<row>
+<entry><p><b>Sensitive edit</b></p></entry>
+<entry><p>Provides sensitive pulse effect in editors with touch down
+and release.</p></entry>
+</row>
+<row>
+<entry><p><b>Text edit</b></p></entry>
+<entry><p>Provides pulse effect when painting the text. Effect is
+provided with every character while painting the text.</p></entry>
+</row>
+<row>
+<entry><p><b>Blank edit</b></p></entry>
+<entry><p>Provides pulse effect when painting blank character. By
+default, it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Line edit</b></p></entry>
+<entry><p>Provides pulse effect when painting a line.</p></entry>
+</row>
+<row>
+<entry><p><b>Empty line</b></p></entry>
+<entry><p>Provides pulse effect when painting an empty line. By default,
+it is none.</p></entry>
+</row>
+<row>
+<entry><p><b>Check box</b></p></entry>
+<entry><p>Provides pulse effect when marking/unmarking a check box.</p
+></entry>
+</row>
+<row>
+<entry><p><b>Multiple touch recognition</b></p></entry>
+<entry><p>Provides double pulse (sensitive + sensitive) effect when
+multiple touch is recognized (generally, when second finger is touched
+down).</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth pinch</b></p></entry>
+<entry><p>Provides smooth continuous feedback while moving fingers
+in multiple touch pinch situation.</p></entry>
+</row>
+<row>
+<entry><p><b>Smooth rotate</b></p></entry>
+<entry><p>Provides smooth continuous feedback while moving fingers
+in multiple touch rotate situation.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table></p>
+<section id="GUID-1EB54408-100B-4E4F-8D56-E13C26CA3B96"><title>Haptics
+concept</title><p>The different senses associated to the skin are
+called cutaneous senses. These senses are temperature, pressure (touch
+itself), pain, tickle, itch and vibration senses. We can characterize
+touch as passive or active. Passive touch means the sense of touch
+itself, whereas active touch means the touch action.</p><p>To communicate
+through the sense of touch, we have to stimulate some of the cutaneous
+senses or the movement sense. The stimulation of the cutaneous senses
+or one of them by a product is called tactile stimulation. Respectively,
+the stimulation of the movement sense by a product is called haptic
+stimulation or just haptics. Haptics is also used as general term
+for all issues related to sense of touch, both human and machine.</p
+><p>Haptic feedback, often referred to as "Haptics", is the use of
+the sense of touch in a user interface design to provide information
+to an end user. In mobile phones, this generally means the use of
+vibrations from the device's vibration alarm to denote that a touch
+screen button has been pressed. In this particular example, the phone
+would vibrate slightly in response to the user's activation of an
+on-screen control, making up for the lack of a normal tactile response
+that the user would experience when pressing a physical button.</p
+></section>
+<section id="GUID-B9A35CA3-B830-4D97-9B0A-E22DC4A3CDA1"><title>Characteristics
+of haptics related APIs</title><p>You can use the following APIs
+to create haptic effects:</p><ul>
+<li><p><xref href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita"
+>Tactile Feedback Client API</xref></p><ul>
+<li><p>Available from S60 5th Edition onwards.</p></li>
+<li><p>It can be used on all S60 5th Edition or later mobile devices.
+However, the feedback is played only on touch enabled layouts.</p
+></li>
+<li><p>Provides simple functions for triggering various predefined
+tactile feedback (vibration or audio) effects.</p></li>
+<li><p>Enables a consistent user experience in all applications of
+the mobile device (an application gives a logical feedback type as
+an input and the actual physical effect depends on the mobile device
+configuration and end user settings).</p></li>
+<li><p>When the area feedback is used, latency is low for the feedback
+triggering (a tactile feedback can already be triggered at the window
+server level prior to the corresponding pointer event being delivered
+to the visible application).</p></li>
+<li><p>Direct feedback can be easily integrated into <xref
+href="GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160.dita#GUID-B06F99BD-F032-3B87-AB26-5DD6EBE8C160/GUID-5CF90E7A-4A91-36FF-BB3F-CF7CF687DED2"
+><apiname>CCoeControl::HandlePointerEventL()</apiname></xref>. </p
+></li>
+<li><p>An application can select the logical tactile feedback from
+certain types. The produced effect may be different on various mobile
+devices.</p></li>
+</ul></li>
+<li><p><xref format="application/java-archive"
+href="jar:GUID-558A5A9B-811E-4A87-B3DD-AE734C9AA966.jar!/public_specs/GuidesA/Haptics_API_Specification/Haptics_API_Specification.html"
+>Haptics API</xref></p><ul>
+<li><p>Available from S60 5th Edition, FP2 onwards.</p></li>
+<li><p>It can be used in touch and hybrid mobile devices.</p></li>
+<li><p>Provides an interface for accessing Haptics player that can
+control different actuator types.</p></li>
+<li><p>Enables producing of complex vibrator effects, such as an explosion
+or machine gun effect in a game, bass boost for a music player, advanced
+ringing tone vibration, and so on.</p></li>
+<li><p>Enables simultaneous playing of different kinds of basis effects
+and modifying them when played. </p></li>
+<li><p>Allows the design of complex effects (using a separate PC application)
+that can be loaded on Haptics player for playing.</p></li>
+<li><p>It may require a special license key for third-party applications
+(to be set at runtime) to enable the Haptics player functionality.</p
+></li>
+</ul></li>
+<li><p><xref href="GUID-D53A00E4-CF37-5F11-8D15-C5ECCCE64597.dita"
+>Vibra API</xref></p><ul>
+<li><p>Available from S60 3.0 onwards.</p></li>
+<li><p>It can be used for running device vibrator with given intensity
+for a given period of time.</p></li>
+<li><p>It can be used by a privileged client application to play pulse
+effects, which have a very short duration (as the ones used for tactile
+feedback).</p></li>
+</ul></li>
+</ul></section>
+<section id="GUID-428F693C-1CA8-4588-9A7D-C4265D2AED91"><title>When
+to use Tactile Feedback Client API, Haptics API, and Vibra API</title
+><p><ul>
+<li><p>Tactile Feedback Client API for providing tactile feedback
+in custom controls (grids, lists, and so on), which will comply with
+the style of Core UI components to ensure a uniform user experience
+among applications.</p></li>
+<li><p>Haptics API on touch and hybrid mobile devices for producing
+complex vibration feedback, which cannot be achieved with Tactile
+Framework (games, simulations, demos, and so on).</p></li>
+<li><p>Vibra API for producing haptic effects such as ringing tone
+vibration in those mobile devices where Haptics API is not available
+or functional.</p></li>
+</ul></p></section>
+<section id="GUID-8334E102-8F04-4726-9CD2-1D8004A417E1"><title>Using
+tactile feedback in applications</title><p>The API to use for tactile
+feedback is the <xref
+href="GUID-8661A7E0-F19A-41F8-9062-FBFAE70CF658.dita">Tactile feedback
+client API</xref>.</p><p>The Symbian platform includes a tactile feedback
+interface to add, modify and remove feedback areas in the registry.
+There is also an option to trigger direct feedback and bypass the
+registry. <xref
+href="GUID-766333D1-8D66-3B81-9B5D-8C4245F78298.dita#GUID-766333D1-8D66-3B81-9B5D-8C4245F78298/GUID-962B6543-9A59-3E72-893D-F775FEC54ACB"
+><apiname>MTouchFeedback::Instance()</apiname></xref> is used for
+acquiring a pointer to a touch feedback instance. When touch feedback
+is activated, the mobile device users get a slight vibration when
+the control with the feedback interface is touched. </p><note><p>Tactile
+feedback can be set and disabled in a client application or a mobile
+device in some scenarios, for example, during phone calls.</p></note
+><p>Client applications cannot determine the actual physical feedback
+that is generated. It depends on device configuration and current
+settings. In current devices, the user changeable settings include
+vibration and audio feedback intensity level.</p><p>For more information,
+see <xref href="GUID-21DAC50D-7737-42B6-BBDA-E12E8779741B.dita">Feedback</xref
+>.</p></section>
+</conbody>
+</concept>
+<?Pub *0000013047?>
--- a/Symbian3/SDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,373 +1,402 @@
-<?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-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en"><title>What's new in Symbian^3</title><shortdesc>Symbian^3 introduces a lot of new features that enhance
-communication, connectivity, multimedia, graphics, security and the
-overall usability of Symbian devices. These features benefit operators,
-application developers and device creators by making it easier to
-create feature-rich devices and applications.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>If you are moving from a older version of Symbian platform to Symbian^3,
-see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
-applications to Symbian^3</xref>.</p>
-<table id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-4-1-1-5-1-3-2">
-<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec colname="col2" colwidth="1.58*"/>
-<thead>
-<row>
-<entry>Technology Domain</entry>
-<entry>New Features</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry>Data Communications</entry>
-<entry><ul>
-<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
-platform now supports a new IP networking architecture. The new architecture
-significantly improves data flow performance and makes it easier for
-third-party developers to integrate new technologies, for example
-firewalls and hotspot authenticators. It also implements automatic
-roaming between different access points, for example WLAN and GPRS.
-For more information, see <xref href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the Comms
-Architecture</xref>.</p></li>
-<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
-provides a new way of managing data connections on the Symbian platform.
-OCC builds on the existing Application Level Roaming (ALR) solution.
-This feature makes the user's interaction with "connecting" and "select
-access point" dialogs significantly simple and easier. For more information,
-see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
-Connection Preferences</xref>.</p> </li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Connectivity</entry>
-<entry><ul>
-
-
-
-<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
-MTP implementation now supports the MTP device services extension
-to the Media Transfer Protocol (MTP). For more information,
-see <xref href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx.dita">MTP Device Services Extension Specification</xref>.</p></li>
-<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b> A Symbian device user can now see music track names and browse playlists
-directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
-or remote control.</p></li>
-<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
-now enables all AT commands to be handled using the same mechanism
-regardless of the connection type. For more information, refer to
-the <b>AT Extension Plug-in API</b>.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Device Management</entry>
-<entry><ul>
-<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
-(MO):</b> The Symbian platform now supports OMA MO like Software Component
-Management Object (SCOMO) v1.0, Device Capability Management Object
-(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
-Nokia Standard Streaming MO. Some enhancements have been made to Browser
-MO and Email MO.</p></li>
-<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
-now provides an improved device Lock with security and an enhanced
-firmware update installation experience.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Location</entry>
-<entry align="justify"><ul>
-<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
-supports a parser that converts between landmark objects and URLs.
-The parser supports a URL format that is compliant with Ovi Maps.
-For more information, see <xref href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname></xref>.</p></li>
-<li><p><b>New Management Object (MO) for A-GPS:</b> The Symbian platform
-now provides an enhancement to Secure User Plane Location (SUPL) now
-allows the service provider to provide two access points for a SUPL
-server in the MO. This improves the system stability because it acts
-as a fallback mechanism in case one of the access points is unavailable.</p></li>
-<li><p><b>Support for Application Processor Engine (APE) Centric Location
-Architecture:</b> Symbian devices can now use the new architecture
-based on the APE that offers standardized session IDs on network privacy
-and classes that use the SUPL. The architecture converges technology
-from OS, middleware and application software layers.</p></li>
-<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
-Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
-to allow GPS-enabled devices to handle network-based SUPL location
-requests. This includes Cell ID based positioning and assistance data
-exchange as part of SUPL v2.0. .</p></li>
-<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b> The Symbian platform now uses the APE-centric architecture to support
-GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
-Engine (NPE) integration module replaces the OS LBS subsystem reference
-A-GPS version.</p></li>
-<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b> The Symbian platform now uses the APE-centric architecture to support
-NPE and RRLP on GPS-enabled device.</p></li>
-<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
-SUPL 2.0 trigger support that allows the requester to receive location
-updates periodically, which is both network and device initiated.</p></li>
-<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
-platform now includes key enhancements that enable integration with
-an Context framework to develop plug-ins and increase support for
-total and active triggers. An enhanced, dedicated common gateway interface
-enables the client to provide multiple CGIs to create a trigger, which
-is fired on successful matching with at least one CGI.</p></li>
-<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph>.</p></li>
-<li><p><b>Here and Now:</b> The Symbian platform now includes Here
-and now that offers easy-to-use Web services related to the user's
-current location. Here and now allows the user to check the local
-weather and get other topical information while on the move.</p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia</entry>
-<entry><ul>
-<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
-a small internal system but does so much more than traditional TV.
-It is broadcasted in a multi-grounded environment with high speed
-by using low battery power and low memory usage. .</p></li>
-<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
-in mobile devices that allows the Multimedia Device Framework (MDF)
-to load, control, connect and unload audio, video and imaging components. .</p></li>
-<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
-one of the key component in the Sound Device collection that provides
-access to the hardware accelerator in audio technology. For more information,
-see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F DevSound
-Component</xref>.</p></li>
-<li><p><b>Image Processor library:</b> The Image Processor is an independent
-and high-level API and framework which is developed for mobile imaging.
-The Image Processor has some pluggable advanced image editing libraries
-to perform the Panoramic Stitching function and the Speed View function.
-For more information, see <xref href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor Library</xref>.</p></li>
-<li><p><b>Camera API Extensions:</b> The Camera API is extended to
-support the features such as background processing, continuous digital
-zooming, time nudge image capturing and automatic aperture setting.
-For more information, see <xref href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref>.</p></li>
-<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
-mobile device to capture video frames which are encoded in the H264
-format. For more information, see <xref href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
-H264 Video Frames to Capture Video</xref>.</p></li>
-<li><p><b>3GP File Format Library:</b> The 3GP Library component is
-a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
-and MP4 files. The 3GP Library is also extended to support larger
-3GP or MP4 files. .</p></li>
-<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
-Client Video Display is a standalone library used by the Video Client
-library to support video playback. For more information, see <xref href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client Video
-Display Library</xref>.</p></li>
-<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
-using the Video Subtitle CRP component. The Subtitle Graphic library
-displays subtitles artwork on the screen through its interaction with
-Client Process, Controller Process and WServ Process. For more information,
-see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video Subtitle
-CRP Component</xref>.</p></li>
-<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
-supports codecs that enable support for Dolby Digital Audio on Symbian
-devices. </p></li>
-<li><p><b>True Pause in Audio Playback:</b> In the audio playback
-request the true pause feature is implemented to stop the audio data
-at the physical sound device without stopping the buffer traffic.
-For more information, see <xref href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and Resuming
-Audio Play</xref>. </p></li>
-<li><p><b>Global Surface Updates:</b> The Video Render component is
-extended to support the global surface updates. For more information,
-see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
-Surface Updates</xref>.</p></li>
-<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
-belongs to the Metadata Utility Framework (MUF) component that provides
-fast metadata access to audio, video and image media files. For more
-information, see the <xref href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
-Library</xref> section.</p></li>
-<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
-specific pattern enhancement, which includes many UI (User Interface)
-features, listed below:</p><ul>
-<li><p>Multiple customized Home Screens with 6 different widget enabled
-screens. </p></li>
-<li><p>Pinch zoom, kinetic scrolling and single-click features.</p></li>
-<li><p>Good screen view with a new UI theme, and renewed icons.</p></li>
-<li><p>Hardware acceleration with fast and responsive UI that creates
-new transition effects.</p></li>
-<li><p>Multitasking with Teleport visual task swapper.</p></li>
-<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
-slider devices. Video Graphics Array (VGA) Touch supports for VGA
-QWERTY mono blocks.</p></li>
-<li><p>VGA Touch helps to control Music player.</p></li>
-</ul></li>
-<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
-broadcast digital mobile television. The Symbian platform provides
-fast and easy access to all videos and TV media content. One key press
-opens videos and TV application suite, and user scrolls and selects
-the desired video functionality. This media experience is built with
-major components such as Videos and TV, video player and Mobile TV.
-Videos and TV support high quality video up to 720 per resolution
-at 12 Mbps and 30 frames per second.</p></li>
-<li><p><b>Image Viewer Application:</b> The Image Viewer application
-is used when the client opens an image file for viewing. File Manager,
-Messaging, Camcorder and Browser S60 components use the Image Viewer
-application. It supports Extended ICL JPEG API, which enables a faster
-and less memory-consuming way to rotate and zoom images.</p></li>
-<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
-FM radio broadcast over the air. FM radio broadcast is a free service. </p></li>
-<li><p><b>Video Sharing:</b> Using the video sharing service, both
-call users can start sharing their device live camera view or pre-recorded
-video clip during a normal circuit switched (CS) voice call. The video
-sharing feature allows the user to upgrade and downgrade their call
-with one-way video at times of need. The video sharing application
-uses the Multimedia Comms Engine API. </p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Multimedia Applications</entry>
-<entry><ul>
-<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
-platform now supports HDMI technology. HDMI is supported as an external
-accessory for audio and video playback for a great television playback
-experience. It provides improved data performance and is ideal for
-streaming high definition audio and video. The 720p resolution is
-supported in still image and video viewing. 5+1 channel audio is also
-supported.</p></li>
-<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
-music information through Home Screen Music Widgets. The Home Music
-Widgets controls from the Home Screen menu system enables to play
-and pause the playing track. The Music Widget supports the Radio Player
-and includes the Music Suite Matrix Menu. This menu is configured
-through XML and by default supports to launch the functionality listed
-below:</p><ul>
-<li><p>The last played song</p></li>
-<li><p>The music collection view</p></li>
-<li><p>A music shop, or to open the FM radio</p></li>
-</ul></li>
-<li><p><b>Fusion Player Application:</b> The Symbian platform now
-introduces the Fusion Player, which replaces the existing Media Player
-and Video Center applications. It enables access to both online video
-services and locally stored videos. If DVB-H device is available,
-live TV viewing is also possible. The main features supported by the
-Fusion player application are as follows:</p><ul>
-<li><p>To browse stored videos and to see metadata features of the
-video, such as title, thumbnail DRM info, size or play-time.</p></li>
-<li><p>To check videos that are pre-installed with the device.</p></li>
-<li><p>To play stored video file in the device.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>OS Base Services </entry>
-<entry><ul>
-<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
-supports WDP. This enables efficient use of memory and allows multiple
-applications to run at the same time without physically adding more
-RAM to the hardware. This leads to a more responsive system when switching
-between a number of running applications. .</p></li>
-<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
-now supports SMP for multi-core processors, such as the ARM Cortex
-A9. This allows device integrators to prototype and prove ARM-based
-SMP platforms. </p> </li>
-<li><p><b>64-bit file server:</b> The Symbian platform now supports
-files larger than 2 GB. </p></li>
-</ul></entry>
-</row>
-<row>
-<entry>Productivity</entry>
-<entry><ul>
-<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
-Social Networking service is a Nokia-hosted consumer service that
-provides easy and affordable mobile access to popular social networking
-communities.</p></li>
-<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
-has changed to improve flexibility of calendar for regional, religious,
-custom-tailors and xSP calendar service needs. Multiple storages are
-also supported. For more information, see <xref href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref>.</p></li>
-<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
-CalDAV Protocol, which is an open calendar synchronization standard
-contributed by SUN Microsystems. This enables a user to access scheduling
-information on remote servers.</p></li>
-<li><p><b>Enhanced Contacts Application:</b> The Contacts application
-in this release includes the following changes:</p><ul>
-<li><p>Integration with social media.</p></li>
-<li><p>Support for Remote Contacts Lookup, for example, from post-installed
-Mail for Exchange account.</p></li>
-<li><p>Virtual Phonebook API (supports getting access to the user’s
-own contact card).</p></li>
-<li><p>Own contact card.</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Runtimes </entry>
-<entry><ul>
-<li><p>The Symbian platform now supports the Open Source based Java
-MIDP 2.1.</p></li>
-<li><p>The Symbian platform now supports Browser Application v7.2
-(with Web Run Time 7.2) that includes the following features:</p><ul>
-<li><p>Browser Control</p></li>
-<li><p>Browser core features</p></li>
-<li><p>Browser Customization</p></li>
-<li><p>Browser plug-ins</p></li>
-<li><p>Browser with touch screen</p></li>
-<li><p>Content Download</p></li>
-<li><p>URI Schemes</p></li>
-<li><p>Display Resolution Optimizations</p></li>
-<li><p>Optical Finger Navigation (OFN)</p></li>
-<li><p>FlashLite 3.1</p></li>
-<li><p>Search Client Integration</p></li>
-<li><p>Expanding Language and Character Set Support</p></li>
-<li><p>Improved Security Prompting</p></li>
-<li><p>Updated Platform Service APIs</p></li>
-<li><p>Visual Task Swapper Support</p></li>
-<li><p>Performance Optimizations</p></li>
-<li><p>Multi-touch/pinch zooming</p></li>
-</ul></li>
-</ul></entry>
-</row>
-<row>
-<entry>Security</entry>
-<entry>The Symbian platform now provides an enhanced Security subsystem
-that enables device creators to integrate hardware acceleration modules,
-which improves the performance of cryptographic algorithms. This is
-particularly valuable in intensive real-time use-cases, such as streaming
-audio or video over a secure link, where bulk data needs to be encrypted
-and decrypted.</entry>
-</row>
-<row>
-<entry>User Interface</entry>
-<entry><ul>
-<li><p><b>ScreenPlay, also known as the New Graphics Architecture
-(NGA):</b> This new graphics architecture enables device creators
-to take advantage of improved software performance, hardware acceleration
-and third party graphics engines. It makes it possible to combine
-UI components, graphics and video to create highly innovative UIs.
-For more information, see <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay Graphics
-Architecture</xref>.</p></li>
-
-
-<li><p><b>Multi-Touch Support:</b> The ScreenPlay version of the Window
-Server has been extended to support multiple advanced pointers, with
-support for proximity and pressure. The emulator now also supports
-multiple advanced pointers. For more information, see <xref href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref>.</p></li>
-
-<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
-improvements:</p><ul>
-<li><p>Multi-page Home Screen enables the user to navigate between
-widgets with a simple flick gesture</p></li>
-<li><p>Capacitive multi-touch events are supported.</p></li>
-<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
-</ul></li>
-</ul><p>For more information about the new features in Graphics, see <xref href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in Graphics
-in Symbian^3</xref>.</p></entry>
-</row>
-</tbody>
-</tgroup>
-</table></conbody><related-links>
-<linklist>
-<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext>New
-C++ APIs in Symbian^3</linktext></link>
-<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext>Porting
-applications to Symbian^3</linktext></link>
-<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext>Introduction
-to Symbian^3</linktext></link>
-</linklist>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-6F1ED7D0-5F41-4587-89AA-8DDE7AEC916F" xml:lang="en">
+<title>What's new in Symbian^3</title>
+<shortdesc>Symbian^3 introduces a lot of new features that enhance
+communication, connectivity, multimedia, graphics, security and the
+overall usability of Symbian devices. These features benefit operators,
+application developers and device creators by making it easier to
+create feature-rich devices and applications.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>If you are moving from a older version of Symbian platform to Symbian^3,
+see <xref href="GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.dita">Porting
+applications to Symbian^3</xref>.</p>
+<table
+id="GUID-2FD9A877-1A75-4ADD-8B9A-B2FA4A9EB7C4-GENID-1-4-1-1-5-1-3-2">
+<tgroup cols="2"><colspec colname="col1" colwidth="0.42*"/><colspec
+colname="col2" colwidth="1.58*"/>
+<thead>
+<row>
+<entry>Technology Domain</entry>
+<entry>New Features</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry>Data Communications</entry>
+<entry><ul>
+<li><p><b>FreeWay or Three Plane Comms Architecture:</b> The Symbian
+platform now supports a new IP networking architecture. The new architecture
+significantly improves data flow performance and makes it easier for
+third-party developers to integrate new technologies, for example
+firewalls and hotspot authenticators. It also implements automatic
+roaming between different access points, for example WLAN and GPRS.
+For more information, see <xref
+href="GUID-B7A40638-BA80-5175-B23D-2F3964C274A0.dita">Goals of the
+Comms Architecture</xref>.</p></li>
+<li><p><b>One-Click Connectivity (OCC):</b> The Symbian platform now
+provides a new way of managing data connections on the Symbian platform.
+OCC builds on the existing Application Level Roaming (ALR) solution.
+This feature makes the user's interaction with "connecting" and "select
+access point" dialogs significantly simple and easier. For more information,
+see <xref href="GUID-34BEF44B-EFBE-41EB-941D-0410FCB6782E.dita">Extended
+Connection Preferences</xref>.</p> </li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Connectivity</entry>
+<entry><ul>
+<li><p><b>MTP Device Services Extension Specification:</b> The Symbian
+MTP implementation now supports the MTP device services extension
+to the Media Transfer Protocol (MTP). For more information, see <xref
+href="http://www.microsoft.com/whdc/device/wpd/MTPDevServExt_spec.mspx.dita"
+>MTP Device Services Extension Specification</xref>.</p></li>
+<li><p><b>AVRCP (Audio/Video Remote Control Profile) v1.4 Support:</b
+> A Symbian device user can now see music track names and browse playlists
+directly from the screen of a AVRCP v1.4 enabled Bluetooth headset
+or remote control.</p></li>
+<li><p><b>Centralized AT-command Handling:</b> The Symbian platform
+now enables all AT commands to be handled using the same mechanism
+regardless of the connection type. For more information, refer to
+the <b>AT Extension Plug-in API</b>.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Device Management</entry>
+<entry><ul>
+<li><p><b>Support for Open Mobile Alliance (OMA) Management Objects
+(MO):</b> The Symbian platform now supports OMA MO like Software Component
+Management Object (SCOMO) v1.0, Device Capability Management Object
+(DCMO) v1.0 and Connectivity Management Object (ConnMO). It also supports
+Nokia Standard Streaming MO. Some enhancements have been made to Browser
+MO and Email MO.</p></li>
+<li><p><b>Other Device Management Enhancements:</b> The Symbian platform
+now provides an improved device Lock with security and an enhanced
+firmware update installation experience.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Location</entry>
+<entry align="justify"><ul>
+<li><p><b>Landmark-based URL Parser:</b> The Symbian platform now
+supports a parser that converts between landmark objects and URLs.
+The parser supports a URL format that is compliant with Ovi Maps.
+For more information, see <xref
+href="GUID-5809B26D-9AF9-394A-8FA6-6BB199DC6342.dita"><apiname>CPosLandmarkParser</apiname
+></xref>.</p></li>
+<li><p><b>New Management Object (MO) for A-GPS:</b> The Symbian platform
+now provides an enhancement to Secure User Plane Location (SUPL) now
+allows the service provider to provide two access points for a SUPL
+server in the MO. This improves the system stability because it acts
+as a fallback mechanism in case one of the access points is unavailable.</p
+></li>
+<li><p><b>Support for Application Processor Engine (APE) Centric Location
+Architecture:</b> Symbian devices can now use the new architecture
+based on the APE that offers standardized session IDs on network privacy
+and classes that use the SUPL. The architecture converges technology
+from OS, middleware and application software layers.</p></li>
+<li><p><b>Support for Location Based Services (LBS) SUPL Positioning
+Module (PSY):</b> The Symbian platform now enables the LBS SUPL PSY
+to allow GPS-enabled devices to handle network-based SUPL location
+requests. This includes Cell ID based positioning and assistance data
+exchange as part of SUPL v2.0. .</p></li>
+<li><p><b>Support for GPSCost5.0D and GPSCost4.0D GPS chipsets:</b
+> The Symbian platform now uses the APE-centric architecture to support
+GPSCost5.0D and GPSCost4.0D chipsets. A new A-GPS Nokia Positioning
+Engine (NPE) integration module replaces the OS LBS subsystem reference
+A-GPS version.</p></li>
+<li><p><b>Support for LBS SUPL Radio Resource LCS Protocol (RRLP):</b
+> The Symbian platform now uses the APE-centric architecture to support
+NPE and RRLP on GPS-enabled device.</p></li>
+<li><p><b>SUPL 2.0 Trigger Support:</b> The Symbian platform now provides
+SUPL 2.0 trigger support that allows the requester to receive location
+updates periodically, which is both network and device initiated.</p
+></li>
+<li><p><b>Location-based Triggering Enhancements:</b> The Symbian
+platform now includes key enhancements that enable integration with
+an Context framework to develop plug-ins and increase support for
+total and active triggers. An enhanced, dedicated common gateway interface
+enables the client to provide multiple CGIs to create a trigger, which
+is fired on successful matching with at least one CGI.</p></li>
+<li><p>Enhanced Location Acquisition API to support <codeph>LocationKnownPositionArea</codeph
+>.</p></li>
+<li><p><b>Here and Now:</b> The Symbian platform now includes Here
+and now that offers easy-to-use Web services related to the user's
+current location. Here and now allows the user to check the local
+weather and get other topical information while on the move.</p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia</entry>
+<entry><ul>
+<li><p><b>Mobile TV DVB-H Receiver HAI:</b> Mobile TV Receiver is
+a small internal system but does so much more than traditional TV.
+It is broadcasted in a multi-grounded environment with high speed
+by using low battery power and low memory usage. .</p></li>
+<li><p><b>OpenMAX IL:</b> OpenMAX IL is a low-level interface used
+in mobile devices that allows the Multimedia Device Framework (MDF)
+to load, control, connect and unload audio, video and imaging components.
+.</p></li>
+<li><p><b>Thin Adaptation of A3F DevSound:</b> The A3F DevSound is
+one of the key component in the Sound Device collection that provides
+access to the hardware accelerator in audio technology. For more information,
+see <xref href="GUID-170A1D9C-12CB-502A-BCB3-9E2AEBB207FA.dita">A3F
+DevSound Component</xref>.</p></li>
+<li><p><b>Image Processor library:</b> The Image Processor is an independent
+and high-level API and framework which is developed for mobile imaging.
+The Image Processor has some pluggable advanced image editing libraries
+to perform the Panoramic Stitching function and the Speed View function.
+For more information, see <xref
+href="GUID-042868E6-88BF-5797-BB53-8E34283DCF16.dita">Image Processor
+Library</xref>.</p></li>
+<li><p><b>Camera API Extensions:</b> The Camera API is extended to
+support the features such as background processing, continuous digital
+zooming, time nudge image capturing and automatic aperture setting.
+For more information, see <xref
+href="GUID-BDB622BF-1CFA-5F1C-81FB-5579C8599689.dita">Camera Library</xref
+>.</p></li>
+<li><p><b>Camera Support for Video Encoding:</b> The Camera supports
+mobile device to capture video frames which are encoded in the H264
+format. For more information, see <xref
+href="GUID-D038D77F-A6B8-5A18-8978-4981AE8D0F35.dita">Using the Encoded
+H264 Video Frames to Capture Video</xref>.</p></li>
+<li><p><b>3GP File Format Library:</b> The 3GP Library component is
+a Multimedia plug-in which supports for reading and writing 3GP, 3G2,
+and MP4 files. The 3GP Library is also extended to support larger
+3GP or MP4 files. .</p></li>
+<li><p><b>Video Playback from Non-user Interface Thread:</b> Media
+Client Video Display is a standalone library used by the Video Client
+library to support video playback. For more information, see <xref
+href="GUID-17273087-B962-5E8A-8715-055C8BF34A5D.dita">Media Client
+Video Display Library</xref>.</p></li>
+<li><p><b>Video Subtitle CRP:</b> Displays artwork on a video window
+using the Video Subtitle CRP component. The Subtitle Graphic library
+displays subtitles artwork on the screen through its interaction with
+Client Process, Controller Process and WServ Process. For more information,
+see <xref href="GUID-412CB101-A92C-54E1-9518-79E94DD40A08.dita">Video
+Subtitle CRP Component</xref>.</p></li>
+<li><p><b>Dolby Digital Audio Support:</b> The Symbian platform now
+supports codecs that enable support for Dolby Digital Audio on Symbian
+devices. </p></li>
+<li><p><b>True Pause in Audio Playback:</b> In the audio playback
+request the true pause feature is implemented to stop the audio data
+at the physical sound device without stopping the buffer traffic.
+For more information, see <xref
+href="GUID-609A4E83-F074-5A5D-A0DF-A95A7CDC8D2C.dita">Pausing and
+Resuming Audio Play</xref>. </p></li>
+<li><p><b>Global Surface Updates:</b> The Video Render component is
+extended to support the global surface updates. For more information,
+see <xref href="GUID-E56EB25C-9B94-5486-9492-5151FDF79B6C.dita">Global
+Surface Updates</xref>.</p></li>
+<li><p><b>Metadata Utility Library:</b> The Metadata Utility library
+belongs to the Metadata Utility Framework (MUF) component that provides
+fast metadata access to audio, video and image media files. For more
+information, see the <xref
+href="GUID-15B17B8F-5790-526D-80EA-1ED7A396349C.dita">Metadata Utility
+Library</xref> section.</p></li>
+<li><p><b>UI Patterns or Thumbnails Enhancement:</b> This is a Multimedia
+specific pattern enhancement, which includes many UI (User Interface)
+features, listed below:</p><ul>
+<li><p>Multiple customized Home Screens with 6 different widget enabled
+screens. </p></li>
+<li><p>Pinch zoom, kinetic scrolling and single-click features.</p
+></li>
+<li><p>Good screen view with a new UI theme, and renewed icons.</p
+></li>
+<li><p>Hardware acceleration with fast and responsive UI that creates
+new transition effects.</p></li>
+<li><p>Multitasking with Teleport visual task swapper.</p></li>
+<li><p>Intelligent slide functionality for Hybrid touch and QWERTY
+slider devices. Video Graphics Array (VGA) Touch supports for VGA
+QWERTY mono blocks.</p></li>
+<li><p>VGA Touch helps to control Music player.</p></li>
+</ul></li>
+<li><p><b>Mobile TV:</b> Mobile TV uses DVB-H receiver to consume
+broadcast digital mobile television. The Symbian platform provides
+fast and easy access to all videos and TV media content. One key press
+opens videos and TV application suite, and user scrolls and selects
+the desired video functionality. This media experience is built with
+major components such as Videos and TV, video player and Mobile TV.
+Videos and TV support high quality video up to 720 per resolution
+at 12 Mbps and 30 frames per second.</p></li>
+<li><p><b>Image Viewer Application:</b> The Image Viewer application
+is used when the client opens an image file for viewing. File Manager,
+Messaging, Camcorder and Browser S60 components use the Image Viewer
+application. It supports Extended ICL JPEG API, which enables a faster
+and less memory-consuming way to rotate and zoom images.</p></li>
+<li><p> <b>FM Radio:</b> The FM Radio application is used to listen
+FM radio broadcast over the air. FM radio broadcast is a free service. </p
+></li>
+<li><p><b>Video Sharing:</b> Using the video sharing service, both
+call users can start sharing their device live camera view or pre-recorded
+video clip during a normal circuit switched (CS) voice call. The video
+sharing feature allows the user to upgrade and downgrade their call
+with one-way video at times of need. The video sharing application
+uses the Multimedia Comms Engine API. </p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Multimedia Applications</entry>
+<entry><ul>
+<li><p><b>High-Definition Multimedia Interface (HDMI):</b> The Symbian
+platform now supports HDMI technology. HDMI is supported as an external
+accessory for audio and video playback for a great television playback
+experience. It provides improved data performance and is ideal for
+streaming high definition audio and video. The 720p resolution is
+supported in still image and video viewing. 5+1 channel audio is also
+supported.</p></li>
+<li><p><b>Home Music Widgets:</b> The Symbian platform now provides
+music information through Home Screen Music Widgets. The Home Music
+Widgets controls from the Home Screen menu system enables to play
+and pause the playing track. The Music Widget supports the Radio Player
+and includes the Music Suite Matrix Menu. This menu is configured
+through XML and by default supports to launch the functionality listed
+below:</p><ul>
+<li><p>The last played song</p></li>
+<li><p>The music collection view</p></li>
+<li><p>A music shop, or to open the FM radio</p></li>
+</ul></li>
+<li><p><b>Fusion Player Application:</b> The Symbian platform now
+introduces the Fusion Player, which replaces the existing Media Player
+and Video Center applications. It enables access to both online video
+services and locally stored videos. If DVB-H device is available,
+live TV viewing is also possible. The main features supported by the
+Fusion player application are as follows:</p><ul>
+<li><p>To browse stored videos and to see metadata features of the
+video, such as title, thumbnail DRM info, size or play-time.</p></li>
+<li><p>To check videos that are pre-installed with the device.</p
+></li>
+<li><p>To play stored video file in the device.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>OS Base Services </entry>
+<entry><ul>
+<li><p><b>Writable Data Paging (WDP):</b> The Symbian platform now
+supports WDP. This enables efficient use of memory and allows multiple
+applications to run at the same time without physically adding more
+RAM to the hardware. This leads to a more responsive system when switching
+between a number of running applications. .</p></li>
+<li><p><b>Symmetric multiprocessor (SMP):</b> The Symbian platform
+now supports SMP for multi-core processors, such as the ARM Cortex
+A9. This allows device integrators to prototype and prove ARM-based
+SMP platforms. </p> </li>
+<li><p><b>64-bit file server:</b> The Symbian platform now supports
+files larger than 2 GB. </p></li>
+</ul></entry>
+</row>
+<row>
+<entry>Productivity</entry>
+<entry><ul>
+<li><p><b>Nokia Messaging for Social Networks:</b> Nokia Messaging
+Social Networking service is a Nokia-hosted consumer service that
+provides easy and affordable mobile access to popular social networking
+communities.</p></li>
+<li><p><b>Enhanced Calendar UI Architecture:</b> Calendar UI architecture
+has changed to improve flexibility of calendar for regional, religious,
+custom-tailors and xSP calendar service needs. Multiple storages are
+also supported. For more information, see <xref
+href="GUID-00631ED2-1B7F-5FC4-9E81-4B6DF7946631.dita">Calendar Guide</xref
+>.</p></li>
+<li><p><b>CalDAV Protocol:</b> Calendar application now supports the
+CalDAV Protocol, which is an open calendar synchronization standard
+contributed by SUN Microsystems. This enables a user to access scheduling
+information on remote servers.</p></li>
+<li><p><b>Enhanced Contacts Application:</b> The Contacts application
+in this release includes the following changes:</p><ul>
+<li><p>Integration with social media.</p></li>
+<li><p>Support for Remote Contacts Lookup, for example, from post-installed
+Mail for Exchange account.</p></li>
+<li><p>Virtual Phonebook API (supports getting access to the user’s
+own contact card).</p></li>
+<li><p>Own contact card.</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Runtimes </entry>
+<entry><ul>
+<li><p>The Symbian platform now supports the Open Source based Java
+MIDP 2.1.</p></li>
+<li><p>The Symbian platform now supports Browser Application v7.2
+(with Web Run Time 7.2) that includes the following features:</p><ul>
+<li><p>Browser Control</p></li>
+<li><p>Browser core features</p></li>
+<li><p>Browser Customization</p></li>
+<li><p>Browser plug-ins</p></li>
+<li><p>Browser with touch screen</p></li>
+<li><p>Content Download</p></li>
+<li><p>URI Schemes</p></li>
+<li><p>Display Resolution Optimizations</p></li>
+<li><p>Optical Finger Navigation (OFN)</p></li>
+<li><p>FlashLite 3.1</p></li>
+<li><p>Search Client Integration</p></li>
+<li><p>Expanding Language and Character Set Support</p></li>
+<li><p>Improved Security Prompting</p></li>
+<li><p>Updated Platform Service APIs</p></li>
+<li><p>Visual Task Swapper Support</p></li>
+<li><p>Performance Optimizations</p></li>
+<li><p>Multiple touch/pinch zooming</p></li>
+</ul></li>
+</ul></entry>
+</row>
+<row>
+<entry>Security</entry>
+<entry>The Symbian platform now provides an enhanced Security subsystem
+that enables device creators to integrate hardware acceleration modules,
+which improves the performance of cryptographic algorithms. This is
+particularly valuable in intensive real-time use-cases, such as streaming
+audio or video over a secure link, where bulk data needs to be encrypted
+and decrypted.</entry>
+</row>
+<row>
+<entry>User Interface</entry>
+<entry><ul>
+<li><p><b>ScreenPlay, also known as the New Graphics Architecture
+(NGA):</b> This new graphics architecture enables device creators
+to take advantage of improved software performance, hardware acceleration
+and third party graphics engines. It makes it possible to combine
+UI components, graphics and video to create highly innovative UIs.
+For more information, see <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">The ScreenPlay
+Graphics Architecture</xref>.</p></li>
+<li><p><b>Multiple Touch Support:</b> The ScreenPlay version of the
+Window Server has been extended to support multiple advanced pointers,
+with support for proximity and pressure. The emulator now also supports
+multiple advanced pointers. For more information, see <xref
+href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita">Advanced Pointers</xref
+>.</p></li>
+<li><p><b>Enhanced Touch UI:</b> The touch UI includes the following
+improvements:</p><ul>
+<li><p>Multi-page Home Screen enables the user to navigate between
+widgets with a simple flick gesture</p></li>
+<li><p>Capacitive multiple <?Pub Caret?>touch events are supported.</p
+></li>
+<li><p>Tactile Feedback utilizes advanced haptics effects.</p></li>
+</ul></li>
+</ul><p>For more information about the new features in Graphics, see <xref
+href="GUID-D0C84E1D-A625-4F79-8515-399B8153727B.dita">What's New in
+Graphics in Symbian^3</xref>.</p></entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</conbody>
+<related-links>
+<linklist>
+<link href="GUID-AB69D251-7635-4325-BBCE-92F7AFC86DC2.dita"><linktext
+>New C++ APIs in Symbian^3</linktext></link>
+<link href="GUID-BA0A115B-068C-4257-9489-DF35DF633AD2.dita"><linktext
+>Porting applications to Symbian^3</linktext></link>
+<link href="GUID-13987218-9427-455E-AC77-ADE6B0E9CD7E.dita"><linktext
+>Introduction to Symbian^3</linktext></link>
+</linklist>
+</related-links>
+</concept>
+<?Pub *0000020019?>
--- a/Symbian3/SDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-9126A296-0301-4077-A183-3D703F77C548.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,90 +1,113 @@
-<?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-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en"><title>Multi-Touch
-Support in the Emulator Overview</title><shortdesc>This topic provides an overview of multi-touch support in the emulator.
-Two mice are used to provide two independent pointer positions. The emulator
-responds to the mice’s individual button-clicks, moves, and mouse wheel scrolls
-as if two human fingers are moving, touching or hovering over the screen.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The emulator can be extended to support more than two mice or other pointer
-devices.</p>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<p>The following figure shows two Windows pointers on the emulator screen,
-each representing a mouse device. The ordinal integer (starting from 0) beside
-each pointer is the unique device identifier. The position of each mouse on
-the screen is represented by the X and Y coordinates. The pressure (a positive
-value) and proximity (a negative value) information captured by the mouse
-wheel is represented by the Z coordinate. Notice that the status bar shows
-the identifier and the dynamic X, Y and Z values of each pointer.</p>
-<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
-<title>Two pointers are displayed in the emulator</title>
-<image href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e194049_href.png" placement="inline"/>
-</fig>
-<p>The delivery of pointer events from the emulator driver to the Window Server
-is the same in the multi-touch environment as in the single pointer environment.
-This means the raw events for a mouse move, button click and mouse wheel movement
-are delivered to the Window Server as usual. Each mouse has a unique device
-identifier, which makes it possible to ascertain which mouse the events relate
-to. The raw events for each individual mouse include the following: </p>
-<ul>
-<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse move or
-a mouse wheel movement event.</p></li>
-<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the left mouse
-button is pressed down.</p></li>
-<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left mouse
-button is released.</p></li>
-<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that the proximity
-of a mouse is out of range. This means that the Z coordinate value of the
-mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph>.</p></li>
-</ul>
-<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"> <title>Pressure
-and proximity emulation</title><p>The Z coordinate value is used to represent
-the pressure and proximity to the screen. In the emulator, the Z value is
-captured and tuned by the mouse wheel movement.</p><ul>
-<li><p>Z < 0 indicates the proximity of the device from the screen.</p></li>
-<li><p>Z > 0 indicates pressure.</p></li>
-</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
-Pointer Overview</xref> for more information about pressure and proximity.</p><p>The
-mouse wheel combines the features of a wheel and a mouse button. The wheel
-has discrete, evenly spaced notches. Rotating the wheel backwards or forwards
-has the effect of changing the pressure or proximity.</p><ul>
-<li><p>When the mouse wheel is rotated, a device-specific message is sent
-to the emulator window that has focus as each notch is encountered.</p></li>
-<li><p>The Z coordinate is initiated as 0. Then when the wheel is moved forward,
-the Z value enters the pressure range and increases by one pressure step.
-When the wheel is moved backward, the Z value enters the proximity range and
-decreases by one proximity step.</p><p>The pressure or proximity step can
-be customized in the <filepath>epoc.ini</filepath> file. See <xref href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling
-Multi-Touch in the Emulator Tutorial</xref> for more information.</p></li>
-<li><p>When the Z value is in the pressure range (Z > 0), moving the wheel
-forward by one notch increases Z by one pressure step. Moving the wheel backward
-by one notch decreases Z by one pressure step, until Z returns to 0.</p></li>
-<li><p>When the Z value is in the proximity range (Z < 0), moving the wheel
-backward by one notch decreases Z by one proximity step. Moving the wheel
-forward by one notch increases Z by one proximity step, until Z returns to
-0. </p></li>
-<li><p>There are limits to the values of the Z coordinate. This
-means that the Symbian emulator does not allow Z to exceed the upper boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a
-positive value) and lower boundary <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a
-negative value). If Z is at the lower boundary, when the mouse wheel is moved
-backward next time, Z does not change. A new <codeph>Out of Range</codeph> pointer
-event is generated and sent to the Window Server. Similarly when Z is at the
-upper boundary, Z does not change when the mouse wheel is moved forward.</p></li>
-<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph> or <codeph>TRawEvent::EButton1Up</codeph>)
-is generated, Z is reset to 0.</p></li>
-</ul> </section>
-</conbody><related-links>
-<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced
-Pointers</linktext></link>
-<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext>Enabling
-Multi-Touch in the Emulator Tutorial</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-9126A296-0301-4077-A183-3D703F77C548" xml:lang="en">
+<title>Support for Multiple Pointers in the Emulator Overview</title>
+<shortdesc>This topic provides an overview of support for multiple
+pointers in the emulator. Two mice are used to provide two independent
+pointer positions. The emulator responds to the mice’s individual
+button-clicks, moves, and mouse wheel scrolls as if two human fingers
+are moving, touching or hovering over the screen.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>The emulator can be extended to support more than two mice or other
+pointer devices.</p>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<p>The following figure shows two Windows pointers on the emulator
+screen, each representing a mouse device. The ordinal integer (starting
+from 0) beside each pointer is the unique device identifier. The position
+of each mouse on the screen is represented by the X and Y coordinates.
+The pressure (a positive value) and proximity (a negative value) information
+captured by the mouse wheel is represented by the Z coordinate. Notice
+that the status bar shows the identifier and the dynamic X, Y and
+Z values of each pointer.</p>
+<fig id="GUID-03428614-06B1-4821-A284-C3B6DB8E053C">
+<title>Two pointers are displayed in the emulator</title>
+<image
+href="GUID-3E80A006-F8D8-45C5-9773-7CC239AE86D9_d0e194049_href.png"
+placement="inline"></image></fig>
+<p>The delivery of pointer events from the emulator driver to the
+Window Server is the same when there are multiple pointers as in the
+single pointer environment. This means the raw events for a mouse
+move, button click and mouse wheel movement are delivered to the Window
+Server as usual. Each mouse has a unique device identifier, which
+makes it possible to ascertain which mouse the events relate to. The
+raw events for each individual mouse include the following: </p>
+<ul>
+<li><p><codeph>TRawEvent::EPointerMove</codeph> indicates a mouse
+move or a mouse wheel movement event.</p></li>
+<li><p><codeph>TRawEvent::EButton1Down</codeph> indicates that the
+left mouse button is pressed down.</p></li>
+<li><p><codeph>TRawEvent::EButton1Up</codeph> indicates that the left
+mouse button is released.</p></li>
+<li><p><codeph>TRawEvent::EPointerOutOfRange</codeph> indicates that
+the proximity of a mouse is out of range. This means that the Z coordinate
+value of the mouse has reached <codeph>HALData::EPointer3DMaxProximity</codeph
+>.</p></li>
+</ul>
+<section
+id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-5-1-3-7"
+> <title>Pressure and proximity emulation</title><p>The Z coordinate
+value is used to represent the pressure and proximity to the screen.
+In the emulator, the Z value is captured and tuned by the mouse wheel
+movement.</p><ul>
+<li><p>Z < 0 indicates the proximity of the device from the screen.</p
+></li>
+<li><p>Z > 0 indicates pressure.</p></li>
+</ul><p>See <xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"
+>Advanced Pointer Overview</xref> for more information about pressure
+and proximity.</p><p>The mouse wheel combines the features of a wheel
+and a mouse button. The wheel has discrete, evenly spaced notches.
+Rotating the wheel backwards or forwards has the effect of changing
+the pressure or proximity.</p><ul>
+<li><p>When the mouse wheel is rotated, a device-specific message
+is sent to the emulator window that has focus as each notch is encountered.</p
+></li>
+<li><p>The Z coordinate is initiated as 0. Then when the wheel is
+moved forward, the Z value enters the pressure range and increases
+by one pressure step. When the wheel is moved backward, the Z value
+enters the proximity range and decreases by one proximity step.</p
+><p>The pressure or proximity step can be customized in the <filepath
+>epoc.ini</filepath> file. See <xref
+href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita">Enabling Multiple
+Pointers in the Emulator Tutorial</xref> for more information.</p
+></li>
+<li><p>When the Z value is in the pressure range (Z > 0), moving the
+wheel forward by one notch increases Z by one pressure step. Moving
+the wheel backward by one notch decreases Z by one pressure step,
+until Z returns to 0.</p></li>
+<li><p>When the Z value is in the proximity range (Z < 0), moving
+the wheel backward by one notch decreases Z by one proximity step.
+Moving the wheel forward by one notch increases Z by one proximity
+step, until Z returns to 0. </p></li>
+<li><p>There are limits to the values of the Z coordinate. This means
+that the Symbian emulator does not allow Z to exceed the upper boundary <xref
+href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-BF464EF0-D685-3B12-9E13-65A86BAED610"
+><apiname>HALData::EPointer3DMaxPressure</apiname></xref> (a positive
+value) and lower boundary <xref
+href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita#GUID-8BE90160-2C60-3582-82C8-4A108C7C0317/GUID-7FCDA198-1E26-3BC9-A5A1-C4AF67016615"
+><apiname>HALData::EPointer3DMaxProximity</apiname></xref> (a negative
+value). If Z is at the lower boundary, when the mouse wheel is moved
+backward next time, Z does not change. A new <codeph>Out of Range</codeph
+> pointer event is generated and sent to the Window Server. Similarly
+when Z is at the upper boundary, Z does not change when the mouse
+wheel is moved forward.</p></li>
+<li><p>When the mouse button down or up event (<codeph>TRawEvent::EButton1Down</codeph
+> or <codeph>TRawEvent::EButton1Up</codeph>) is generated, Z is reset
+to 0.</p></li>
+</ul> </section>
+</conbody>
+<related-links>
+<link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext
+>Advanced Pointers</linktext></link>
+<link href="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita"><linktext
+>Enabling Multiple Pointers <?Pub Caret?>in the Emulator Tutorial</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000006176?>
--- a/Symbian3/SDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,58 +1,76 @@
-<?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-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en"><title>Enabling
-Multi-Touch in the Emulator Tutorial</title><shortdesc>This topic describes how to configure the Symbian emulator to enable
-a multi-touch environment. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p><b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<p>This topic builds on <xref href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Multi-Touch
-Support in the Emulator Overview</xref>.</p>
-<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C"> <title>Configuring
-the emulator</title> <p>Make sure that two or more mice are plugged in and
-detected on the Windows PC on which the emulator will run. The number of
-detected mice can be from two up to the maximum number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph> attribute. </p><ol>
-<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following lines
-to the <filepath>\epoc32\data\epoc.ini</filepath> file. These lines enable
-ScreenPlay and multi-touch.</p><codeblock xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
-EnableMultiTouch ON</codeblock></li>
-<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph>MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to define
-the proximity and pressure steps.</p><codeblock xml:space="preserve">MultiTouchProximityStep 10
-MultiTouchPressureStep 200
-</codeblock><p>If the above two options are not defined in the <filepath>epoc.ini</filepath> file,
-the default proximity and pressure steps are taken from the following HAL
-attributes.</p><codeblock xml:space="preserve">HALData::EPointer3DProximityStep
-HALData::EPointer3DPressureStep</codeblock></li>
-</ol><p><b>Result</b>: Launch the emulator to verify that the mice are detected
-and displayed inside the application window area. When you move a mouse or
-scroll the mouse wheel, its X, Y and Z values are reflected in the status
-bar.</p> </section>
-<section id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4"> <title>Enabling
-and disabling multi-touch</title><p>Multi-touch is only required by UI applications.
-Therefore, multi-touch is enabled inside the orange rectangular area shown
-on the following diagram. Inside the area two Windows pointers are displayed.
-The one numbered zero is the system pointer and the other is used only for
-multi-touch purposes. The first mouse to report events to the emulator is
-automatically taken as the primary mouse, which owns the Windows system pointer.</p><fig id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
-<title>Multi-touch area</title>
-<image href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e194260_href.png" placement="inline"/>
-</fig><p><b>System pointer</b>. Once the system pointer moves outside multi-touch
-area, multi-touch is temporarily disabled and standard emulator pointer behavior
-is resumed. This means that only one Windows system pointer is displayed and
-it is controlled by both mice.</p> <p><b>Non-system pointer</b>. If the
-non-system pointer moves out of the multi-touch area, the pointer just disappears
-from the screen. Disabling multi-touch is then not necessary because the system
-pointer behaves normally inside the multi-touch area. Moving the non-system
-pointer back into the area makes it reappear on the screen.</p> </section>
-</conbody><related-links>
-<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext>Multi-Touch
-Support in the Emulator Overview</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-930F1E88-2A03-4BD1-AA2A-3A0128A844BD" xml:lang="en">
+<title>Enabling Multiple Pointers in the Emulator Tutorial</title>
+<shortdesc>This topic describes how to configure the Symbian emulator
+to enable a multiple pointer environment. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p><b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<p>This topic builds on <xref
+href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita">Support for
+Multiple Pointers in the Emulator Overview</xref>.</p>
+<section id="GUID-4F4F8E71-517D-4C5D-96A4-BB17CD49FD4C"> <title
+>Configuring the emulator</title> <p>Make sure that two or more mice
+are plugged in and detected on the Windows PC on which the emulator
+will run. The number of detected mice can be from two up to the maximum
+number defined in the HAL <codeph>HALData::EPointerMaxPointers</codeph
+> attribute. </p><ol>
+<li id="GUID-63F317A2-E4EA-48BD-8F2B-40B54BF35EC6"><p>Add the following
+lines to the <filepath>\epoc32\data\epoc.ini</filepath> file. These
+lines enable ScreenPlay and multiple pointers.</p><codeblock
+xml:space="preserve">SYMBIAN_BASE_USE_GCE ON
+EnableMultiTouch ON</codeblock></li>
+<li id="GUID-CA823DAB-C8C4-4E09-8491-0C0BCD57BAE4"><p>Specify the <codeph
+>MultiTouchProximityStep</codeph> and <codeph>MultiTouchPressureStep</codeph
+> values in the <filepath>\epoc32\data\epoc.ini</filepath> file to
+define the proximity and pressure steps.</p><codeblock
+xml:space="preserve">MultiTouchProximityStep 10
+MultiTouchPressureStep 200
+</codeblock><p>If the above two options are not defined in the <filepath
+>epoc.ini</filepath> file, the default proximity and pressure steps
+are taken from the following HAL attributes.</p><codeblock
+xml:space="preserve">HALData::EPointer3DProximityStep
+HALData::EPointer3DPressureStep</codeblock></li>
+</ol><p><b>Result</b>: Launch the emulator to verify that the mice
+are detected and displayed inside the application window area. When
+you move a mouse or scroll the mouse wheel, its X, Y and Z values
+are reflected in the status bar.</p> </section>
+<section
+id="GUID-44C3561D-92A1-421E-9AD3-0D8648919C46-GENID-1-10-1-12-1-1-7-1-6-1-6-1-9-1-9-1-8-1-6-1-3-4"
+> <title>Enabling and disabling multiple pointers</title><p
+>Multiple pointers are only required by UI applications. Therefore,
+multiple pointers are enabled inside the orange rectangular area shown
+on the following diagram. Inside the area two Windows pointers are
+displayed. The one numbered zero is the system pointer and the other
+is used only for emulating touch with two fingers. The first mouse
+to report events to the emulator is automatically taken as the primary
+mouse, which owns the Windows system pointer.</p><fig
+id="GUID-C62E31A2-65F8-4976-A3A9-058BFE3D30D3">
+<title>Multiple pointer area</title>
+<image
+href="GUID-FD0593E7-A36C-4656-A85A-9D62DFBCC42F_d0e194260_href.png"
+placement="inline"></image></fig><p><b>System pointer</b>. Once the
+system pointer moves outside the multiple pointer area, multiple pointers
+are temporarily disabled and standard emulator pointer behavior is
+resumed. This means that only one Windows system pointer is displayed
+and it is controlled by both mice.</p> <p><b>Non-system pointer</b
+>. If the non-system pointer moves out of the multiple pointer area,
+the pointer just disappears from the screen. Disabling multiple pointers
+is then not necessary because the system pointer behaves normally
+inside the multiple pointer area. Moving the non-system pointer back
+into the area makes it reappear on the screen.</p> </section>
+</conbody>
+<related-links>
+<link href="GUID-9126A296-0301-4077-A183-3D703F77C548.dita"><linktext
+>Suppo<?Pub Caret?>rt for Multiple Pointers in the Emulator Overview</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000004080?>
--- a/Symbian3/SDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,19 +1,241 @@
-<?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 xml:lang="en" id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B"><title>Advanced Pointer Overview </title><shortdesc>This is an overview of the Window Server extensions that support the use of advanced pointers. These extensions enable mobile devices to respond to events from multiple pointers, including their proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p> <section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title> <p>In response to multi-touch pointer movements, an input driver generates a pointer event for each touch. The Window Server changes and delivers the pointer events to the client application, as shown in the following diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA"><title>
- Pointer events
- </title> <image href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e191959_href.png" placement="inline"/></fig> <p>Pointer-related events move from the driver to the application. The <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref> and <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> classes encapsulate the event information. </p> </section> <section><title>Key concepts/terms</title> <p>The following terms are introduced here and are used throughout the advanced pointer documentation: </p> <dl><dlentry><dt>Pointer</dt> <dd><p>A device that points at the screen, for example, a mouse, pen, finger, or touchpad. </p> </dd> </dlentry> <dlentry><dt>Multi-pointer support</dt> <dd><p>Handling more than one pointer at the same time. </p> </dd> </dlentry> <dlentry><dt>Proximity</dt> <dd><p>Proximity in this context means the distance of the pointer from the mobile device. Sensors detect the value of the proximity of the pointer from the mobile device. </p> </dd> </dlentry> <dlentry><dt>Pressure</dt> <dd><p>Pressure in this context is a value that indicates the force applied to the mobile device by the pointer. Sensors detect the value of the pressure of the pointer on the mobile device. </p> </dd> </dlentry> </dl> </section> <section><title>Logical model of pointing devices</title> <p>A logical model is used to handle all of the different pointing devices correctly. In this logical model, the pointer is <b>performing an action</b> when any of the following scenarios occur: </p> <ul><li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph> event is sent to the client. </p> </li> <li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph> events are sent to the client (optional). </p> </li> <li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph> event is sent to the client. </p> </li> </ul> <p>Pointing devices can be in one of the following states: </p> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>State</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <b>Out of range</b> </p> </entry> <entry><p>Not detected by the device's sensors. </p> </entry> </row> <row><entry><p> <b>Up</b> </p> </entry> <entry><p>Detected by sensors, coordinates available, not performing an action. </p> </entry> </row> <row><entry><p> <b>Down</b> </p> </entry> <entry><p>Detected by sensors, coordinates available, performing an action (as defined above). </p> </entry> </row> </tbody> </tgroup> </table> <p>The mapping between these states and physical actions performed by the user vary for different pointing device types (mouse, finger) and different phone models. Here are two example interpretations of physical pointing device states: </p> <ul><li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b>. An example interpretation by a driver of the physical state of a mouse is as follows: It is always in the <i>up</i> state except when the left button is pressed, when it is in the <i>down</i> state. It is never out of range. </p> </li> <li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers with proximity support</b>. The following is an example interpretation of finger physical states when the device has proximity support (that is, it can measure the finger's proximity from the screen): </p> <ul><li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i> when proximity > 10cm </p> </li> <li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when 1cm < proximity <= 10cm </p> </li> <li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i> when proximity <= 1cm </p> </li> </ul> <p>In this way the finger can perform actions (for example, press buttons, drag items) without touching the screen. </p> </li> </ul> </section> <section><title>Multiple pointers</title> <p>The system handles multiple pointers at the same time by identifying each one with a number and sending pointer events separately for each of them. A field (<codeph>iPointerNumber</codeph>) in the pointer event classes (<xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> and the <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> class which extends <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref>) identifies the pointer for which the event occurred. The order and frequency of pointer events depends on the driver of the pointing device. </p> <p>On each phone there is a pool of available pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph> - 1. Every time the driver detects a new pointer coming into the range of the device, the driver assigns a number from the pool. After the pointer goes out of the range of the device, the number no longer identifies that particular pointer and the driver sends <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this pointer number. The number is then released back to the pool and may be reused to identify another pointer coming into the device's range. </p> </section> <section><title>Pressure and proximity</title> <p>The pressure of the pointer on the screen is represented as a positive integer. The proximity of the pointer to the screen is represented as a negative integer. It is up to the UI Platform to define units of pressure and proximity, which may be non-linear. In the <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> class, pressure and proximity are expressed in terms of the Z coordinate of the pointer. The definition of the Z coordinate is based on the assumption that the pointer is either hovering over the screen (proximity < 0, pressure = 0) or touching the screen (proximity = 0, pressure >= 0): </p> <ul><li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity < 0 and pressure = 0 then the Z coordinate = proximity. </p> </li> <li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity = 0 and pressure >= 0 then the Z coordinate = pressure. </p> </li> </ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E"><title>
- Relationships between the pointer proximity, pressure and z
- coordinate
- </title> <image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e192246_href.png" placement="inline"/></fig> </section> <section><title>API summary</title> <table id="GUID-07002499-484E-500E-AC57-4089AB0197E8"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>API</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"><apiname>HALData</apiname></xref> </p> </entry> <entry><p>Includes z coordinate, pressure precision and number of pointers. Also contains threshold values for proximity and pressure. </p> </entry> </row> <row><entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname></xref> </p> </entry> <entry><p>Includes the pointer number and a structure for proximity and pressure data. </p> </entry> </row> <row><entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref> </p> </entry> <entry><p>Enables advanced pointer events for the window. </p> </entry> </row> <row><entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"><apiname>TWsEvent</apiname></xref> </p> </entry> <entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived from <codeph>TPointerEvent)</codeph>. </p> </entry> </row> <row><entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> </p> </entry> <entry><p>Includes event types for pressing and closeness. </p> </entry> </row> <row><entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref> </p> </entry> <entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides capabilities for pressure, proximity and multi-touch support. </p> </entry> </row> <row><entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession</apiname></xref> </p> </entry> <entry><p>Provides get and set methods to manipulate threshold values for proximity and pressure. </p> </entry> </row> </tbody> </tgroup> </table> </section> <section><title>Typical uses</title> <ul><li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling many pointers for a window</b> </p> <p>Enables multiple pointers to act on one window. </p> </li> <li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling concurrent control of many objects</b> </p> <p>Controls many objects on one or more windows with many pointers. </p> </li> <li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting z coordinates from TPointerEvent</b> </p> <p>Reads the pressure and proximity values for a pointer. </p> </li> <li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b> </p> <p>Enables the user to zoom in and out of data by using two fingers to pinch an area of the screen. Pinch zooming is normally used in web-page, map, picture, chart and control applications. </p> </li> <li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding to high pressure events</b> </p> <p>As the pointer state changes, the pressure value can be checked. When it passes over a threshold value, the Window Server responds appropriately to the client. </p> </li> </ul> </section> </conbody><related-links><link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Pointer States and Event
- Communication</linktext> </link> <link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext>Advanced Pointer
- Tutorial</linktext> </link> </related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B" xml:lang="en">
+<title>Advanced Pointer Overview </title>
+<shortdesc>This is an overview of the Window Server extensions that
+support the use of advanced pointers. These extensions enable mobile
+devices to respond to events from multiple pointers, including their
+proximity and pressure. These extensions are available only in ScreenPlay. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p> <b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<section id="GUID-773C3275-F562-5428-A34C-7D54F10D4BC1"><title>Architecture</title
+> <p>In response to multiple pointer movements, an input driver generates
+a pointer event for each touch. The Window Server changes and delivers
+the pointer events to the client application, as shown in the following
+diagram. </p> <fig id="GUID-4A02299F-8401-5761-863C-91F0338731DA">
+<title> Pointer events </title>
+<image
+href="GUID-5503ACC5-1C78-5EF6-AAD2-4B6FFA8890B9_d0e191959_href.png"
+placement="inline"></image></fig> <p>Pointer-related events move from
+the driver to the application. The <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref>, <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
+><apiname>TWsEvent</apiname></xref> and <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
+></xref> classes encapsulate the event information. </p> </section>
+<section><title>Key concepts/terms</title> <p>The following terms
+are introduced here and are used throughout the advanced pointer documentation: </p
+> <dl>
+<dlentry>
+<dt>Pointer</dt>
+<dd><p>A device that points at the screen, for example, a mouse, pen,
+finger, or touchpad. </p> </dd></dlentry>
+<dlentry>
+<dt>Multi<?Pub Caret?>ple pointer support</dt>
+<dd><p>Handling more than one pointer at the same time. </p> </dd>
+</dlentry>
+<dlentry>
+<dt>Proximity</dt>
+<dd><p>Proximity in this context means the distance of the pointer
+from the mobile device. Sensors detect the value of the proximity
+of the pointer from the mobile device. </p> </dd></dlentry>
+<dlentry>
+<dt>Pressure</dt>
+<dd><p>Pressure in this context is a value that indicates the force
+applied to the mobile device by the pointer. Sensors detect the value
+of the pressure of the pointer on the mobile device. </p> </dd>
+</dlentry>
+</dl> </section>
+<section><title>Logical model of pointing devices</title> <p>A logical
+model is used to handle all of the different pointing devices correctly.
+In this logical model, the pointer is <b>performing an action</b> when
+any of the following scenarios occur: </p> <ul>
+<li id="GUID-3A57E7AE-A8FB-5C2B-AC54-4F60DDD35783"><p>An <codeph>EButton1Down</codeph
+> event is sent to the client. </p> </li>
+<li id="GUID-BBD5660A-2A72-5F14-9A28-D7F31761F963"><p> <codeph>EDrag</codeph
+> events are sent to the client (optional). </p> </li>
+<li id="GUID-54B774E8-6BD8-51EB-9854-9953F95AFBF5"><p>An <codeph>EButton1Up</codeph
+> event is sent to the client. </p> </li>
+</ul> <p>Pointing devices can be in one of the following states: </p
+> <table id="GUID-AAE663FE-E94F-556B-B635-93DDD6C27902">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>State</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <b>Out of range</b> </p> </entry>
+<entry><p>Not detected by the device's sensors. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Up</b> </p> </entry>
+<entry><p>Detected by sensors, coordinates available, not performing
+an action. </p> </entry>
+</row>
+<row>
+<entry><p> <b>Down</b> </p> </entry>
+<entry><p>Detected by sensors, coordinates available, performing an
+action (as defined above). </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> <p>The mapping between these states and physical actions
+performed by the user vary for different pointing device types (mouse,
+finger) and different phone models. Here are two example interpretations
+of physical pointing device states: </p> <ul>
+<li id="GUID-E01E8EC4-8535-5FD4-980E-214FC7542717"><p> <b>Mouse</b
+>. An example interpretation by a driver of the physical state of
+a mouse is as follows: It is always in the <i>up</i> state except
+when the left button is pressed, when it is in the <i>down</i> state.
+It is never out of range. </p> </li>
+<li id="GUID-7CC705BF-FC6C-534B-B00B-0C07A6B9A856"><p> <b>Fingers
+with proximity support</b>. The following is an example interpretation
+of finger physical states when the device has proximity support (that
+is, it can measure the finger's proximity from the screen): </p> <ul>
+<li id="GUID-F4F27FC9-F4F3-5475-8DA5-771B804828CD"><p> <i>Out of range</i
+> when proximity > 10cm </p> </li>
+<li id="GUID-0B8F3832-24C1-5421-A224-5FFFC6EBA3F4"><p> <i>Up</i> when
+1cm < proximity <= 10cm </p> </li>
+<li id="GUID-CE65B2EC-AD8E-5B9D-A514-07EC73137518"><p> <i> Down</i
+> when proximity <= 1cm </p> </li>
+</ul> <p>In this way the finger can perform actions (for example,
+press buttons, drag items) without touching the screen. </p> </li>
+</ul> </section>
+<section><title>Multiple pointers</title> <p>The system handles multiple
+pointers at the same time by identifying each one with a number and
+sending pointer events separately for each of them. A field (<codeph
+>iPointerNumber</codeph>) in the pointer event classes (<xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref> and the <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
+></xref> class which extends <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
+></xref>) identifies the pointer for which the event occurred. The
+order and frequency of pointer events depends on the driver of the
+pointing device. </p> <p>On each phone there is a pool of available
+pointer numbers, ranging from 0 to <codeph>HALData::EPointerNumberOfPointers</codeph
+> - 1. Every time the driver detects a new pointer coming into the
+range of the device, the driver assigns a number from the pool. After
+the pointer goes out of the range of the device, the number no longer
+identifies that particular pointer and the driver sends <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita#GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD/GUID-C7FB5C5F-B7E1-3738-B72D-1AD81699414F"
+><apiname>TRawEvent::EPointer3DOutOfRange</apiname></xref> with this
+pointer number. The number is then released back to the pool and may
+be reused to identify another pointer coming into the device's range. </p
+> </section>
+<section><title>Pressure and proximity</title> <p>The pressure of
+the pointer on the screen is represented as a positive integer. The
+proximity of the pointer to the screen is represented as a negative
+integer. It is up to the UI Platform to define units of pressure and
+proximity, which may be non-linear. In the <xref
+href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"><apiname>TRawEvent</apiname
+></xref> class, pressure and proximity are expressed in terms of the
+Z coordinate of the pointer. The definition of the Z coordinate is
+based on the assumption that the pointer is either hovering over the
+screen (proximity < 0, pressure = 0) or touching the screen (proximity
+= 0, pressure >= 0): </p> <ul>
+<li id="GUID-21CB6F60-3076-5EBE-9900-D870C670FE5B"><p>If proximity
+< 0 and pressure = 0 then the Z coordinate = proximity. </p> </li>
+<li id="GUID-B5EA992D-4F86-54E1-A64C-673691460945"><p>If proximity
+= 0 and pressure >= 0 then the Z coordinate = pressure. </p> </li>
+</ul> <fig id="GUID-FCE3CEAF-CCF3-5472-AC15-5DF5F092AA5E">
+<title> Relationships between the pointer proximity,
+pressure and z coordinate </title>
+<image
+href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e192246_href.png"
+placement="inline"></image></fig> </section>
+<section><title>API summary</title> <table
+id="GUID-07002499-484E-500E-AC57-4089AB0197E8">
+<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
+<thead>
+<row>
+<entry>API</entry>
+<entry>Description</entry>
+</row>
+</thead>
+<tbody>
+<row>
+<entry><p> <xref href="GUID-8BE90160-2C60-3582-82C8-4A108C7C0317.dita"
+><apiname>HALData</apiname></xref> </p> </entry>
+<entry><p>Includes z coordinate, pressure precision and number of
+pointers. Also contains threshold values for proximity and pressure. </p
+> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-668CEA36-3933-3BBE-A980-CAB62617B4FD.dita"
+><apiname>TRawEvent</apiname></xref> </p> </entry>
+<entry><p>Includes the pointer number and a structure for proximity
+and pressure data. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"
+><apiname>RWindowBase</apiname></xref> </p> </entry>
+<entry><p>Enables advanced pointer events for the window. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-5D0B1595-1AC7-3C44-AC6B-0EFB5EABCF31.dita"
+><apiname>TWsEvent</apiname></xref> </p> </entry>
+<entry><p>Supports <codeph>TAdvancedPointerEvent</codeph> (derived
+from <codeph>TPointerEvent)</codeph>. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"
+><apiname>TPointerEvent</apiname></xref> </p> </entry>
+<entry><p>Includes event types for pressing and closeness. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"
+><apiname>TAdvancedPointerEvent</apiname></xref> </p> </entry>
+<entry><p>Inherits from <codeph>TPointerEvent</codeph>. </p> <p>Provides
+capabilities for pressure, proximity and multiple pointers. </p> </entry>
+</row>
+<row>
+<entry><p> <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"
+><apiname>RWsSession</apiname></xref> </p> </entry>
+<entry><p>Provides get and set methods to manipulate threshold values
+for proximity and pressure. </p> </entry>
+</row>
+</tbody>
+</tgroup>
+</table> </section>
+<section><title>Typical uses</title> <ul>
+<li id="GUID-CA055058-AAD6-5A89-BC7E-7B5E81FA8963"><p> <b>Enabling
+many pointers for a window</b> </p> <p>Enables multiple pointers
+to act on one window. </p> </li>
+<li id="GUID-DBD49B85-207D-5722-8AE3-B00946899559"><p> <b>Enabling
+concurrent control of many objects</b> </p> <p>Controls many objects
+on one or more windows with many pointers. </p> </li>
+<li id="GUID-AF442CD4-FDEC-5FF4-B8F9-6ED8CDB9E957"><p> <b>Getting
+z coordinates from TPointerEvent</b> </p> <p>Reads the pressure and
+proximity values for a pointer. </p> </li>
+<li id="GUID-13E0E5DA-609A-52B3-A90A-9A84C3A8BF22"><p> <b>Pinch zooming</b
+> </p> <p>Enables the user to zoom in and out of data by using two
+fingers to pinch an area of the screen. Pinch zooming is normally
+used in web-page, map, picture, chart and control applications. </p
+> </li>
+<li id="GUID-C038F18F-94DE-5391-A1F8-BEF83274D143"><p> <b>Responding
+to high pressure events</b> </p> <p>As the pointer state changes,
+the pressure value can be checked. When it passes over a threshold
+value, the Window Server responds appropriately to the client. </p
+> </li>
+</ul> </section>
+</conbody>
+<related-links>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
+>Pointer States and Event Communication</linktext>
+</link>
+<link href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita"><linktext
+>Advanced Pointer Tutorial</linktext></link>
+</related-links>
+</concept>
+<?Pub *0000011675?>
--- a/Symbian3/SDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,53 +1,62 @@
-<?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-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en"><title>Touch
-UI</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>When designing a Symbian application, the UI must be designed so that all
-tasks can be performed with touch. Therefore, the design must not rely on
-hardware keys (except for turning the power ON and OFF). </p>
-<p>The touch UI in the Symbian platform involves various specific touch components,
-component and UI behavior changes, layout changes and additions to the <xref href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref>. The
-main differences or additions in touch UI include the following:</p>
-<ul>
-<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications for
-touch UI</xref></p></li>
-<li><p>Capacitive touch screen (HW). </p><p>For more information, see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications for
-touch UI</xref></p></li>
-<li><p>Single tap. For more information, see <xref href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single
-tap</xref>.</p></li>
-<li><p>Multi-touch.</p><p>For more information, see <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multi-touch</xref>.</p></li>
-
-<li><p>Toolbar component in touch UI</p><p>For
-more information, see <xref href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref>.</p></li>
-<li><p>Touch input component (virtual keyboard, hand-writing recognition and
-virtual ITU-T) </p><p>For more information,
-see <xref href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text
-input</xref>.</p></li>
-<li><p>Stylus pop-up menu component </p><p>For
-more information, see <xref href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus
-pop-up menu</xref>.</p></li>
-<li><p>On-screen dialer application </p></li>
-<li><p>Additional touch functionality to some components (for example, Preview
-pop-up) </p><p>For more information,
-see <xref href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview
-pop-up</xref>.</p></li>
-<li><p>Touch-enabled components</p><p>For
-more information, see <xref href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support for UI components</xref>.</p></li>
-</ul>
-<p>There are two generic layouts for touch UI -portrait orientation and landscape
-orientation, see the following figure. The <xref href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status
-pane</xref> in Touch UI has three variants: extended, flat and small.</p>
-<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
-<title>Default Symbian Touch UI layouts for portrait and landscape</title>
-<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e68734_href.png" placement="inline"/>
-</fig>
-</conbody></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-AE6F03EB-1430-4526-B4D0-57BC6C6029D4" xml:lang="en">
+<title>Touch UI</title>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>When designing a Symbian application, the UI must be designed so
+that all tasks can be performed with touch. Therefore, the design
+must not rely on hardware keys (except for turning the power ON and
+OFF). </p>
+<p>The touch UI in the Symbian platform involves various specific
+touch components, component and UI behavior changes, layout changes
+and additions to the <xref
+href="GUID-0D093C3D-4D85-455E-B685-064A9B25B1FE.dita">user experience</xref
+>. The main differences or additions in touch UI include the following:</p>
+<ul>
+<li><p>Resistive touch screen (HW).</p><p> For more information, see <xref
+href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing applications
+for touch UI</xref></p></li>
+<li><p>Capacitive touch screen (HW). </p><p>For more information,
+see <xref href="GUID-1FCD0312-7B28-47F9-BE54-822B74A8934C.dita">Designing
+applications for touch UI</xref></p></li>
+<li><p>Single tap. For more information, see <xref
+href="GUID-F66AC845-58B8-4029-AE04-C283226B7C12.dita">Single tap</xref
+>.</p></li>
+<li><p>Multiple touch.</p><p>For more information, see <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple <?Pub
+Caret?>touch</xref>.</p></li>
+<li><p>Toolbar component in touch UI</p><p>For more information, see <xref
+href="GUID-EB212C35-5416-4CA7-8091-61B45D78E220.dita">Toolbar</xref
+>.</p></li>
+<li><p>Touch input component (virtual keyboard, hand-writing recognition
+and virtual ITU-T) </p><p>For more information, see <xref
+href="GUID-57B7DA8C-A62F-4C65-B754-47D9F5E76416.dita">Text input</xref
+>.</p></li>
+<li><p>Stylus pop-up menu component </p><p>For more information, see <xref
+href="GUID-C4E728B4-3E84-49A4-83CB-DF146420D78A.dita">Stylus pop-up
+menu</xref>.</p></li>
+<li><p>On-screen dialer application </p></li>
+<li><p>Additional touch functionality to some components (for example,
+Preview pop-up) </p><p>For more information, see <xref
+href="GUID-E7EFAD50-3323-49A6-A5D9-95B95F0FBF0E.dita">Preview pop-up</xref
+>.</p></li>
+<li><p>Touch-enabled components</p><p>For more information, see <xref
+href="GUID-BB8B3A11-0BBC-4759-A7F4-A28C9E70573F.dita">Touch support
+for UI components</xref>.</p></li>
+</ul>
+<p>There are two generic layouts for touch UI -portrait orientation
+and landscape orientation, see the following figure. The <xref
+href="GUID-771AF721-E2D7-41C8-BF97-5BD30D1A28AD.dita">Status pane</xref
+> in Touch UI has three variants: extended, flat and small.</p>
+<fig id="GUID-81426DEE-7FBB-48C1-AB46-BCFF3944699C">
+<title>Default Symbian Touch UI layouts for portrait and landscape</title>
+<image href="GUID-ADA36DA0-4E5D-483D-8AA7-C10A8E55ADD2_d0e68734_href.png"
+placement="inline"></image></fig>
+</conbody>
+</concept>
+<?Pub *0000003028?>
--- a/Symbian3/SDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-C60DC070-572B-5960-B394-550426FDB909.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,199 +1,262 @@
-<?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-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en"><title> Advanced
-Pointer Tutorial</title><shortdesc>This tutorial provides step-by-step instructions and sample code
-to help you write applications using advanced pointers. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref>. <b>Target
-audience</b>: Application developers. </p>
-<section><title>Required background </title> <p>This topic builds on the material
-in the following topics: </p> <ul>
-<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced
-Pointer Overview</xref> </p> </li>
-<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced
-Pointer States and Event Communication</xref> </p> </li>
-</ul> </section>
-<section><title>Using advanced pointers</title> <p>This topic covers the following: </p> <ul>
-<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC">Enabling multi-touch for a window</xref> </p> </li>
-<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F">Getting Z coordinates from TPointerEvent</xref> </p> </li>
-<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"> Pinch zooming</xref> </p> </li>
-</ul> </section>
-<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling multi-touch
-in a window</title> <ol id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
-<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname></xref> provides
-a handle to a standard window. Call <codeph>RWindow</codeph> to create an
-instance of a window. </p> <codeblock id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve">
-RWindow window(ws);
-
-User::LeaveIfError(window.Construct(wg, reinterpret_cast<TUint32>(&wg) + 1));
-</codeblock> </li>
-<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to
-enable advanced pointers. Then call <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"><apiname>RWindowBase::Activate()</apiname></xref> to
-display the window and enable the window to receive events. <xref href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname></xref> inherits
-from <xref href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname></xref>, so you can call the <codeph>Activate()</codeph> function
-on <codeph>RWindow</codeph>. </p> <codeblock id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve">
-window.EnableAdvancedPointers();
-window.Activate();
-</codeblock> <p>When an application needs to receive advanced pointer events
-in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph> for
-the window <i>before</i> it is activated. </p> <p>If advanced pointers are
-not enabled for a window, it receives only standard <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname></xref> information
-from a single pointer with no pressure and proximity data. The single pointer
-environment rules describe the way in which pointer events coming from many
-pointers in the multi-pointer model are transformed into events of one pointer.
-They are necessary to ensure that old single-pointer applications work in
-a multi-touch environment intuitively and as expected by the user. </p> <p>However,
-the new <codeph>TPointerEvent</codeph> types, <xref href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"><apiname>EEnterCloseProximity</apiname></xref>, <xref href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"><apiname>EExitCloseProximity</apiname></xref>, <xref href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"><apiname>EEnterHighPressure</apiname></xref> and <xref href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"><apiname>EExitHighPressure</apiname></xref>, are delivered to all windows,
-even to those that do not enable advanced pointers. </p> </li>
-</ol> </section>
-<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting Z coordinates
-from TPointerEvent</title> <ol id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
-<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on
-a <codeph>TPointerEvent</codeph> to return a pointer to a <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9" xml:space="preserve">
-TZType aZType;
-TPointerEvent& aPointerEvent;
-TInt* aZ;
-TInt* aPoint3D;
-
-TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
-</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
-details of a pointer event. <codeph>TZType</codeph> is a struct provided by
-the programmer containing members to hold proximity, pressure, and "proximity
-and pressure" data. </p> </li>
-<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need to test
-whether the pointer event contains advanced pointer data. If it is not an
-advanced pointer, the code leaves. </p> <p>If it is an advanced pointer, we
-call functions to detect proximity, pressure, "proximity and pressure" data
-and coordinates. </p> <codeblock id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve">
-if(!advancedP)
- {
- // The TPointerEvent isn't an instance of TAdvancedPointerEvent
- User::Leave(KErrArgument);
- }
-
-switch(aZType)
- {
- case EZTypeProximity:
- aZ = advancedP->Proximity();
- aPoint3D = advancedP->Proximity3D();
- break;
- case EZTypePressure:
- aZ = advancedP->Pressure();
- aPoint3D = advancedP->Pressure3D();
- break;
- case EZTypeProximityAndPressure:
- aZ = advancedP->ProximityAndPressure();
- aPoint3D = advancedP->ProximityAndPressure3D();
- break;
- default:
- User::Leave(KErrArgument);
- break;
- }
-</codeblock> <ul>
-<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns
-the proximity. </p> </li>
-<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns
-the pressure. </p> </li>
-<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref> returns
-the proximity and pressure combined. </p> </li>
-<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"><apiname>TAdvancedPointerEvent::
-Position3D()</apiname></xref> returns the proximity and the X, Y and Z coordinates. </p> </li>
-<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns
-the pressure and the X and Y coordinates. </p> </li>
-</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i> positive.
-Internally they are combined together as a Z coordinate. When Z > 0, the proximity
-is 0 and the Z value represents the pressure. When Z < 0, the pressure
-is 0 and the Z value represents the proximity. Some APIs use only a Z coordinate
-(such as the threshold getters and setters and <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref>).
-In these, the Z coordinate is interpreted in terms of pressure and proximity. </p> </li>
-</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
-<title> Relationships between the pointer proximity, pressure and Z
- coordinate </title>
-<image href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e193926_href.png" placement="inline"/>
-</fig> </section>
-<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch zooming</title> <p>This
-example shows an easy way to pinch zoom an image when the screen receives
-pointer events from two pointers. There are two functions in this code that
-must be implemented by the programmer: <codeph>BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>.
-They are not included in the example because they involve complex calculations
-that are not related to advanced pointers. </p> <p>The high-level steps to
-perform pinch zooming are: </p> <ol id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
-<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
-equivalent to the given on-screen coordinates. In the code example, this is
-done using the function <codeph>BitmapCoordinates()</codeph>. </p> </li>
-<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID of the
-pointer by using <xref href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>.
-If the device can handle two pointers (two fingers) at the same time, their
-numbers are 0 and 1. The pointer number enables you to distinguish a given
-pointer from other pointers. </p> </li>
-<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer assign
-its coordinates to a local variable. We assume there are only two pointers
-handled by the system here. </p> </li>
-<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph>MoveBitmap()</codeph> function
-to achieve the zoom effect. </p> <codeblock id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve">
-/**
-Receives pointer events from two pointers to perform Pinch Zoom of the image.
-Function will finish when EButton1Up is received for any of the pointers.
-@param aPointer1 Coordinates of pointer number 1 when zoom is started
-@param aPointer2 Coordinates of pointer number 2 when zoom is started
-*/
-
-void PinchZoom(TPoint aPointer1, TPoint aPointer2)
- {
- TPoint actualP1 = aPointer1;
- TPoint actualP2 = aPointer2;
-
- // translate on-screen pointer coordinates to coordinates of displayed bitmap
- TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
- TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
-
- TBool repaint = EFalse;
-
- while (ETrue)
- {
- TAdvancedPointerEvent event = GetNextPointerEvent();
-
- if (event.iType == TPointerEvent::EDrag)
- {
- if (event.PointerNumber() == 1)
- {
- actualP1 = event.iPosition;
- repaint = ETrue;
- }
- else if (event.PointerNumber() == 2)
- {
- actualP2 = event.iPosition;
- repaint = ETrue;
- }
- }
- else if (event.iType == TPointerEvent::EButton1Up)
- {
- break;
- }
-
- if (repaint)
- {
- // move bitmap on the screen in the way that
- // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
- // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
- MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
- repaint = EFalse;
- }
- }
- }
-</codeblock> </li>
-</ol> </section>
-</conbody><related-links>
-<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext>Advanced
-Pointer Overview</linktext></link>
-<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext>Advanced
-Pointer States and Event Communication</linktext></link>
-</related-links></concept>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-C60DC070-572B-5960-B394-550426FDB909" xml:lang="en">
+<title> Advanced Pointer Tutorial</title>
+<shortdesc>This tutorial provides step-by-step instructions and sample
+code to help you write applications using advanced pointers. </shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p> <b>Variant</b>: <xref
+href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref
+>. <b>Target audience</b>: Application developers. </p>
+<section><title>Required background </title> <p>This topic builds
+on the material in the following topics: </p> <ul>
+<li id="GUID-C4209FBD-3860-5F4B-8458-87D22D483953"><p><xref
+href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita">Advanced Pointer
+Overview</xref> </p> </li>
+<li id="GUID-9D3C3B31-F43A-5201-A1EC-A1F2848CFF43"><p><xref
+href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita">Advanced Pointer
+States and Event Communication</xref> </p> </li>
+</ul> </section>
+<section><title>Using advanced pointers</title> <p>This topic covers
+the following: </p> <ul>
+<li id="GUID-C3AD43AA-09C0-5BA2-8496-5B87D40C89F5"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"
+>Enabling multiple pointers for a window</xref> </p> </li>
+<li id="GUID-177323F2-55C6-56D9-B3D2-A8DDACF69E10"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"
+>Getting Z coordinates from TPointerEvent</xref> </p> </li>
+<li id="GUID-91CEA92C-A692-5853-96F0-625A76B7DC8D"><p><xref
+href="GUID-C60DC070-572B-5960-B394-550426FDB909.dita#GUID-C60DC070-572B-5960-B394-550426FDB909/GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"
+> Pinch zooming</xref> </p> </li>
+</ul> </section>
+<section id="GUID-8CBE862B-0C1D-5088-89B7-9B3EC898E4FC"><title>Enabling
+multiple pointers in a window</title> <ol
+id="GUID-210D17A8-4869-5F9B-B71C-672101AC591C">
+<li id="GUID-81A2AC5C-7837-5216-8F47-FC5959C27522"><p> <xref
+href="GUID-637F82AF-0CF9-3C85-834D-7C1A0866DF87.dita"><apiname>RWindow</apiname
+></xref> provides a handle to a standard window. Call <codeph>RWindow</codeph
+> to create an instance of a window. </p> <codeblock
+id="GUID-0E31C3F6-3719-5F16-9F74-C405850604B8" xml:space="preserve"
+>
+RWindow window(ws);
+
+User::LeaveIfError(window.Construct(wg, reinterpret_cast<TUint32>(&wg) + 1));
+</codeblock> </li>
+<li id="GUID-B67D3702-1A8F-5C6A-AB0F-FEA7C4D04A07"><p>Call <xref
+href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita#GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79/GUID-05293539-F1B0-3C7D-BB14-3FD42F23D5C8"
+><apiname>RWindow::EnableAdvancedPointers()</apiname></xref> to enable
+advanced pointers. Then call <xref
+href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita#GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34/GUID-4E02165A-DFCC-3D18-BB18-18726B28E90A"
+><apiname>RWindowBase::Activate()</apiname></xref> to display the
+window and enable the window to receive events. <xref
+href="GUID-683603DD-F3D3-3193-BEB3-8236C7DE7F79.dita"><apiname>RWindow</apiname
+></xref> inherits from <xref
+href="GUID-1460DD8F-9AA1-3B99-8FFD-F309959CCA34.dita"><apiname>RWindowBase</apiname
+></xref>, so you can call the <codeph>Activate()</codeph> function
+on <codeph>RWindow</codeph>. </p> <codeblock
+id="GUID-DB2FB570-2BB0-5C5F-9E4F-076D6A0E469E" xml:space="preserve"
+>
+window.EnableAdvancedPointers();
+window.Activate();
+</codeblock> <p>When an application needs to receive advanced pointer
+events in a window, it must call <codeph>RWindowBase::EnableAdvancedPointers()</codeph
+> for the window <i>before</i> it is activated. </p> <p>If advanced
+pointers are not enabled for a window, it receives only standard <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita"><apiname>TPointerEvent</apiname
+></xref> information from a single pointer with no pressure and proximity
+data. The single pointer environment rules describe the way in which
+pointer events coming from many pointers in the multiple pointer model
+are transformed into events of one pointer. They are necessary to
+ensure that old single-pointer applications work in a multiple pointer
+environment <?Pub Caret?> intuitively and as expected by the user. </p
+> <p>However, the new <codeph>TPointerEvent</codeph> types, <xref
+href="GUID-239D0A8B-2759-321D-AD48-976E80192239.dita"><apiname>EEnterCloseProximity</apiname
+></xref>, <xref href="GUID-8C6264B4-5E19-33A7-92B0-BB79C871BEC7.dita"
+><apiname>EExitCloseProximity</apiname></xref>, <xref
+href="GUID-F02DB96E-1541-3223-9B7B-79D45840DB7B.dita"><apiname>EEnterHighPressure</apiname
+></xref> and <xref href="GUID-15B5991C-B075-3110-B0A4-540EC282AA56.dita"
+><apiname>EExitHighPressure</apiname></xref>, are delivered to all
+windows, even to those that do not enable advanced pointers. </p> </li>
+</ol> </section>
+<section id="GUID-C026DAB9-C11C-5D29-A1EA-6730E914250F"><title>Getting
+Z coordinates from TPointerEvent</title> <ol
+id="GUID-4CC2271D-1798-51B3-9A9D-E7E0B9A33DAE">
+<li id="GUID-184B5B63-4EFC-55CD-8D1F-E015EEBACBE2"><p>Call <xref
+href="GUID-1FFA0073-3D83-388E-A824-08C31F90CC54.dita#GUID-1FFA0073-3D83-388E-A824-08C31F90CC54/GUID-E961DA4D-AD38-31F0-88DD-A07D36346DCB"
+><apiname>TPointerEvent::AdvancedPointerEvent()</apiname></xref> on
+a <codeph>TPointerEvent</codeph> to return a pointer to a <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita"><apiname>TAdvancedPointerEvent</apiname
+></xref>. </p> <codeblock id="GUID-6E81680A-3070-546B-B575-49EA9E34FAF9"
+xml:space="preserve">
+TZType aZType;
+TPointerEvent& aPointerEvent;
+TInt* aZ;
+TInt* aPoint3D;
+
+TAdvancedPointerEvent *advancedP = aPointerEvent.AdvancedPointerEvent();
+</codeblock> <p> <codeph>TPointerEvent</codeph> is a struct that contains
+details of a pointer event. <codeph>TZType</codeph> is a struct provided
+by the programmer containing members to hold proximity, pressure,
+and "proximity and pressure" data. </p> </li>
+<li id="GUID-ABA8FA09-5F57-51BC-8CAE-43649B5ED6D3"><p>Now we need
+to test whether the pointer event contains advanced pointer data.
+If it is not an advanced pointer, the code leaves. </p> <p>If it is
+an advanced pointer, we call functions to detect proximity, pressure,
+"proximity and pressure" data and coordinates. </p> <codeblock
+id="GUID-DF109643-2564-51A0-B0F6-33BF4DA1F6E3" xml:space="preserve"
+>
+if(!advancedP)
+ {
+ // The TPointerEvent isn't an instance of TAdvancedPointerEvent
+ User::Leave(KErrArgument);
+ }
+
+switch(aZType)
+ {
+ case EZTypeProximity:
+ aZ = advancedP->Proximity();
+ aPoint3D = advancedP->Proximity3D();
+ break;
+ case EZTypePressure:
+ aZ = advancedP->Pressure();
+ aPoint3D = advancedP->Pressure3D();
+ break;
+ case EZTypeProximityAndPressure:
+ aZ = advancedP->ProximityAndPressure();
+ aPoint3D = advancedP->ProximityAndPressure3D();
+ break;
+ default:
+ User::Leave(KErrArgument);
+ break;
+ }
+</codeblock> <ul>
+<li id="GUID-40C01884-AC86-5882-935D-2EC2E27C9004"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-0ED4B1CC-0655-3246-8645-AAC9E0C27298"
+><apiname>TAdvancedPointerEvent::Proximity()</apiname></xref> returns
+the proximity. </p> </li>
+<li id="GUID-16A9A86B-A837-5E43-BB3A-F5A04A7F4552"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-15DEBFBF-7B7D-3FCF-9929-C973824A5FD3"
+><apiname>TAdvancedPointerEvent::Pressure()</apiname></xref> returns
+the pressure. </p> </li>
+<li id="GUID-3E614890-C317-596E-A5B9-FD76426DBD12"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
+><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
+> returns the proximity and pressure combined. </p> </li>
+<li id="GUID-6F62C0D1-FAE4-5F8F-B451-68ABA404A369"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-E5AA7737-D217-3FDE-9E4D-AAA7F5D2C300"
+><apiname>TAdvancedPointerEvent:: Position3D()</apiname></xref> returns
+the proximity and the X, Y and Z coordinates. </p> </li>
+<li id="GUID-5AD1811D-BCBF-5A44-B6E7-EB71BF254BCA"><p> <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-2F30A8F5-75BA-3FE3-84B7-3C772ED75857"
+><apiname>TAdvancedPointerEvent::Pressure3D()</apiname></xref> returns
+the pressure and the X and Y coordinates. </p> </li>
+</ul> <p>Proximity is <i>always</i> negative and pressure is <i>always</i
+> positive. Internally they are combined together as a Z coordinate.
+When Z > 0, the proximity is 0 and the Z value represents the pressure.
+When Z < 0, the pressure is 0 and the Z value represents the proximity.
+Some APIs use only a Z coordinate (such as the threshold getters and
+setters and <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-114AE77E-D0BD-321E-BFCB-1388B35582EC"
+><apiname>TAdvancedPointerEvent::ProximityAndPressure()</apiname></xref
+>). In these, the Z coordinate is interpreted in terms of pressure
+and proximity. </p> </li>
+</ol> <fig id="GUID-7A49B143-5458-5916-B937-55D98B77BB2C">
+<title> Relationships between the pointer proximity, pressure and
+Z coordinate </title>
+<image
+href="GUID-1A0FB98B-8DB3-5067-9B71-FF838F6AE402_d0e193926_href.png"
+placement="inline"></image></fig> </section>
+<section id="GUID-B7057F69-191F-5AA4-8C61-EBECE66D92F6"><title>Pinch
+zooming</title> <p>This example shows an easy way to pinch zoom an
+image when the screen receives pointer events from two pointers. There
+are two functions in this code that must be implemented by the programmer: <codeph
+>BitmapCoordinates()</codeph> and <codeph>MoveBitmap()</codeph>. They
+are not included in the example because they involve complex calculations
+that are not related to advanced pointers. </p> <p>The high-level
+steps to perform pinch zooming are: </p> <ol
+id="GUID-AEF3917C-AAFE-5C25-9609-396D08478AC0">
+<li id="GUID-7839E665-C4E1-59C8-BA89-22A62615EFA3"><p>Define the coordinates,
+equivalent to the given on-screen coordinates. In the code example,
+this is done using the function <codeph>BitmapCoordinates()</codeph
+>. </p> </li>
+<li id="GUID-FC4B1BDA-8120-53C9-9C88-BEFEF1AD54B4"><p>Define the ID
+of the pointer by using <xref
+href="GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023.dita#GUID-FADA3278-FF8B-308F-90AD-3DCF8911A023/GUID-67593D7E-CE40-303F-B847-81D6FC0578B1"
+><apiname>TAdvancedPointerEvent::PointerNumber()</apiname></xref>.
+If the device can handle two pointers (two fingers) at the same time,
+their numbers are 0 and 1. The pointer number enables you to distinguish
+a given pointer from other pointers. </p> </li>
+<li id="GUID-1E8F7D23-EEAD-5EA5-8863-276076D6B54E"><p>For each pointer
+assign its coordinates to a local variable. We assume there are only
+two pointers handled by the system here. </p> </li>
+<li id="GUID-E44B3D9B-560A-5959-996D-A63CBD4C3786"><p>Use the <codeph
+>MoveBitmap()</codeph> function to achieve the zoom effect. </p> <codeblock
+id="GUID-D85CCFDD-8F65-530A-ACD7-93DD1D435FC6" xml:space="preserve"
+>
+/**
+Receives pointer events from two pointers to perform Pinch Zoom of the image.
+Function will finish when EButton1Up is received for any of the pointers.
+@param aPointer1 Coordinates of pointer number 1 when zoom is started
+@param aPointer2 Coordinates of pointer number 2 when zoom is started
+*/
+
+void PinchZoom(TPoint aPointer1, TPoint aPointer2)
+ {
+ TPoint actualP1 = aPointer1;
+ TPoint actualP2 = aPointer2;
+
+ // translate on-screen pointer coordinates to coordinates of displayed bitmap
+ TPoint bitmapCatching1 = BitmapCoordinates(aPointer1);
+ TPoint bitmapCatching2 = BitmapCoordinates(aPointer2);
+
+ TBool repaint = EFalse;
+
+ while (ETrue)
+ {
+ TAdvancedPointerEvent event = GetNextPointerEvent();
+
+ if (event.iType == TPointerEvent::EDrag)
+ {
+ if (event.PointerNumber() == 1)
+ {
+ actualP1 = event.iPosition;
+ repaint = ETrue;
+ }
+ else if (event.PointerNumber() == 2)
+ {
+ actualP2 = event.iPosition;
+ repaint = ETrue;
+ }
+ }
+ else if (event.iType == TPointerEvent::EButton1Up)
+ {
+ break;
+ }
+
+ if (repaint)
+ {
+ // move bitmap on the screen in the way that
+ // bitmapCatching1 point of the bitmap will be displayed at actualP1 screen coordinate,
+ // bitmapCatching2 point of the bitmap will be displayed at actualP2 screen coordinate.
+ MoveBitmap(bitmapCatching1, actualP1, bitmapCatching2, actualP2);
+ repaint = EFalse;
+ }
+ }
+ }
+</codeblock> </li>
+</ol> </section>
+</conbody>
+<related-links>
+<link href="GUID-9C269F45-F160-5A4B-ABF8-896D2A538E3B.dita"><linktext
+>Advanced Pointer Overview</linktext></link>
+<link href="GUID-9AD75103-CD56-5279-B639-5CA2BBF979B5.dita"><linktext
+>Advanced Pointer States and Event Communication</linktext>
+</link>
+</related-links>
+</concept>
+<?Pub *0000013538?>
--- a/Symbian3/SDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita Wed Jun 16 10:24:13 2010 +0100
+++ b/Symbian3/SDK/Source/GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC.dita Fri Jul 02 12:51:36 2010 +0100
@@ -1,39 +1,43 @@
-<?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-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en"><title>Zooming
-actions</title><shortdesc>Mobile device users must be able to zoom in and out consistently
-within applications on a mobile device. However the zooming actions may differ
-from one device model to another.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
-<p>The product features and form factor of a mobile device determine which
-zooming actions application developers should make available on it: </p>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Arbortext, Inc., 1988-2008, v.4002-->
+<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN"
+ "concept.dtd">
+<concept id="GUID-F25C17AC-BA88-4965-BAE8-AEF0E2EA66EC" xml:lang="en">
+<title>Zooming actions</title>
+<shortdesc>Mobile device users must be able to zoom in and o<?Pub
+Caret?>ut consistently within applications on a mobile device. However
+the zooming actions may differ from one device model to another.</shortdesc>
+<prolog>
+<metadata><keywords></keywords></metadata>
+</prolog>
+<conbody>
+<p>The product features and form factor of a mobile device determine
+which zooming actions application developers should make available
+on it: </p>
<ul>
-<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms in and
-the hash mark (#) key zooms out. This functionality is not available in editors
-or other states where the keys play another role. In these cases, the zoom
-functions, if applicable, must be available in the <uicontrol>Options</uicontrol> menu. </p></li>
-<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the two topmost
-keys at the top left of the keyboard for zooming in and out. For example,
-on a Latin keyboard, use the Q key to zoom in and the A key to zoom out. Some
-products might have zooming symbols printed on the keyboard to help users
-find the zooming features. Again, the functions are not available in editors.</p></li>
-<li><p>On touch devices, users can use touch stripes to zoom. Finger movement
-along the stripe controls zooming. Applications may support different number
-of zoom levels. It should be possible to zoom across the full range with one
-swipe.</p></li>
-<li><p>On touch devices with multi-touch support, users can use pinch zoom.
-See <xref href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multi-touch</xref> section
-for more details on pinch in and pinch out.</p></li>
-<li><p>On touch devices, some applications may support double-tapping zoom.
-A double tap can toggle between zoomed and normal view, but this depends on
-the application.</p></li>
+<li><p>If the device has an ITU-T keypad, the asterisk (*) key zooms
+in and the hash mark (#) key zooms out. This functionality is not
+available in editors or other states where the keys play another role.
+In these cases, the zoom functions, if applicable, must be available
+in the <uicontrol>Options</uicontrol> menu. </p></li>
+<li><p>If the device has a QWERTY or half-QWERTY keyboard, use the
+two topmost keys at the top left of the keyboard for zooming in and
+out. For example, on a Latin keyboard, use the Q key to zoom in and
+the A key to zoom out. Some products might have zooming symbols printed
+on the keyboard to help users find the zooming features. Again, the
+functions are not available in editors.</p></li>
+<li><p>On touch devices, users can use touch stripes to zoom. Finger
+movement along the stripe controls zooming. Applications may support
+different number of zoom levels. It should be possible to zoom across
+the full range with one swipe.</p></li>
+<li><p>On touch devices with multiple touch support, users can use
+pinch zoom. See <xref
+href="GUID-17C64C2F-9426-4B41-9F0A-23060289D644.dita">Multiple touch</xref
+> section for more details on pinch in and pinch out.</p></li>
+<li><p>On touch devices, some applications may support double-tapping
+zoom. A double tap can toggle between zoomed and normal view, but
+this depends on the application.</p></li>
</ul>
-</conbody></concept>
\ No newline at end of file
+</conbody>
+</concept>
+<?Pub *0000002119?>