File indexing completed on 2024-05-12 16:58:26
0001 #ifndef breezeblurhelper_h 0002 #define breezeblurhelper_h 0003 0004 ////////////////////////////////////////////////////////////////////////////// 0005 // breezeblurhelper.h 0006 // handle regions passed to kwin for blurring 0007 // ------------------- 0008 // 0009 // SPDX-FileCopyrightText: 2018 Alex Nemeth <alex.nemeth329@gmail.com> 0010 // 0011 // Largely rewritten from Oxygen widget style 0012 // SPDX-FileCopyrightText: 2007 Thomas Luebking <thomas.luebking@web.de> 0013 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0014 // 0015 // SPDX-License-Identifier: MIT 0016 ////////////////////////////////////////////////////////////////////////////// 0017 0018 #include "breeze.h" 0019 #include "breezehelper.h" 0020 0021 #include <QHash> 0022 #include <QObject> 0023 0024 namespace Breeze 0025 { 0026 class BlurHelper : public QObject 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 //! constructor 0032 BlurHelper(QObject *); 0033 0034 //! register widget 0035 void registerWidget(QWidget *); 0036 0037 //! register widget 0038 void unregisterWidget(QWidget *); 0039 0040 //! event filter 0041 bool eventFilter(QObject *, QEvent *) override; 0042 0043 protected: 0044 //! install event filter to object, in a unique way 0045 void addEventFilter(QObject *object) 0046 { 0047 object->removeEventFilter(this); 0048 object->installEventFilter(this); 0049 } 0050 0051 //! update blur regions for given widget 0052 void update(QWidget *) const; 0053 }; 0054 0055 } 0056 0057 #endif