aboutsummaryrefslogtreecommitdiff
path: root/lumina-wm-INCOMPLETE/animations/BaseAnimGroup.h
blob: 05c36ea22d362f0e17dc86f0a8f9e79aca12aa36 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//===========================================
//  Lumina-DE source code
//  Copyright (c) 2015, Ken Moore
//  Available under the 3-clause BSD license
//  See the LICENSE file for full details
//===========================================
// This class is the container which provides the screensaver animations
//  and should be subclassed for each of the various animation types
//===========================================
#ifndef _LUMINA_DESKTOP_SCREEN_SAVER_BASE_ANIMATION_GROUP_H
#define _LUMINA_DESKTOP_SCREEN_SAVER_BASE_ANIMATION_GROUP_H

#include "GlobalDefines.h"

class BaseAnimGroup : public QParallelAnimationGroup{
	Q_OBJECT
public:
	QWidget *canvas;
	QSettings *settings;

	virtual void LoadAnimations(){} //This is the main function which needs to be subclassed

	BaseAnimGroup(QWidget *parent, QSettings *set){
	  canvas = parent;
	  settings = set;
	  //Now load the animations for this particular plugin
	  LoadAnimations();
	}
	~BaseAnimGroup(){}
	
	//==============================
	//     PLUGIN LOADING/LISTING (Change in the .cpp file)
	//==============================
	static BaseAnimGroup* NewAnimation(QString type, QWidget *parent, QSettings *set);
	static QStringList KnownAnimations();
	
};

#endif
bgstack15