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