kwin/effects.h
Luboš Luňák 7d67cf42c4 Data like transf. matrix that the effects can affect.
svn path=/branches/work/kwin_composite/; revision=558454
2006-07-05 12:56:04 +00:00

59 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.
******************************************************************/
// TODO MIT or some other licence, perhaps move to some lib
#ifndef KWIN_EFFECTS_H
#define KWIN_EFFECTS_H
namespace KWinInternal
{
class Toplevel;
class Workspace;
class Matrix
{
public:
Matrix();
float m[ 4 ][ 4 ];
};
class EffectData
{
public:
Matrix matrix;
float opacity;
};
class Effect
{
public:
virtual ~Effect();
virtual void windowUserMoved( Toplevel* c );
virtual void windowUserResized( Toplevel* c );
virtual void paintWindow( Toplevel* c, EffectData& data );
virtual void paintWorkspace( Workspace*, EffectData& data );
};
class EffectsHandler
{
public:
void windowUserMoved( Toplevel* c );
void windowUserResized( Toplevel* c );
void paintWindow( Toplevel* c, EffectData& data );
void paintWorkspace( Workspace*, EffectData& data );
};
extern EffectsHandler* effects;
} // namespace
#endif