Symbian3/PDK/Source/GUID-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4.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-23E414B0-581B-5B6C-A449-8DA7AD8E1FA4"><title>Window Server Plugins Component Overview</title><shortdesc>The Window Server Plugins component provides render stage plug-ins for use in ScreenPlay. These reproduce the rendering behavior in Symbian OS v9.4. Device creators can use the supplied render stage plug-ins or use them as a reference when developing their own. </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>: Device creators. </p> <p>The Window Server Plugins component supplies two render stages, known as the Flicker Buffer and Display render stages. The following diagram shows their standard configuration. </p> <fig id="GUID-1B844F0F-E83C-5DD3-BCF0-2203C749A49F"><title>
          Standard render stage configuration 
        </title> <image href="GUID-6AAD3BB0-E536-57A2-AEFD-2E22BA2811B4_d0e226842_href.png" placement="inline"/></fig> <p>The render stage API has <codeph>Begin()</codeph> and <codeph>End()</codeph> functions, which bracket batches of draw operations. </p> <p>The Display render stage simply renders the draw operations it receives straight into the UI surface. </p> <p>The Flicker Buffer renders the draw operations it receives into an offscreen surface. When it receives the <codeph>End()</codeph> call, it calls the Display render stage, but passes in only a single draw operation—a blit of the offscreen surface into the UI surface. As its name suggests, the purpose of the Flicker Buffer render stage is to reduce flicker. Without the Flicker Buffer render stage, each draw operation from the redraw store playback would be rendered straight into the UI surface. </p> <p>For example, suppose that the redraw store playback consists of two draw operations—a blit of a skin bitmap and some text drawing over the top of it. Without the Flicker Buffer, the end user would first see the skin bitmap appear and would then see the text drawn over the top. With the Flicker Buffer render stage, the skin and the text appear at once. </p> <p>These render stages also implement the features required for <xref href="GUID-0EBE5733-A267-5F4A-85AD-87C3ECF80731.dita">dynamic resolution switching</xref>. For example, they allow virtual resolutions that are half the real resolutions, if configured to do so in the <xref href="GUID-1D529BDC-6665-58E2-AB3F-7023D8A84F69.dita">wsini.ini file</xref>. </p> </conbody><related-links><link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> <link href="GUID-22093E74-EFE7-5642-93DE-1573E18F7C08.dita"><linktext>Window Server Rendering
                Loop</linktext> </link> <link href="GUID-57A777A3-5D67-5CBB-B224-B7AD422A451B.dita"><linktext>Windowing Collection</linktext> </link> </related-links></concept>