xartigas pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=56d541fbdb1cdc980dcdee644be24d52255af3fb

commit 56d541fbdb1cdc980dcdee644be24d52255af3fb
Author: Marcel Hollerbach <[email protected]>
Date:   Mon Nov 4 13:44:29 2019 +0100

    efl_canvas_animation: improve generally
    
    Summary:
    to be taken over by doccop
    Depends on D10559
    
    Reviewers: Jaehyun_Cho, bu5hm4n
    
    Reviewed By: bu5hm4n
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D10560
---
 src/lib/evas/canvas/efl_canvas_animation.eo | 65 ++++++++++++++++++++---------
 1 file changed, 45 insertions(+), 20 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_animation.eo 
b/src/lib/evas/canvas/efl_canvas_animation.eo
index a64047820f..987220bf4d 100644
--- a/src/lib/evas/canvas/efl_canvas_animation.eo
+++ b/src/lib/evas/canvas/efl_canvas_animation.eo
@@ -2,75 +2,100 @@ import efl_canvas_animation_types;
 
 class @beta Efl.Canvas.Animation extends Efl.Object implements Efl.Playable
 {
-   [[Efl animation class]]
+   [[Base class to be used by classes implementing specific canvas animations.
+
+     A canvas animation modifies the properties of a @Efl.Canvas.Object like
+     @Efl.Gfx.Entity.position, @Efl.Gfx.Entity.scale or 
@Efl.Gfx.Mapping.rotate, for example.
+     The value of the changed properties moves smoothly as the provided 
progress value
+     evolves from $[0] to $[1].
+
+     For example implementations see @Efl.Canvas.Animation_Translate or 
@Efl.Canvas.Animation_Scale.
+   ]]
    c_prefix: efl_animation;
    methods {
       @property final_state_keep {
-         [[Keep final state property]]
+         [[If $true the last mapping state the animation applies will be kept.
+           Otherwise all the @Efl.Gfx.Mapping properties will be reset when 
the animation ends.]]
          set {
          }
          get {
          }
          values {
-            keep: bool; [[$true to keep final state, $false otherwise.]]
+            keep: bool; [[$true to keep the final state.]]
          }
       }
       @property duration {
-         [[Duration property]]
+         [[The duration of a single animation "run".
+           The @Efl.Playable.length implementation will return this duration 
adjusted by @.repeat_mode and
+           @.repeat_count.
+         ]]
          set {
          }
          get {
          }
          values {
-            sec: double; [[Duration value.]]
+            sec: double; [[Duration in seconds.]]
          }
       }
       @property repeat_mode {
-         [[Repeat mode property]]
+         [[What to do when the animation finishes.
+         ]]
          set {
          }
          get {
          }
          values {
-            mode: Efl.Canvas.Animation_Repeat_Mode; [[Repeat mode.]]
+            mode: 
Efl.Canvas.Animation_Repeat_Mode(Efl.Canvas.Animation_Repeat_Mode.restart); 
[[Repeat mode.]]
          }
       }
       @property repeat_count {
-         [[Repeat count property]]
-         set {
-         }
-         get {
-         }
+         [[How many times to repeat an animation once it finishes.
+           $[0] means that the animation only plays once (it is not repeated) 
and is the default value.
+           $[-1] means that the animation is repeated forever.
+         ]]
          values {
-            count: int; [[Repeat count. -1 repeats animation infinitely.]]
+            count: int(0); [[Repeat count.]]
          }
       }
       @property start_delay {
-         [[Start delay property]]
+         [[The time that passes since the animation is started and the first 
real change to the object is applied.
+         ]]
          set {
          }
          get {
          }
          values {
-            sec: double; [[Delay time, in seconds, from when the animation 
starts until the animation is animated.]]
+            sec: double; [[Delay time in seconds.]]
          }
       }
       @property interpolator {
-         [[Interpolator property]]
+         [[Optional mapping function.
+
+           Animations are based on a timer that moves linearly from 0 to 1. 
This $interpolator
+           method is applied before the timer is passed to the animation, to 
achieve effects
+           like acceleration or deceleration, for example.
+         ]]
          set {
          }
          get {
          }
          values {
-            interpolator: Efl.Interpolator; [[Interpolator which indicates 
interpolation function.]]
+            interpolator: Efl.Interpolator; [[Mapping function. By default it 
is $NULL (linear mapping).]]
          }
       }
       animation_apply {
+         [[Overwrite this method to implement your own animation subclasses.
+         
+           This is used for example by @Efl.Canvas.Animation_Translate or 
@Efl.Canvas.Animation_Scale.
+
+           Subclasses should call their parent's @.animation_apply to get the 
adjusted $progress value
+           and then perform the animation by modifying the $target's 
properties.
+         ]]
          params {
-            @in progress: double;
-            @in target: Efl.Canvas.Object;
+            @in progress: double; [[Animation progress from $[0] to $[1].]]
+            @in target: Efl.Canvas.Object; [[Object to animate.]]
          }
-         return: double; [[Final applied progress.]]
+         return: double; [[Final applied progress, after possible adjustments. 
See @.interpolator.]]
       }
    }
    implements {

-- 


Reply via email to