Nebula CWT Animation

Note

This is a quick copy/paste from the Nebula mailing list. Feel free to rework or improve.

Packages content :

org.eclipse.nebula.animation :

AnimationRunner : Object which runs an animation. One animation runner can play only one effect at the same time.Note: each effect can have cancel and stop runnable. Stop will be called when the effect ends normally. Cancel will be called when the animation is canceled or when the effect is replaced. This makes very easy to change an effect while it is running without any visual problems or incorrect values.

ScrollingSmoother : add iphone-like scrolling on mousewheel events to any scrollable widget. Scrolling can be exponential (standard) or elastic, bouncing, .... See [[1]]

org.eclipse.nebula.animation.movement . See [[2]] for demo of easing equations

(Easing : From A to B)

BounceOut

ElasticOut

ExpoOut

LinearInOut

QuartIn

QuartInOut

QuartOut

(Variation : from A to A with intermediate values).

SinusDecreaseVariation (used by Grow)

SinusVariation (used by Shake)

... and an interface to implement you own movements in a few lines of code.

org.eclipse.nebula.animation.effects See [[3]] for demos Each effect can use one or more movement to interpolate values.

Alpha : Change alpha on a shell

CrossFade : Crossfade two images on any target : widget, on custom object

Grow : Change size of an object, keeping it centered with elastic effect.

MoveControl : Change x,y of a Control/Widget

MoveScrollbar : Change scrollbar position.

Parallel : Run several effects at the same time

ResizeEffect : Resize a control, from the bottom left corner.

SequenceEffect : Run several effects one after another.

SetBounds : Change all bounds of a widget

SetColor : Change color of a widget or any custom object

ShakeEffect : See 'wrong password effect' on OSX

... and an abstract class to implement your own effects in a few lines of code.