Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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
5#include "qwindowsclipboard.h"
6#include "qwindowscontext.h"
8#include "qwin10helpers.h"
10#include "qwindowswindow.h"
11#include "qwindowsintegration.h"
12#include "qwindowstheme.h"
13
14#include <QtCore/qvariant.h>
15#include <QtCore/private/qfunctions_win_p.h>
16
17#include <QtGui/qpalette.h>
18
20
21void QWindowsApplication::setTouchWindowTouchType(QWindowsApplication::TouchWindowTouchTypes type)
22{
23 if (m_touchWindowTouchTypes == type)
24 return;
25 m_touchWindowTouchTypes = type;
26 if (auto ctx = QWindowsContext::instance())
27 ctx->registerTouchWindows();
28}
29
30QWindowsApplication::TouchWindowTouchTypes QWindowsApplication::touchWindowTouchType() const
31{
32 return m_touchWindowTouchTypes;
33}
34
35QWindowsApplication::WindowActivationBehavior QWindowsApplication::windowActivationBehavior() const
36{
37 return m_windowActivationBehavior;
38}
39
40void QWindowsApplication::setWindowActivationBehavior(WindowActivationBehavior behavior)
41{
42 m_windowActivationBehavior = behavior;
43}
44
46{
48}
49
51{
52#if QT_CONFIG(clipboard)
53 if (const QWindowsClipboard *clipboard = QWindowsClipboard::instance())
54 return qt_windowsIsTabletMode(clipboard->clipboardViewer());
55#endif
56 return false;
57}
58
60{
62 return ctx != nullptr && ctx->tabletSupport() != nullptr;
63}
64
66{
67 if (enabled == isWinTabEnabled())
68 return true;
70 if (!ctx)
71 return false;
72 return enabled ? ctx->initTablet() : ctx->disposeTablet();
73}
74
76{
78}
79
80QWindowsApplication::DarkModeHandling QWindowsApplication::darkModeHandling() const
81{
82 return m_darkModeHandling;
83}
84
85void QWindowsApplication::setDarkModeHandling(QWindowsApplication::DarkModeHandling handling)
86{
87 m_darkModeHandling = handling;
88}
89
91{
92 if (auto ctx = QWindowsContext::instance())
93 ctx->mimeConverter().registerMime(mime);
94}
95
97{
98 if (auto ctx = QWindowsContext::instance())
99 ctx->mimeConverter().unregisterMime(mime);
100}
101
103{
105}
106
108 const QString &windowName,
109 QFunctionPointer eventProc) const
110{
112 if (!ctx)
113 return nullptr;
114 auto wndProc = eventProc ? reinterpret_cast<WNDPROC>(eventProc) : DefWindowProc;
115 return ctx->createDummyWindow(classNameTemplate,
116 reinterpret_cast<const wchar_t*>(windowName.utf16()),
117 wndProc);
118}
119
121{
123 return ctx && ctx->asyncExpose();
124}
125
127{
129 ctx->setAsyncExpose(value);
130}
131
133{
135}
136
138{
140 const auto gpus = GpuDescription::detectAll();
141 for (const auto &gpu : gpus)
142 result.append(gpu.toVariant());
143 return result;
144}
145
147{
149}
150
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
const ushort * utf16() const
Returns the QString as a '\0\'-terminated array of unsigned shorts.
Definition qstring.cpp:6737
\inmodule QtCore
Definition qvariant.h:64
TouchWindowTouchTypes touchWindowTouchType() const override
void setWindowActivationBehavior(WindowActivationBehavior behavior) override
void populateLightSystemPalette(QPalette &palette) const override
void registerMime(QWindowsMimeConverter *mime) override
int registerMimeType(const QString &mime) override
bool isTabletMode() const override
void setAsyncExpose(bool value) override
bool setWinTabEnabled(bool enabled) override
DarkModeHandling darkModeHandling() const override
HWND createMessageWindow(const QString &classNameTemplate, const QString &windowName, QFunctionPointer eventProc=nullptr) const override
QVariant gpu() const override
WindowActivationBehavior windowActivationBehavior() const override
void setHasBorderInFullScreenDefault(bool border) override
QVariant gpuList() const override
bool isWinTabEnabled() const override
void setTouchWindowTouchType(TouchWindowTouchTypes type) override
bool isDarkMode() const override
bool asyncExpose() const override
void unregisterMime(QWindowsMimeConverter *mime) override
void setDarkModeHandling(DarkModeHandling handling) override
Clipboard implementation.
static QWindowsClipboard * instance()
Singleton container for all relevant information.
static bool isDarkMode()
static QWindowsContext * instance()
The QWindowsMimeConverter class maps open-standard MIME to Window Clipboard formats.
static int registerMimeType(const QString &mime)
Registers the MIME type mime, and returns an ID number identifying the format on Windows.
static QPalette systemPalette(Qt::ColorScheme)
static void setHasBorderInFullScreenDefault(bool border)
EGLContext ctx
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLint GLenum GLsizei GLsizei GLsizei GLint border
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLenum type
GLuint64EXT * result
[6]
QT_BEGIN_NAMESPACE bool qt_windowsIsTabletMode(HWND hwnd)
application x qt windows mime
[2]
static GpuDescription detect()
static QList< GpuDescription > detectAll()
QVariant toVariant() const