summaryrefslogtreecommitdiff
path: root/rotatingcube.h
blob: 82c34c47779f8a98f7594c2d190d5ba7272bb1f1 (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
#ifndef ROTATINGCUBE_H
#define ROTATINGCUBE_H

#include "screensaver_internal.h"

class ScreenRotatingCube : public ScreenEffect
{
public:
	ScreenRotatingCube( CompScreen* s ) : ScreenEffect(s) {}
	virtual ~ScreenRotatingCube() {}
	
	virtual bool enable();
	virtual void disable();
	virtual void getRotation( float* x, float* v, float *progress );
	virtual void preparePaintScreen( int msSinceLastPaint );
	virtual void donePaintScreen();
	virtual Bool paintOutput(	const ScreenPaintAttrib *sAttrib, \
								const CompTransform* transform, Region region, \
								CompOutput* output, unsigned int mask);
protected:
	virtual void clean();
	
private:
	bool loadCubePlugin();
};

#endif