4#ifndef QGUIAPPLICATION_P_H
5#define QGUIAPPLICATION_P_H
18#include <QtGui/private/qtguiglobal_p.h>
19#include <QtGui/qguiapplication.h>
20#include <QtGui/qicon.h>
22#include <QtCore/QHash>
23#include <QtCore/QPointF>
24#include <QtCore/private/qcoreapplication_p.h>
26#include <QtCore/qnativeinterface.h>
27#include <QtCore/private/qnativeinterface_p.h>
28#include <QtCore/private/qnumeric_p.h>
29#include <QtCore/private/qthread_p.h>
31#include <qpa/qwindowsysteminterface.h>
32#include <qpa/qwindowsysteminterface_p.h>
33#if QT_CONFIG(shortcut)
34# include "private/qshortcutmap_p.h"
37#include <QtCore/qpointer.h>
47#if QT_CONFIG(draganddrop)
54#if QT_CONFIG(shortcut)
67 void createPlatformIntegration();
68 void createEventDispatcher()
override;
69 void eventDispatcherReady()
override;
71 virtual void notifyLayoutDirectionChange();
72 virtual void notifyActiveWindowChange(
QWindow *previous);
74#if QT_CONFIG(commandlineparser)
75 void addQtOptions(QList<QCommandLineOption> *options)
override;
77 bool canQuitAutomatically()
override;
80 void maybeLastWindowClosed();
81 bool lastWindowClosed()
const;
84 static void captureGlobalModifierState(
QEvent *e);
91 {
return platform_integration; }
96 {
return platform_theme; }
146#ifndef QT_NO_GESTURES
151#ifndef QT_NO_CONTEXTMENU
155#if QT_CONFIG(draganddrop)
157 const QPoint &
p, Qt::DropActions supportedActions,
158 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
160 const QPoint &
p, Qt::DropActions supportedActions,
161 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
182 void _q_updateFocusObject(
QObject *
object);
207 constexpr inline qreal x() const noexcept{
return thePoint.x(); }
208 constexpr inline qreal y() const noexcept{
return thePoint.y(); }
209 Q_GUI_EXPORT
QPoint toPoint() const noexcept;
237 } lastCursorPosition;
254#ifndef QT_NO_CLIPBOARD
279#if QT_CONFIG(shortcut)
283#ifndef QT_NO_SESSIONMANAGER
309 virtual void notifyWindowIconChanged();
311 static void applyWindowGeometrySpecificationTo(
QWindow *
window);
315 static void resetCachedDevicePixelRatio();
320#ifndef QT_NO_SHORTCUT
324 static void updatePalette();
329 virtual void handleThemeChanged();
332 virtual QPalette basePalette()
const;
333 virtual void handlePaletteChanged(
const char *
className =
nullptr);
335#if QT_CONFIG(draganddrop)
336 virtual void notifyDragStarted(
const QDrag *);
340 static void clearPalette();
345 static int m_fakeMouseSourcePointId;
347 std::shared_ptr<QColorTrcLut> m_a8ColorProfile;
349 std::shared_ptr<QColorTrcLut> m_a32ColorProfile;
351 bool ownGlobalShareContext;
357 static qreal m_maxDevicePixelRatio;
366#if defined(Q_OS_WIN) || defined(Q_QDOC)
373 enum WindowActivationBehavior {
374 DefaultActivateWindow,
378 enum TouchWindowTouchType {
379 NormalTouch = 0x00000000,
380 FineTouch = 0x00000001,
381 WantPalmTouch = 0x00000002
387 DarkModeWindowFrames = 0x1,
393 virtual void setTouchWindowTouchType(TouchWindowTouchTypes
type) = 0;
394 virtual TouchWindowTouchTypes touchWindowTouchType()
const = 0;
396 virtual WindowActivationBehavior windowActivationBehavior()
const = 0;
397 virtual void setWindowActivationBehavior(WindowActivationBehavior behavior) = 0;
399 virtual void setHasBorderInFullScreenDefault(
bool border) = 0;
401 virtual bool isTabletMode()
const = 0;
403 virtual bool isWinTabEnabled()
const = 0;
404 virtual bool setWinTabEnabled(
bool enabled) = 0;
412 virtual int registerMimeType(
const QString &
mime) = 0;
414 virtual HWND createMessageWindow(
const QString &classNameTemplate,
416 QFunctionPointer eventProc =
nullptr)
const = 0;
418 virtual bool asyncExpose()
const = 0;
419 virtual void setAsyncExpose(
bool value) = 0;
422 virtual QVariant gpuList()
const = 0;
424 virtual void populateLightSystemPalette(
QPalette &pal)
const = 0;
The QClipboard class provides access to the window system clipboard.
static QCoreApplication * instance() noexcept
Returns a pointer to the application's QCoreApplication (or QGuiApplication/QApplication) instance.
Type
This enum type defines the valid event types in Qt.
static Qt::ApplicationState applicationState
static bool obey_desktop_settings
virtual bool closeAllPopups()
static QPointer< QWindow > currentDragWindow
QHash< QWindow *, SynthesizedMouseData > synthesizedMousePoints
QSessionManager * session_manager
QEvent::Type lastTouchType
static QWindow * currentMousePressWindow
QInputMethod * inputMethod
static Qt::KeyboardModifiers modifier_buttons
static QPlatformIntegration * platformIntegration()
static QWindowList window_list
static QList< TabletPointData > tabletDevicePoints
QList< QCursor > cursor_list
static QStyleHints * styleHints
static QList< QObject * > generic_plugin_list
static Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment)
static QList< QScreen * > screen_list
static QPalette * app_pal
static QAbstractEventDispatcher * qt_qpa_core_dispatcher()
static void processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent *e)
static QClipboard * qt_clipboard
static void updateFilteredScreenOrientation(QScreen *screen)
static QGuiApplicationPrivate * instance()
static Qt::HighDpiScaleFactorRoundingPolicy highDpiScaleFactorRoundingPolicy
static QString * desktopFileName
static Qt::MouseButtons mouse_buttons
static QWindow * currentMouseWindow
static QString styleOverride
static QPlatformTheme * platform_theme
static QString * platform_name
static QWindow * focus_window
static Qt::MouseButton mousePressButton
virtual bool popupActive()
virtual QPixmap applyQIconStyleHelper(QIcon::Mode, const QPixmap &basePixmap) const
static QString * displayName
QWindowList modalWindowList
static QPlatformIntegration * platform_integration
static bool quitOnLastWindowClosed
static QPlatformTheme * platformTheme()
The QIcon class provides scalable icons in different modes and states.
Mode
This enum type describes the mode for which a pixmap is intended to be used.
The QPalette class contains color groups for each widget state.
Returns a copy of the pixmap that is transformed using the given transformation transform and transfo...
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QScreen class is used to query screen properties. \inmodule QtGui.
The QSessionManager class provides access to the session manager.
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QStyleHints class contains platform specific hints and settings. \inmodule QtGui.
The QWindowsMimeConverter class maps open-standard MIME to Window Clipboard formats.
EGLImageKHR int int EGLuint64KHR * modifiers
Combined button and popup list for selecting options.
HighDpiScaleFactorRoundingPolicy
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_FLAGS(Flags, Enum)
#define Q_DECLARE_OPERATORS_FOR_FLAGS(Flags)
bool qFuzzyCompare(qfloat16 p1, qfloat16 p2) noexcept
#define QT_DECLARE_NATIVE_INTERFACE(...)
constexpr static Q_DECL_CONST_FUNCTION double qt_inf() noexcept
GLfloat GLfloat GLfloat w
[0]
GLint GLenum GLsizei GLsizei GLsizei GLint border
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLuint GLsizei const GLchar * message
const char className[16]
[1]
application x qt windows mime
[2]
void processTouchEvent()
[toString-overload]
friend constexpr bool operator==(const QLastCursorPosition &p1, const QPointF &p2) noexcept
friend constexpr bool operator!=(const QLastCursorPosition &p1, const QPointF &p2) noexcept
friend constexpr bool operator==(const QPointF &p1, const QLastCursorPosition &p2) noexcept
constexpr qreal x() const noexcept
friend constexpr bool operator!=(const QPointF &p1, const QLastCursorPosition &p2) noexcept
constexpr qreal y() const noexcept
constexpr Q_IMPLICIT QLastCursorPosition(QPointF p) noexcept
constexpr QLastCursorPosition() noexcept
QPointer< QWindow > window
SynthesizedMouseData(const QPointF &p, const QPointF &sp, QWindow *w)
TabletPointData(qint64 devId=0)