Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
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
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
75QWindowsApplication::DarkModeHandling QWindowsApplication::darkModeHandling() const
76{
77 return m_darkModeHandling;
78}
79
80void QWindowsApplication::setDarkModeHandling(QWindowsApplication::DarkModeHandling handling)
81{
82 m_darkModeHandling = handling;
83}
84
86{
87 if (auto ctx = QWindowsContext::instance())
88 ctx->mimeConverter().registerMime(mime);
89}
90
92{
93 if (auto ctx = QWindowsContext::instance())
94 ctx->mimeConverter().unregisterMime(mime);
95}
96
101
103 const QString &windowName,
104 QFunctionPointer eventProc) const
105{
107 if (!ctx)
108 return nullptr;
109 auto wndProc = eventProc ? reinterpret_cast<WNDPROC>(eventProc) : DefWindowProc;
110 return ctx->createDummyWindow(classNameTemplate,
111 reinterpret_cast<const wchar_t*>(windowName.utf16()),
112 wndProc);
113}
114
116{
118 return ctx && ctx->asyncExpose();
119}
120
122{
124 ctx->setAsyncExpose(value);
125}
126
128{
129 return GpuDescription::detect().toVariant();
130}
131
133{
135 const auto gpus = GpuDescription::detectAll();
136 for (const auto &gpu : gpus)
137 result.append(gpu.toVariant());
138 return result;
139}
140
145
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
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 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 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()