Review Request: Added Plasma::PendulumCurve class
Bruno Abinader
brunoabinader at gmail.com
Thu Apr 22 18:15:22 CEST 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/3513/
-----------------------------------------------------------
(Updated 2010-04-22 16:15:22.236714)
Review request for Plasma, Aaron Seigo, Marco Martin, igorto, and Adenilson Cavalcanti.
Changes
-------
This patch adds the Plasma::PendulumCurve easing curve (which subclasses from QEasingAnimation) and some modifications on the Rotation animation to support a "swing" mode, in which it can pretty much simulate the same "pendulum" effect as the previous implementation (Plasma::PendulumAnimation) had. This patch has the advantage of not create yet-another-rotation-like animation plus the option to have this easing curve used by virtually any plasma animation.
Summary (updated)
-------
The Plasma::PendulumCurve class subclasses from Qt's QEasingCurve and implements a static function which simulates a "pendulum" effect by varying the progress value from 0 to 1, 1 to 0, 0 to -1 and -1 to 0 in a linear way. Together with this easing curve, some modifications were made on the Plasma::RotationAnimation to support a property called "isSwing" which enables the "swing" mode on the target widget, with its angle decrementing through each loop count.
Diffs (updated)
-----
trunk/KDE/kdelibs/plasma/CMakeLists.txt 1117560
trunk/KDE/kdelibs/plasma/animations/animation.h 1117560
trunk/KDE/kdelibs/plasma/animations/pendulumcurve.h PRE-CREATION
trunk/KDE/kdelibs/plasma/animations/pendulumcurve.cpp PRE-CREATION
trunk/KDE/kdelibs/plasma/animations/rotation.cpp 1117560
trunk/KDE/kdelibs/plasma/animations/rotation_p.h 1117560
Diff: http://reviewboard.kde.org/r/3513/diff
Testing (updated)
-------
An example code was added to the "plasma applet animation example" (in kdeexamples/plasma/c++/plasmoid/animation). That code will be later commited, after this request gets successfully merged. You can grab the example code here: http://pastebin.com/07ntUsBM
Thanks,
Bruno
More information about the Plasma-devel
mailing list