kwin/deleted.cpp
Luboš Luňák 63a97b7d3d Add DesktopChangeSlideEffect, an effect that on virtual desktop
change slides the old desktop out and the new one in. Should not
be really technically different from the cube.


svn path=/branches/work/kwin_composite/; revision=629163
2007-02-01 17:20:48 +00:00

75 lines
1.5 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.
******************************************************************/
#include "deleted.h"
#include "workspace.h"
namespace KWinInternal
{
Deleted::Deleted( Workspace* ws )
: Toplevel( ws )
, delete_refcount( 1 )
{
}
Deleted::~Deleted()
{
assert( delete_refcount == 0 );
workspace()->removeDeleted( this, Allowed );
}
Deleted* Deleted::create( Toplevel* c )
{
Deleted* d = new Deleted( c->workspace());
d->copyToDeleted( c );
d->workspace()->addDeleted( d, Allowed );
return d;
}
void Deleted::copyToDeleted( Toplevel* c )
{
assert( dynamic_cast< Deleted* >( c ) == NULL );
Toplevel::copyToDeleted( c );
window_opacity = c->opacity();
desk = c->desktop();
}
void Deleted::unrefWindow()
{
if( --delete_refcount > 0 )
return;
deleteLater();
}
NET::WindowType Deleted::windowType( bool direct, int supported_types ) const
{
return NET::Normal; // TODO
}
double Deleted::opacity() const
{
return window_opacity;
}
int Deleted::desktop() const
{
return desk;
}
void Deleted::debug( kdbgstream& stream ) const
{
stream << "\'ID:" << handle() << "\' (deleted)";
}
} // namespace
#include "deleted.moc"