Symbian3/PDK/Source/GUID-139F9E66-830D-5B94-8674-2F90152EBC4A.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 16:16:55 +0100
changeset 6 43e37759235e
parent 5 f345bda72bc4
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of example code"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     6
<!-- Initial Contributors:
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     7
    Nokia Corporation - initial contribution.
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     8
Contributors: 
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
     9
-->
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    10
<!DOCTYPE concept
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
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]
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
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
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
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
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
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
f345bda72bc4 Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents: 3
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>