From 43cd8c4fe7fbd9e0ee820fd3513f765545b0f3d5 Mon Sep 17 00:00:00 2001 From: Giulio Camuffo Date: Mon, 16 Jun 2014 10:37:37 +0300 Subject: [PATCH] Reduce headers inter-dependency in the QPA plugin Change-Id: I8b810e54531453b6a80250555c21bb0b1e6e76cc Reviewed-by: Robin Burchell --- .../platforms/wayland/qwaylanddatadevice.cpp | 1 + .../platforms/wayland/qwaylanddatadevice_p.h | 8 ++++++- .../wayland/qwaylanddatadevicemanager.cpp | 1 + .../wayland/qwaylanddatadevicemanager_p.h | 5 ++++- .../platforms/wayland/qwaylanddataoffer.cpp | 1 + .../platforms/wayland/qwaylanddataoffer_p.h | 5 +++-- .../platforms/wayland/qwaylanddatasource_p.h | 6 +++-- src/plugins/platforms/wayland/qwaylanddnd.cpp | 1 + src/plugins/platforms/wayland/qwaylanddnd_p.h | 5 ++++- .../wayland/qwaylandextendedoutput_p.h | 4 +++- .../platforms/wayland/qwaylandinputdevice.cpp | 1 + .../wayland/qwaylandnativeinterface.cpp | 1 + .../wayland/qwaylandnativeinterface_p.h | 4 +++- .../platforms/wayland/qwaylandqtkey.cpp | 1 + .../platforms/wayland/qwaylandqtkey_p.h | 4 +++- .../wayland/qwaylandshmbackingstore.cpp | 18 +++++++++++++++ .../wayland/qwaylandshmbackingstore_p.h | 22 ++----------------- .../platforms/wayland/qwaylandtouch.cpp | 1 + .../platforms/wayland/qwaylandtouch_p.h | 5 ++++- .../platforms/wayland/qwaylandwindow_p.h | 5 +++-- .../qwaylandwindowmanagerintegration.cpp | 1 + .../qwaylandwindowmanagerintegration_p.h | 4 +++- 22 files changed, 70 insertions(+), 34 deletions(-) diff --git a/src/plugins/platforms/wayland/qwaylanddatadevice.cpp b/src/plugins/platforms/wayland/qwaylanddatadevice.cpp index f5056f6d05f..8f690aae0fc 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevice.cpp +++ b/src/plugins/platforms/wayland/qwaylanddatadevice.cpp @@ -45,6 +45,7 @@ #include "qwaylanddatasource_p.h" #include "qwaylanddnd_p.h" #include "qwaylandinputdevice_p.h" +#include "qwaylanddisplay_p.h" #include #include diff --git a/src/plugins/platforms/wayland/qwaylanddatadevice_p.h b/src/plugins/platforms/wayland/qwaylanddatadevice_p.h index 4e98424e501..f5fad17723f 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevice_p.h +++ b/src/plugins/platforms/wayland/qwaylanddatadevice_p.h @@ -41,15 +41,21 @@ #ifndef QWAYLANDDATADEVICE_H #define QWAYLANDDATADEVICE_H -#include "qwaylanddisplay_p.h" +#include +#include + +#include QT_BEGIN_NAMESPACE +class QWaylandDisplay; class QMimeData; class QWaylandDataDeviceManager; class QWaylandDataOffer; class QWaylandDataSource; class QWindow; +class QWaylandInputDevice; +class QWaylandWindow; class QWaylandDataDevice : public QObject, public QtWayland::wl_data_device { diff --git a/src/plugins/platforms/wayland/qwaylanddatadevicemanager.cpp b/src/plugins/platforms/wayland/qwaylanddatadevicemanager.cpp index 5de28c00158..1aef773490f 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevicemanager.cpp +++ b/src/plugins/platforms/wayland/qwaylanddatadevicemanager.cpp @@ -44,6 +44,7 @@ #include "qwaylandinputdevice_p.h" #include "qwaylanddatadevice_p.h" #include "qwaylanddataoffer_p.h" +#include "qwaylanddisplay_p.h" #include diff --git a/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h b/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h index 6e2beafbe3e..55583c61b4c 100644 --- a/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h +++ b/src/plugins/platforms/wayland/qwaylanddatadevicemanager_p.h @@ -42,12 +42,15 @@ #ifndef QWAYLANDDATADEVICEMANAGER_H #define QWAYLANDDATADEVICEMANAGER_H -#include +#include +#include QT_BEGIN_NAMESPACE +class QWaylandDisplay; class QWaylandDataDevice; class QWaylandDataSource; +class QWaylandInputDevice; class Q_WAYLAND_CLIENT_EXPORT QWaylandDataDeviceManager : public QtWayland::wl_data_device_manager { diff --git a/src/plugins/platforms/wayland/qwaylanddataoffer.cpp b/src/plugins/platforms/wayland/qwaylanddataoffer.cpp index f7233092851..d1c85c7a40e 100644 --- a/src/plugins/platforms/wayland/qwaylanddataoffer.cpp +++ b/src/plugins/platforms/wayland/qwaylanddataoffer.cpp @@ -41,6 +41,7 @@ #include "qwaylanddataoffer_p.h" #include "qwaylanddatadevicemanager_p.h" +#include "qwaylanddisplay_p.h" #include #include diff --git a/src/plugins/platforms/wayland/qwaylanddataoffer_p.h b/src/plugins/platforms/wayland/qwaylanddataoffer_p.h index 9f5b6cf1e30..a21e18bdc8d 100644 --- a/src/plugins/platforms/wayland/qwaylanddataoffer_p.h +++ b/src/plugins/platforms/wayland/qwaylanddataoffer_p.h @@ -42,10 +42,11 @@ #ifndef QWAYLANDDATAOFFER_H #define QWAYLANDDATAOFFER_H -#include "qwaylanddisplay_p.h" - #include +#include +#include + QT_BEGIN_NAMESPACE class QWaylandDisplay; diff --git a/src/plugins/platforms/wayland/qwaylanddatasource_p.h b/src/plugins/platforms/wayland/qwaylanddatasource_p.h index 9568f507c47..a721336f7d8 100644 --- a/src/plugins/platforms/wayland/qwaylanddatasource_p.h +++ b/src/plugins/platforms/wayland/qwaylanddatasource_p.h @@ -42,14 +42,16 @@ #ifndef QWAYLANDDATASOURCE_H #define QWAYLANDDATASOURCE_H -#include +#include -#include +#include +#include QT_BEGIN_NAMESPACE class QMimeData; class QWaylandDataDeviceManager; +class QWaylandDisplay; class Q_WAYLAND_CLIENT_EXPORT QWaylandDataSource : public QObject, public QtWayland::wl_data_source { diff --git a/src/plugins/platforms/wayland/qwaylanddnd.cpp b/src/plugins/platforms/wayland/qwaylanddnd.cpp index 0d5eddf5bbf..996e647ccdc 100644 --- a/src/plugins/platforms/wayland/qwaylanddnd.cpp +++ b/src/plugins/platforms/wayland/qwaylanddnd.cpp @@ -45,6 +45,7 @@ #include "qwaylanddatadevicemanager_p.h" #include "qwaylanddataoffer_p.h" #include "qwaylandinputdevice_p.h" +#include "qwaylanddisplay_p.h" #include diff --git a/src/plugins/platforms/wayland/qwaylanddnd_p.h b/src/plugins/platforms/wayland/qwaylanddnd_p.h index 22b004712b8..1d236fad565 100644 --- a/src/plugins/platforms/wayland/qwaylanddnd_p.h +++ b/src/plugins/platforms/wayland/qwaylanddnd_p.h @@ -47,10 +47,13 @@ #include #include -#include + +#include QT_BEGIN_NAMESPACE +class QWaylandDisplay; + class Q_WAYLAND_CLIENT_EXPORT QWaylandDrag : public QBasicDrag { public: diff --git a/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h b/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h index f18fb8e57bf..4295412ec19 100644 --- a/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h +++ b/src/plugins/platforms/wayland/qwaylandextendedoutput_p.h @@ -42,11 +42,13 @@ #ifndef QWAYLANDEXTENDEDOUTPUT_H #define QWAYLANDEXTENDEDOUTPUT_H -#include #include +#include QT_BEGIN_NAMESPACE +class QWaylandDisplay; +class QWaylandScreen; class QWaylandExtendedOutput; class Q_WAYLAND_CLIENT_EXPORT QWaylandExtendedOutput : public QtWayland::qt_extended_output diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index cce2d979015..9c570c7c8b1 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -49,6 +49,7 @@ #include "qwaylandtouch_p.h" #include "qwaylandscreen_p.h" #include "qwaylandcursor_p.h" +#include "qwaylanddisplay_p.h" #include #include diff --git a/src/plugins/platforms/wayland/qwaylandnativeinterface.cpp b/src/plugins/platforms/wayland/qwaylandnativeinterface.cpp index f8d95bb2550..e3d6fef4a0a 100644 --- a/src/plugins/platforms/wayland/qwaylandnativeinterface.cpp +++ b/src/plugins/platforms/wayland/qwaylandnativeinterface.cpp @@ -46,6 +46,7 @@ #include "qwaylandintegration_p.h" #include "qwaylanddisplay_p.h" #include "qwaylandwindowmanagerintegration_p.h" +#include "qwaylandscreen_p.h" #include #include diff --git a/src/plugins/platforms/wayland/qwaylandnativeinterface_p.h b/src/plugins/platforms/wayland/qwaylandnativeinterface_p.h index b9ee2d0e87b..536cbe8dd53 100644 --- a/src/plugins/platforms/wayland/qwaylandnativeinterface_p.h +++ b/src/plugins/platforms/wayland/qwaylandnativeinterface_p.h @@ -42,13 +42,15 @@ #ifndef QWAYLANDNATIVEINTERFACE_H #define QWAYLANDNATIVEINTERFACE_H -#include #include #include +#include + QT_BEGIN_NAMESPACE class QWaylandIntegration; +class QWaylandScreen; class Q_WAYLAND_CLIENT_EXPORT QWaylandNativeInterface : public QPlatformNativeInterface { diff --git a/src/plugins/platforms/wayland/qwaylandqtkey.cpp b/src/plugins/platforms/wayland/qwaylandqtkey.cpp index 263390a1f2c..197914b0b9c 100644 --- a/src/plugins/platforms/wayland/qwaylandqtkey.cpp +++ b/src/plugins/platforms/wayland/qwaylandqtkey.cpp @@ -41,6 +41,7 @@ #include "qwaylandqtkey_p.h" #include "qwaylandinputdevice_p.h" +#include "qwaylanddisplay_p.h" QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandqtkey_p.h b/src/plugins/platforms/wayland/qwaylandqtkey_p.h index a9c4e99fa75..d00a90ee032 100644 --- a/src/plugins/platforms/wayland/qwaylandqtkey_p.h +++ b/src/plugins/platforms/wayland/qwaylandqtkey_p.h @@ -42,13 +42,15 @@ #ifndef QWAYLANDQTKEY_H #define QWAYLANDQTKEY_H -#include #include +#include #include QT_BEGIN_NAMESPACE +class QWaylandDisplay; + class Q_WAYLAND_CLIENT_EXPORT QWaylandQtKeyExtension : public QtWayland::qt_key_extension { public: diff --git a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp index 41f7da20093..0677ed0d398 100644 --- a/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp +++ b/src/plugins/platforms/wayland/qwaylandshmbackingstore.cpp @@ -290,6 +290,24 @@ void QWaylandShmBackingStore::updateDecorations() decorationPainter.drawImage(target, sourceImage, target); } +QWaylandDecoration *QWaylandShmBackingStore::windowDecoration() const +{ + return waylandWindow()->decoration(); +} + +QMargins QWaylandShmBackingStore::windowDecorationMargins() const +{ + if (windowDecoration()) + return windowDecoration()->margins(); + return QMargins(); +} + +QWaylandShmWindow *QWaylandShmBackingStore::waylandWindow() const +{ + return static_cast(window()->handle()); +} + + void QWaylandShmBackingStore::done(void *data, wl_callback *callback, uint32_t time) { Q_UNUSED(time); diff --git a/src/plugins/platforms/wayland/qwaylandshmbackingstore_p.h b/src/plugins/platforms/wayland/qwaylandshmbackingstore_p.h index 1affafabc2e..6097b5282c8 100644 --- a/src/plugins/platforms/wayland/qwaylandshmbackingstore_p.h +++ b/src/plugins/platforms/wayland/qwaylandshmbackingstore_p.h @@ -44,9 +44,6 @@ #include -#include -#include - #include #include #include @@ -54,6 +51,8 @@ QT_BEGIN_NAMESPACE class QWaylandDisplay; +class QWaylandDecoration; +class QWaylandShmWindow; class Q_WAYLAND_CLIENT_EXPORT QWaylandShmBuffer : public QWaylandBuffer { public: @@ -112,23 +111,6 @@ private: struct wl_callback *mFrameCallback; }; -inline QWaylandDecoration *QWaylandShmBackingStore::windowDecoration() const -{ - return waylandWindow()->decoration(); -} - -inline QMargins QWaylandShmBackingStore::windowDecorationMargins() const -{ - if (windowDecoration()) - return windowDecoration()->margins(); - return QMargins(); -} - -inline QWaylandShmWindow *QWaylandShmBackingStore::waylandWindow() const -{ - return static_cast(window()->handle()); -} - QT_END_NAMESPACE #endif diff --git a/src/plugins/platforms/wayland/qwaylandtouch.cpp b/src/plugins/platforms/wayland/qwaylandtouch.cpp index 01a19926007..71cc1c3cc98 100644 --- a/src/plugins/platforms/wayland/qwaylandtouch.cpp +++ b/src/plugins/platforms/wayland/qwaylandtouch.cpp @@ -41,6 +41,7 @@ #include "qwaylandtouch_p.h" #include "qwaylandinputdevice_p.h" +#include "qwaylanddisplay_p.h" QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/wayland/qwaylandtouch_p.h b/src/plugins/platforms/wayland/qwaylandtouch_p.h index bd299a1afd7..20827fa8f94 100644 --- a/src/plugins/platforms/wayland/qwaylandtouch_p.h +++ b/src/plugins/platforms/wayland/qwaylandtouch_p.h @@ -42,13 +42,16 @@ #ifndef QWAYLANDTOUCH_H #define QWAYLANDTOUCH_H -#include #include #include +#include QT_BEGIN_NAMESPACE +class QWaylandDisplay; +class QWaylandInputDevice; + class Q_WAYLAND_CLIENT_EXPORT QWaylandTouchExtension : public QtWayland::qt_touch_extension { public: diff --git a/src/plugins/platforms/wayland/qwaylandwindow_p.h b/src/plugins/platforms/wayland/qwaylandwindow_p.h index ce89e3d6b98..dbf76d11f32 100644 --- a/src/plugins/platforms/wayland/qwaylandwindow_p.h +++ b/src/plugins/platforms/wayland/qwaylandwindow_p.h @@ -48,9 +48,8 @@ #include -#include - #include +#include struct wl_egl_window; @@ -62,6 +61,8 @@ class QWaylandShellSurface; class QWaylandExtendedSurface; class QWaylandSubSurface; class QWaylandDecoration; +class QWaylandInputDevice; +class QWaylandScreen; class Q_WAYLAND_CLIENT_EXPORT QWaylandWindowConfigure { diff --git a/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration.cpp b/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration.cpp index 9e8ce88c642..c2e0153a55a 100644 --- a/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration.cpp +++ b/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration.cpp @@ -42,6 +42,7 @@ #include "qwaylandwindowmanagerintegration_p.h" #include "qwaylandscreen_p.h" #include "qwaylandwindow_p.h" +#include "qwaylanddisplay_p.h" #include #include diff --git a/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration_p.h b/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration_p.h index 844b122a056..0ad2e38dfb3 100644 --- a/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration_p.h +++ b/src/plugins/platforms/wayland/qwaylandwindowmanagerintegration_p.h @@ -46,14 +46,16 @@ #include #include -#include #include #include +#include QT_BEGIN_NAMESPACE class QWaylandWindow; +class QWaylandDisplay; + class QWaylandWindowManagerIntegrationPrivate; class Q_WAYLAND_CLIENT_EXPORT QWaylandWindowManagerIntegration : public QObject, public QPlatformServices, public QtWayland::qt_windowmanager