kwin/unmanaged.cpp
Luboš Luňák f400646a6d xrender compositing work - now it uses damage areas
to reduce amount of painting


svn path=/branches/work/kwin_composite/; revision=558580
2006-07-05 16:04:11 +00:00

60 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.
******************************************************************/
#include "unmanaged.h"
#include "workspace.h"
namespace KWinInternal
{
Unmanaged::Unmanaged( Workspace* ws )
: Toplevel( ws )
{
}
Unmanaged::~Unmanaged()
{
}
bool Unmanaged::track( Window w )
{
XSelectInput( display(), w, StructureNotifyMask );
XWindowAttributes attr;
if( !XGetWindowAttributes(display(), w, &attr))
return false;
setHandle( w );
geom = QRect( attr.x, attr.y, attr.width, attr.height );
setupCompositing();
resetWindowPixmap();
workspace()->addDamage( geometry());
return true;
}
void Unmanaged::release()
{
finishCompositing();
workspace()->removeUnmanaged( this, Allowed );
delete this;
}
void Unmanaged::deleteUnmanaged( Unmanaged* c, allowed_t )
{
delete c;
}
void Unmanaged::debug( kdbgstream& stream ) const
{
stream << "\'ID:" << handle() << "\'";
}
} // namespace
#include "unmanaged.moc"