31 lines
623 B
C++
31 lines
623 B
C++
#ifndef MASKMANAGER_H
|
|
#define MASKMANAGER_H
|
|
|
|
#include <QWidget>
|
|
#include <QSet>
|
|
|
|
class MaskManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
//初始化时强制关联窗口
|
|
static void initialize(QWidget* mainWindow);
|
|
static MaskManager* instance();
|
|
|
|
void showMask(QWidget* requester);
|
|
void hideMask(QWidget* requester);
|
|
|
|
protected:
|
|
bool eventFilter(QObject* obj, QEvent* event) override;
|
|
|
|
private:
|
|
explicit MaskManager(QWidget* mainWindow);
|
|
static MaskManager* m_instance;
|
|
QWidget* m_mainWindow;
|
|
QWidget* m_maskLayer;
|
|
QSet<QWidget*> m_activeRequsets;
|
|
};
|
|
|
|
#endif //MASKMANAGER_H
|