Page MenuHomePhabricator

efl: canvasProject
ActivePublic

Members

  • This project does not have any members.

Watchers

  • This project does not have any watchers.

Details

Description

things specific to the canvas (evas) but not widgets or rendering

Recent Activity

Nov 7 2019

bu5hm4n added a comment to T8288: Animation API.

The revision i have linked above now contains pause. You can check the example that got added in this revision and press p for pause (press twice for toggle) or press r for reverse, which will reverse the animation, just as you wished to do that. IMO the code in there look super easy and nice. The speed parameter is essential for the reversing, if i remove it again, the reversing code will be way harder. Would something like the revision be acceptable for you ? If yes, then i would continue removing the player object, as this usage as we have it right now is way easier.

Nov 7 2019, 5:55 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.
  1. If pause like this is a *must* have, then we can introduce it to this mixin and support this case. No problem with that. We just have 0 usages of that right now so I saw no purpose in carrying it over (further more, the pause feature in the player object does not work at all like pausing, it will restart the animation from the begining when you unpause it, which is why I said this is totally equivalent to start stop. The problem you are describing is also happening right now in the player class, pausing is resetting the mapping.).

I think "pause" and "resume" are basic functions for animation. It is hard to find framework that support animation without "pause". So I think that we need to support it.
Even though "pause" is not perfectly supported now, I think it would not be a reason why we do not need to consider "pause".
BTW, for now, it seems that "pause" works with Efl.Canvas.Animation_Player without resetting mapping. (elementary_test -> Efl.Animation.Pause ->Pause Animation/Resume Animation)
If we add "pause" to the new mixin, then I am worried if it would look fine by design aspect that supporting animation control functions to canvas object (by implementing new mixin).

Nov 7 2019, 5:00 AM · efl: canvas
bu5hm4n added a comment to T8288: Animation API.
  1. If pause like this is a *must* have, then we can introduce it to this mixin and support this case. No problem with that. We just have 0 usages of that right now so I saw no purpose in carrying it over (further more, the pause feature in the player object does not work at all like pausing, it will restart the animation from the begining when you unpause it, which is why I said this is totally equivalent to start stop. The problem you are describing is also happening right now in the player class, pausing is resetting the mapping.).
Nov 7 2019, 3:35 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.

I totally understand the reason of your idea. I think it implies the followings.

  1. Set one animation to multiple canvas object.
    • To support this, animation should not support animation controls such as "Start" and "Stop".
  2. Support animation simpler.
    • To support this, Efl.Canvas.Animation_Player is removed because it implements way too much methods. And new mixin is introduced with small number of methods.
Nov 7 2019, 3:02 AM · efl: canvas
bu5hm4n added a comment to T8288: Animation API.

I implemented the RFC from Xavi above here: D10615 (So we have something to talk about).

Nov 7 2019, 2:32 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.

Please could you give your thoughts about this discussion? (i.e. Introducing new mixin with animation_start/animation_stop for Efl.Canvas.Object)

Nov 7 2019, 2:19 AM · efl: canvas
Jaehyun_Cho updated subscribers of T8288: Animation API.
Nov 7 2019, 2:14 AM · efl: canvas

Nov 6 2019

segfaultxavi added a comment to T8288: Animation API.

After a lot of discussing on IRC with @bu5hm4n I have a better knowledge of the requirements for this.

Nov 6 2019, 3:59 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.

I am worried that adding additional methods to the new mixin would make the new mixin complicated like Efl.Canvas.Animation_Player unlike the initial purpose.

Nov 6 2019, 12:50 AM · efl: canvas

Nov 5 2019

bu5hm4n added a comment to T8288: Animation API.

I am a little bit worried to have this mixin implement Efl.Player that would mean that *every* Efl.Canvas.Object has a playing paused and playback_speed method, which might be very confusing. Additionally, this might collide with other implementations in the Video Canvas Object. So i do not think this is an option tbh.

Nov 5 2019, 1:09 PM · efl: canvas

Nov 4 2019

segfaultxavi added a commit to T8288: Animation API: rEFLa1a77f5590a2: efl_canvas_animation_translate: move from x&y to container types.
Nov 4 2019, 4:20 AM · efl: canvas
segfaultxavi added a commit to T8288: Animation API: rEFLf47b9277453e: efl_canvas_animation_rotate: adjust API.
Nov 4 2019, 4:19 AM · efl: canvas
segfaultxavi added a comment to T8288: Animation API.

Can this new mixin Efl.Canvas.Animatable also implement the Efl.Player interface? In this way, the playing, paused, playback_speed etc. properties will all be accessible in the canvas object itself.

Nov 4 2019, 4:09 AM · efl: canvas

Nov 1 2019

Jaehyun_Cho added a comment to T8288: Animation API.

Basically I like the idea (P) animation :)

Nov 1 2019, 3:58 AM · efl: canvas

Oct 30 2019

cedric added a comment to T8288: Animation API.

Future are useful and best when it is an one off trigger than can be used to chain a series of other action. In this case, I think animation,end is a valid case of using a future as you might want to trigger another animation or use it as a timeout to do something else. Event are best for something that is repeated with the same action expected as a consequences of that event every time.

Oct 30 2019, 9:08 AM · efl: canvas
bu5hm4n added a comment to T8288: Animation API.

Efl.Canvas.Animatable Looks good to me, however, it sounds very made up for this. But it would be totally acceptable for me.
Would everyone be okay with that:

(P) animation //the currently played animation. Re-setting a animation will stop the old one. The value here is @owned (but the parent is never touched).
(E) animation,end //after this is called animation will automatically be unset.
Oct 30 2019, 8:36 AM · efl: canvas
segfaultxavi added a comment to T8288: Animation API.

This all sounds very sensible. How would you call the mixin? Something like Efl.Canvas.Playable, Animable or Animatable?
I also prefer the animation property instead of the play_animation method. It's exactly the same, but it allows the user to read back the current value.
Also, why return a future instead of emitting an event? We now have two equivalent mechanisms (futures and events) and we risk creating a lot of confusion if we don't use them in a consistent manner.

Oct 30 2019, 7:09 AM · efl: canvas
zmike added a comment to T8288: Animation API.

I like the idea of the mixin, though I think we probably want to go with something more like animation as a property that can be read and changed to trigger the animations.

Oct 30 2019, 5:51 AM · efl: canvas
bu5hm4n updated subscribers of T8288: Animation API.

RFC Replacement of Efl.Canvas.Animation.Player

Oct 30 2019, 4:55 AM · efl: canvas
bu5hm4n added a comment to T8288: Animation API.

So, all of the things raised about Efl.Canvas.Animation.* APIs are solved as far as i can see in the attached revisions.

Oct 30 2019, 3:04 AM · efl: canvas
bu5hm4n added a revision to T8288: Animation API: D10562: efl_canvas_animation_translate: move from x&y to container types.
Oct 30 2019, 3:01 AM · efl: canvas
bu5hm4n added revisions to T8288: Animation API: D10559: efl_canvas_animation_scale: move from 2 doubles to vectors, D10558: efl_canvas_animation: be more explicit with errors.
Oct 30 2019, 3:01 AM · efl: canvas
bu5hm4n added a comment to T8288: Animation API.

@Jaehyun_Cho Can you review D10350 ?

Oct 30 2019, 12:04 AM · efl: canvas

Oct 17 2019

zmike edited projects for T7214: crash while resize some specific apps, added: efl (efl-1.24); removed efl (efl-1.23).
Oct 17 2019, 7:04 AM · efl (efl-1.24), efl: display system, efl: canvas, enlightenment-git

Oct 10 2019

bu5hm4n updated the task description for T8288: Animation API.
Oct 10 2019, 6:48 AM · efl: canvas
bu5hm4n added a revision to T8288: Animation API: D10350: efl_canvas_animation_rotate: adjust API.
Oct 10 2019, 6:47 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.
  • efl_canvas_animation_rotate:
    • Current rotate's cx and cy is double value relative to the pivot object. (e.g. 0.0 ~ 1.0, center is 0.5) So I am not sure if Vector is the correct type for this relative values although value type is the same.

I think Vector2D sounds like the type we want to have for that. Maybe its just me, but i am prefering to have a simple container over two values for the same semantical thing.

Like you said, it may be related to preference. The reason why I am not sure about this is because these parameters have similar values of the parameters of hint_align of efl_gfx_hint.eo.
BTW, I don't have any preference about this case.

I think Vector2D is the correct thing here, my idea would be that the parameters would be in the end (from : Vector2D, to : Vector2D, pivot : Efl.Canvas.Object, c : Vector2D)

Oh, I misunderstood. Now I see. So it is the same as the preference of using Vector2D type.

Mhm, after reading it a second time, i think i am a bit confused here. What is autodel deleting, the animated object, or the player ?

If auto_del is true, then player is deleted when animation ends.

I am actaully a little bit concerend about the amount of objects required something easy as a animation.... esp. with the autodel thing, so you create 2 objects just to delete them. If we publish that like this. Then we have no good way to refactor that later on ... :(

I totally agree with you that we need to reduce the number of objects which are created for easy animation.
I'm sorry I don't understand what you mean about autodel in the later comment. Could you explain please?

Oct 10 2019, 5:43 AM · efl: canvas

Oct 7 2019

bu5hm4n added a comment to T8288: Animation API.

@bu5hm4n Thank you for the description :) I replied as follows.

  • efl_canvas_animation:
    • I think duration is the same as Efl.Playable.length.
    • Since interpolator has its own factors, I think it should be an object. Can we make interpolator not ownable? Because I think there are some demands that app wants to implement animations with same interpolator. (e.g. Cubic Bezier with the same factors. If Interpolator is ownable, then app should create and set interpolator again and again.)
Oct 7 2019, 11:57 AM · efl: canvas
Jaehyun_Cho added a comment to T8288: Animation API.

@bu5hm4n Thank you for the description :) I replied as follows.

Oct 7 2019, 5:22 AM · efl: canvas

Oct 2 2019

bu5hm4n added a comment to T8288: Animation API.

@Jaehyun_Cho what do you think about those things ?

Oct 2 2019, 4:50 AM · efl: canvas

Sep 30 2019

bu5hm4n created T8288: Animation API.
Sep 30 2019, 5:28 AM · efl: canvas

Aug 9 2019

tasn removed a member for efl: canvas: tasn.
Aug 9 2019, 10:17 AM
tasn added a member for efl: canvas: tasn.
Aug 9 2019, 10:17 AM

Jun 3 2019

zmike closed T7824: wbmp loader/tests broken as Resolved.
Jun 3 2019, 9:01 AM · efl: canvas

May 29 2019

devilhorns closed T7230: Clean up evas_inline.x as Resolved.
May 29 2019, 12:40 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFL343698f7eceb: evas_inline: Clean up evas_object_plane_changed function.
May 29 2019, 12:38 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFL70ea7ba9daa1: evas_inline: Clean up evas_object_is_opaque function.
May 29 2019, 12:38 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFL8c5d5ada65cb: evas_inline: Clean up evas_object_is_on_plane function.
May 29 2019, 12:38 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFL94d1b0f3bf7a: evas_inline: Clean up evas_object_is_visible function.
May 29 2019, 12:37 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFLc10a4dcd18dd: evas_inline: Clean up evas_object_is_proxy_visible function.
May 29 2019, 12:37 PM · efl: rendering, efl: canvas, Restricted Project
zmike added a commit to T7230: Clean up evas_inline.x: rEFLef23de1ea4bf: evas_inline: Clean up evas_object_was_visible function.
May 29 2019, 12:37 PM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9051: evas_inline: Clean up evas_object_plane_changed function.
May 29 2019, 10:14 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9050: evas_inline: Clean up evas_object_is_on_plane function.
May 29 2019, 10:11 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9049: evas_inline: Clean up evas_object_is_opaque function.
May 29 2019, 10:11 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9048: evas_inline: Clean up evas_object_is_proxy_visible function.
May 29 2019, 10:10 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9047: evas_inline: Clean up evas_object_is_proxy_visible function.
May 29 2019, 10:06 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9046: evas_inline: Clean up evas_object_is_visible function.
May 29 2019, 10:06 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9045: evas_inline: Clean up evas_object_was_visible function.
May 29 2019, 10:06 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9040: evas_inline: Clean up evas_inline.x.
May 29 2019, 7:02 AM · efl: rendering, efl: canvas, Restricted Project
devilhorns added a revision to T7230: Clean up evas_inline.x: D9039: evas_inline: Clean up evas_inline.x.
May 29 2019, 6:47 AM · efl: rendering, efl: canvas, Restricted Project