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"
45#if QT_CONFIG(draganddrop)
52#if QT_CONFIG(shortcut)
65 void createPlatformIntegration();
69 virtual void notifyLayoutDirectionChange();
70 virtual void notifyActiveWindowChange(
QWindow *previous);
72#if QT_CONFIG(commandlineparser)
78 void maybeLastWindowClosed();
79 bool lastWindowClosed()
const;
82 static void captureGlobalModifierState(
QEvent *
e);
89 {
return platform_integration; }
94 {
return platform_theme; }
143#ifndef QT_NO_GESTURES
148#ifndef QT_NO_CONTEXTMENU
152#if QT_CONFIG(draganddrop)
154 const QPoint &
p, Qt::DropActions supportedActions,
155 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
157 const QPoint &
p, Qt::DropActions supportedActions,
158 Qt::MouseButtons buttons, Qt::KeyboardModifiers
modifiers);
179 void _q_updateFocusObject(
QObject *
object);
204 constexpr inline qreal x() const noexcept{
return thePoint.x(); }
205 constexpr inline qreal y() const noexcept{
return thePoint.y(); }
206 Q_GUI_EXPORT
QPoint toPoint() const noexcept;
234 } lastCursorPosition;
251#ifndef QT_NO_CLIPBOARD
276#if QT_CONFIG(shortcut)
280#ifndef QT_NO_SESSIONMANAGER
306 virtual void notifyWindowIconChanged();
308 static void applyWindowGeometrySpecificationTo(
QWindow *
window);
312 static void resetCachedDevicePixelRatio();
317#ifndef QT_NO_SHORTCUT
321 static void updatePalette();
326 virtual void handleThemeChanged();
329 virtual QPalette basePalette()
const;
330 virtual void handlePaletteChanged(
const char *
className =
nullptr);
332#if QT_CONFIG(draganddrop)
333 virtual void notifyDragStarted(
const QDrag *);
337 static void clearPalette();
342 static int m_fakeMouseSourcePointId;
344 std::shared_ptr<QColorTrcLut> m_a8ColorProfile;
346 std::shared_ptr<QColorTrcLut> m_a32ColorProfile;
348 bool ownGlobalShareContext;
354 static qreal m_maxDevicePixelRatio;
363#if defined(Q_OS_WIN) || defined(Q_QDOC)
370 enum WindowActivationBehavior {
371 DefaultActivateWindow,
375 enum TouchWindowTouchType {
376 NormalTouch = 0x00000000,
377 FineTouch = 0x00000001,
378 WantPalmTouch = 0x00000002
384 DarkModeWindowFrames = 0x1,
390 virtual void setTouchWindowTouchType(TouchWindowTouchTypes
type) = 0;
391 virtual TouchWindowTouchTypes touchWindowTouchType()
const = 0;
393 virtual WindowActivationBehavior windowActivationBehavior()
const = 0;
394 virtual void setWindowActivationBehavior(WindowActivationBehavior behavior) = 0;
396 virtual void setHasBorderInFullScreenDefault(
bool border) = 0;
398 virtual bool isTabletMode()
const = 0;
400 virtual bool isWinTabEnabled()
const = 0;
401 virtual bool setWinTabEnabled(
bool enabled) = 0;
411 virtual int registerMimeType(
const QString &
mime) = 0;
413 virtual HWND createMessageWindow(
const QString &classNameTemplate,
415 QFunctionPointer eventProc =
nullptr)
const = 0;
417 virtual bool asyncExpose()
const = 0;
418 virtual void setAsyncExpose(
bool value) = 0;
421 virtual QVariant gpuList()
const = 0;
423 virtual void populateLightSystemPalette(
QPalette &pal)
const = 0;
The QClipboard class provides access to the window system clipboard.
virtual void eventDispatcherReady()
virtual void createEventDispatcher()
virtual bool canQuitAutomatically()
static QAbstractEventDispatcher * eventDispatcher()
Returns a pointer to the event dispatcher object for the main thread.
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)