2017-01-31 22:25:00 +03:00
/*
* Copyright 2011 by Aaron Seigo < aseigo @ kde . org >
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU Library General Public License version 2 ,
* or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details
*
* You should have received a copy of the GNU Library General Public
* License along with this program ; if not , write to the
* Free Software Foundation , Inc . ,
* 51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
*/
2018-08-30 13:40:34 +03:00
# ifndef PANELSHADOWS_P_H
# define PANELSHADOWS_P_H
2017-01-31 22:25:00 +03:00
2018-12-02 03:05:52 +03:00
// Qt
2017-01-31 22:25:00 +03:00
# include <QSet>
2018-12-02 03:05:52 +03:00
// Plasma
2017-01-31 22:25:00 +03:00
# include "plasma/framesvg.h"
# include "plasma/svg.h"
2018-07-03 22:15:45 +03:00
class PanelShadows : public Plasma : : Svg
{
2017-01-31 22:25:00 +03:00
Q_OBJECT
public :
2018-08-30 13:40:34 +03:00
explicit PanelShadows ( QObject * parent = nullptr , const QString & prefix = QStringLiteral ( " widgets/panel-background " ) ) ;
2017-01-31 22:25:00 +03:00
~ PanelShadows ( ) override ;
static PanelShadows * self ( ) ;
void addWindow ( const QWindow * window , Plasma : : FrameSvg : : EnabledBorders enabledBorders = Plasma : : FrameSvg : : AllBorders ) ;
void removeWindow ( const QWindow * window ) ;
void setEnabledBorders ( const QWindow * window , Plasma : : FrameSvg : : EnabledBorders enabledBorders = Plasma : : FrameSvg : : AllBorders ) ;
bool enabled ( ) const ;
private :
class Private ;
Private * const d ;
Q_PRIVATE_SLOT ( d , void updateShadows ( ) )
Q_PRIVATE_SLOT ( d , void windowDestroyed ( QObject * deletedObject ) )
} ;
# endif
2018-08-30 13:40:34 +03:00