QNX: Remove dependency on QtWidgets from QNX QPA plugin
authorSean Harmer <sean.harmer.qnx@kdab.com>
Tue, 31 Jul 2012 17:12:18 +0000 (18:12 +0100)
committerQt by Nokia <qt-info@nokia.com>
Wed, 1 Aug 2012 13:37:46 +0000 (15:37 +0200)
Change-Id: I52027752630beee81a97644983dbccf973c0c2c2
Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
Reviewed-by: Kevin Ottens <kevin.ottens.qnx@kdab.com>
Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
src/plugins/platforms/qnx/qnx.pro
src/plugins/platforms/qnx/qqnxglbackingstore.cpp [deleted file]
src/plugins/platforms/qnx/qqnxglbackingstore.h [deleted file]
src/plugins/platforms/qnx/qqnxintegration.cpp
src/plugins/platforms/qnx/qqnxintegration.h

index affa3c1..5298824 100644 (file)
@@ -2,11 +2,7 @@ TARGET = qnx
 include(../../qpluginbase.pri)
 
 QTDIR_build:DESTDIR = $$QT_BUILD_TREE/plugins/platforms
-QT += platformsupport platformsupport-private widgets-private
-
-contains(QT_CONFIG, opengles2) {
-    QT += opengl opengl-private
-}
+QT += platformsupport platformsupport-private
 
 # Uncomment this to build with support for IMF once it becomes available in the BBNDK
 #CONFIG += qqnx_imf
@@ -80,11 +76,9 @@ HEADERS =   main.h \
 LIBS += -lscreen
 
 contains(QT_CONFIG, opengles2) {
-    SOURCES += qqnxglcontext.cpp \
-               qqnxglbackingstore.cpp
+    SOURCES += qqnxglcontext.cpp
 
-    HEADERS += qqnxglcontext.h \
-               qqnxglbackingstore.h
+    HEADERS += qqnxglcontext.h
 
     LIBS += -lEGL
 }
diff --git a/src/plugins/platforms/qnx/qqnxglbackingstore.cpp b/src/plugins/platforms/qnx/qqnxglbackingstore.cpp
deleted file mode 100644 (file)
index 285142c..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2011 - 2012 Research In Motion
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qqnxglbackingstore.h"
-#include "qqnxglcontext.h"
-#include "qqnxwindow.h"
-#include "qqnxscreen.h"
-
-#include <QtGui/qwindow.h>
-
-#include <QtOpenGL/private/qgl_p.h>
-#include <QtOpenGL/QGLContext>
-
-#include <QtCore/QDebug>
-
-#include <errno.h>
-
-#ifdef QQNXGLBACKINGSTORE_DEBUG
-#define qGLBackingStoreDebug qDebug
-#else
-#define qGLBackingStoreDebug QT_NO_QDEBUG_MACRO
-#endif
-
-QT_BEGIN_NAMESPACE
-
-QQnxGLPaintDevice::QQnxGLPaintDevice(QWindow *window)
-    : QGLPaintDevice(),
-      m_window(0),
-      m_glContext(0)
-{
-    m_window = static_cast<QQnxWindow*>(window->handle());
-
-    // Extract the QPlatformOpenGLContext from the window
-    QPlatformOpenGLContext *platformOpenGLContext = m_window->platformOpenGLContext();
-
-    // Convert this to a QGLContext
-    m_glContext = QGLContext::fromOpenGLContext(platformOpenGLContext->context());
-}
-
-QQnxGLPaintDevice::~QQnxGLPaintDevice()
-{
-    // Cleanup GL context
-    delete m_glContext;
-}
-
-QPaintEngine *QQnxGLPaintDevice::paintEngine() const
-{
-    // Select a paint engine based on configued OpenGL version
-    return qt_qgl_paint_engine();
-}
-
-QSize QQnxGLPaintDevice::size() const
-{
-    // Get size of EGL surface
-    return m_window->geometry().size();
-}
-
-
-QQnxGLBackingStore::QQnxGLBackingStore(QWindow *window)
-    : QPlatformBackingStore(window),
-      m_openGLContext(0),
-      m_paintDevice(0),
-      m_requestedSize(),
-      m_size()
-{
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window;
-
-    // Create an OpenGL paint device which in turn creates a QGLContext for us
-    m_paintDevice = new QQnxGLPaintDevice(window);
-    m_openGLContext = m_paintDevice->context()->contextHandle();
-}
-
-QQnxGLBackingStore::~QQnxGLBackingStore()
-{
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window();
-
-    // cleanup OpenGL paint device
-    delete m_paintDevice;
-}
-
-void QQnxGLBackingStore::flush(QWindow *window, const QRegion &region, const QPoint &offset)
-{
-    Q_UNUSED(region);
-    Q_UNUSED(offset);
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window;
-
-    // update the display with newly rendered content
-    m_openGLContext->swapBuffers(window);
-}
-
-void QQnxGLBackingStore::resize(const QSize &size, const QRegion &staticContents)
-{
-    Q_UNUSED(staticContents);
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window() << ", s =" << size;
-
-    // NOTE: defer resizing window buffers until next paint as
-    // resize() can be called multiple times before a paint occurs
-    m_requestedSize = size;
-}
-
-void QQnxGLBackingStore::beginPaint(const QRegion &region)
-{
-    Q_UNUSED(region);
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window();
-
-    // resize EGL surface if window surface resized
-    if (m_size != m_requestedSize) {
-        resizeSurface(m_requestedSize);
-    }
-}
-
-void QQnxGLBackingStore::endPaint(const QRegion &region)
-{
-    Q_UNUSED(region);
-    qGLBackingStoreDebug() << Q_FUNC_INFO << "w =" << window();
-}
-
-void QQnxGLBackingStore::resizeSurface(const QSize &size)
-{
-    // need to destroy surface so make sure its not current
-    bool restoreCurrent = false;
-    QQnxGLContext *platformContext = static_cast<QQnxGLContext *>(m_openGLContext->handle());
-    if (platformContext->isCurrent()) {
-        m_openGLContext->doneCurrent();
-        restoreCurrent = true;
-    }
-
-    // destroy old EGL surface
-    platformContext->destroySurface();
-
-    // resize window's buffers
-    static_cast<QQnxWindow*>(window()->handle())->setBufferSize(size);
-
-    // re-create EGL surface with new size
-    m_size = size;
-    platformContext->createSurface(window()->handle());
-
-    // make context current again
-    if (restoreCurrent) {
-        m_openGLContext->makeCurrent(window());
-    }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/platforms/qnx/qqnxglbackingstore.h b/src/plugins/platforms/qnx/qqnxglbackingstore.h
deleted file mode 100644 (file)
index 78ee58f..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-/***************************************************************************
-**
-** Copyright (C) 2011 - 2012 Research In Motion
-** Contact: http://www.qt-project.org/
-**
-** This file is part of the plugins of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QQNXGLBACKINGSTORE_H
-#define QQNXGLBACKINGSTORE_H
-
-#include <qpa/qplatformbackingstore.h>
-#include <QtOpenGL/private/qglpaintdevice_p.h>
-
-#include <screen/screen.h>
-
-QT_BEGIN_NAMESPACE
-
-class QGLContext;
-class QQnxGLContext;
-class QQnxScreen;
-class QQnxWindow;
-
-class QQnxGLPaintDevice : public QGLPaintDevice
-{
-public:
-    QQnxGLPaintDevice(QWindow *window);
-    ~QQnxGLPaintDevice();
-
-    QPaintEngine *paintEngine() const;
-    QSize size() const;
-    QGLContext *context() const { return m_glContext; }
-
-private:
-    QQnxWindow *m_window;
-    QGLContext *m_glContext;
-};
-
-class QQnxGLBackingStore : public QPlatformBackingStore
-{
-public:
-    QQnxGLBackingStore(QWindow *window);
-    ~QQnxGLBackingStore();
-
-    QPaintDevice *paintDevice() { return m_paintDevice; }
-    void flush(QWindow *window, const QRegion &region, const QPoint &offset);
-    void resize(const QSize &size, const QRegion &staticContents);
-    void beginPaint(const QRegion &region);
-    void endPaint(const QRegion &region);
-
-    void resizeSurface(const QSize &size);
-
-private:
-    QOpenGLContext *m_openGLContext;
-    QQnxGLPaintDevice *m_paintDevice;
-    QSize m_requestedSize;
-    QSize m_size;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQNXGLBACKINGSTORE_H
index 391a17b..6d0c200 100644 (file)
@@ -84,9 +84,7 @@
 #include <QtGui/qwindowsysteminterface.h>
 
 #if !defined(QT_NO_OPENGL)
-#include "qqnxglbackingstore.h"
 #include "qqnxglcontext.h"
-
 #include <QtGui/QOpenGLContext>
 #endif
 
@@ -117,9 +115,6 @@ QQnxIntegration::QQnxIntegration()
 #endif
     , m_services(0)
     , m_fontDatabase(new QGenericUnixFontDatabase())
-#if !defined(QT_NO_OPENGL)
-    , m_paintUsingOpenGL(false)
-#endif
 #if defined(Q_OS_BLACKBERRY)
     , m_eventDispatcher(new QQnxEventDispatcherBlackberry())
     , m_bpsEventFilter(0)
@@ -301,12 +296,7 @@ QPlatformWindow *QQnxIntegration::createPlatformWindow(QWindow *window) const
 QPlatformBackingStore *QQnxIntegration::createPlatformBackingStore(QWindow *window) const
 {
     qIntegrationDebug() << Q_FUNC_INFO;
-#if !defined(QT_NO_OPENGL)
-    if (paintUsingOpenGL())
-        return new QQnxGLBackingStore(window);
-    else
-#endif
-        return new QQnxRasterBackingStore(window);
+    return new QQnxRasterBackingStore(window);
 }
 
 #if !defined(QT_NO_OPENGL)
index 9682567..fe2447c 100644 (file)
@@ -107,10 +107,6 @@ public:
 
     QVariant styleHint(StyleHint hint) const;
 
-#if !defined(QT_NO_OPENGL)
-    bool paintUsingOpenGL() const { return m_paintUsingOpenGL; }
-#endif
-
     QPlatformServices *services() const;
 
 #if defined(Q_OS_BLACKBERRY)
@@ -139,9 +135,6 @@ private:
 #endif
     QQnxServices *m_services;
     QPlatformFontDatabase *m_fontDatabase;
-#if !defined(QT_NO_OPENGL)
-    bool m_paintUsingOpenGL;
-#endif
     QAbstractEventDispatcher *m_eventDispatcher;
 #if defined(Q_OS_BLACKBERRY)
     QQnxBpsEventFilter *m_bpsEventFilter;