DtkDeclarative
DTK Declarative module
载入中...
搜索中...
未找到
dquickwindow_p.h
1// SPDX-FileCopyrightText: 2020 - 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DWINDOW_P_H
6#define DWINDOW_P_H
7
8#include <DObjectPrivate>
9#include <DObject>
10#include <DPlatformHandle>
11
12#include "dquickwindow.h"
13
14DQUICK_BEGIN_NAMESPACE
15
16class DQuickBehindWindowBlur;
17class DQuickWindowPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate
18{
19public:
21
22 DQuickWindowAttached *attached;
23
24private:
25 D_DECLARE_PUBLIC(DQuickWindow)
26};
27
28class DQuickWindowAttachedPrivate : public DTK_CORE_NAMESPACE::DObjectPrivate
29{
30public:
31 explicit DQuickWindowAttachedPrivate(QWindow *window, DQuickWindowAttached *qq);
33
34 bool ensurePlatformHandle();
35 void destoryPlatformHandle();
36 void _q_onWindowMotifHintsChanged(quint32 winId);
37 void addBlur(DQuickBehindWindowBlur *blur);
38 void removeBlur(DQuickBehindWindowBlur *blur);
39 void updateBlurAreaFor(DQuickBehindWindowBlur *blur);
40 void _q_updateBlurAreaForWindow();
41 void _q_updateClipPath();
42 void _q_ensurePlatformHandle();
43
44 QWindow *window = nullptr;
45 DPlatformHandle *handle = nullptr;
46 bool explicitEnable = false;
47
48 DWindowManagerHelper::WmWindowTypes wmWindowTypes;
49 DWindowManagerHelper::MotifFunctions motifFunctions;
50 DWindowManagerHelper::MotifDecorations motifDecorations;
51
52 QList<DQuickBehindWindowBlur*> blurList;
53 QQuickPath *clipPath = nullptr;
54 QQuickTransition *overlayExitedTransition = nullptr;
55 QQmlComponent *loadingOverlay = nullptr;
56 DQuickAppLoaderItem *appLoaderItem;
57private:
58 D_DECLARE_PUBLIC(DQuickWindowAttached)
59};
60
61DQUICK_END_NAMESPACE
62
63#endif //DWINDOW_P_H
Definition dquickapploaderitem_p.h:16
Definition dquickbehindwindowblur_p.h:19
Definition dquickwindow_p.h:29
Definition dquickwindow.h:49
Definition dquickwindow_p.h:18
Definition dquickwindow.h:28