Symbian3/PDK/Source/GUID-139F9E66-830D-5B94-8674-2F90152EBC4A.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
parent 14 578be2adaf3e
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
14
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     6
<!-- Initial Contributors:
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     7
    Nokia Corporation - initial contribution.
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     8
Contributors: 
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
     9
-->
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    10
<!DOCTYPE concept
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    12
<concept xml:lang="en" id="GUID-139F9E66-830D-5B94-8674-2F90152EBC4A"><title>Fader Plug-ins</title><shortdesc>This topic provides information about fader 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>In ScreenPlay, fading effects can be created using render stages. See <xref href="GUID-3A2785D4-6185-50C3-8D7E-5D94CD2B7C98.dita">ScreenPlay Render Stages</xref> for more information. </p> <section><title>Purpose</title> <p>This document is intended to demonstrate how to implement a <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref> interface for use by plug-ins. </p> </section> <section><title>Setup and configuration requirements</title> <p>All specified plug-ins are loaded by WSERV, or the default plug-ins are loaded if none are specified. </p> <p>The plug-ins to be loaded are specified in the <codeph>WSINI.INI</codeph> file using a line such as the following: </p> <codeblock id="GUID-69322FFC-3E97-50E1-885D-2D6B8A09C5B2" xml:space="preserve">PLUGINS FLICKERBUFFER STD DEFAULTFADER</codeblock> <p>Each plug-in can then have its own section in the <codeph>WSINI.INI</codeph> file in which <codeph>ID</codeph>, <codeph>TYPE</codeph>, and <codeph>DATA</codeph> parameters can be specified. These are as follows: </p> <ul><li id="GUID-12B7DA98-2FF8-58B9-930F-F5859C8C898A"><p> <codeph>ID</codeph> is a UID, used to search for <codeph>&lt;uid&gt;.dll</codeph>. </p> </li> <li id="GUID-786C90A8-58F6-551E-B374-F20EBEB91668"><p> <codeph>TYPE</codeph> is a type, used for every dll of that type. This can be used if no UID is specified. </p> </li> <li id="GUID-BC55A192-48FE-5503-99AE-EAADA3F3661F"><p> <codeph>DATA</codeph> can be used to pass arbitrary data to a plug-in. </p> </li> </ul> <p>A typical section might look like this: </p> <codeblock id="GUID-9083C9CD-9FEF-5655-B8ED-8B4EBDDDDB21" xml:space="preserve">[FLICKERBUFFER]
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    13
ID 0x10285A2C</codeblock> </section> <example><title>Using fader plug-ins </title> <p>The high level steps for loading and using fader plug-ins are: </p> <ol id="GUID-F5BE8251-AE31-5970-96F7-ABCE8076D972"><li id="GUID-AAF52A9D-6591-5D4F-B671-C92FF4FE966C"><p>Screen gets pointer to fader object at construction time </p> </li> <li id="GUID-D93C347C-0F57-542B-85D0-C1B8A2612168"><p>Fader is called to perform custom fading of screen region </p> </li> </ol> </example> <section><title>1. Screen gets pointer to fader object at construction
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    14
          time</title> <p><b>Setup in WSINI.INI file </b> </p> <p>In the <codeph>WSINI.INI</codeph> file, the name of the fader to be used is specified on a per screen basis using lines such as the following: </p> <p> <codeph>[SCREEN 0] </codeph>  </p> <p> <codeph>FADER DEFAULTFADER </codeph>  </p> <p>If no fader is specified, the default fader will be used. </p> <p><b>Process </b> </p> <p>The following code will need to be used: </p> <p> <codeph>CScreen::ConstructL() </codeph> is called. </p> <p> <codeph>WsIniFile()-&gt;FindVar(“FADER”)</codeph> will return the name of fader to be used </p> <p> <codeph>CWsPluginManager::FindNamedImplementation&lt;MwsFader&gt;()</codeph> is called. This is a templated function, where the template determines what is returned. </p> <p> <b>For </b> each plug-in in the list of plug-ins: </p> <ul><li id="GUID-74D0200F-274E-5534-BA74-62910F2CBF7D"><p>Call <codeph>CWsPlugin::ObjectInterface(“MWsFader”)</codeph>, requesting the plug-in to supply the <xref href="GUID-1CF41CFD-27C8-39D7-A615-18CE765436DE.dita"><apiname>MWsFader</apiname></xref> interface </p> </li> <li id="GUID-E2E19FB3-1D34-5AD5-97B2-53CE521720C6"><p>This results in a call to <codeph>ResolveObjectInterface(“MWsFader”)</codeph> on the plug-in. If the plug-in is a fader plug-in, then it is required to “<codeph>return this</codeph> ”, otherwise “<codeph>return NULL</codeph> ” </p> </li> <li id="GUID-7A682F54-67A5-5A88-A75E-FFF3400AD3DE"><p>If the plug-in returns an <codeph>MWsFader*</codeph>, and it has the correct plug-in name, return the <codeph>MWsFader*</codeph>  </p> </li> </ul> <p> <b>Endfor</b>. </p> </section> <section><title>2. Fader is called to perform custom fading of screen
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    15
          region</title> <p><b>Process </b> </p> <p> <codeph>CWsWindowRedraw::PostDrawWindow()</codeph> is called </p> <p> <b>If</b> fading enabled: Get the pointer to the fader instance via <xref href="GUID-7AFB8EF5-85D7-3409-9ED2-F269A989267F.dita"><apiname>CPlaybackGc</apiname></xref>  </p> <ul><li id="GUID-39F6700D-A8BD-5760-B110-61F6DFA963BD"><p>Call <codeph>CFader::SetFadingParameters()</codeph>. </p> </li> <li id="GUID-F94DE02C-E863-5CCD-8A71-E42B598F1D3D"><p>Call <codeph>CFader::FadeArea()</codeph>  </p> </li> <li id="GUID-C4A4B8CF-466E-5508-9F76-CC6070B93A69"><p>The fader plug-in fades the requested area. </p> </li> </ul> <p> <b>Endif</b>. </p> </section> </conbody><related-links><link href="GUID-39CFE2E2-9776-54EE-8E3B-8B85AFF1697A.dita"><linktext>Window Server Plug-in Framework in the
578be2adaf3e Week 32 contribution of PDK documentation content. See release notes for details. Fixes bug Bug 3582
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 5
diff changeset
    16
                Non-ScreenPlay Variant </linktext> </link> <link href="GUID-053BADC7-858B-5D83-8FEE-BFB6C29AFB73.dita"><linktext>Render Stage 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
    17
                Interfaces</linktext> </link> </related-links></concept>