00001 #ifndef DISPLAY_INTRO_H
00002 #define DISPLAY_INTRO_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include <QWidget>
00025 #include <QGraphicsScene>
00026 #include <QHash>
00027 #include <QList>
00028 #include <QTimer>
00029
00030
00031 #include "thememanager.h"
00032
00033
00034
00035
00040 class DisplayIntro : public QObject, public virtual Themable
00041 {
00042 Q_OBJECT
00043
00044 public:
00051 DisplayIntro(int advancePeriod, QGraphicsScene* scene, ThemeManager* theme, QObject* parent = 0);
00052
00055 ~DisplayIntro();
00056
00059 enum IntroState {IntroMoveIn, IntroCollapse, IntroExplode};
00060
00063 void start();
00064
00067 virtual void changeTheme();
00068
00069
00070 protected slots:
00073 void advance();
00074
00075
00076 private:
00077
00078 ThemeManager* mTheme;
00079
00080
00081 QGraphicsScene* mScene;
00082
00083
00084 int mAdvancePeriod;
00085
00086
00087 QList<QGraphicsItem*> mSprites;
00088
00089
00090 QTimer* mTimer;
00091
00092
00093 IntroState mIntroState;
00094 };
00095
00096 #endif