Symbian3/PDK/Source/GUID-053BADC7-858B-5D83-8FEE-BFB6C29AFB73.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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     6
<!-- Initial Contributors:
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     7
    Nokia Corporation - initial contribution.
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     8
Contributors: 
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
     9
-->
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    10
<!DOCTYPE concept
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    12
<concept xml:lang="en" id="GUID-053BADC7-858B-5D83-8FEE-BFB6C29AFB73"><title>Render Stages Plug-Ins</title><shortdesc>This topic provides information about render stage plug-ins in the non-ScreenPlay variant. </shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody><p> <b>Variant</b>: <xref href="GUID-F64E6551-670E-5E12-8103-DE504D3EC94F.dita">Non-ScreenPlay</xref>. <b>Target audience</b>: Device creators. </p> <p> <note>In the non-ScreenPlay variant, the render stage interfaces are
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    13
        at a prototype stage of development. </note>  </p> <p>For information about render stages in ScreenPlay, see <xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">ScreenPlay Render Stages</xref>. </p> <section><title>Introduction</title> <p>The primary use case for render stages is transition effects. During transition effects, we want to capture draw operations for transition participants into an offscreen target. Then over a series of frames, we want to perform some transformation of the draw operations, and reintroduce them into the scene. For example, for a disappearing menu, we want to capture the draw operations for the menu, and then perhaps play them back but with different offsets, so that the menu appears to slide off the screen. </p> <p>Render stages make it possible to redirect the drawing, so that we can capture the draw operations. They also make it possible to introduce new draw operations into the stream, so that we can play back the transition effect. </p> <p>The default render stage does neither of these things, simply rendering the draw ops to the default screen target as expected. </p> </section> <section><title>Using render stages </title> <p>The high level steps to creating and using render stages are shown here: </p> <ol id="GUID-B7908ADF-6C53-55C1-977A-3EC221C73F75"><li id="GUID-A3F4F82D-4ABF-537F-82A4-FBA0671D05C4"><p>Screen creates render stage chain at construction time </p> </li> <li id="GUID-3BFDAA17-6392-530A-9FB1-8D0BDF6C1B3C"><p>Render stage performs custom rendering </p> </li> </ol> </section> <section><title>1. Screen creates render stage chain at construction
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    14
          time</title> <p><b>Setup in WSINI.INI file </b> </p> <p>The render stages to be used are specified on a per screen basis. </p> <p>For example: </p> <p> <codeph>[SCREEN 1] </codeph>  </p> <p> <codeph>RENDERSTAGES FLICKERFREE STD</codeph>  </p> <p>If no render stages are specified, the default render stages will be used. </p> <p><b>Process </b> </p> <p>The following code is required: </p> <p> <codeph>CScreenRedraw::ConstructL()</codeph> - this constructs a <xref href="GUID-D5E0D138-2206-3DE6-9681-2E7C06E9C0FA.dita"><apiname>CScreenRedraw</apiname></xref> object </p> <p> <codeph>WsIniFile-&gt;FindVar(iScreenNumber, “RENDERSTAGES”) </codeph> - this returns the list of render stages to be used on this screen </p> <p> <b>For</b> each specified render stage, call <codeph>CWsPluginManager::FindNamedImplementation&lt;MWsRenderStageFactory&gt;()</codeph> </p> <p> <b>For</b> each plug-in in the list: </p> <ul><li id="GUID-F2466555-6BBA-53CC-B825-BBDED289E600"><p>Call <codeph>ResolveObjectInterface(“MWsRenderStageFactory”)</codeph> on the <xref href="GUID-28DEFD88-3AB5-3F94-9A26-27B240294950.dita"><apiname>CWsPlugin</apiname></xref> instance. If the plug-in is a render stage factory, it is required to “<codeph>return this</codeph> ”, otherwise “<codeph>return NULL</codeph> ”. </p> </li> <li id="GUID-B802F1C8-D2B1-513D-802C-75F1F093E183"><p>If an <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref> pointer is returned, and the plug-in has the correct name, return the <xref href="GUID-DE3DA8CA-437D-33B8-A747-941810A48897.dita"><apiname>MWsRenderStageFactory</apiname></xref>. </p> </li> </ul> <p> <b>Endfor</b> (plug-ins) </p> <p>Call <codeph>MWsRenderStageFactory::CreateStageL() </codeph> - this calls into the plug-in’s render stage factory. The implementor of the SPI is required to return a <xref href="GUID-B89CEF40-0139-3E6F-803D-F74E2BCB029A.dita"><apiname>CWsRenderStage</apiname></xref> * which is pointing to an instance of a custom subclass. </p> <p>Connect the output of one stage to the input of the next </p> <p> <b>Endfor</b> (specified render stages) </p> </section> <section><title>2. Render stage performs custom rendering</title> <p><b>Process </b> </p> <p>The following code is required: </p> <p> <codeph>CScreenRedraw::OnAnimation()</codeph> - WSERV redraw scheduler causes rendering to occur </p> <p>Call <codeph>CWsRenderStage::Begin() </codeph> on the first render stage. This returns the <codeph>CFbsBitGc*</codeph> to be used for drawing </p> <p>Issue draw operations to the <codeph>CFbsBitGc*</codeph>  </p> <p>The render stage processes the draw operations </p> <p>Call <codeph>CWsRenderStage::End()</codeph> on the first render stage </p> <p> <note>Note that WSERV only talks to the first render stage. This may
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    15
          in turn talk to the second render stage and so on, but WSERV won’t know
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    16
          anything about this.</note>  </p> </section> </conbody><related-links><link href="GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A.dita"><linktext>Window Server Plug-in Framework in the
46218c8b8afa 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.
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 1
diff changeset
    17
                Non-ScreenPlay Variant </linktext> </link> <link href="GUID-139F9E66-830D-5B94-8674-2F90152EBC4A.dita"><linktext> Fader Plug-ins</linktext> </link> <link href="GUID-434F690E-738A-51DF-80CC-8A6CC067DA6C.dita"><linktext>Miscellaneous Plug-in
1
25a17d01db0c Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    18
                Interfaces</linktext> </link> <link href="GUID-E7F6DD98-9080-50E9-B071-56247EBBF570.dita"><linktext>Window Server Plugins Component</linktext> </link> <link href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita"><linktext>Render Stages</linktext> </link> </related-links></concept>