/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2007 Martin Gräßlin .
*********************************************************************/
#ifndef KWIN_SNOW_H
#define KWIN_SNOW_H
#include
#include
#include
#include
#include
namespace KWin
{
class SnowEffect
: public QObject, public Effect
{
Q_OBJECT
public:
SnowEffect();
virtual ~SnowEffect();
virtual void reconfigure( ReconfigureFlags );
virtual void prePaintScreen( ScreenPrePaintData& data, int time );
virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data );
virtual void postPaintScreen();
private slots:
void toggle();
private:
void loadTexture();
GLTexture* texture;
QList* flakes;
QTime lastFlakeTime;
long nextFlakeMillis;
int mNumberFlakes;
int mMinFlakeSize;
int mMaxFlakeSize;
bool active;
};
} // namespace
#endif