kwin/effects/desktopchangeslide.h
Luboš Luňák c38dc5e099 Change the DesktopChangeSlideEffect so that the new desktop doesn't
always slide in from the top but from the position where it is
according to the desktop layout.


svn path=/branches/work/kwin_composite/; revision=651083
2007-04-06 13:46:29 +00:00

41 lines
1.3 KiB
C++

/*****************************************************************
KWin - the KDE window manager
This file is part of the KDE project.
Copyright (C) 2006 Lubos Lunak <l.lunak@kde.org>
You can Freely distribute this program under the GNU General Public
License. See the file "COPYING" for the exact licensing terms.
******************************************************************/
#ifndef KWIN_DESKTOPCHANGESLIDE_H
#define KWIN_DESKTOPCHANGESLIDE_H
#include <effects.h>
namespace KWin
{
class DesktopChangeSlideEffect
: public Effect
{
public:
DesktopChangeSlideEffect();
virtual void prePaintScreen( int* mask, QRegion* region, int time );
virtual void paintScreen( int mask, QRegion region, ScreenPaintData& data );
virtual void postPaintScreen();
virtual void prePaintWindow( EffectWindow* w, int* mask, QRegion* paint, QRegion* clip, int time );
virtual void paintWindow( EffectWindow* w, int mask, QRegion region, WindowPaintData& data );
virtual void desktopChanged( int old );
private:
QPoint desktopPos( int desktop );
QPoint startPos;
int progress;
int painting_desktop;
bool painting_sticky;
QPoint painting_diff;
};
} // namespace
#endif