1
/********************************************************************
2
KWin - the KDE window manager
3
This file is part of the KDE project.
5
Copyright (C) 2011 Martin Gräßlin <mgraesslin@kde.org>
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
17
You should have received a copy of the GNU General Public License
18
along with this program. If not, see <http://www.gnu.org/licenses/>.
19
*********************************************************************/
26
KWIN_EFFECT(outline, OutlineEffect)
28
OutlineEffect::OutlineEffect()
32
m_outline = effects->effectFrame(EffectFrameNone);
33
connect(effects, SIGNAL(showOutline(const QRect&)), SLOT(slotShowOutline(const QRect&)));
34
connect(effects, SIGNAL(hideOutline()), SLOT(slotHideOutline()));
37
OutlineEffect::~OutlineEffect()
42
void OutlineEffect::paintScreen(int mask, QRegion region, ScreenPaintData& data)
44
effects->paintScreen(mask, region, data);
50
bool OutlineEffect::provides(Feature feature)
52
if (feature == Outline) {
60
void OutlineEffect::slotHideOutline()
63
effects->addRepaint(m_geometry);
66
void OutlineEffect::slotShowOutline(const QRect& geometry)
69
effects->addRepaint(m_geometry);
72
m_geometry = geometry;
73
m_outline->setGeometry(geometry);
74
m_outline->setSelection(geometry);
75
effects->addRepaint(geometry);