/********************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2008 Martin Gräßlin .
*********************************************************************/
#ifndef KWIN_FLIPSWITCH_H
#define KWIN_FLIPSWITCH_H
#include
#include
namespace KWin
{
class FlipSwitchEffect
: public Effect
{
public:
FlipSwitchEffect();
~FlipSwitchEffect();
virtual void prePaintScreen( ScreenPrePaintData& data, int time );
virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data );
virtual void postPaintScreen();
virtual void paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data );
virtual void tabBoxAdded( int mode );
virtual void tabBoxClosed();
virtual void tabBoxUpdated();
private:
void paintWindowFlip( EffectWindow* w, bool draw = true, float opacity = 0.8 );
bool mActivated;
bool mAnimation;
int mFlipDuration;
bool animateFlip;
bool forward;
QTime animationTime;
int selectedWindow;
bool start;
bool stop;
bool addFullRepaint;
int rearrangeWindows;
bool stopRequested;
bool startRequested;
};
} // namespace
#endif