DtkWidget
DTK Widget module
载入中...
搜索中...
未找到
dplatformwindowhandle.h
1// SPDX-FileCopyrightText: 2017 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DPLATFORMWINDOWHANDLE_H
6#define DPLATFORMWINDOWHANDLE_H
7
8#include <dtkwidget_global.h>
9#include <dtkgui_global.h>
10#include <DPlatformHandle>
11
12QT_BEGIN_NAMESPACE
13class QWidget;
14QT_END_NAMESPACE
15
16DWIDGET_BEGIN_NAMESPACE
17
18class DPlatformWindowHandle : public DPlatformHandle
19{
20 Q_OBJECT
21
22public:
23 explicit DPlatformWindowHandle(QWidget *widget, QObject *parent = nullptr);
24
25 static void enableDXcbForWindow(QWidget *widget);
26 static void enableDXcbForWindow(QWidget *widget, bool redirectContent);
27 static bool isEnabledDXcb(const QWidget *widget);
28
29 static bool setWindowBlurAreaByWM(QWidget *widget, const QVector<WMBlurArea> &area);
30 static bool setWindowBlurAreaByWM(QWidget *widget, const QList<QPainterPath> &paths);
31 static bool setWindowWallpaperParaByWM(QWidget *widget, const QRect &area, WallpaperScaleMode sMode, WallpaperFillMode fMode);
32
33 using DPlatformHandle::setWindowBlurAreaByWM;
34 using DPlatformHandle::setWindowWallpaperParaByWM;
35};
36
37DWIDGET_END_NAMESPACE
38
39#endif // DPLATFORMWINDOWHANDLE_H
Definition dplatformwindowhandle.h:19