On Friday 29 May 2009, Ivan Čukić wrote: > > in which case an API like this: > > > > Animation a(item); > > a.add(animator.fadeIn()); > > Animation b; > > b.setParallel(true); > > b.add(animator.blur(0.8)); > > b.add(animator.bounce(4)); > > a.add(b); > > a.addPause(10); // a.add(animator.pause(10));? > > a.add(animator.fadeOut()); > > a.run(250); // builds the qt animation objects and runs it all > > This starts to look like something. But I would propose an addition. > 1 - that add returns a reference to the Animation object so that the > following is possible: > b.add(animator.blur(...)) > .add(animator.bounce(...)) > or with << operator (like QList...) > b << animator.blur(...) > << animator.bounce(...)
remember that we don't operator overloading like we do in C++ in JavaScript (though we do have some crazy ass things in JavScript that we don't have in C++ too :) returning a reference looks good though. > 2 - to have static 'constructors' Animation::series(item) and > Animation::parallel(item), or, even better, just to have the > Animation::Type enum (Parallel, Serial) passed to the constructor > Animation a(item, Animation::Parallel) yes, we can definitely do ctors like that as well. > With the solution above, we could have it /both ways/ the way that is > clearer to you (Aaron) and the way it is clearer for me while having no > additional API. yes, and it definitely helps reduce the complexity of the implementation. -- Aaron J. Seigo humru othro a kohnu se GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43 KDE core developer sponsored by Qt Software
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel