Hi Nicolas,
I would like to ask you if the SAT library has any binary
distributions planned in the context of Nebula project?
At least on the Nebula web page, there is no sign of the SAT
project...
From: nebula-dev-bounces@xxxxxxxxxxx
[mailto:nebula-dev-bounces@xxxxxxxxxxx] On Behalf Of Nicolas Richeton
Sent: Friday, January 08, 2010 11:38 AM
To: Nebula Dev
Subject: Re: [nebula-dev] SWT Transition Widget - STW proposal
Hi Jin, Ahmed
I was not following the e4 mailing list, but the
contribution of trident seems quite strange to me since when I first blogged
(April 2008) about nebula animation package (previously SAT), Steve Northover
mentioned that e4 was already providing an animation API. [1]
Because of this overlap, the package was introduced in
Nebula only to provide animation support for custom widgets on all SWT
versions, while it can still be used to animate SWT and RCP applications. It is
currently used by Gallery (SmoothScrolling, expand/collapse animation) and
DateTime (popup animation).
If e4 is looking for an animation library, we can provide
and improve our package according to their needs. It is already included in the
photo demo since it uses the gallery widget :-)
Your transition implementation work as I expected. I was
planning do the same on my side but I didn't have enough free time.
I agree that transition and effects/animation are different.
My idea was to add a sub package named org.eclipse.nebula.animation.transition
for your code, because transitions can be though as some kind of
animation.
If I understand correctly, the UI is freezed during the
transition. Am I right ?
I'm waiting for your code to be approved so I can borrow the
3d cube implementation in the crossfade effect :-)
Current animation package in CVS includes :
org.eclipse.nebula.animation :
AnimationRunner : Object which run
an animation (Timeline in trident). 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 [2]
org.eclipse.nebula.animation.movement . See [3]
for demo of easing equations
(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.
org.eclipse.nebula.animation.effects See [4] 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.
Support for loop, reverse in
AnimationRunner
PropertyEffect, similar to Trident.
Note : I also use this package to animate OpenGL objects in
my RCP application [5]
Well, I got to copy/paste all this into the nebula wiki :-)
[5] http://blog.richeton.com/2008/05/28/sharemedia-032-released/
Le 8 janv. 2010 à 08:25, Jin Mingjian a écrit :
such as, http://dev.eclipse.org/mhonarc/lists/e4-dev/msg02118.html
I guess there are some overlappings in your, nebula, and
their works . But the collaboration seem hard according to their license
problem:) But at least it is useful to plan the future of
work:)
2010/1/8 Ahmed Mahran <ahmahran@xxxxxxxxx>
I'm new to the mailing list and
I think I missed what e4 said. Would you please explain more?
2010/1/8 Jin Mingjian <jin.phd@xxxxxxxxx>
seem cool. e4 said
a potential animation contribution called Trident some days ago. is
it possible to merge all the effort?
2010/1/8 Ahmed Mahran <ahmahran@xxxxxxxxx>
Hi Nicolas,
Thank you for your nice comment.
Your idea sounds great. First, let me clarify some points.
In Transition package, widgets themselves are not animated but their images are
instead. During the transition, widgets are hidden below a canvas where their
images are shown being animated so any event from user input will not be
dispatched to the hidden widgets. So, in Transition package, an extra widget is
needed to show the transition. Widgets are animated by changing their limited
visual properties that one can reach directly like (visibility, position, size,
colors). However, animating images gives more variety. So we can end up with
two kinds of animation: widget animation and image animation.
- Animation package could be extended with image/pixel
animation to animate a single image.
- A transition package is still needed to carry out the
logic of imaging widgets and transitioning.
2010/1/6 Nicolas Richeton <nicolas.richeton@xxxxxxxxx>
Hi Ahmahran,
I just want to say that your transition effects are great, especially the 3D
cubic one.
We have an animation package in nebula, currently in Gallery but will move in
CWT (common code for Nebula widgets) eventually. This package implements
several movements ( linear, elastic, expo, bounce) and effects (move,
resize, fade, set color, shake, crossfade images) which can be applied on
widgets. If I understand your work correctly, it is able to transition between
2 widgets or tabs. This is totally cool and does not exist in our animation
package.
Since we already have some animation/transition code and since your code is not
a widget, it may be a good idea to add your code to the animation package
instead of creating a new project. This way we could add support for different
movements in Transition and provide new effects based on your
transitions.
We probably need an official creation for CWT (it is already on CVS) for this
and I don't think it has been done already.
In all cases (new project or not), you will have to get your code reviewed and
to become a Nebula committer.
What would you think of this ? (This question goes for all Nebula committers
too :-) )
--
Nicolas
Le 5 janv. 2010 à 21:21, Tom Schindl a écrit :
_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev
_______________________________________________
nebula-dev mailing list
nebula-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/nebula-dev