Plasma + QT Kinetic Preliminary Design Decisions

Gökmen GÖKSEL gokmen at pardus.org.tr
Thu Jun 4 15:12:51 CEST 2009


On Thursday 04 June 2009 15:34:22 Akmanalp, Mehmet A wrote:
> Hello,
Hi,

> I wanted to distill the discussions made previously on the list + my
> thoughts and findings into something more concrete, so I can start
> making a prototype soon.
Cool

> * For grouping, our Animation object (or whatever) can just subclass
> QAnimationGroup. QAG supplies all we need, no need to go lower to
> QAbstractAnimation imho. This way, we can interopt with other Kinetic
> stuff nicely. IIRC, it was also mentioned the js / ruby / python APIs
> will not need to know about Kinetic.
"QAG supplies all we need" -> What do we need exactly ?

> * Now that I thought of it, I'm not exactly sure what aseigo meant by
> "auto-start-when-event-loop-enters magic". Would we make QAG start
> automagically with the next tick of the event loop. If so, providing
> an option to not do this would also be neat, so people using our stuff
> in conjunction with Kinetic stuff can have more freedom. However, how
> would we detect that an animaton object is done being created?(Maybe
> we're going to add more properties to it.)
We can handle it by using some properties or something different with some low 
level tricks :)

> * Should we set the object to animated in the Animation ctor or set it
> later with a function such as .setObject()?
Can't we make it in both way ?

> * Imho the new library should not depend on Plasma::Animator, I can
> reimplement the stuff I need.
Looks fine

> * For consistency / compatibility between all the different language
> bindings, returning a reference instead of using something like the <<
> operator as a grouping shortcut seems like a better idea.
+1 

> * Example (looks a bit cleaner in monospace):
> Animation a,b;
> a.setParallel(1)
>  .add(Animator.blur(0.6))
>  .add(Animator.bounce(2))
> b.add(a)
>  .add(Animator.pause(1))
Looks fine,

> * A list of effects to be definitely implemented (since they were
> already being used / wanted by someone):
>     - Flip
>     - Slide In / Out
>     - Fade In / Out
>     - Expand / Contract in a direction
>     - Grow / Shrink / Scale
Animate, animate every thing :)

> * I'm still lacking a decent name for the class. SimpleAnimator?
> KineticAnimator? Animator2? :P Maybe something shorter and easier to
> type?  Dunno.
just Kinetic in namespace of Plasma should be fine; Plasma::Kinetic ;)

-- 
Gökmen GÖKSEL
Pardus Developer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20090604/0184c84b/attachment.sig 


More information about the Plasma-devel mailing list