diff options
Diffstat (limited to 'src/plugins/platforms/eglfs')
31 files changed, 127 insertions, 60 deletions
diff --git a/src/plugins/platforms/eglfs/api/api.pri b/src/plugins/platforms/eglfs/api/api.pri index 957dee554c..0ea65bd1ff 100644 --- a/src/plugins/platforms/eglfs/api/api.pri +++ b/src/plugins/platforms/eglfs/api/api.pri @@ -3,13 +3,19 @@ SOURCES += $$PWD/qeglfswindow.cpp \ $$PWD/qeglfsscreen.cpp \ $$PWD/qeglfscursor.cpp \ $$PWD/qeglfshooks.cpp \ - $$PWD/qeglfsdeviceintegration.cpp + $$PWD/qeglfsdeviceintegration.cpp \ + $$PWD/qeglfsintegration.cpp \ + $$PWD/qeglfscontext.cpp \ + $$PWD/qeglfsoffscreenwindow.cpp HEADERS += $$PWD/qeglfswindow_p.h \ $$PWD/qeglfsscreen_p.h \ $$PWD/qeglfscursor_p.h \ $$PWD/qeglfshooks_p.h \ $$PWD/qeglfsdeviceintegration_p.h \ - $$PWD/qeglfsglobal.h + $$PWD/qeglfsintegration_p.h \ + $$PWD/qeglfscontext_p.h \ + $$PWD/qeglfsoffscreenwindow_p.h \ + $$PWD/qeglfsglobal_p.h INCLUDEPATH += $$PWD diff --git a/src/plugins/platforms/eglfs/qeglfscontext.cpp b/src/plugins/platforms/eglfs/api/qeglfscontext.cpp index 8d479873cf..1a33215295 100644 --- a/src/plugins/platforms/eglfs/qeglfscontext.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfscontext.cpp @@ -37,12 +37,12 @@ ** ****************************************************************************/ -#include "qeglfsglobal.h" +#include "qeglfsglobal_p.h" #include <QtGui/QSurface> #include <QtPlatformSupport/private/qeglconvenience_p.h> #include <QtPlatformSupport/private/qeglpbuffer_p.h> -#include "qeglfscontext.h" +#include "qeglfscontext_p.h" #include "qeglfswindow_p.h" #include "qeglfshooks_p.h" #include "qeglfscursor_p.h" diff --git a/src/plugins/platforms/eglfs/qeglfscontext.h b/src/plugins/platforms/eglfs/api/qeglfscontext_p.h index 91c5a7910b..65af3a7cee 100644 --- a/src/plugins/platforms/eglfs/qeglfscontext.h +++ b/src/plugins/platforms/eglfs/api/qeglfscontext_p.h @@ -40,7 +40,18 @@ #ifndef QEGLFSCONTEXT_H #define QEGLFSCONTEXT_H -#include "qeglfsglobal.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qeglfsglobal_p.h" #include <QtPlatformSupport/private/qeglplatformcontext_p.h> #include <QtCore/QVariant> diff --git a/src/plugins/platforms/eglfs/api/qeglfscursor.cpp b/src/plugins/platforms/eglfs/api/qeglfscursor.cpp index 0040ecd59d..1b3446c4ac 100644 --- a/src/plugins/platforms/eglfs/api/qeglfscursor.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfscursor.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qeglfscursor_p.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include "qeglfsscreen_p.h" #include <qpa/qwindowsysteminterface.h> diff --git a/src/plugins/platforms/eglfs/api/qeglfscursor_p.h b/src/plugins/platforms/eglfs/api/qeglfscursor_p.h index 8ccbe4493c..bf6dbc8a21 100644 --- a/src/plugins/platforms/eglfs/api/qeglfscursor_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfscursor_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include "qeglfsglobal.h" +#include "qeglfsglobal_p.h" #include <qpa/qplatformcursor.h> #include <qpa/qplatformscreen.h> #include <QtGui/QMatrix4x4> diff --git a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp index 6f65929913..9f05767366 100644 --- a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include "qeglfsdeviceintegration_p.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include "qeglfscursor_p.h" #include "qeglfswindow_p.h" #include "qeglfsscreen_p.h" diff --git a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h index 819e4818ab..4335554912 100644 --- a/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfsdeviceintegration_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include "qeglfsglobal.h" +#include "qeglfsglobal_p.h" #include <qpa/qplatformintegration.h> #include <qpa/qplatformscreen.h> #include <QtCore/QString> diff --git a/src/plugins/platforms/eglfs/api/qeglfsglobal.h b/src/plugins/platforms/eglfs/api/qeglfsglobal_p.h index 655ab7eaef..bad5095d21 100644 --- a/src/plugins/platforms/eglfs/api/qeglfsglobal.h +++ b/src/plugins/platforms/eglfs/api/qeglfsglobal_p.h @@ -40,6 +40,17 @@ #ifndef QEGLFSGLOBAL_H #define QEGLFSGLOBAL_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QtCore/qglobal.h> #include <QtPlatformSupport/private/qt_egl_p.h> diff --git a/src/plugins/platforms/eglfs/api/qeglfshooks_p.h b/src/plugins/platforms/eglfs/api/qeglfshooks_p.h index e379f7a76d..4c3149c7c9 100644 --- a/src/plugins/platforms/eglfs/api/qeglfshooks_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfshooks_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include "qeglfsglobal.h" +#include "qeglfsglobal_p.h" #include "qeglfsdeviceintegration_p.h" QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp index 418ff6119b..4974499e0a 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp @@ -51,11 +51,11 @@ #include <qpa/qplatforminputcontextfactory_p.h> #include <private/qgenericunixthemes_p.h> -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include "qeglfswindow_p.h" #include "qeglfshooks_p.h" -#include "qeglfscontext.h" -#include "qeglfsoffscreenwindow.h" +#include "qeglfscontext_p.h" +#include "qeglfsoffscreenwindow_p.h" #include "qeglfscursor_p.h" #include <QtPlatformSupport/private/qeglconvenience_p.h> diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.h b/src/plugins/platforms/eglfs/api/qeglfsintegration_p.h index 9c5439a22f..1a3a44d441 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.h +++ b/src/plugins/platforms/eglfs/api/qeglfsintegration_p.h @@ -40,7 +40,18 @@ #ifndef QEGLFSINTEGRATION_H #define QEGLFSINTEGRATION_H -#include "qeglfsglobal.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qeglfsglobal_p.h" #include <QtCore/QVariant> #include <qpa/qplatformintegration.h> #include <qpa/qplatformnativeinterface.h> diff --git a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp b/src/plugins/platforms/eglfs/api/qeglfsoffscreenwindow.cpp index 0334ac9785..7de5379ae3 100644 --- a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.cpp +++ b/src/plugins/platforms/eglfs/api/qeglfsoffscreenwindow.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "qeglfsoffscreenwindow.h" +#include "qeglfsoffscreenwindow_p.h" #include "qeglfshooks_p.h" #include <QtGui/QOffscreenSurface> #include <QtPlatformSupport/private/qeglconvenience_p.h> diff --git a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h b/src/plugins/platforms/eglfs/api/qeglfsoffscreenwindow_p.h index 673fa0d729..ec483c64e2 100644 --- a/src/plugins/platforms/eglfs/qeglfsoffscreenwindow.h +++ b/src/plugins/platforms/eglfs/api/qeglfsoffscreenwindow_p.h @@ -40,7 +40,18 @@ #ifndef QEGLFSOFFSCREENWINDOW_H #define QEGLFSOFFSCREENWINDOW_H -#include "qeglfsglobal.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qeglfsglobal_p.h" #include <qpa/qplatformoffscreensurface.h> QT_BEGIN_NAMESPACE diff --git a/src/plugins/platforms/eglfs/api/qeglfsscreen_p.h b/src/plugins/platforms/eglfs/api/qeglfsscreen_p.h index daba9fc591..131e619e06 100644 --- a/src/plugins/platforms/eglfs/api/qeglfsscreen_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfsscreen_p.h @@ -51,7 +51,7 @@ // We mean it. // -#include "qeglfsglobal.h" +#include "qeglfsglobal_p.h" #include <QtCore/QPointer> #include <qpa/qplatformscreen.h> diff --git a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h index aea4ed4806..6e752b8f79 100644 --- a/src/plugins/platforms/eglfs/api/qeglfswindow_p.h +++ b/src/plugins/platforms/eglfs/api/qeglfswindow_p.h @@ -51,8 +51,8 @@ // We mean it. // -#include "qeglfsglobal.h" -#include "qeglfsintegration.h" +#include "qeglfsglobal_p.h" +#include "qeglfsintegration_p.h" #include "qeglfsscreen_p.h" #include <qpa/qplatformwindow.h> diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro index d65e136a96..7f1e7b9f59 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_brcm/eglfs_brcm.pro @@ -2,7 +2,7 @@ TARGET = qeglfs-brcm-integration QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api CONFIG += egl LIBS += -lbcm_host diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro index 70ff054172..10571dc978 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro @@ -6,7 +6,7 @@ load(qt_plugin) QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private eglfs_kms_support-private -INCLUDEPATH += $$PWD/../.. $$PWD/../eglfs_kms_support +INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp index 99f6cfb0ca..3a220ec942 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp @@ -42,7 +42,7 @@ #include "qeglfskmsgbmdevice.h" #include "qeglfskmsgbmscreen.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include <QtCore/QLoggingCategory> #include <QtCore/private/qcore_unix_p.h> diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp index dde386fc57..75ff3ac749 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp @@ -42,7 +42,7 @@ #include "qeglfskmsgbmscreen.h" #include "qeglfskmsgbmdevice.h" #include "qeglfskmsgbmcursor.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include <QtCore/QLoggingCategory> diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro index 5f47b98369..582982df76 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/eglfs_kms_egldevice.pro @@ -2,7 +2,7 @@ TARGET = qeglfs-kms-egldevice-integration QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private eglfs_kms_support-private -INCLUDEPATH += $$PWD/../.. $$PWD/../eglfs_kms_support +INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro index 464c64539f..f88a7c847e 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro @@ -4,7 +4,7 @@ load(qt_module) QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp index 5944e8d51f..bf96a7d683 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp @@ -42,7 +42,7 @@ #include "qeglfskmsdevice.h" #include "qeglfskmsscreen.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include <QtCore/QLoggingCategory> #include <QtCore/private/qcore_unix_p.h> @@ -159,7 +159,9 @@ static bool parseModeline(const QByteArray &text, drmModeModeInfoPtr mode) return true; } -QEglFSKmsScreen *QEglFSKmsDevice::createScreenForConnector(drmModeResPtr resources, drmModeConnectorPtr connector, int *virtualIndex) +QEglFSKmsScreen *QEglFSKmsDevice::createScreenForConnector(drmModeResPtr resources, + drmModeConnectorPtr connector, + VirtualDesktopInfo *vinfo) { const QByteArray connectorName = nameForConnector(connector); @@ -192,8 +194,16 @@ QEglFSKmsScreen *QEglFSKmsDevice::createScreenForConnector(drmModeResPtr resourc qWarning("Invalid mode \"%s\" for output %s", mode.constData(), connectorName.constData()); configuration = OutputConfigPreferred; } - if (virtualIndex) - *virtualIndex = userConnectorConfig.value(QStringLiteral("virtualIndex"), INT_MAX).toInt(); + if (vinfo) { + *vinfo = VirtualDesktopInfo(); + vinfo->virtualIndex = userConnectorConfig.value(QStringLiteral("virtualIndex"), INT_MAX).toInt(); + if (userConnectorConfig.contains(QStringLiteral("virtualPos"))) { + const QByteArray vpos = userConnectorConfig.value(QStringLiteral("virtualPos")).toByteArray(); + const QByteArrayList vposComp = vpos.split(','); + if (vposComp.count() == 2) + vinfo->virtualPos = QPoint(vposComp[0].trimmed().toInt(), vposComp[1].trimmed().toInt()); + } + } const uint32_t crtc_id = resources->crtcs[crtc]; @@ -357,22 +367,24 @@ QEglFSKmsDevice::~QEglFSKmsDevice() struct OrderedScreen { - OrderedScreen() : screen(nullptr), index(-1) { } - OrderedScreen(QEglFSKmsScreen *screen, int index) : screen(screen), index(index) { } + OrderedScreen() : screen(nullptr) { } + OrderedScreen(QEglFSKmsScreen *screen, const QEglFSKmsDevice::VirtualDesktopInfo &vinfo) + : screen(screen), vinfo(vinfo) { } QEglFSKmsScreen *screen; - int index; + QEglFSKmsDevice::VirtualDesktopInfo vinfo; }; QDebug operator<<(QDebug dbg, const OrderedScreen &s) { QDebugStateSaver saver(dbg); - dbg.nospace() << "OrderedScreen(" << s.screen << " : " << s.index << ")"; + dbg.nospace() << "OrderedScreen(" << s.screen << " : " << s.vinfo.virtualIndex + << " / " << s.vinfo.virtualPos << ")"; return dbg; } static bool orderedScreenLessThan(const OrderedScreen &a, const OrderedScreen &b) { - return a.index < b.index; + return a.vinfo.virtualIndex < b.vinfo.virtualIndex; } void QEglFSKmsDevice::createScreens() @@ -390,10 +402,10 @@ void QEglFSKmsDevice::createScreens() if (!connector) continue; - int virtualIndex; - QEglFSKmsScreen *screen = createScreenForConnector(resources, connector, &virtualIndex); + VirtualDesktopInfo vinfo; + QEglFSKmsScreen *screen = createScreenForConnector(resources, connector, &vinfo); if (screen) - screens.append(OrderedScreen(screen, virtualIndex)); + screens.append(OrderedScreen(screen, vinfo)); drmModeFreeConnector(connector); } @@ -411,11 +423,15 @@ void QEglFSKmsDevice::createScreens() for (const OrderedScreen &orderedScreen : screens) { QEglFSKmsScreen *s = orderedScreen.screen; // set up a horizontal or vertical virtual desktop - s->setVirtualPosition(pos); - if (m_integration->virtualDesktopLayout() == QEglFSKmsIntegration::VirtualDesktopLayoutVertical) - pos.ry() += s->geometry().height(); - else - pos.rx() += s->geometry().width(); + if (orderedScreen.vinfo.virtualPos.isNull()) { + s->setVirtualPosition(pos); + if (m_integration->virtualDesktopLayout() == QEglFSKmsIntegration::VirtualDesktopLayoutVertical) + pos.ry() += s->geometry().height(); + else + pos.rx() += s->geometry().width(); + } else { + s->setVirtualPosition(orderedScreen.vinfo.virtualPos); + } qCDebug(qLcEglfsKmsDebug) << "Adding screen" << s << "to QPA with geometry" << s->geometry(); // The order in qguiapp's screens list will match the order set by // virtualIndex. This is not only handy but also required since for instance diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h index 4aad2e0143..3e7ac7e3f0 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h @@ -53,6 +53,12 @@ QT_BEGIN_NAMESPACE class Q_EGLFS_EXPORT QEglFSKmsDevice { public: + struct VirtualDesktopInfo { + VirtualDesktopInfo() : virtualIndex(0) { } + int virtualIndex; + QPoint virtualPos; + }; + QEglFSKmsDevice(QEglFSKmsIntegration *integration, const QString &path); virtual ~QEglFSKmsDevice(); @@ -79,7 +85,9 @@ protected: quint32 m_connector_allocator; int crtcForConnector(drmModeResPtr resources, drmModeConnectorPtr connector); - QEglFSKmsScreen *createScreenForConnector(drmModeResPtr resources, drmModeConnectorPtr connector, int *virtualIndex); + QEglFSKmsScreen *createScreenForConnector(drmModeResPtr resources, + drmModeConnectorPtr connector, + VirtualDesktopInfo *vinfo); drmModePropertyPtr connectorProperty(drmModeConnectorPtr connector, const QByteArray &name); static void pageFlipHandler(int fd, diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp index f690cd668e..e4b6c67f28 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp @@ -41,7 +41,7 @@ #include "qeglfskmsscreen.h" #include "qeglfskmsdevice.h" -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" #include <QtCore/QLoggingCategory> diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro index 6e32ca26d0..e72f5bdd14 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/eglfs_mali.pro @@ -5,7 +5,7 @@ QT += core-private gui-private platformsupport-private eglfsdeviceintegration-pr # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api CONFIG += egl QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro index 16880535e3..364812ec60 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv/eglfs_viv.pro @@ -2,7 +2,7 @@ TARGET = qeglfs-viv-integration QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api CONFIG += egl DEFINES += LINUX=1 EGL_API_FB=1 QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro index 374c5bba6b..ccdf20b417 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_viv_wl/eglfs_viv_wl.pro @@ -2,7 +2,7 @@ TARGET = qeglfs-viv-wl-integration QT += core-private gui-private platformsupport-private eglfsdeviceintegration-private -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api CONFIG += egl DEFINES += LINUX=1 EGL_API_FB=1 QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro index 10af57e487..51a026e2cf 100644 --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_x11/eglfs_x11.pro @@ -5,7 +5,7 @@ QT += core-private gui-private platformsupport-private eglfsdeviceintegration-pr # Avoid X11 header collision, use generic EGL native types DEFINES += QT_EGL_NO_X11 -INCLUDEPATH += $$PWD/../.. +INCLUDEPATH += $$PWD/../../api CONFIG += egl QMAKE_USE += xcb_xlib diff --git a/src/plugins/platforms/eglfs/eglfs-plugin.pro b/src/plugins/platforms/eglfs/eglfs-plugin.pro index 90b8a9fb32..d8adc13226 100644 --- a/src/plugins/platforms/eglfs/eglfs-plugin.pro +++ b/src/plugins/platforms/eglfs/eglfs-plugin.pro @@ -6,6 +6,8 @@ SOURCES += $$PWD/qeglfsmain.cpp OTHER_FILES += $$PWD/eglfs.json +INCLUDEPATH += $$PWD/api + PLUGIN_TYPE = platforms PLUGIN_CLASS_NAME = QEglFSIntegrationPlugin !equals(TARGET, $$QT_DEFAULT_QPA_PLUGIN): PLUGIN_EXTENDS = - diff --git a/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro b/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro index eb0ce73118..15a825a7b0 100644 --- a/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro +++ b/src/plugins/platforms/eglfs/eglfsdeviceintegration.pro @@ -1,7 +1,8 @@ # The device integration plugin base class has to live in a shared library, # placing it into a static lib like platformsupport is not sufficient since we # have to keep the QObject magic like qobject_cast working. -# Hence this header-less, private-only module. +# Hence this private-only module. +# By having _p headers, it also enables developing out-of-tree integration plugins. TARGET = QtEglFSDeviceIntegration CONFIG += internal_module @@ -15,20 +16,10 @@ DEFINES += QT_EGL_NO_X11 DEFINES += QT_BUILD_EGL_DEVICE_LIB -SOURCES += $$PWD/qeglfsintegration.cpp \ - $$PWD/qeglfscontext.cpp \ - $$PWD/qeglfsoffscreenwindow.cpp \ - -HEADERS += $$PWD/qeglfsintegration.h \ - $$PWD/qeglfscontext.h \ - $$PWD/qeglfsoffscreenwindow.h \ - include($$PWD/api/api.pri) QMAKE_LFLAGS += $$QMAKE_LFLAGS_NOUNDEF -INCLUDEPATH += $$PWD - !isEmpty(EGLFS_PLATFORM_HOOKS_SOURCES) { HEADERS += $$EGLFS_PLATFORM_HOOKS_HEADERS SOURCES += $$EGLFS_PLATFORM_HOOKS_SOURCES diff --git a/src/plugins/platforms/eglfs/qeglfsmain.cpp b/src/plugins/platforms/eglfs/qeglfsmain.cpp index 50279ad110..2885d397c6 100644 --- a/src/plugins/platforms/eglfs/qeglfsmain.cpp +++ b/src/plugins/platforms/eglfs/qeglfsmain.cpp @@ -38,7 +38,7 @@ ****************************************************************************/ #include <qpa/qplatformintegrationplugin.h> -#include "qeglfsintegration.h" +#include "qeglfsintegration_p.h" QT_BEGIN_NAMESPACE |