Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qwindowsapplication.cpp
Go to the documentation of this file.
1
// Copyright (C) 2020 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
include
"qwindowsapplication.h"
6
#
if
QT_CONFIG
(
clipboard
)
7
#
include
"qwindowsclipboard.h"
8
#
endif
9
#
include
"qwindowscontext.h"
10
#
include
"qwindowsmimeregistry.h"
11
#
include
"qwin10helpers.h"
12
#
include
"qwindowsopengltester.h"
13
#
include
"qwindowswindow.h"
14
#
include
"qwindowsintegration.h"
15
#
include
"qwindowstheme.h"
16
17
#
include
<
QtCore
/
qvariant
.
h
>
18
#
include
<
QtCore
/
private
/
qfunctions_win_p
.
h
>
19
20
#
include
<
QtGui
/
qpalette
.
h
>
21
22
QT_BEGIN_NAMESPACE
23
24
void
QWindowsApplication
::
setTouchWindowTouchType
(QWindowsApplication::TouchWindowTouchTypes type)
25
{
26
if
(m_touchWindowTouchTypes == type)
27
return
;
28
m_touchWindowTouchTypes = type;
29
if
(
auto
ctx =
QWindowsContext
::
instance
(
)
)
30
ctx
->
registerTouchWindows
(
)
;
31
}
32
33
QWindowsApplication
::
TouchWindowTouchTypes
QWindowsApplication
::
touchWindowTouchType
()
const
34
{
35
return
m_touchWindowTouchTypes;
36
}
37
38
QWindowsApplication
::
WindowActivationBehavior
QWindowsApplication
::
windowActivationBehavior
()
const
39
{
40
return
m_windowActivationBehavior;
41
}
42
43
void
QWindowsApplication
::
setWindowActivationBehavior
(WindowActivationBehavior behavior)
44
{
45
m_windowActivationBehavior = behavior;
46
}
47
48
void
QWindowsApplication
::
setHasBorderInFullScreenDefault
(
bool
border)
49
{
50
QWindowsWindow
::
setHasBorderInFullScreenDefault
(
border
)
;
51
}
52
53
bool
QWindowsApplication
::
isTabletMode
()
const
54
{
55
#
if
QT_CONFIG
(
clipboard
)
56
if
(
const
QWindowsClipboard *clipboard = QWindowsClipboard::instance())
57
return
qt_windowsIsTabletMode(clipboard->clipboardViewer());
58
#
endif
59
return
false
;
60
}
61
62
bool
QWindowsApplication
::
isWinTabEnabled
()
const
63
{
64
auto
ctx =
QWindowsContext
::
instance
(
)
;
65
return
ctx !=
nullptr
&& ctx
->
tabletSupport
(
)
!=
nullptr
;
66
}
67
68
bool
QWindowsApplication
::
setWinTabEnabled
(
bool
enabled)
69
{
70
if
(enabled ==
isWinTabEnabled
(
)
)
71
return
true
;
72
auto
ctx =
QWindowsContext
::
instance
(
)
;
73
if
(!ctx)
74
return
false
;
75
return
enabled ? ctx
->
initTablet
(
)
: ctx
->
disposeTablet
(
)
;
76
}
77
78
QWindowsApplication
::
DarkModeHandling
QWindowsApplication
::
darkModeHandling
()
const
79
{
80
return
m_darkModeHandling;
81
}
82
83
void
QWindowsApplication
::
setDarkModeHandling
(QWindowsApplication::DarkModeHandling handling)
84
{
85
m_darkModeHandling = handling;
86
}
87
88
void
QWindowsApplication
::
registerMime
(QWindowsMimeConverter *mime)
89
{
90
if
(
auto
ctx =
QWindowsContext
::
instance
(
)
)
91
ctx
->
mimeConverter
(
)
.registerMime(mime);
92
}
93
94
void
QWindowsApplication
::
unregisterMime
(QWindowsMimeConverter *mime)
95
{
96
if
(
auto
ctx =
QWindowsContext
::
instance
(
)
)
97
ctx
->
mimeConverter
(
)
.unregisterMime(mime);
98
}
99
100
int
QWindowsApplication
::
registerMimeType
(
const
QString &mime)
101
{
102
return
QWindowsMimeRegistry::registerMimeType(mime);
103
}
104
105
HWND
QWindowsApplication
::
createMessageWindow
(
const
QString &classNameTemplate,
106
const
QString &windowName,
107
QFunctionPointer eventProc)
const
108
{
109
QWindowsContext
*ctx =
QWindowsContext
::
instance
(
)
;
110
if
(!ctx)
111
return
nullptr
;
112
auto
wndProc = eventProc ?
reinterpret_cast
<WNDPROC>(eventProc) : DefWindowProc;
113
return
ctx->createDummyWindow(classNameTemplate,
114
reinterpret_cast
<
const
wchar_t
*>(windowName.utf16()),
115
wndProc);
116
}
117
118
bool
QWindowsApplication
::
asyncExpose
()
const
119
{
120
QWindowsContext
*ctx =
QWindowsContext
::
instance
(
)
;
121
return
ctx && ctx
->
asyncExpose
(
)
;
122
}
123
124
void
QWindowsApplication
::
setAsyncExpose
(
bool
value)
125
{
126
if
(
QWindowsContext
*ctx =
QWindowsContext
::
instance
(
)
)
127
ctx
->
setAsyncExpose
(
value
)
;
128
}
129
130
QVariant
QWindowsApplication
::
gpu
()
const
131
{
132
return
GpuDescription
::
detect
(
)
.
toVariant
();
133
}
134
135
QVariant
QWindowsApplication
::
gpuList
()
const
136
{
137
QVariantList result;
138
const
auto
gpus = GpuDescription::detectAll();
139
for
(
const
auto
&gpu : gpus)
140
result.append(gpu.toVariant());
141
return
result;
142
}
143
144
void
QWindowsApplication
::
populateLightSystemPalette
(QPalette &result)
const
145
{
146
result = QWindowsTheme::systemPalette(Qt::ColorScheme::Light);
147
}
148
149
QT_END_NAMESPACE
QWindowsApplication
Definition
qwindowsapplication.h:13
QWindowsApplication::touchWindowTouchType
TouchWindowTouchTypes touchWindowTouchType() const override
Definition
qwindowsapplication.cpp:33
QWindowsApplication::setWindowActivationBehavior
void setWindowActivationBehavior(WindowActivationBehavior behavior) override
Definition
qwindowsapplication.cpp:43
QWindowsApplication::populateLightSystemPalette
void populateLightSystemPalette(QPalette &palette) const override
Definition
qwindowsapplication.cpp:144
QWindowsApplication::registerMime
void registerMime(QWindowsMimeConverter *mime) override
Definition
qwindowsapplication.cpp:88
QWindowsApplication::registerMimeType
int registerMimeType(const QString &mime) override
Definition
qwindowsapplication.cpp:100
QWindowsApplication::isTabletMode
bool isTabletMode() const override
Definition
qwindowsapplication.cpp:53
QWindowsApplication::setAsyncExpose
void setAsyncExpose(bool value) override
Definition
qwindowsapplication.cpp:124
QWindowsApplication::setWinTabEnabled
bool setWinTabEnabled(bool enabled) override
Definition
qwindowsapplication.cpp:68
QWindowsApplication::darkModeHandling
DarkModeHandling darkModeHandling() const override
Definition
qwindowsapplication.cpp:78
QWindowsApplication::createMessageWindow
HWND createMessageWindow(const QString &classNameTemplate, const QString &windowName, QFunctionPointer eventProc=nullptr) const override
Definition
qwindowsapplication.cpp:105
QWindowsApplication::gpu
QVariant gpu() const override
Definition
qwindowsapplication.cpp:130
QWindowsApplication::windowActivationBehavior
WindowActivationBehavior windowActivationBehavior() const override
Definition
qwindowsapplication.cpp:38
QWindowsApplication::setHasBorderInFullScreenDefault
void setHasBorderInFullScreenDefault(bool border) override
Definition
qwindowsapplication.cpp:48
QWindowsApplication::gpuList
QVariant gpuList() const override
Definition
qwindowsapplication.cpp:135
QWindowsApplication::isWinTabEnabled
bool isWinTabEnabled() const override
Definition
qwindowsapplication.cpp:62
QWindowsApplication::setTouchWindowTouchType
void setTouchWindowTouchType(TouchWindowTouchTypes type) override
Definition
qwindowsapplication.cpp:24
QWindowsApplication::asyncExpose
bool asyncExpose() const override
Definition
qwindowsapplication.cpp:118
QWindowsApplication::unregisterMime
void unregisterMime(QWindowsMimeConverter *mime) override
Definition
qwindowsapplication.cpp:94
QWindowsApplication::setDarkModeHandling
void setDarkModeHandling(DarkModeHandling handling) override
Definition
qwindowsapplication.cpp:83
QWindowsContext
Singleton container for all relevant information.
Definition
qwindowscontext.h:50
QWindowsContext::asyncExpose
bool asyncExpose() const
Definition
qwindowscontext.cpp:1292
QWindowsContext::tabletSupport
QWindowsTabletSupport * tabletSupport() const
Definition
qwindowscontext.cpp:680
QWindowsContext::registerTouchWindows
void registerTouchWindows()
Definition
qwindowscontext.cpp:241
QWindowsContext::disposeTablet
bool disposeTablet()
Definition
qwindowscontext.cpp:260
QWindowsContext::setAsyncExpose
void setAsyncExpose(bool value)
Definition
qwindowscontext.cpp:1297
QWindowsContext::initTablet
bool initTablet()
Definition
qwindowscontext.cpp:250
QWindowsContext::mimeConverter
QWindowsMimeRegistry & mimeConverter() const
Definition
qwindowscontext.cpp:670
QWindowsContext::instance
static QWindowsContext * instance()
Definition
qwindowscontext.cpp:450
QWindowsWindow
Raster or OpenGL Window.
Definition
qwindowswindow.h:188
QWindowsWindow::setHasBorderInFullScreenDefault
static void setHasBorderInFullScreenDefault(bool border)
Definition
qwindowswindow.cpp:4086
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
GpuDescription
Definition
qwindowsopengltester.h:19
GpuDescription::detect
static GpuDescription detect()
Definition
qwindowsopengltester.cpp:86
GpuDescription::toVariant
QVariant toVariant() const
Definition
qwindowsopengltester.cpp:182
qtbase
src
plugins
platforms
windows
qwindowsapplication.cpp
Generated on
for Qt by
1.18.0