Work with refactor
authorGunnar Sletta <gunnar.sletta@nokia.com>
Mon, 15 Aug 2011 06:37:30 +0000 (08:37 +0200)
committerGunnar Sletta <gunnar.sletta@nokia.com>
Mon, 15 Aug 2011 06:37:30 +0000 (08:37 +0200)
src/qt-compositor/compositor_api/waylandcompositor.cpp
src/qt-compositor/compositor_api/waylandcompositor.h
src/qt-compositor/hardware_integration/dri2_xcb/dri2xcbhwintegration.cpp
src/qt-compositor/hardware_integration/mesa_egl/mesaeglintegration.cpp
src/qt-compositor/hardware_integration/xcomposite_egl/xcompositeeglintegration.cpp
src/qt-compositor/hardware_integration/xcomposite_glx/xcompositeglxintegration.cpp
src/qt-compositor/hardware_integration/xcomposite_share/xcompositehandler.cpp
src/qt-compositor/hardware_integration/xcomposite_share/xcompositehandler.h
src/qt-compositor/wayland_wrapper/wlcompositor.cpp
src/qt-compositor/wayland_wrapper/wlcompositor.h

index e312cec..92bbc80 100644 (file)
 #include "waylandsurfaceitem.h"
 #endif
 
-WaylandCompositor::WaylandCompositor(QWindow *topLevelWidget, QGLContext *context, const char *socketName)
+WaylandCompositor::WaylandCompositor(QWindow *window, QGLContext *context, const char *socketName)
     : m_compositor(0)
     , m_glContext(context)
-    , m_toplevel_widget(topLevelWidget)
+    , m_toplevel_widget(window)
     , m_socket_name(socketName)
 {
     QStringList arguments = QCoreApplication::instance()->arguments();
@@ -115,7 +115,7 @@ QGLContext * WaylandCompositor::glContext() const
     return m_glContext;
 }
 
-QWindow * WaylandCompositor::topLevelWidget() const
+QWindow * WaylandCompositor::window() const
 {
     return m_toplevel_widget;
 }
index 546af78..b657575 100644 (file)
@@ -62,7 +62,7 @@ namespace Wayland
 class WaylandCompositor
 {
 public:
-    WaylandCompositor(QWindow *topLevelWidget = 0, QGLContext *context = 0, const char *socketName = 0);
+    WaylandCompositor(QWindow *window = 0, QGLContext *context = 0, const char *socketName = 0);
     virtual ~WaylandCompositor();
 
     void frameFinished(WaylandSurface *surface = 0);
@@ -75,7 +75,7 @@ public:
     WaylandSurface *directRenderSurface() const;
 
     QGLContext *glContext() const;
-    QWindow *topLevelWidget()const;
+    QWindow *window()const;
 
     virtual void surfaceCreated(WaylandSurface *surface) = 0;
 
index 6e6bb53..0b021d3 100644 (file)
@@ -22,15 +22,15 @@ GraphicsHardwareIntegration * GraphicsHardwareIntegration::createGraphicsHardwar
 class DrmObject : public Wayland::Object<struct wl_object>
 {
 public:
-    DrmObject(Wayland::Compositor *compositor, QWidget *topLevelWidget)
+    DrmObject(Wayland::Compositor *compositor, QWidget *window)
         :m_compositor(compositor)
     {
         QPlatformNativeInterface *nativeInterface = QApplicationPrivate::platformIntegration()->nativeInterface();
-        char *deviceName = static_cast<char *>(nativeInterface->nativeResourceForWidget("GraphicsDevice",topLevelWidget));
+        char *deviceName = static_cast<char *>(nativeInterface->nativeResourceForWidget("GraphicsDevice",window));
         m_device_name = QByteArray(deviceName);
 
-        m_connection = static_cast<xcb_connection_t *>(nativeInterface->nativeResourceForWidget("Connection",topLevelWidget));
-        m_egl_display = static_cast<EGLDisplay>(nativeInterface->nativeResourceForWidget("EglDisplay",topLevelWidget));
+        m_connection = static_cast<xcb_connection_t *>(nativeInterface->nativeResourceForWidget("Connection",window));
+        m_egl_display = static_cast<EGLDisplay>(nativeInterface->nativeResourceForWidget("EglDisplay",window));
     }
     QByteArray deviceName()
     {
@@ -108,10 +108,10 @@ Dri2XcbHWIntegration::Dri2XcbHWIntegration(WaylandCompositor *compositor)
 void Dri2XcbHWIntegration::initializeHardware(Wayland::Display *waylandDisplay)
 {
     //we need a winId now.
-    m_compositor->topLevelWidget()->winId();
+    m_compositor->window()->winId();
 
 
-    m_drm_object = new DrmObject(m_compositor->handle(),m_compositor->topLevelWidget());
+    m_drm_object = new DrmObject(m_compositor->handle(),m_compositor->window());
 
     waylandDisplay->addGlobalObject(m_drm_object->base(),&wl_drm_interface,&drm_interface,post_drm_device);
 }
index 6b6edd8..0d9b039 100644 (file)
@@ -79,11 +79,11 @@ void MesaEglIntegration::initializeHardware(Wayland::Display *waylandDisplay)
 {
     Q_D(MesaEglIntegration);
     //We need a window id now :)
-    m_compositor->topLevelWidget()->winId();
+    m_compositor->window()->winId();
 
     QPlatformNativeInterface *nativeInterface = QApplicationPrivate::platformIntegration()->nativeInterface();
     if (nativeInterface) {
-        d->egl_display = nativeInterface->nativeResourceForWindow("EglDisplay", m_compositor->topLevelWidget()->windowHandle());
+        d->egl_display = nativeInterface->nativeResourceForWindow("EglDisplay", m_compositor->window()->windowHandle());
         if (d->egl_display) {
             const char *extensionString = eglQueryString(d->egl_display, EGL_EXTENSIONS);
             if (extensionString && strstr(extensionString, "EGL_WL_bind_wayland_display")
index e38730e..3f47fd9 100644 (file)
@@ -42,10 +42,10 @@ XCompositeEglIntegration::XCompositeEglIntegration(WaylandCompositor *compositor
 {
     QPlatformNativeInterface *nativeInterface = QApplication::platformNativeInterface();
     if (nativeInterface) {
-        mDisplay = static_cast<Display *>(nativeInterface->nativeResourceForWidget("Display",m_compositor->topLevelWidget()));
+        mDisplay = static_cast<Display *>(nativeInterface->nativeResourceForWidget("Display",m_compositor->window()));
         if (!mDisplay)
             qFatal("could not retireve Display from platform integration");
-        mEglDisplay = static_cast<EGLDisplay>(nativeInterface->nativeResourceForWidget("EGLDisplay",m_compositor->topLevelWidget()));
+        mEglDisplay = static_cast<EGLDisplay>(nativeInterface->nativeResourceForWidget("EGLDisplay",m_compositor->window()));
         if (!mEglDisplay)
             qFatal("could not retrieve EGLDisplay from plaform integration");
     } else {
@@ -56,7 +56,7 @@ XCompositeEglIntegration::XCompositeEglIntegration(WaylandCompositor *compositor
 
 void XCompositeEglIntegration::initializeHardware(Wayland::Display *waylandDisplay)
 {
-    XCompositeHandler *handler = new XCompositeHandler(m_compositor->handle(),mDisplay,m_compositor->topLevelWidget());
+    XCompositeHandler *handler = new XCompositeHandler(m_compositor->handle(),mDisplay,m_compositor->window());
     waylandDisplay->addGlobalObject(handler->base(), &wl_xcomposite_interface, &XCompositeHandler::xcomposite_interface,XCompositeHandler::send_root_information);
 }
 
index b2741e3..12dd28b 100644 (file)
@@ -44,7 +44,7 @@ XCompositeGLXIntegration::XCompositeGLXIntegration(WaylandCompositor *compositor
 {
     QPlatformNativeInterface *nativeInterface = QGuiApplicationPrivate::platformIntegration()->nativeInterface();
     if (nativeInterface) {
-        mDisplay = static_cast<Display *>(nativeInterface->nativeResourceForWindow("Display",m_compositor->topLevelWidget()->windowHandle()));
+        mDisplay = static_cast<Display *>(nativeInterface->nativeResourceForWindow("Display",m_compositor->window()));
         if (!mDisplay)
             qFatal("could not retireve Display from platform integration");
     } else {
@@ -55,7 +55,7 @@ XCompositeGLXIntegration::XCompositeGLXIntegration(WaylandCompositor *compositor
 
 void XCompositeGLXIntegration::initializeHardware(Wayland::Display *waylandDisplay)
 {
-    XCompositeHandler *handler = new XCompositeHandler(m_compositor->handle(),mDisplay,m_compositor->topLevelWidget());
+    XCompositeHandler *handler = new XCompositeHandler(m_compositor->handle(),mDisplay,m_compositor->window());
     waylandDisplay->addGlobalObject(handler->base(), &wl_xcomposite_interface, &XCompositeHandler::xcomposite_interface,XCompositeHandler::send_root_information);
 
     QGuiGLContext *glContext = new QGuiGLContext();
index bb10bba..4a64eb8 100644 (file)
@@ -5,14 +5,13 @@
 #include "xcompositebuffer.h"
 #include <X11/extensions/Xcomposite.h>
 
-XCompositeHandler::XCompositeHandler(Wayland::Compositor *compositor, Display *display, QWidget *topLevelWidget)
+XCompositeHandler::XCompositeHandler(Wayland::Compositor *compositor, Display *display, QWindow *window)
     : mCompositor(compositor)
-    , mTopLevelWidget(topLevelWidget)
+    , mwindow(window)
     , mDisplay(display)
 {
-    mFakeRootWidget = new QWidget(mCompositor->topLevelWidget());
-    mFakeRootWidget->setGeometry(-1,-1,1,1);
-    mFakeRootWidget->setAttribute(Qt::WA_NativeWindow);
+    mFakeRootWidget = new QWindow(mCompositor->window());
+    mFakeRootWidget->setGeometry(QRect(-1,-1,1,1));
     int composite_event_base, composite_error_base;
     if (XCompositeQueryExtension(mDisplay, &composite_event_base, &composite_error_base)) {
 
index dc85473..7126e14 100644 (file)
@@ -8,7 +8,7 @@
 class XCompositeHandler : public Wayland::Object<struct wl_object>
 {
 public:
-    XCompositeHandler(Wayland::Compositor *compositor, Display *display, QWidget *topLevelWidget);
+    XCompositeHandler(Wayland::Compositor *compositor, Display *display, QWindow *window);
     void createBuffer(struct wl_client *client, uint32_t id, Window window, const QSize &size, struct wl_visual *visual);
 
     static void send_root_information(struct wl_client *client, struct wl_object *global, uint32_t version);
@@ -16,8 +16,8 @@ public:
 
 private:
     Wayland::Compositor *mCompositor;
-    QWidget *mTopLevelWidget;
-    QWidget *mFakeRootWidget;
+    QWindow *mwindow;
+    QWindow *mFakeRootWidget;
     Display *mDisplay;
 
     static void create_buffer(struct wl_client *client,
index 646ea53..d56f58e 100644 (file)
@@ -226,7 +226,7 @@ Compositor::Compositor(WaylandCompositor *qt_compositor)
     m_shm.addDestroyCallback(shmBufferDestroyed);
 
 #if defined (QT_COMPOSITOR_WAYLAND_GL)
-    QWindow *window = qt_compositor->topLevelWidget()->windowHandle();
+    QWindow *window = qt_compositor->window();
     if (window && window->surfaceType() != QWindow::RasterSurface)
         m_graphics_hw_integration = GraphicsHardwareIntegration::createGraphicsHardwareIntegration(qt_compositor);
 #endif
@@ -399,9 +399,9 @@ Surface *Compositor::pointerFocus() const
     return m_pointerFocusSurface;
 }
 
-QWidget * Compositor::topLevelWidget() const
+QWindow *Compositor::window() const
 {
-    return m_qt_compositor->topLevelWidget();
+    return m_qt_compositor->window();
 }
 
 GraphicsHardwareIntegration * Compositor::graphicsHWIntegration() const
index 6f0e760..fd88df0 100644 (file)
@@ -51,7 +51,6 @@
 
 class WaylandCompositor;
 class GraphicsHardwareIntegration;
-class QWidget;
 class WindowManagerServerIntegration;
 
 namespace Wayland {
@@ -88,7 +87,7 @@ public:
 
     static uint currentTimeMsecs();
 
-    QWidget *topLevelWidget() const;
+    QWindow *window() const;
 
     GraphicsHardwareIntegration *graphicsHWIntegration() const;
     void initializeHardwareIntegration();