The API changed for rotations, requiring another argument for positions.
[contacts_plasmoid.git] / omnianimation.h
blob2b63353fc32c1c01c8f10ecfb304f67b9cd3a4f0
1 /*********************************************************************/
2 /* */
3 /* Copyright (C) 2009 Adenilson Cavalcanti <> */
4 /* */
5 /* This program is free software; you can redistribute it and/or */
6 /* modify it under the terms of the GNU General Public License */
7 /* as published by the Free Software Foundation; either version 2 */
8 /* of the License, or (at your option) any later version. */
9 /* */
10 /* This program is distributed in the hope that it will be useful, */
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
13 /* GNU General Public License for more details. */
14 /* */
15 /* You should have received a copy of the GNU General Public License */
16 /* along with this program; if not, write to the Free Software */
17 /* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA */
18 /* 02110-1301, USA. */
19 /*********************************************************************/
21 #ifndef OMNIANIMATION_H
22 #define OMNIANIMATION_H
24 #include <QObject>
26 class QGraphicsWidget;
27 class QPropertyAnimation;
28 class QSizeF;
29 class QParallelAnimationGroup;
31 class OmniAnimation {
33 public:
34 OmniAnimation(QObject *parent, QGraphicsWidget *animatedObject, QObject *sender);
36 ~OmniAnimation();
38 void create( QSizeF *size, qreal widthLayoutMargin, qreal xWidgetMargin,
39 qreal yWidgetMargin);
41 void reset( QSizeF *size, qreal widthLayoutMargin, qreal xWidgetMargin,
42 qreal yWidgetMargin );
44 protected:
45 QPropertyAnimation *mOmniGeometryAnimOne;
46 QPropertyAnimation *mOmniGeometryAnimTwo;
47 QParallelAnimationGroup *parallelAnim;
48 QParallelAnimationGroup *parallelAnimTwo;
50 private:
51 QObject *mParent;
52 QGraphicsWidget *mAnimatedObject;
53 QObject *mSender;
58 #endif