Edje: Documenting the Edje animations functions.
authorgastal <gastal>
Fri, 5 Aug 2011 13:52:14 +0000 (13:52 +0000)
committergastal <gastal@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 5 Aug 2011 13:52:14 +0000 (13:52 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@62136 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

doc/examples.dox
doc/img/edje-animations.eps [new file with mode: 0644]
doc/img/edje-animations.png [new file with mode: 0644]
doc/img/edje-animations2.eps [new file with mode: 0644]
doc/img/edje-animations2.png [new file with mode: 0644]
src/examples/Makefile.am
src/examples/animations.edc [new file with mode: 0644]
src/examples/edje-animations.c [new file with mode: 0644]
src/lib/Edje.h

index 9b1950a..33d4957 100644 (file)
@@ -12,6 +12,7 @@
  * @li @ref tutorial_edje_box
  * @li @ref tutorial_edje_box2
  * @li @ref tutorial_edje_drag
+ * @li @ref tutorial_edje_animations
  */
 
 /**
  * @include color-class.edc
  * @example color-class.edc
  */
+
+/**
+ * @page tutorial_edje_animations Edje Animations example
+ *
+ * In this example we will figure out how to manipulate the animations on
+ * an Edje object. After reading this document you will be able to manipulate
+ * the frametime, freeze, pause and stop, all animations on an Edje object.
+ *
+ * To play with this example you will use the keyboard. Below are listed the
+ * keys and what each does.
+ *
+ * - '+' Increase the frametime;
+ * - '-' Decrease the frametime;
+ * - '=' Prints the actual frametime and says if the animations is playing;
+ * - 'f' Freezes the animations in the Edje object;
+ * - 'F' Freezes the animations in all objects in the running program;
+ * - 't' Thaws the animations in the Edje object;
+ * - 'T' Thaws the animations in all objects in the running program;
+ * - 's' Pauses the animations;
+ * - 'p' Plays the animations previously stopped;
+ * - 'a' Starts the animation in the Edje object;
+ * - 'A' Stops the animations in the Edje object;
+ *
+ * Now that we've explained how to use our example, we will see how it is made.
+ * Let's start by looking at the piece of code responsible to the actions commented
+ * above.
+ * @dontinclude edje-animations.c
+ * @skip _on_key_down_cb
+ * @until Stopping
+ * @until }
+ * @until }
+ * @note The actions for the keys 'f' and 'F' will have the same effect in
+ *       our example, just because there is only one object in the running
+ *       program, The same happens with the keys 't' and 'T'.
+ *
+ * As you may have seen these set of functions are pretty easy to handle. The other
+ * important part of this example is the EDC file. The animations used in the
+ * code were created there
+ * @dontinclude animations.edc
+ * @skip program
+ * @until after: "animation,state1"
+ * @until }
+ * @skip program
+ * @until }
+ * @skip program
+ * @until }
+ * @until }
+ *
+ * The example's window should look like this picture:
+ *
+ * @image html edje-animations.png
+ * @image rtf edje-animations.png
+ * @image latex edje-animations.eps
+ * @image html edje-animations2.png
+ * @image rtf edje-animations2.png
+ * @image latex edje-animations2.eps
+ *
+ * The full example follows.
+ *
+ * @include edje-animations.c
+ * @include animations.edc
+ */
diff --git a/doc/img/edje-animations.eps b/doc/img/edje-animations.eps
new file mode 100644 (file)
index 0000000..0bb7b4a
--- /dev/null
@@ -0,0 +1,952 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-animations.eps
+%%CreationDate: Thu Aug  4 20:04:30 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 418 319
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 304 translate
+403 -304 scale
+% Image geometry
+403 304 8
+% Transformation matrix
+[ 403 0 0 304 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 403 string def
+/gstr 403 string def
+/bstr 403 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        19425 ASCII Bytes
+colorimage
+QmN1@2apVREIWq5Tqe:[!!<YS,`pd]&knCFL&bq1I]reP':o1(9TY0eqZ&icT>6Ng!/bLk!'?^>
++ohV#C&e6pQ^/*]O-c.B!0<J4%KHKdC&e6!QBt#?>bAfn!0<J4%KJb[QULm>QBt&;!"ipfI]rfU
+OH_s0(Rp;9!!%mkrW!:GM/<H]F`Y.p)OUI'&W1<'#K)Ib9E`ImLNF$KQ^<T*!.Y~>
+QmN1@6W.E;M41HQ_o0@i!!=-f=s\_"JH4s8J,~>
+QmN1@79!c>LR4mF_8O:k!!@*m_%;.tJH4s8J,~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%*6sJH3=_[Jp4,J,~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%,,SJcC<$]Dhj2J,~>
+!%*6sJH16$nGiUi!.Y~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!%-G#JcC<$QN$pbJ,~>
+!%-G#h#Dp*JH3=_!WN.M~>
+!%*6sJH16$nGiUi!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!G2=_s+13$s7-*h!.Y~>
+!G2>@s+(0$!5&:4rr@Q~>
+!G2>es+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!DNQFs+13$s7-*h!.Y~>
+!DNR's+(0$!5&:4rr@Q~>
+!DNRLs+(0$!1*Zdrr@Q~>
+!G2=_s+13$s7-*h!.Y~>
+!G2>@s+(0$!5&:4rr@Q~>
+!G2>es+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@fUs+(0$!5&:4rr@Q~>
+!@@g%s+(0$!1*Zdrr@Q~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@g%s+(0$!5/Bdrr<%L~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!@@ets+13$s7-*h!.Y~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+!%*6sJH16$mf7k~>
+QmN1@&JZ<1,pjui/hAT*!.b.1!.Y~>
+QmN1@'cJ;G/MAh:3&W^H!.b.1!.Y~>
+QmN1@',_rA/1rY72`<OE!.b.1!.Y~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-animations.png b/doc/img/edje-animations.png
new file mode 100644 (file)
index 0000000..f54518f
Binary files /dev/null and b/doc/img/edje-animations.png differ
diff --git a/doc/img/edje-animations2.eps b/doc/img/edje-animations2.eps
new file mode 100644 (file)
index 0000000..02b7111
--- /dev/null
@@ -0,0 +1,944 @@
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: GIMP PostScript file plugin V 1.17 by Peter Kirchgessner
+%%Title: edje-animations2.eps
+%%CreationDate: Thu Aug  4 20:03:58 2011
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%Pages: 1
+%%BoundingBox: 14 14 413 317
+%%EndComments
+%%BeginProlog
+% Use own dictionary to avoid conflicts
+10 dict begin
+%%EndProlog
+%%Page: 1 1
+% Translate for offset
+14.173228346456694 14.173228346456694 translate
+% Translate to begin of first scanline
+0 302 translate
+398 -302 scale
+% Image geometry
+398 302 8
+% Transformation matrix
+[ 398 0 0 302 0 0 ]
+% Strings to hold RGB-samples per scanline
+/rstr 398 string def
+/gstr 398 string def
+/bstr 398 string def
+{currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop}
+{currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop}
+true 3
+%%BeginData:        15701 ASCII Bytes
+colorimage
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH5WKJcC<$p]#a~>
+JH5WKJcG]KJH5QIJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+JH16$JH59AJ,~>
+%%EndData
+showpage
+%%Trailer
+end
+%%EOF
diff --git a/doc/img/edje-animations2.png b/doc/img/edje-animations2.png
new file mode 100644 (file)
index 0000000..c1482b5
Binary files /dev/null and b/doc/img/edje-animations2.png differ
index b7aeba6..1b6399a 100644 (file)
@@ -10,7 +10,8 @@ EDCS = basic.edc \
        box.edc \
        drag.edc \
        signals-messages.edc \
-       color-class.edc
+       color-class.edc \
+       animations.edc
 
 filesdir = $(datadir)/$(PACKAGE)/examples
 files_DATA =
@@ -40,7 +41,8 @@ pkglib_PROGRAMS += \
        edje-box2 \
        edje-drag\
        edje-signals-messages \
-       edje-color-class
+       edje-color-class \
+       edje-animations
 
 LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_LIBS@
 
@@ -68,7 +70,8 @@ files_DATA += \
        $(srcdir)/edje-box2.c \
        $(srcdir)/edje-drag.c \
        $(srcdir)/edje-signals-messages.c \
-       $(srcdir)/edje-color-class.c
+       $(srcdir)/edje-color-class.c \
+       $(srcdir)/edje-animations.c
 endif
 
 EXTRA_DIST = $(EDCS) \
@@ -81,4 +84,5 @@ EXTRA_DIST = $(EDCS) \
        $(srcdir)/edje-box2.c \
        $(srcdir)/edje-drag.c \
        $(srcdir)/edje-signals-messages.c \
-       $(srcdir)/edje-color-class.c
+       $(srcdir)/edje-color-class.c \
+       $(srcdir)/edje-animations.c
diff --git a/src/examples/animations.edc b/src/examples/animations.edc
new file mode 100644 (file)
index 0000000..f25296f
--- /dev/null
@@ -0,0 +1,93 @@
+collections {
+   group {
+      name: "animations_group";
+      min: 100 80;
+
+      parts {
+         part {
+            name: "part_one";
+            type: RECT;
+            scale: 1;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 0 0 0 255; /* black */
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 0.33 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 0.33;
+            }
+         }
+
+         part {
+            name: "part_two";
+            type: RECT;
+            scale: 1;
+            description {
+               min: 50 50;
+               state: "default" 0.0;
+               color: 255 255 0 255; /* yellow */
+               rel1.relative: 0.33 0.0;
+               rel2.relative: 0.66 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.66;
+               rel2.relative: 1.0 1.0;
+            }
+         }
+
+         part {
+            name: "part_three";
+            type: RECT;
+            description {
+               state: "default" 0.0;
+               color: 255 0 0 255; /* red */
+               rel1.relative: 0.66 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+            description {
+               state: "invert" 1.0;
+               inherit: "default" 0.0;
+               rel1.relative: 0.0 0.33;
+               rel2.relative: 1.0 0.66;
+            }
+         }
+      }
+
+      program {
+         signal: "load";
+         source: "";
+         in: 2.0 0.0;
+         after: "animation,state1";
+      }
+      program {
+         name: "animation,state1";
+         signal: "animation,start";
+         source: "";
+         in: 1.0 0.0;
+         action: STATE_SET "invert" 1.0;
+         target: "part_one";
+         target: "part_two";
+         target: "part_three";
+         transition: LINEAR 0.6;
+         after: "animation,state2";
+      }
+      program {
+         name: "animation,state2";
+         signal: "animation,start";
+         source: "";
+         in: 1.0 0.0;
+         action: STATE_SET "default" 0.0;
+         target: "part_one";
+         target: "part_two";
+         target: "part_three";
+         transition: LINEAR 0.6;
+         after: "animation,state1";
+   }
+}
diff --git a/src/examples/edje-animations.c b/src/examples/edje-animations.c
new file mode 100644 (file)
index 0000000..9363471
--- /dev/null
@@ -0,0 +1,156 @@
+/**
+ * Simple Edje example illustrating animations functions.
+ *
+ * You'll need at least one Evas engine built for it (excluding the
+ * buffer one). See stdout/stderr for output.
+ *
+ * @verbatim
+ * edje_cc animations.edc && gcc -o edje-animations edje-animations.c `pkg-config --libs --cflags evas ecore ecore-evas edje`
+ * @endverbatim
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#else
+#define PACKAGE_EXAMPLES_DIR "."
+#define __UNUSED__
+#endif
+
+#include <Ecore.h>
+#include <Ecore_Evas.h>
+#include <Edje.h>
+
+#define WIDTH  (400)
+#define HEIGHT (300)
+
+static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/animations.edj";
+static Ecore_Evas *ee;
+static Evas_Object *bg, *edje_obj;
+static double frametime = 1.0/30.0; /* default value */
+
+static void
+_on_delete_cb(Ecore_Evas *ee)
+{
+    ecore_main_loop_quit();
+}
+
+static void
+_canvas_resize_cb(Ecore_Evas *ee)
+{
+    int w, h;
+
+    ecore_evas_geometry_get(ee, NULL, NULL, &w, &h);
+    evas_object_resize(bg, w, h);
+    evas_object_resize(edje_obj, w, h);
+}
+
+static void
+_on_key_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+   Evas_Event_Key_Down *ev = event_info;
+   double ft;
+
+   if (!strcmp(ev->key, "plus"))
+     {
+        frametime *= 2.0;
+        fprintf(stdout, "Increasing frametime to: %f\n", frametime);
+        edje_frametime_set(frametime);
+     }
+   else if (!strcmp(ev->key, "minus"))
+     {
+        frametime /= 2.0;
+        fprintf(stdout, "Decreasing frametime to: %f\n", frametime);
+        edje_frametime_set(frametime);
+     }
+   else if (!strcmp(ev->key, "equal"))
+     {
+        ft = edje_frametime_get();
+        fprintf(stdout, "Frametime: %f\n", ft);
+        if (edje_object_play_get(obj))
+          fprintf(stdout, "Object is playing\n");
+        else
+          fprintf(stdout, "Object was paused\n");
+        if (edje_object_animation_get(obj))
+          fprintf(stdout, "Animation is running\n");
+        else
+          fprintf(stdout, "Animation was stopped\n");
+     }
+   else if (!strcmp(ev->key, "s"))
+     {
+        edje_object_play_set(obj, EINA_FALSE);
+        fprintf(stdout, "Pausing the object\n");
+     }
+   else if (!strcmp(ev->key, "p"))
+     {
+        edje_object_play_set(obj, EINA_TRUE);
+        fprintf(stdout, "Playing the object\n");
+     }
+   else if (!strcmp(ev->key, "f"))
+       fprintf(stdout, "Freezing object. Count: %d\n", edje_object_freeze(obj));
+   else if (!strcmp(ev->key, "t"))
+       fprintf(stdout, "Thawing object. Count: %d\n", edje_object_thaw(obj));
+   else if (!strcmp(ev->key, "F"))
+     {
+        edje_freeze();
+        fprintf(stdout, "Freezing all objects\n");
+     }
+   else if (!strcmp(ev->key, "T"))
+     {
+        edje_thaw();
+        fprintf(stdout, "Thawing all objects\n");
+     }
+   else if (!strcmp(ev->key, "a"))
+     {
+        edje_object_animation_set(obj, EINA_TRUE);
+        fprintf(stdout, "Starting the animation in the Edje object\n");
+     }
+   else if (!strcmp(ev->key, "A"))
+     {
+        edje_object_animation_set(obj, EINA_FALSE);
+        fprintf(stdout, "Stopping the animation in the Edje object\n");
+     }
+}
+
+int
+main(int argc, char *argv[])
+{
+   Evas *evas;
+
+   ecore_evas_init();
+   edje_init();
+
+   /* this will give you a window with an Evas canvas under the first
+    * engine available */
+   ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL);
+
+   ecore_evas_callback_delete_request_set(ee, _on_delete_cb);
+   ecore_evas_callback_resize_set(ee, _canvas_resize_cb);
+   ecore_evas_title_set(ee, "Edje Animations Example");
+   ecore_evas_show(ee);
+
+   evas = ecore_evas_get(ee);
+
+   bg = evas_object_rectangle_add(evas);
+   evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
+   evas_object_move(bg, 0, 0); /* at canvas' origin */
+   evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
+   evas_object_show(bg);
+
+   edje_obj = edje_object_add(evas);
+
+   edje_object_file_set(edje_obj, edje_file_path, "animations_group");
+   evas_object_move(edje_obj, 0, 0);
+   evas_object_resize(edje_obj, WIDTH, HEIGHT);
+   evas_object_show(edje_obj);
+
+   evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_KEY_DOWN,
+                                  _on_key_down_cb, NULL);
+   evas_object_focus_set(edje_obj, EINA_TRUE);
+
+   ecore_main_loop_begin();
+
+   ecore_evas_free(ee);
+   ecore_evas_shutdown();
+   edje_shutdown();
+   return 0;
+}
index 7073dd4..8336eac 100644 (file)
@@ -435,6 +435,7 @@ part of Edje's API:
 - @ref tutorial_edje_box
 - @ref tutorial_edje_box2
 - @ref tutorial_edje_color_class
+- @ref tutorial_edje_animations
 - @ref Example_Edje_Signals_Messages
 
 
@@ -1164,7 +1165,7 @@ EAPI void         edje_frametime_set              (double t);
  * @return The frame time, in seconds.
  *
  * This function returns the edje frame time set by
- * edje_frametime_set().
+ * edje_frametime_set() or the default value 1/30.
  *
  * @see edje_frametime_set()
  *
@@ -1174,19 +1175,23 @@ EAPI double       edje_frametime_get              (void);
 /**
  * @brief Freeze Edje objects.
  *
- * This function freezes every edje objects in the current process.
+ * This function freezes all Edje animations in the current process.
  *
- * See edje_object_freeze().
+ * @note: for freeze a specific object @see edje_object_freeze().
+ *
+ * @see edje_thaw()
  *
  */
 EAPI void         edje_freeze                     (void);
 
 /**
- * @brief Thaw edje objects.
+ * @brief Thaw Edje objects.
+ *
+ * This function thaws all Edje animations in the current process.
  *
- * This function thaw all edje object in the current process.
+ * @note for thaw a specific object @see edje_object_thaw().
  *
- * See edje_object_thaw().
+ * @see edje_freeze()
  *
  */
 EAPI void         edje_thaw                       (void);
@@ -1317,21 +1322,21 @@ EAPI Eina_Bool    edje_object_scale_set           (Evas_Object *obj, double scal
 EAPI double       edje_object_scale_get           (const Evas_Object *obj);
 
 /**
- * Set the RTL orientation for this object.
+ * @brief Set the RTL orientation for this object.
  *
- * @param obj the smart object
+ * @param obj A handle to an Edje object.
  * @rtl new value of flag EINA_TRUE/EINA_FALSE
  * @since 1.1.0
  */
 EAPI void         edje_object_mirrored_set        (Evas_Object *obj, Eina_Bool rtl);
 
 /**
- * Get the RTL orientation for this object.
+ * @brief Get the RTL orientation for this object.
  *
  * You can RTL orientation explicitly with edje_object_mirrored_set.
  *
- * @param obj the smart object
- * @return if flag is set or not.
+ * @param obj A handle to an Edje object.
+ * @return @c EINA_TRUE if the flag is set or @c EINA_FALSE if not.
  * @since 1.1.0
  */
 EAPI Eina_Bool    edje_object_mirrored_get        (const Evas_Object *obj);
@@ -1841,6 +1846,23 @@ EAPI Edje_Load_Error  edje_object_load_error_get  (const Evas_Object *obj);
  */
 EAPI const char      *edje_load_error_str         (Edje_Load_Error error);
 
+/**
+ * @brief Preload the images on the Edje Object in the background.
+ *
+ * @param obj A handle to an Edje object
+ * @param cancel @c EINA_FALSE will add it the preloading work queue,
+ *               @c EINA_TRUE will remove it (if it was issued before).
+ * @return @c EINA_FASLE if obj was not a valid Edje object
+ *         otherwise @c EINA_TRUE
+ *
+ * This function requests the preload of all data images (on the given
+ * object) in the background. The work is queued before being processed
+ * (because there might be other pending requests of this type).
+ * It emits a signal "preload,done" when finished.
+ *
+ * @note Use @c EINA_TRUE on scenarios where you don't need
+ *       the image data preloaded anymore.
+ */
 EAPI Eina_Bool        edje_object_preload         (Evas_Object *obj, Eina_Bool cancel);
 
 /**
@@ -1982,13 +2004,14 @@ EAPI void        *edje_object_signal_callback_del_full(Evas_Object *obj, const c
 EAPI void         edje_object_signal_emit         (Evas_Object *obj, const char *emission, const char *source);
 
 /**
- * @brief Set the edje object to playing or paused states.
+ * @brief Set the Edje object to playing or paused states.
  *
- * @param obj A valid Evas_Object handle.
- * @param play Object state (1 to playing, 0 to pauseed).
+ * @param obj A handle to an Edje object.
+ * @param play Object state (@c EINA_TRUE to playing,
+ *                           @c EINA_FALSE to paused).
  *
- * This function sets the edje object @a obj to playing or paused
- * states, depending on the parameter @a play.  This has no effect if
+ * This function sets the Edje object @a obj to playing or paused
+ * states, depending on the parameter @a play. This has no effect if
  * the object was already at that state.
  *
  * @see edje_object_play_get().
@@ -1997,14 +2020,14 @@ EAPI void         edje_object_signal_emit         (Evas_Object *obj, const char
 EAPI void         edje_object_play_set            (Evas_Object *obj, Eina_Bool play);
 
 /**
- * @brief Get the edje object's play/pause state.
+ * @brief Get the Edje object's state.
  *
- * @param obj A valid Evas_Object handle.
+ * @param obj A handle to an Edje object.
  * @return @c EINA_FALSE if the object is not connected, its @c delete_me flag
  * is set, or it is at paused state; @c EINA_TRUE if the object is at playing
  * state.
  *
- * This function tells if an edje object is playing or not. This state
+ * This function tells if an Edje object is playing or not. This state
  * is set by edje_object_play_set().
  *
  * @see edje_object_play_set().
@@ -2015,11 +2038,12 @@ EAPI Eina_Bool    edje_object_play_get            (const Evas_Object *obj);
 /**
  * @brief Set the object's animation state.
  *
- * @param obj A valid Evas_Object handle.
- * @param on Animation State.
+ * @param obj A handle to an Edje object.
+ * @param on The animation state. @c EINA_TRUE to starts or
+ *           @c EINA_FALSE to stops.
  *
- * This function starts or stops an edje object's animation. The
- * information if it's runnig can be retrieved by
+ * This function starts or stops an Edje object's animation. The
+ * information if it's stopped can be retrieved by
  * edje_object_animation_get().
  *
  * @see edje_object_animation_get()
@@ -2028,14 +2052,14 @@ EAPI Eina_Bool    edje_object_play_get            (const Evas_Object *obj);
 EAPI void         edje_object_animation_set       (Evas_Object *obj, Eina_Bool on);
 
 /**
- * @brief Get the edje object's animation state.
+ * @brief Get the Edje object's animation state.
  *
- * @param obj A valid Evas_Object handle.
+ * @param obj A handle to an Edje object.
  * @return @c EINA_FALSE on error or if object is not animated;
- * @c EINA_TRUE if animated.
+ *         @c EINA_TRUE if animated.
  *
- * This function returns if the animation is playing or not. The
- * animation state is set by edje_object_play_set().
+ * This function returns if the animation is stopped or not. The
+ * animation state is set by edje_object_animation_set().
  *
  * @see edje_object_animation_set().
  *
@@ -2043,25 +2067,30 @@ EAPI void         edje_object_animation_set       (Evas_Object *obj, Eina_Bool o
 EAPI Eina_Bool    edje_object_animation_get       (const Evas_Object *obj);
 
 /**
- * @brief Freeze object.
+ * @brief Freezes the Edje object.
  *
- * @param obj A valid Evas_Object handle
+ * @param obj A handle to an Edje object.
  * @return The frozen state or 0 on Error
  *
  * This function puts all changes on hold. Successive freezes will
  * nest, requiring an equal number of thaws.
  *
+ * @see edje_object_thaw()
  */
 EAPI int          edje_object_freeze                  (Evas_Object *obj);
 
 /**
- * @brief Thaw object.
+ * @brief Thaws the Edje object.
  *
- * @param obj A valid Evas_Object handle
- * @return The frozen state or 0 on Error
+ * @param obj A handle to an Edje object.
+ * @return The frozen state or 0 if the object is not frozen or on error.
+ *
+ * This function thaws the given Edje object.
  *
- * This allows frozen changes to occur.
+ * @note: If sucessives freezes were done, an equal number of
+ *        thaws will be required.
  *
+ * @see edje_object_freeze()
  */
 EAPI int          edje_object_thaw                    (Evas_Object *obj);
 
@@ -3459,10 +3488,10 @@ EAPI void         edje_object_message_handler_set         (Evas_Object *obj, Edj
 /**
  * @brief Process an object's message queue.
  *
- * @param obj The edje object reference.
+ * @param obj A handle to an Edje object.
  *
  * This function goes through the object message queue processing the
- * pending messages for *this* specific edje object. Normally they'd
+ * pending messages for @b this specific Edje object. Normally they'd
  * be processed only at idle time.
  *
  */