diff options
author | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-06-20 12:21:29 +0200 |
---|---|---|
committer | Laszlo Agocs <laszlo.p.agocs@nokia.com> | 2011-06-20 12:21:29 +0200 |
commit | 672fe5d43cd256813acdda95e2cd9a4d22ad705a (patch) | |
tree | c7b97b36b1798373caf929f6765b2b804c10516f | |
parent | 83130d791dafaa437486fe740b8fcd18ee82e3c8 (diff) |
Restoring QT_WAYLAND_GL_SUPPORT ifdefs.
-rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.cpp | 10 | ||||
-rw-r--r-- | src/plugins/platforms/wayland/qwaylanddisplay.h | 4 | ||||
-rw-r--r-- | src/plugins/platforms/wayland/qwaylandintegration.cpp | 15 |
3 files changed, 28 insertions, 1 deletions
diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.cpp b/src/plugins/platforms/wayland/qwaylanddisplay.cpp index 324f9dc632..6f61cf1012 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.cpp +++ b/src/plugins/platforms/wayland/qwaylanddisplay.cpp @@ -47,7 +47,9 @@ #include "qwaylandinputdevice.h" #include "qwaylandclipboard.h" +#ifdef QT_WAYLAND_GL_SUPPORT #include "gl_integration/qwaylandglintegration.h" +#endif #ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT #include "windowmanager_integration/qwaylandwindowmanagerintegration.h" @@ -91,10 +93,12 @@ struct wl_visual *QWaylandDisplay::argbPremultipliedVisual() return premultiplied_argb_visual; } +#ifdef QT_WAYLAND_GL_SUPPORT QWaylandGLIntegration * QWaylandDisplay::eglIntegration() { return mEglIntegration; } +#endif #ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT QWaylandWindowManagerIntegration *QWaylandDisplay::windowManagerIntegration() @@ -132,7 +136,9 @@ QWaylandDisplay::QWaylandDisplay(void) wl_display_add_global_listener(mDisplay, QWaylandDisplay::displayHandleGlobal, this); +#ifdef QT_WAYLAND_GL_SUPPORT mEglIntegration = QWaylandGLIntegration::createGLIntegration(this); +#endif #ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT mWindowManagerIntegration = QWaylandWindowManagerIntegration::createIntegration(this); @@ -142,7 +148,9 @@ QWaylandDisplay::QWaylandDisplay(void) qRegisterMetaType<uint32_t>("uint32_t"); +#ifdef QT_WAYLAND_GL_SUPPORT mEglIntegration->initialize(); +#endif connect(QAbstractEventDispatcher::instance(), SIGNAL(aboutToBlock()), this, SLOT(flushRequests())); @@ -157,7 +165,9 @@ QWaylandDisplay::QWaylandDisplay(void) QWaylandDisplay::~QWaylandDisplay(void) { close(mFd); +#ifdef QT_WAYLAND_GL_SUPPORT delete mEglIntegration; +#endif wl_display_destroy(mDisplay); } diff --git a/src/plugins/platforms/wayland/qwaylanddisplay.h b/src/plugins/platforms/wayland/qwaylanddisplay.h index 2c31687518..5226f0d8e3 100644 --- a/src/plugins/platforms/wayland/qwaylanddisplay.h +++ b/src/plugins/platforms/wayland/qwaylanddisplay.h @@ -73,7 +73,9 @@ public: struct wl_visual *argbVisual(); struct wl_visual *argbPremultipliedVisual(); +#ifdef QT_WAYLAND_GL_SUPPORT QWaylandGLIntegration *eglIntegration(); +#endif #ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT QWaylandWindowManagerIntegration *windowManagerIntegration(); @@ -132,7 +134,9 @@ private: struct wl_compositor *compositor, uint32_t id, uint32_t token); +#ifdef QT_WAYLAND_GL_SUPPORT QWaylandGLIntegration *mEglIntegration; +#endif #ifdef QT_WAYLAND_WINDOWMANAGER_SUPPORT QWaylandWindowManagerIntegration *mWindowManagerIntegration; diff --git a/src/plugins/platforms/wayland/qwaylandintegration.cpp b/src/plugins/platforms/wayland/qwaylandintegration.cpp index 4edcfc43f4..090edfe324 100644 --- a/src/plugins/platforms/wayland/qwaylandintegration.cpp +++ b/src/plugins/platforms/wayland/qwaylandintegration.cpp @@ -55,7 +55,9 @@ #include <QtGui/private/qpixmap_raster_p.h> +#ifdef QT_WAYLAND_GL_SUPPORT #include "gl_integration/qwaylandglintegration.h" +#endif QWaylandIntegration::QWaylandIntegration() : mFontDb(new QGenericUnixFontDatabase()) @@ -80,7 +82,12 @@ bool QWaylandIntegration::hasCapability(QPlatformIntegration::Capability cap) co { switch (cap) { case ThreadedPixmaps: return true; - case OpenGL: return true; + case OpenGL: +#ifdef QT_WAYLAND_GL_SUPPORT + return true; +#else + return false; +#endif default: return QPlatformIntegration::hasCapability(cap); } } @@ -92,15 +99,21 @@ QPixmapData *QWaylandIntegration::createPixmapData(QPixmapData::PixelType type) QPlatformWindow *QWaylandIntegration::createPlatformWindow(QWindow *window) const { +#ifdef QT_WAYLAND_GL_SUPPORT if (window->surfaceType() == QWindow::OpenGLSurface) return mDisplay->eglIntegration()->createEglWindow(window); +#endif return new QWaylandShmWindow(window); } QPlatformGLContext *QWaylandIntegration::createPlatformGLContext(const QGuiGLFormat &glFormat, QPlatformGLContext *share) const { +#ifdef QT_WAYLAND_GL_SUPPORT return mDisplay->eglIntegration()->createPlatformGLContext(glFormat, share); +#else + return 0; +#endif } QWindowSurface *QWaylandIntegration::createWindowSurface(QWindow *window, WId winId) const |