Symbian3/PDK/Source/GUID-CD550DE7-D013-527B-BADE-5CB122C352C8.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?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-CD550DE7-D013-527B-BADE-5CB122C352C8"><title>Pointer Handling</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Pointer events can be associated with any <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWindowBase</apiname></xref> derived class. At the simplest, pointer down, drag and up events are generated, associated with the window in which the event occurred. </p> <p> <b>Variant</b>: <xref href="GUID-D93978BE-11A3-5CE3-B110-1DEAA5AD566C.dita">ScreenPlay</xref> and <xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">non-ScreenPlay</xref>. <b>Target audience</b>: Application developers. </p> <p>The Window Server allows applications to control pointer handling much more finely than this. </p> <ul><li id="GUID-EC0A811A-6C09-56D1-8A9C-4CDE5CFBB63D"><p>Multiple drag events which the Window Server receives from the pointer device driver are usually translated into a single drag event for the client application, incorporating all movement occurring between one pointer-related <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession::GetEvent()</apiname></xref> and the next <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWsSession::EventReady()</apiname></xref>. This behavior is appropriate for a typical application, and ensures that pointer events are delivered at a rate that the application can handle. </p> </li> <li id="GUID-B407FC67-A547-5A79-B4F8-6480D9D356CB"><p>If required, an application may request the Window Server to store all pointer events in a pointer buffer, and then deliver that entire buffer when it is full. This is useful for freehand drawing and handwriting recognition. </p> </li> <li id="GUID-0465CC4B-0C92-51A8-8F58-0EE81FC0BBDF"><p>Double-click may be detected by the Window Server. The interval between double clicks is supported as a system-wide setting. </p> </li> <li id="GUID-FC252FFD-A61D-5967-9243-091C2C538C58"><p>Repeated pointer-down events may be generated when the pointer is held still in a particular place—similar to keyboard auto-repeat. </p> </li> <li id="GUID-DF556F28-B1EB-5C10-B7A4-B453D1465B62"><p>Areas of a window may be designated as key areas, so that a pointer event in that window is turned into a key event, and delivered to the window’s owning client application as a key event. This is intended to support on-screen pseudo-keyboards. </p> </li> <li id="GUID-733E15BC-2F1A-5069-A3FE-1E3AFA7DBEB9"><p>The pointer may be grabbed by a particular window so that events generated outside that window's extent are associated with that window. </p> </li> <li id="GUID-088B1305-BBAF-5E1D-8829-85B59569D16A"><p>A window can capture pointer clicks from outside its visible area. In order to do this, it has to call the function <xref href="GUID-643DDA78-C7A7-386D-AB3F-8710141DDDA9.dita"><apiname>RWindowBase::SetPointerCapture()</apiname></xref>. Various values can be passed as a parameter to this function allowing, for example, no capturing to take place, capturing of all events from within the window's window group, and capturing of all events from within all groups. If several windows request events to be captured, the Window Server does some arbitration. </p> </li> </ul> </conbody><related-links><link href="GUID-A12A66ED-2C8F-5CE6-8F3E-332B045A35B4.dita"><linktext>Advanced Pointers</linktext> </link> <link href="GUID-E1E11C95-3400-548B-AEEE-577DA8FB9ECB.dita"><linktext>Processing Window Events</linktext> </link> <link href="GUID-B58D3727-6E05-51C8-8EC2-52768A136BD5.dita"><linktext>Window Server Client-Side Events
                Overview</linktext> </link> </related-links></concept>