Nebula CWT Animation
This is a quick copy/paste from the Nebula mailing list. Feel free to rework or improve.
Packages content :
- 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 []
org.eclipse.nebula.animation.movement . See [] for demo of easing equations
(Easing : From A to B)
(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 [] 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.
Support for loop, reverse in AnimationRunner