summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer.qnx@kdab.com>2012-07-31 18:12:18 +0100
committerQt by Nokia <qt-info@nokia.com>2012-08-01 15:37:46 +0200
commit89a1a943cecc2a8d39c88d64bcbee6cf5e02519e (patch)
tree19c197d8cce71790fd105369ef45450811acef03 /src/plugins/platforms
parent3a2bc9530e1ace629c37c708e0f0f1b2ca3ed05c (diff)
QNX: Remove dependency on QtWidgets from QNX QPA plugin
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>
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/qnx/qnx.pro12
-rw-r--r--src/plugins/platforms/qnx/qqnxglbackingstore.cpp182
-rw-r--r--src/plugins/platforms/qnx/qqnxglbackingstore.h95
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.cpp12
-rw-r--r--src/plugins/platforms/qnx/qqnxintegration.h7
5 files changed, 4 insertions, 304 deletions
diff --git a/src/plugins/platforms/qnx/qnx.pro b/src/plugins/platforms/qnx/qnx.pro
index affa3c1dcd..5298824600 100644
--- a/src/plugins/platforms/qnx/qnx.pro
+++ b/src/plugins/platforms/qnx/qnx.pro
@@ -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
index 285142c616..0000000000
--- a/src/plugins/platforms/qnx/qqnxglbackingstore.cpp
+++ /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
index 78ee58f215..0000000000
--- a/src/plugins/platforms/qnx/qqnxglbackingstore.h
+++ /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
diff --git a/src/plugins/platforms/qnx/qqnxintegration.cpp b/src/plugins/platforms/qnx/qqnxintegration.cpp
index 391a17be27..6d0c2000f8 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.cpp
+++ b/src/plugins/platforms/qnx/qqnxintegration.cpp
@@ -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)
diff --git a/src/plugins/platforms/qnx/qqnxintegration.h b/src/plugins/platforms/qnx/qqnxintegration.h
index 96825679e0..fe2447c0ac 100644
--- a/src/plugins/platforms/qnx/qqnxintegration.h
+++ b/src/plugins/platforms/qnx/qqnxintegration.h
@@ -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;