Symbian3/PDK/Source/GUID-A15C553D-9D64-5C48-9274-6DD1642CDC23.dita
changeset 1 25a17d01db0c
child 3 46218c8b8afa
equal deleted inserted replaced
0:89d6a7a84779 1:25a17d01db0c
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-A15C553D-9D64-5C48-9274-6DD1642CDC23" xml:lang="en"><title>Direct:
       
    13 Direct Screen Access example</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <section id="GUID-3CE6ED7C-72D8-5C99-8877-6FCB6C053D1D"><title>Description</title> <p> <filepath>Direct</filepath> demonstrates
       
    15 the window server's direct screen area (<codeph>CDirectScreenAccess</codeph>)
       
    16 interface. </p> <p>The example has an engine, <codeph>CLifeEngine</codeph>,
       
    17 for the famous "Game of Life" algorithm, which generates grids of cells, each
       
    18 update being derived by simple rules from the previous generation. The initial
       
    19 configuration of the cells is random. </p> <p>The UI simply has little user
       
    20 interaction. It simply draws the current grid using <codeph>CDirectScreenAccess</codeph>,
       
    21 and requests the engine to generate the next update. The UI classes are: </p> <ul>
       
    22 <li id="GUID-155FE7BA-3FC2-5C95-89C6-295CDB0C1B0E"><p> <codeph>CDirectDisplayLife</codeph>:
       
    23 the object that draws the grid through a <codeph>CDirectScreenAccess</codeph>,
       
    24 and which implements the API's <codeph>MDirectScreenAccess</codeph> callback
       
    25 interface, so that the window server can indicate when conditions (e.g. overlaying
       
    26 windows) change </p> </li>
       
    27 <li id="GUID-A01FC1E3-F76C-5892-A29D-7645263A5431"><p> <codeph>CExampleAppView</codeph>:
       
    28 the application's window, which owns the <codeph>CDirectDisplayLife</codeph> object </p> </li>
       
    29 <li id="GUID-8E45AD8C-642C-5DB9-8113-693BA4E0CA05"><p> <codeph>CExampleAppUi</codeph>:
       
    30 handles commands and calls the view appropriately </p> </li>
       
    31 </ul> </section>
       
    32 <section id="GUID-C81BD7D0-C899-5A8B-B704-91B81C3E0C1A"><title>Download</title><p>Click
       
    33 on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-51e33be2-ed3d-4412-8f0f-1535b86beb6f.zip" scope="external">Direct.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-51e33be2-ed3d-4412-8f0f-1535b86beb6f.html" scope="peer">browse</xref> to view the example code. </p> </section>
       
    34 <section><title>Class Summary</title><p><xref href="GUID-24C7AE25-B44A-3B6F-AA05-EA90A8D36129.dita"><apiname>CDirectScreenAccess</apiname></xref></p><p><xref href="GUID-5A289A8A-1485-3AB9-94CF-177B83D4F450.dita"><apiname>MDirectScreenAccess</apiname></xref></p><p><xref href="GUID-A6B66713-FECA-3BE7-BB81-1AE5551AD83D.dita"><apiname>RNotifier</apiname></xref></p></section>
       
    35 <section id="GUID-3B2CEB41-C76F-5C4A-82B8-05668190A5C6"><title>Usage</title> <p>Commands
       
    36 are given to the example through its Lifemenu. The commands are: </p> <ul>
       
    37 <li id="GUID-82639EB4-7E0A-5626-BC00-68E86A5E6188"><p> Start: starts or restarts
       
    38 the life display </p> </li>
       
    39 <li id="GUID-3BE84871-91A0-5230-96F8-F3565141CA43"><p> Test overlay: simulates
       
    40 a window from another program being placed partially over the display area.
       
    41 The display area is then clipped appropriately, so that the upper window is
       
    42 not overwritten </p> </li>
       
    43 </ul> </section>
       
    44 <section id="GUID-C1EE963E-9325-5DE2-A4A9-D327218A3C6E"><title>Note
       
    45 for developers</title> <p>While the DSA is in operation, the client should
       
    46 not make any call to the Window Server (WSERV) that will affect the visible
       
    47 area of the window in which the DSA is taking place. If this happens, it will
       
    48 cause a temporary deadlock (since the client will be waiting for WSERV to
       
    49 make the requested window rearrangement, and WSERV will be waiting for the
       
    50 client to acknowledge that the DSA has aborted). </p> </section>
       
    51 </conbody></concept>