diff options
17 files changed, 60 insertions, 42 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8e60f0ba..d970fcf5 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -52,6 +52,7 @@ if (QT_FEATURE_wayland_server) endif() if (QT_FEATURE_wayland_server OR QT_FEATURE_wayland_client) + add_subdirectory(hardwareintegration) add_subdirectory(plugins) add_subdirectory(imports) endif() diff --git a/src/hardwareintegration/CMakeLists.txt b/src/hardwareintegration/CMakeLists.txt new file mode 100644 index 00000000..599de861 --- /dev/null +++ b/src/hardwareintegration/CMakeLists.txt @@ -0,0 +1,3 @@ +if(TARGET Qt::WaylandClient) + add_subdirectory(client) +endif() diff --git a/src/hardwareintegration/client/CMakeLists.txt b/src/hardwareintegration/client/CMakeLists.txt new file mode 100644 index 00000000..5f411192 --- /dev/null +++ b/src/hardwareintegration/client/CMakeLists.txt @@ -0,0 +1,3 @@ +if(QT_FEATURE_wayland_egl) + add_subdirectory(wayland-egl) +endif() diff --git a/src/hardwareintegration/client/wayland-egl/CMakeLists.txt b/src/hardwareintegration/client/wayland-egl/CMakeLists.txt new file mode 100644 index 00000000..0974f2ec --- /dev/null +++ b/src/hardwareintegration/client/wayland-egl/CMakeLists.txt @@ -0,0 +1,30 @@ +# Generated from wayland-egl.pro. + +##################################################################### +## WaylandEglClientHwIntegration Module: +##################################################################### +qt_find_package(EGL) # special case + +qt_internal_add_module(WaylandEglClientHwIntegration + CONFIG_MODULE_NAME wayland_egl_client_hw_integration + INTERNAL_MODULE + SOURCES + qwaylandeglclientbufferintegration.cpp qwaylandeglclientbufferintegration_p.h + qwaylandeglinclude_p.h + qwaylandeglwindow.cpp qwaylandeglwindow_p.h + qwaylandglcontext.cpp qwaylandglcontext_p.h + INCLUDE_DIRECTORIES + ${CMAKE_CURRENT_SOURCE_DIR} + PUBLIC_LIBRARIES + ${CMAKE_DL_LIBS} + EGL::EGL + Qt::Core + Qt::Gui + Qt::OpenGLPrivate + Qt::WaylandClientPrivate + Wayland::Client + Wayland::Egl +) + +#### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>: +# MODULE = "wayland_egl_client_hw_integration" diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp index dcdc9c90..7b9bd876 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp @@ -37,10 +37,10 @@ ** ****************************************************************************/ -#include "qwaylandeglclientbufferintegration.h" +#include "qwaylandeglclientbufferintegration_p.h" -#include "qwaylandeglwindow.h" -#include "qwaylandglcontext.h" +#include "qwaylandeglwindow_p.h" +#include "qwaylandglcontext_p.h" #include <wayland-client-core.h> diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration_p.h index 0c532623..7ad529de 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration_p.h @@ -42,7 +42,7 @@ #include <QtWaylandClient/private/qwaylandclientbufferintegration_p.h> -#include "qwaylandeglinclude.h" +#include "qwaylandeglinclude_p.h" QT_BEGIN_NAMESPACE @@ -52,7 +52,7 @@ namespace QtWaylandClient { class QWaylandWindow; -class QWaylandEglClientBufferIntegration : public QWaylandClientBufferIntegration +class Q_WAYLAND_CLIENT_EXPORT QWaylandEglClientBufferIntegration : public QWaylandClientBufferIntegration { public: QWaylandEglClientBufferIntegration(); diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglinclude.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglinclude_p.h index 0f3b505a..0f3b505a 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglinclude.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglinclude_p.h diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp index 355aca86..12638096 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp @@ -37,10 +37,10 @@ ** ****************************************************************************/ -#include "qwaylandeglwindow.h" +#include "qwaylandeglwindow_p.h" #include <QtWaylandClient/private/qwaylandscreen_p.h> -#include "qwaylandglcontext.h" +#include "qwaylandglcontext_p.h" #include <QtGui/private/qeglconvenience_p.h> diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow_p.h index 0079dfef..0bf6cc76 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow_p.h @@ -41,8 +41,8 @@ #define QWAYLANDEGLWINDOW_H #include <QtWaylandClient/private/qwaylandwindow_p.h> -#include "qwaylandeglinclude.h" -#include "qwaylandeglclientbufferintegration.h" +#include "qwaylandeglinclude_p.h" +#include "qwaylandeglclientbufferintegration_p.h" QT_BEGIN_NAMESPACE @@ -52,7 +52,7 @@ namespace QtWaylandClient { class QWaylandGLContext; -class QWaylandEglWindow : public QWaylandWindow +class Q_WAYLAND_CLIENT_EXPORT QWaylandEglWindow : public QWaylandWindow { Q_OBJECT public: diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp index 9e6c1188..b6106e93 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp +++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp @@ -37,14 +37,14 @@ ** ****************************************************************************/ -#include "qwaylandglcontext.h" +#include "qwaylandglcontext_p.h" #include <QtWaylandClient/private/qwaylanddisplay_p.h> #include <QtWaylandClient/private/qwaylandwindow_p.h> #include <QtWaylandClient/private/qwaylandsubsurface_p.h> #include <QtWaylandClient/private/qwaylandabstractdecoration_p.h> #include <QtWaylandClient/private/qwaylandintegration_p.h> -#include "qwaylandeglwindow.h" +#include "qwaylandeglwindow_p.h" #include <QDebug> #include <QtGui/private/qeglconvenience_p.h> diff --git a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext_p.h index 21dc6461..f0f7bd70 100644 --- a/src/hardwareintegration/client/wayland-egl/qwaylandglcontext.h +++ b/src/hardwareintegration/client/wayland-egl/qwaylandglcontext_p.h @@ -40,7 +40,7 @@ #ifndef QWAYLANDGLCONTEXT_H #define QWAYLANDGLCONTEXT_H -#include "qwaylandeglinclude.h" //must be first +#include "qwaylandeglinclude_p.h" //must be first #include <QtWaylandClient/private/qwaylanddisplay_p.h> #include <QtGui/private/qeglplatformcontext_p.h> @@ -57,7 +57,7 @@ class QWaylandWindow; class QWaylandGLWindowSurface; class DecorationsBlitter; -class QWaylandGLContext : public QEGLPlatformContext +class Q_WAYLAND_CLIENT_EXPORT QWaylandGLContext : public QEGLPlatformContext { public: QWaylandGLContext(EGLDisplay eglDisplay, QWaylandDisplay *display, const QSurfaceFormat &format, QPlatformOpenGLContext *share); diff --git a/src/hardwareintegration/client/wayland-egl/wayland-egl.pri b/src/hardwareintegration/client/wayland-egl/wayland-egl.pri index 0de56607..5d0d0204 100644 --- a/src/hardwareintegration/client/wayland-egl/wayland-egl.pri +++ b/src/hardwareintegration/client/wayland-egl/wayland-egl.pri @@ -8,7 +8,7 @@ SOURCES += $$PWD/qwaylandeglclientbufferintegration.cpp \ $$PWD/qwaylandglcontext.cpp \ $$PWD/qwaylandeglwindow.cpp -HEADERS += $$PWD/qwaylandeglclientbufferintegration.h \ - $$PWD/qwaylandglcontext.h \ - $$PWD/qwaylandeglwindow.h \ - $$PWD/qwaylandeglinclude.h +HEADERS += $$PWD/qwaylandeglclientbufferintegration_p.h \ + $$PWD/qwaylandglcontext_p.h \ + $$PWD/qwaylandeglwindow_p.h \ + $$PWD/qwaylandeglinclude_p.h diff --git a/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt index 1742f117..5baeb716 100644 --- a/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt +++ b/src/plugins/hardwareintegration/client/wayland-egl/CMakeLists.txt @@ -9,22 +9,12 @@ qt_internal_add_plugin(QWaylandEglClientBufferPlugin OUTPUT_NAME qt-plugin-wayland-egl TYPE wayland-graphics-integration-client SOURCES - ../../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h - ../../../../hardwareintegration/client/wayland-egl/qwaylandeglinclude.h - ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.h - ../../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ../../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.h main.cpp - INCLUDE_DIRECTORIES - ../../../../hardwareintegration/client/wayland-egl PUBLIC_LIBRARIES - ${CMAKE_DL_LIBS} - EGL::EGL Qt::Core Qt::Gui - Qt::OpenGLPrivate Qt::WaylandClientPrivate - Wayland::Client - Wayland::Egl + Qt::WaylandEglClientHwIntegrationPrivate ) #### Keys ignored in scope 1:.:.:wayland-egl.pro:<TRUE>: diff --git a/src/plugins/hardwareintegration/client/wayland-egl/main.cpp b/src/plugins/hardwareintegration/client/wayland-egl/main.cpp index 08906355..11bf5806 100644 --- a/src/plugins/hardwareintegration/client/wayland-egl/main.cpp +++ b/src/plugins/hardwareintegration/client/wayland-egl/main.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include <QtWaylandClient/private/qwaylandclientbufferintegrationplugin_p.h> -#include "qwaylandeglclientbufferintegration.h" +#include <QtWaylandEglClientHwIntegration/private/qwaylandeglclientbufferintegration_p.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/qwayland-egl/CMakeLists.txt b/src/plugins/platforms/qwayland-egl/CMakeLists.txt index 5c009df8..a6c9408a 100644 --- a/src/plugins/platforms/qwayland-egl/CMakeLists.txt +++ b/src/plugins/platforms/qwayland-egl/CMakeLists.txt @@ -9,22 +9,12 @@ qt_internal_add_plugin(QWaylandEglPlatformIntegrationPlugin OUTPUT_NAME qwayland-egl TYPE platforms SOURCES - ../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.h - ../../../hardwareintegration/client/wayland-egl/qwaylandeglinclude.h - ../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandeglwindow.h - ../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.cpp ../../../hardwareintegration/client/wayland-egl/qwaylandglcontext.h main.cpp - INCLUDE_DIRECTORIES - ../../../hardwareintegration/client/wayland-egl PUBLIC_LIBRARIES - ${CMAKE_DL_LIBS} - EGL::EGL Qt::Core Qt::Gui - Qt::OpenGLPrivate Qt::WaylandClientPrivate - Wayland::Client - Wayland::Egl + Qt::WaylandEglClientHwIntegrationPrivate ) #### Keys ignored in scope 1:.:.:qwayland-egl.pro:<TRUE>: diff --git a/src/plugins/platforms/qwayland-egl/qwaylandeglplatformintegration.h b/src/plugins/platforms/qwayland-egl/qwaylandeglplatformintegration.h index f2c8a154..0616db24 100644 --- a/src/plugins/platforms/qwayland-egl/qwaylandeglplatformintegration.h +++ b/src/plugins/platforms/qwayland-egl/qwaylandeglplatformintegration.h @@ -42,7 +42,7 @@ #include <QtWaylandClient/private/qwaylandintegration_p.h> -#include "qwaylandeglclientbufferintegration.h" +#include <QtWaylandEglClientHwIntegration/private/qwaylandeglclientbufferintegration_p.h> QT_BEGIN_NAMESPACE diff --git a/sync.profile b/sync.profile index 18052735..2d3e57ce 100644 --- a/sync.profile +++ b/sync.profile @@ -1,6 +1,7 @@ %modules = ( # path to module name map "QtWaylandCompositor" => "$basedir/src/compositor", "QtWaylandClient" => "$basedir/src/client", + "QtWaylandEglClientHwIntegration" => "$basedir/src/hardwareintegration/client/wayland-egl", ); %moduleheaders = ( # restrict the module headers to those found in relative path ); |