Symbian3/SDK/Source/GUID-CD550DE7-D013-527B-BADE-5CB122C352C8.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
parent 0 89d6a7a84779
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission

<?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>