diff options
Diffstat (limited to 'src/gui/kernel/qwindow_p.h')
-rw-r--r-- | src/gui/kernel/qwindow_p.h | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index ef633d093a..b3722a6ed8 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -26,6 +26,8 @@ #include <QtGui/qicon.h> #include <QtGui/qpalette.h> +#include <QtCore/qpointer.h> + QT_BEGIN_NAMESPACE class Q_GUI_EXPORT QWindowPrivate : public QObjectPrivate @@ -42,7 +44,7 @@ public: QWindowPrivate(); ~QWindowPrivate() override; - void init(QScreen *targetScreen = nullptr); + void init(QWindow *parent, QScreen *targetScreen = nullptr); #ifndef QT_NO_CURSOR void setCursor(const QCursor *c = nullptr); @@ -64,7 +66,7 @@ public: void updateSiblingPosition(SiblingPosition); bool windowRecreationRequired(QScreen *newScreen) const; - void create(bool recursive, WId nativeHandle = 0); + void create(bool recursive); void destroy(); void setTopLevelScreen(QScreen *newScreen, bool recreate); void connectToScreen(QScreen *topLevelScreen); @@ -74,6 +76,16 @@ public: void setTransientParent(QWindow *parent); virtual void clearFocusObject(); + + enum class FocusTarget { + First, + Last, + Current, + Next, + Prev + }; + virtual void setFocusToTarget(FocusTarget, Qt::FocusReason) {} + virtual QRectF closestAcceptableGeometry(const QRectF &rect) const; void setMinOrMaxSize(QSize *oldSizeMember, const QSize &size, @@ -85,10 +97,14 @@ public: virtual bool participatesInLastWindowClosed() const; virtual bool treatAsVisible() const; + const QWindow *forwardToPopup(QEvent *event, const QWindow *activePopupOnPress); + bool isPopup() const { return (windowFlags & Qt::WindowType_Mask) == Qt::Popup; } void setAutomaticPositionAndResizeEnabled(bool a) { positionAutomatic = resizeAutomatic = a; } + bool updateDevicePixelRatio(); + static QWindowPrivate *get(QWindow *window) { return window->d_func(); } static Qt::WindowState effectiveState(Qt::WindowStates); @@ -106,6 +122,7 @@ public: QString windowFilePath; QIcon windowIcon; QRect geometry; + qreal devicePixelRatio = 1.0; Qt::WindowStates windowState = Qt::WindowNoState; QWindow::Visibility visibility = QWindow::Hidden; bool resizeEventPending = true; @@ -140,7 +157,6 @@ public: bool hasCursor = false; #endif - bool compositing = false; QElapsedTimer lastComposeTime; #if QT_CONFIG(vulkan) |