summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/efl_canvas_animation_player.eo
blob: 9a391cb8740a131999d2cd41af2f8b7d8b826b86 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
class @beta Efl.Canvas.Animation_Player extends Efl.Object implements Efl.Player, Efl.Playable
{
   [[Player object for playing canvas animations.

     This player object can be used to play animations on a @.target canvas object.
     The type of animation depends on the @.animation object.
   ]]
   c_prefix: efl_animation_player;
   methods {
      @property animation {
         [[The animation to play.

           This animation object will be used to change the visual state of the @.target object.
         ]]
         values {
            animation: Efl.Canvas.Animation; [[An already-configured animation object.]]
         }
      }
      @property auto_del {
         [[Auto delete property]]
         set {
         }
         get {
         }
         values {
            auto_del: bool; [[$true to delete animation object automatically when animation is finished or animation is
                              cancelled, $false otherwise.]]
         }
      }
      @property target {
         [[The canvas object to apply the effects of the @.animation object on.

           The @.animation object can change several properties of the $target.
           You should ensure that nothing else is trying to change them too.
         ]]
         values {
            target: Efl.Canvas.Object; [[Canvas object to animate.]]
         }
      }
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.destructor;
      Efl.Player.playing { get; set; }
      Efl.Player.paused { get; set; }
      Efl.Playable.playable { get; }
      Efl.Player.playback_position { get; set; }
      Efl.Player.playback_progress { get;}
      Efl.Player.playback_speed { get; set; }
      //Efl.Player.volume { get; set; }
      //Efl.Player.mute { get; set; }
      Efl.Playable.length { get; }
      Efl.Playable.seekable { get; }
   }
   events {
      /* FIXME: This event is similar to Efl.Canvas.Object.anim_started but with different type, might be confusing. */
      started: void; [[Animation is started.]]
      running: Efl.Canvas.Object_Animation_Event; [[Animation is running.]]
      /* FIXME: This event is similar to Efl.Canvas.Object.anim_ended but with different type, might be confusing. */
      ended: void; [[Animation is ended.]]
   }
}