diff options
Diffstat (limited to 'src/plugins/platforms/wasm/qwasmcompositor.h')
-rw-r--r-- | src/plugins/platforms/wasm/qwasmcompositor.h | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/plugins/platforms/wasm/qwasmcompositor.h b/src/plugins/platforms/wasm/qwasmcompositor.h index 7d3ea52b39..4953d65233 100644 --- a/src/plugins/platforms/wasm/qwasmcompositor.h +++ b/src/plugins/platforms/wasm/qwasmcompositor.h @@ -15,6 +15,8 @@ QT_BEGIN_NAMESPACE class QWasmWindow; class QWasmScreen; +enum class QWasmWindowTreeNodeChangeType; + class QWasmCompositor final : public QObject { Q_OBJECT @@ -22,46 +24,35 @@ public: QWasmCompositor(QWasmScreen *screen); ~QWasmCompositor() final; - void addWindow(QWasmWindow *window); - void removeWindow(QWasmWindow *window); - void setVisible(QWasmWindow *window, bool visible); - void setActive(QWasmWindow *window); - void raise(QWasmWindow *window); - void lower(QWasmWindow *window); - void windowPositionPreferenceChanged(QWasmWindow *window, Qt::WindowFlags flags); - QWindow *windowAt(QPoint globalPoint, int padding = 0) const; - QWindow *keyWindow() const; + void onScreenDeleting(); QWasmScreen *screen(); + void setEnabled(bool enabled); - enum UpdateRequestDeliveryType { ExposeEventDelivery, UpdateRequestDelivery }; + static bool releaseRequestUpdateHold(); + void requestUpdate(); + enum UpdateRequestDeliveryType { ExposeEventDelivery, UpdateRequestDelivery }; void requestUpdateWindow(QWasmWindow *window, UpdateRequestDeliveryType updateType = ExposeEventDelivery); void handleBackingStoreFlush(QWindow *window); + void onWindowTreeChanged(QWasmWindowTreeNodeChangeType changeType, QWasmWindow *window); private: void frame(const QList<QWasmWindow *> &windows); - void onTopWindowChanged(); - void deregisterEventHandlers(); - void requestUpdate(); void deliverUpdateRequests(); void deliverUpdateRequest(QWasmWindow *window, UpdateRequestDeliveryType updateType); - void updateEnabledState(); - - QWasmWindowStack m_windowStack; - QWasmWindow *m_activeWindow = nullptr; - bool m_isEnabled = true; QMap<QWasmWindow *, UpdateRequestDeliveryType> m_requestUpdateWindows; int m_requestAnimationFrameId = -1; bool m_inDeliverUpdateRequest = false; + static bool m_requestUpdateHoldEnabled; }; QT_END_NAMESPACE |