diff options
Diffstat (limited to 'src/gui/kernel/qwindow_p.h')
-rw-r--r-- | src/gui/kernel/qwindow_p.h | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/gui/kernel/qwindow_p.h b/src/gui/kernel/qwindow_p.h index 3212a1d6fa..40ab06af8b 100644 --- a/src/gui/kernel/qwindow_p.h +++ b/src/gui/kernel/qwindow_p.h @@ -22,7 +22,11 @@ #include <QtCore/private/qobject_p.h> #include <QtCore/qelapsedtimer.h> -#include <QtGui/QIcon> +#include <QtCore/qxpfunctional.h> +#include <QtGui/qicon.h> +#include <QtGui/qpalette.h> + +#include <QtCore/qpointer.h> QT_BEGIN_NAMESPACE @@ -40,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); @@ -52,6 +56,7 @@ public: QWindow *topLevelWindow(QWindow::AncestorMode mode = QWindow::IncludeTransients) const; virtual QWindow *eventReceiver() { Q_Q(QWindow); return q; } + virtual QPalette windowPalette() const { return QPalette(); } virtual void setVisible(bool visible); void updateVisibility(); @@ -61,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); @@ -71,11 +76,21 @@ 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, - std::function<void()> funcWidthChanged, - std::function<void()> funcHeightChanged); + qxp::function_ref<void()> funcWidthChanged, + qxp::function_ref<void()> funcHeightChanged); virtual void processSafeAreaMarginsChanged() {} @@ -86,6 +101,8 @@ public: void setAutomaticPositionAndResizeEnabled(bool a) { positionAutomatic = resizeAutomatic = a; } + bool updateDevicePixelRatio(); + static QWindowPrivate *get(QWindow *window) { return window->d_func(); } static Qt::WindowState effectiveState(Qt::WindowStates); @@ -103,6 +120,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; @@ -137,7 +155,6 @@ public: bool hasCursor = false; #endif - bool compositing = false; QElapsedTimer lastComposeTime; #if QT_CONFIG(vulkan) |