Symbian3/SDK/Source/GUID-829761B6-ECF7-5E15-A475-AEE357687067-GENID-1-8-1-3-1-1-4-1-3-1.dita
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 9 59758314f811
--- a/Symbian3/SDK/Source/GUID-829761B6-ECF7-5E15-A475-AEE357687067-GENID-1-8-1-3-1-1-4-1-3-1.dita	Wed Mar 31 11:11:55 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-<?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 id="GUID-829761B6-ECF7-5E15-A475-AEE357687067-GENID-1-8-1-3-1-1-4-1-3-1" xml:lang="en"><title>Animation
-overview</title><prolog><metadata><keywords/></metadata></prolog><conbody>
-<section id="GUID-1FDB9A85-EA5C-4FA9-902C-A2DD7C23EE28-GENID-1-8-1-3-1-1-4-1-3-1-2-1"><title>Purpose</title> <p>The animation component is a framework
-that provides support to build animated graphics applications. It provides
-the basic data types that allow animations to be incorporated into the normal
-drawing of a window from the client, or to be managed on the server as a sprite. </p> </section>
-<section id="GUID-81E07DE3-E680-410C-A22D-809D72E9CD6D-GENID-1-8-1-3-1-1-4-1-3-1-2-2"><title>Required background</title> <p><xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Windows
-server</xref> component knowledge is recommended before using this component. </p> </section>
-<section id="GUID-DC47F478-274F-4669-AAF4-C6BD04D7D7D1-GENID-1-8-1-3-1-1-4-1-3-1-2-3"><title>Key concepts</title> <p>The component has the following key
-concepts: </p> <dl>
-<dlentry>
-<dt>Animation</dt>
-<dd><p>The animation is a fairly abstract interface owned by a client application.
-The interface is independent of the source of the data it uses, as the data
-providers are responsible for providing data to the animation. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Animator</dt>
-<dd><p>The animator represents each data type supported by the animation framework.
-It can handle data interpretation, timing and control of the animation. An
-animator is not be visible to the owner of the animation, but is controlled
-through it using a standard interface. The animators can either reside on
-the client or on the server. Each animation selects an animator plug-in to
-be used by providing an appropriate string obtained from the data provider. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Data provider</dt>
-<dd><p>A data provider is a generic interface to handle different kinds of
-data, which has different structures and behaviours, for example, GIFs and
-SVG (Scalable Vector Graphics). Animations access the data providers they
-own through an observer interface, which reports events to the animation.
-The interface in turn reports these events to the respective animators. </p> </dd>
-</dlentry>
-<dlentry>
-<dt>Observer</dt>
-<dd><p>An observer acts as an interface and is responsible for reporting events.
-The animation framework provides two such observers: a data provider observer,
-and an animation observer. The data provider observer is an interface between
-the animation and the data provider. Using this observer the animation can
-receive data and events from the data provider. The animation observer is
-an interface between the animation and the client application, and is used
-to report events to the client application. In Symbian OS v9.1, the animation
-observer is implemented to report only errors to the client application. </p> </dd>
-</dlentry>
-</dl> </section>
-<section id="GUID-71398AF6-16D5-4FC5-9342-44304C0A3066-GENID-1-8-1-3-1-1-4-1-3-1-2-4"><title>Architectural relationships</title> <p>The animation component
-provides a set of abstract classes with some basic functionality required
-for any type of animation. Implementors have to derive their own classes using
-these abstract classes to support specific animation types such as bitmap
-animation, sprite animation and so on. </p> <p>The animation framework also
-provides concrete implementations of the abstract classes. The concrete implementations
-of the <codeph>CAnimation</codeph> class are: </p> <ul>
-<li id="GUID-0E148B3E-F6D0-5AC0-B721-FB3BECD432F7-GENID-1-8-1-3-1-1-4-1-3-1-2-4-4-1"><p> <b>CBasicAnimation</b>  </p> <p>This
-is a client-side animation class which can also act as a data provider observer
-and an animation drawer. It provides a bitmap and a mask on which the animation
-is submitted. This class establishes a session with the windows server before
-submitting the animation to a particular window. </p> </li>
-<li id="GUID-4E7B61AF-0FF0-5EBF-A46B-F42D747CF866-GENID-1-8-1-3-1-1-4-1-3-1-2-4-4-2"><p> <b>CSpriteAnimation</b>  </p> <p>This
-is a server-side animation class for sprite based animations. The client has
-limited control over the animation, as sprites are server-side graphic objects
-and are controlled by the server. This class makes use of the windows server
-animation API to submit sprite animations. For more information on these APIs,
-refer to <xref href="GUID-2C443E6F-BC3D-5252-8098-9F850AA88A35.dita">Using Window
-Server (WSERV)</xref>. </p> </li>
-<li id="GUID-3514D632-4090-51BD-AD26-B98CA6B31ADC-GENID-1-8-1-3-1-1-4-1-3-1-2-4-4-3"><p> <b>CAnimationGroup</b>  </p> <p>This
-class is not an animation class by itself, but is a collection of animations
-grouped together. It provides access to an array of animation references and
-handles all synchronisation issues among the animations in the group, provided
-all the animations are of the same type. For example, if a set of client-side
-animations are grouped together, they respond to commands collectively in
-synchronisation with each other. If the group includes both sprite and client-side
-animations, they will respond to commands collectively in asynchronous mode. </p> </li>
-</ul> <p>The framework provides the following concrete implementations for
-the other two abstract classes, <codeph>CAnimationDataProvider</codeph> and <codeph>CAnimator</codeph>: </p> <ul>
-<li id="GUID-C7FB57BB-25C4-5813-9C0A-B71433999EB3-GENID-1-8-1-3-1-1-4-1-3-1-2-4-6-1"><p> <b>CICLAnimationDataProvider</b>  </p> <p>This
-class interprets various data types including animated GIFs using the <xref href="GUID-6B478F86-1EC4-5F78-B7C8-C2E5FCD974B6.dita">Image Conversion Library</xref> (ICL).
-It provides data to the animation class in the form of individual frames using
-the <codeph>CAnimationFrame</codeph> object which contains a bitmap, a mask,
-and frame information. </p> </li>
-<li id="GUID-650EDA72-3CC2-5A08-8E6A-F57755B6EEAE-GENID-1-8-1-3-1-1-4-1-3-1-2-4-6-2"><p> <b>CBitmapAnimator</b>  </p> <p>This
-class can handle fixed sequence of bitmap frames passed by the data provider. </p> </li>
-</ul> </section>
-<section id="GUID-20A5B4F1-586A-4ADC-96C5-E4CF49EC7DA9-GENID-1-8-1-3-1-1-4-1-3-1-2-5"><title>API summary</title> <p> </p> <table id="GUID-CA7854D0-7D1C-5BCD-B9E5-A1FB2198AE15-GENID-1-8-1-3-1-1-4-1-3-1-2-5-3">
-<tgroup cols="2"><colspec colname="col0" colwidth="0.60*"/><colspec colname="col1" colwidth="1.40*"/>
-<thead>
-<row>
-<entry>Class Name</entry>
-<entry>Description</entry>
-</row>
-</thead>
-<tbody>
-<row>
-<entry><p> <xref href="GUID-40CEAB8C-2202-3E88-929F-35DA5BD554A4.dita"><apiname>CAnimation</apiname></xref>  </p> </entry>
-<entry><p>This is an abstract generic class which provides the basic functionality
-for all types of animations. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-AD71F0EC-EB49-3D46-BEEE-B8ECD30BDDEA.dita"><apiname>CAnimator</apiname></xref>  </p> </entry>
-<entry><p>This is an abstract class, which represents each type of data supported
-by the animation framework. This class is implemented as an ECOM plug-in. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-CB96F59F-BEF9-3296-A80A-4E8E8BE354C6.dita"><apiname>CAnimationDataProvider</apiname></xref>  </p> </entry>
-<entry><p>This is an abstract class, which takes the animation data and converts
-it into a format recognized by the animator. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-12B29886-1D43-37ED-8DC0-6F43D3E591E8.dita"><apiname>CBasicAnimation</apiname></xref>  </p> </entry>
-<entry><p>This is a concrete implementation class of the <codeph>CAnimation</codeph> class.
-This class is used for basic client-side animations. </p> </entry>
-</row>
-<row>
-<entry><p> <xref href="GUID-6BB621FF-F799-357C-BEAC-9767D68E7D50.dita"><apiname>CSpriteAnimation</apiname></xref>  </p> </entry>
-<entry><p>This is a concrete implementation class of the <codeph>CAnimation</codeph> class.
-This class is used for sprite animations. </p> </entry>
-</row>
-</tbody>
-</tgroup>
-</table> </section>
-<section id="GUID-65234329-B7A6-4A07-B32C-BB3B7D161F0C-GENID-1-8-1-3-1-1-4-1-3-1-2-6"><title>Typical uses</title> <p><b>Creating a basic animation </b> </p><p>The
-animation framework can be used to create a basic client-side animation using
-the <codeph>CBasicAnimation</codeph> class. You can also have your own implementation
-for other type of animations. For more information, refer to <xref href="GUID-A97AD7EB-43C2-545A-9756-57D65A4905D9-GENID-1-8-1-3-1-1-4-1-4-1.dita">How
-to create a basic animation</xref>. </p> <p><b>Creating a sprite animation </b> </p><p>The
-animation framework supports server-side sprite animations using the <codeph>CSpriteAnimation</codeph> class.
-The procedure to create a sprite animation is the same as that for creating
-a basic client-side animation. The only difference between a client-side animation
-and a sprite animation is that client-side animations are redrawn by the client
-application. Whereas, for sprite animations redraws are handled automatically,
-as they run in the window server's high priority thread. </p> </section>
-</conbody><related-links>
-<link href="GUID-A97AD7EB-43C2-545A-9756-57D65A4905D9-GENID-1-8-1-3-1-1-4-1-4-1.dita"><linktext>How to create
-a basic animation</linktext></link>
-<link href="GUID-0C4B86B5-530A-5839-86C1-46E7ABE281E0.dita"><linktext>Using Window
-Server (WSERV)</linktext></link>
-</related-links></concept>
\ No newline at end of file