plasma-framework/private/abstractanimationprivate_p.h
Adenilson Cavalcanti Da Silva 818e93a576 Amazon sized patch... So many changes that I can hardly remember what they are,
but this is the list from what I can recall:
- removing expand animation (it is a case of grow animation)
- removing AbstractAnimation and using QAbstractAnimation as the common base
- animations are non longer factories, but real animation (so it is just no
issue to mesh then with user created animations)
- animation group will correctly revert the direction of all subanimations
(useful for rewinding an animation)
- fixed opacity effect in pulse animation (now it works correctly)
- there is not 'forward' property, but animation 'direction' (this is how
rewinding an animation must be done)
- direction now is movementDirection property (used in SlideAnimation and RotationStacked)
- the weakpointer for the actual animaiton is non longer in AnimationPrivate but
in each specialized animation class
- hide property is being removed (in progress) since it really is a case of Fade

I guess this is it, now is just a matter of iron out the remaining bugs and polish
the public API.



svn path=/trunk/KDE/kdelibs/; revision=1057993
2009-12-03 19:30:02 +00:00

84 lines
2.6 KiB
C++

/***********************************************************************/
/* animationprivate.h */
/* */
/* Copyright(C) 2009 Adenilson Cavalcanti <adenilson.silva@idnt.org.br>*/
/* */
/* This library is free software; you can redistribute it and/or */
/* modify it under the terms of the GNU Lesser General Public */
/* License as published by the Free Software Foundation; either */
/* version 2.1 of the License, or (at your option) any later version. */
/* */
/* This library is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
/* Lesser General Public License for more details. */
/* */
/* You should have received a copy of the GNU Lesser General Public */
/* License along with this library; if not, write to the Free Software */
/* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA */
/* 02110-1301 USA */
/***********************************************************************/
#ifndef PLASMA_ANIMATIONPRIVATE_H
#define PLASMA_ANIMATIONPRIVATE_H
#include <QEasingCurve>
#include <QWeakPointer>
class QAbstractAnimation;
namespace Plasma
{
class AnimationPrivate
{
public:
AbstractAnimationPrivate();
/**
* Object the animation(s) should act upon.
*/
QWeakPointer<QGraphicsWidget> animObject;
/**
* All animations will have *at least* one animation property
*/
QWeakPointer<QAbstractAnimation> animation;
/**
* Animation direction: where the animation will move.
*/
qint8 animDirection;
/**
* Animation distance: displacement factor for animations where
* there is change in the position of animated widget.
*/
qreal animDistance;
/**
* Animation visibility: whether to end the animation being visible
* or not.
*/
bool animVisible;
/**
* Animation easing curve type
*/
QEasingCurve::Type easingCurve;
/**
* Animation direction, the idea is to offer a way
* to rewind the animation by setDirection(QAbstractAnimation::Backward).
*/
bool forwards;
/**
* Duration of the animation. Default is 250ms.
*/
int duration;
};
}
#endif