1/*
2* Copyright 2011 by Aaron Seigo <aseigo@kde.org>
3*
4* This program is free software; you can redistribute it and/or modify
5* it under the terms of the GNU Library General Public License version 2,
6* or (at your option) any later version.
7*
8* This program is distributed in the hope that it will be useful,
9* but WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details
12*
13* You should have received a copy of the GNU Library General Public
14* License along with this program; if not, write to the
15* Free Software Foundation, Inc.,
16* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17*/
18
19#ifndef SHADOWS_H
20#define SHADOWS_H
21
22#include <QSet>
23
24#include "plasma/framesvg.h"
25#include "plasma/svg.h"
26
27
28class Shadows : public Plasma::Svg
29{
30 Q_OBJECT
31
32public:
33 explicit Shadows(QObject *parent = 0, const QString &prefix = "widgets/panel-background");
34
35 static Shadows *self();
36
37 void addWindow(const QWidget *window, Plasma::FrameSvg::EnabledBorders enabledBorders = Plasma::FrameSvg::AllBorders);
38 void removeWindow(const QWidget *window);
39
40 bool enabled() const;
41
42private:
43 class Private;
44 Private * const d;
45
46 Q_PRIVATE_SLOT(d, void updateShadows())
47 Q_PRIVATE_SLOT(d, void windowDestroyed(QObject *deletedObject))
48};
49
50#endif
51
52