[ANN] Animation package

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Animation package

Thibault Raffaillac
Hello,

I am happy to release the Animation package at last! http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation
This is a general animation system, which can turn any setter message into a smooth transition (provided the target value supports + and *Float).

Examples:
AnimationProperty new at: morph set: #position: to: 100@100 during: 2 seconds easing: #backOut.
AnimationProperty new at: morph set: #color: to: Color red during: 2 seconds easing: #linear.
AnimationProperty new at: morph set: #title: to: 'tutututu' during: 2 seconds easing: #linear.

Or equivalently (don't choke):
morph position: (100@100 during: 2 seconds easing: #backOut).
morph color: (Color red during: 2 seconds).
morph title: ('tutututu' during: 2 seconds).

It basically sends the setter message repeatedly during the target delay, each time with a slightly different value. It should also work with Bloc, although the update mechanism depends on Morphic's deferredUIMessage at the moment.

Cheers,
Thibault

ps: Thanks to anonymous contributor for the second syntax, it was a lot of fun - and evil laughs :)

Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Animation package

Julien Delplanque
Hello,

Cool, I'll give a try to add animations to my windows switcher (Mirage [1]).

Julien

Links:
[1]: https://github.com/juliendelplanque/Mirage

On 23/11/16 11:49, Thibault Raffaillac wrote:

> Hello,
>
> I am happy to release the Animation package at last! http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation
> This is a general animation system, which can turn any setter message into a smooth transition (provided the target value supports + and *Float).
>
> Examples:
> AnimationProperty new at: morph set: #position: to: 100@100 during: 2 seconds easing: #backOut.
> AnimationProperty new at: morph set: #color: to: Color red during: 2 seconds easing: #linear.
> AnimationProperty new at: morph set: #title: to: 'tutututu' during: 2 seconds easing: #linear.
>
> Or equivalently (don't choke):
> morph position: (100@100 during: 2 seconds easing: #backOut).
> morph color: (Color red during: 2 seconds).
> morph title: ('tutututu' during: 2 seconds).
>
> It basically sends the setter message repeatedly during the target delay, each time with a slightly different value. It should also work with Bloc, although the update mechanism depends on Morphic's deferredUIMessage at the moment.
>
> Cheers,
> Thibault
>
> ps: Thanks to anonymous contributor for the second syntax, it was a lot of fun - and evil laughs :)
>


Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Animation package

Stephane Ducasse-3
Thibault did you try to extend roassal with them?
You should post if to the Moose mailing-list. 
I produced a Pharo weekly news with your announce. 

On Wed, Nov 23, 2016 at 1:13 PM, Julien Delplanque <[hidden email]> wrote:
Hello,

Cool, I'll give a try to add animations to my windows switcher (Mirage [1]).

Julien

Links:
[1]: https://github.com/juliendelplanque/Mirage


On 23/11/16 11:49, Thibault Raffaillac wrote:
Hello,

I am happy to release the Animation package at last! http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation
This is a general animation system, which can turn any setter message into a smooth transition (provided the target value supports + and *Float).

Examples:
AnimationProperty new at: morph set: #position: to: 100@100 during: 2 seconds easing: #backOut.
AnimationProperty new at: morph set: #color: to: Color red during: 2 seconds easing: #linear.
AnimationProperty new at: morph set: #title: to: 'tutututu' during: 2 seconds easing: #linear.

Or equivalently (don't choke):
morph position: (100@100 during: 2 seconds easing: #backOut).
morph color: (Color red during: 2 seconds).
morph title: ('tutututu' during: 2 seconds).

It basically sends the setter message repeatedly during the target delay, each time with a slightly different value. It should also work with Bloc, although the update mechanism depends on Morphic's deferredUIMessage at the moment.

Cheers,
Thibault

ps: Thanks to anonymous contributor for the second syntax, it was a lot of fun - and evil laughs :)




Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Animation package

philippeback
In reply to this post by Thibault Raffaillac
Hey, nice.

I need to have look inside the code to also get the evil laugh thing.

Let's get moving.

Phil

On Wed, Nov 23, 2016 at 11:49 AM, Thibault Raffaillac <[hidden email]> wrote:
Hello,

I am happy to release the Animation package at last! http://smalltalkhub.com/#!/~ThibaultRaffaillac/Animation
This is a general animation system, which can turn any setter message into a smooth transition (provided the target value supports + and *Float).

Examples:
AnimationProperty new at: morph set: #position: to: 100@100 during: 2 seconds easing: #backOut.
AnimationProperty new at: morph set: #color: to: Color red during: 2 seconds easing: #linear.
AnimationProperty new at: morph set: #title: to: 'tutututu' during: 2 seconds easing: #linear.

Or equivalently (don't choke):
morph position: (100@100 during: 2 seconds easing: #backOut).
morph color: (Color red during: 2 seconds).
morph title: ('tutututu' during: 2 seconds).

It basically sends the setter message repeatedly during the target delay, each time with a slightly different value. It should also work with Bloc, although the update mechanism depends on Morphic's deferredUIMessage at the moment.

Cheers,
Thibault

ps: Thanks to anonymous contributor for the second syntax, it was a lot of fun - and evil laughs :)



Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Animation package

Thibault Raffaillac
In reply to this post by Thibault Raffaillac
Great!
Tell me when you have any feedback (good or bad indeed).

Thibault

> Hello,
>
> Cool, I'll give a try to add animations to my windows switcher (Mirage [1]).
>
> Julien
>
> Links:
> [1]: https://github.com/juliendelplanque/Mirage