On Fri, 2007-12-14 at 11:51 +0000, Emmanuele Bassi wrote: > On Fri, 2007-12-14 at 12:20 +0100, Murray Cumming wrote: > > > By the way, I don't really see the point of ClutterAlpha in the public > > API, unless you are planning to add more functions to it. At the moment > > it seems like behaviours could just take the alpha callback, and that > > alpha callback could receive the timeline as a parameter, instead of > > getting it from a ClutterAlpha. > > no, we need to expose the ClutterAlpha API because the same ClutterAlpha > can be reused with multiple behaviours: > > timeline = clutter.Timeline(duration=1000) > alpha = clutter.Alpha(timeline, clutter.ramp_inc_func) > > pathb = clutter.BehaviourPath(alpha, knots) > depthb = clutter.BehaviourDepth(alpha, -100, 100) > > [b.apply(my_actor) for b in (pathb, depthb)] > > will share the same alpha, hence the same timeline and the same function > of time. > > this would become needlessly complicated if we passed the same function > and then the same timeline, for instance (fantasy code, it will not be > implemented): > > timeline = clutter.Timeline(duration=1000) > > pathb = clutter.BehaviourPath(timeline, clutter.ramp_inc_func, knots) > depthb = clutter.BehaviourDepht(timeline, clutter.ramp_inc_func, -100, > 100)
I actually prefer this public API (and for effects too), but I guess it's just a personal preference. Thanks anyway. > [b.apply(my_actor) for b in (pathb, depthb)] > > which will make the source one line shorter, but will add a function > argument to the behaviours and will require the following API additions: > > clutter_behaviour_get_timeline() > clutter_behaviour_set_timeline() > clutter_behaviour_set_alpha_function() > > personally, I prefer keeping the behaviours blissfully unaware of what a > timeline is: I can see how that would be good for the implementation. > the time+function aspect is covered by the alpha class, > which in turn can be used to drive other non-behaviour objects without > requiring additions or changes. -- [EMAIL PROTECTED] www.murrayc.com www.openismus.com -- To unsubscribe send a mail to [EMAIL PROTECTED]
