From e4042435ba15e6da669f541cd43580f85dbeae3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 25 Jul 2011 14:55:45 +0200 Subject: Get the eglfs plugin compiling. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I5addb1a2593a670d559b9fbf9183f52af410895b Reviewed-on: http://codereview.qt.nokia.com/2176 Reviewed-by: Qt Sanity Bot Reviewed-by: Jørgen Lind --- src/plugins/platforms/eglfs/eglfs.pro | 10 +- src/plugins/platforms/eglfs/qeglfsbackingstore.cpp | 104 +++++++++++++++++++++ src/plugins/platforms/eglfs/qeglfsbackingstore.h | 68 ++++++++++++++ src/plugins/platforms/eglfs/qeglfsintegration.cpp | 42 ++++----- src/plugins/platforms/eglfs/qeglfsintegration.h | 11 +-- src/plugins/platforms/eglfs/qeglfsscreen.cpp | 48 +++++----- src/plugins/platforms/eglfs/qeglfsscreen.h | 2 + src/plugins/platforms/eglfs/qeglfswindow.cpp | 23 +---- src/plugins/platforms/eglfs/qeglfswindow.h | 5 +- .../platforms/eglfs/qeglfswindowsurface.cpp | 101 -------------------- src/plugins/platforms/eglfs/qeglfswindowsurface.h | 67 ------------- 11 files changed, 235 insertions(+), 246 deletions(-) create mode 100644 src/plugins/platforms/eglfs/qeglfsbackingstore.cpp create mode 100644 src/plugins/platforms/eglfs/qeglfsbackingstore.h delete mode 100644 src/plugins/platforms/eglfs/qeglfswindowsurface.cpp delete mode 100644 src/plugins/platforms/eglfs/qeglfswindowsurface.h (limited to 'src/plugins') diff --git a/src/plugins/platforms/eglfs/eglfs.pro b/src/plugins/platforms/eglfs/eglfs.pro index bcf5c6153a..9898d0baf8 100644 --- a/src/plugins/platforms/eglfs/eglfs.pro +++ b/src/plugins/platforms/eglfs/eglfs.pro @@ -2,7 +2,7 @@ TARGET = qeglfs TEMPLATE = lib CONFIG += plugin -QT += opengl core-private gui-private opengl-private +QT += opengl core-private gui-private opengl-private platformsupport-private widgets-private DESTDIR = $$QT.gui.plugins/platforms @@ -12,17 +12,13 @@ DESTDIR = $$QT.gui.plugins/platforms SOURCES = main.cpp \ qeglfsintegration.cpp \ - ../eglconvenience/qeglconvenience.cpp \ - ../eglconvenience/qeglplatformcontext.cpp \ qeglfswindow.cpp \ - qeglfswindowsurface.cpp \ + qeglfsbackingstore.cpp \ qeglfsscreen.cpp HEADERS = qeglfsintegration.h \ - ../eglconvenience/qeglconvenience.h \ - ../eglconvenience/qeglplatformcontext.h \ qeglfswindow.h \ - qeglfswindowsurface.h \ + qeglfsbackingstore.h \ qeglfsscreen.h load(qpa/fontdatabases/genericunix) diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp new file mode 100644 index 0000000000..c3090428de --- /dev/null +++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.cpp @@ -0,0 +1,104 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** 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 + +#include "qeglfsbackingstore.h" + +#include +#include + +#include + +QT_BEGIN_NAMESPACE + +class QEglFSPaintDevice : public QGLPaintDevice +{ +public: + QEglFSPaintDevice(QEglFSScreen *screen) + :QGLPaintDevice(), m_screen(screen) + { + #ifdef QEGL_EXTRA_DEBUG + qWarning("QEglPaintDevice %p, %p",this, screen); + #endif + } + + QSize size() const { return m_screen->geometry().size(); } + QGLContext* context() const { return QGLContext::fromGuiGLContext(m_screen->platformContext()->context()); } + + QPaintEngine *paintEngine() const { return qt_qgl_paint_engine(); } + + void beginPaint(){ + QGLPaintDevice::beginPaint(); + } +private: + QEglFSScreen *m_screen; + QGLContext *m_context; +}; + + +QEglFSBackingStore::QEglFSBackingStore(QWindow *window) + : QPlatformBackingStore(window) +{ +#ifdef QEGL_EXTRA_DEBUG + qWarning("QEglBackingStore %p, %p", window, screen); +#endif + m_paintDevice = new QEglFSPaintDevice(static_cast(window->screen()->handle())); +} + +void QEglFSBackingStore::flush(QWindow *widget, const QRegion ®ion, const QPoint &offset) +{ + Q_UNUSED(widget); + Q_UNUSED(region); + Q_UNUSED(offset); +#ifdef QEGL_EXTRA_DEBUG + qWarning("QEglBackingStore::flush %p",widget); +#endif + static_cast(m_paintDevice)->context()->swapBuffers(); +} + +void QEglFSBackingStore::resize(const QSize &size, const QRegion &staticContents) +{ + Q_UNUSED(size); + Q_UNUSED(staticContents); +} + +QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfsbackingstore.h b/src/plugins/platforms/eglfs/qeglfsbackingstore.h new file mode 100644 index 0000000000..d6a28a7665 --- /dev/null +++ b/src/plugins/platforms/eglfs/qeglfsbackingstore.h @@ -0,0 +1,68 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** 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 QEGLWINDOWSURFACE_H +#define QEGLWINDOWSURFACE_H + +#include "qeglfsintegration.h" +#include "qeglfswindow.h" + +#include + +QT_BEGIN_NAMESPACE + +class QEglFSBackingStore : public QPlatformBackingStore +{ +public: + QEglFSBackingStore(QWindow *window); + ~QEglFSBackingStore() {} + + QPaintDevice *paintDevice() { return m_paintDevice; } + void flush(QWindow *window, const QRegion ®ion, const QPoint &offset); + void resize(const QSize &size, const QRegion &staticContents); + +private: + QPaintDevice *m_paintDevice; +}; + +QT_END_NAMESPACE + +#endif // QEGLWINDOWSURFACE_H diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.cpp b/src/plugins/platforms/eglfs/qeglfsintegration.cpp index 716ae8a78e..884c24ca54 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.cpp +++ b/src/plugins/platforms/eglfs/qeglfsintegration.cpp @@ -42,13 +42,15 @@ #include "qeglfsintegration.h" #include "qeglfswindow.h" -#include "qeglfswindowsurface.h" +#include "qeglfsbackingstore.h" -#include "qgenericunixfontdatabase.h" +#include +#include #include -#include -#include +#include +#include +#include #include @@ -57,9 +59,8 @@ QT_BEGIN_NAMESPACE QEglFSIntegration::QEglFSIntegration() : mFontDb(new QGenericUnixFontDatabase()) { - m_primaryScreen = new QEglFSScreen(EGL_DEFAULT_DISPLAY); + screenAdded(new QEglFSScreen(EGL_DEFAULT_DISPLAY)); - mScreens.append(m_primaryScreen); #ifdef QEGL_EXTRA_DEBUG qWarning("QEglIntegration\n"); #endif @@ -73,32 +74,26 @@ bool QEglFSIntegration::hasCapability(QPlatformIntegration::Capability cap) cons } } -QPlatformPixmap *QEglFSIntegration::createPlatformPixmap(QPlatformPixmap::PixelType type) const +QPlatformWindow *QEglFSIntegration::createPlatformWindow(QWindow *window) const { #ifdef QEGL_EXTRA_DEBUG - qWarning("QEglIntegration::createPlatformPixmap %d\n", type); + qWarning("QEglIntegration::createPlatformWindow %p\n",window); #endif - return new QRasterPlatformPixmap(type); + return new QEglFSWindow(window); } -QPlatformWindow *QEglFSIntegration::createPlatformWindow(QWidget *widget, WId winId) const + +QPlatformBackingStore *QEglFSIntegration::createPlatformBackingStore(QWindow *window) const { - Q_UNUSED(winId); #ifdef QEGL_EXTRA_DEBUG - qWarning("QEglIntegration::createPlatformWindow %p\n",widget); + qWarning("QEglIntegration::createWindowSurface %p\n",widget); #endif - return new QEglFSWindow(widget, m_primaryScreen); + return new QEglFSBackingStore(window); } - -QWindowSurface *QEglFSIntegration::createWindowSurface(QWidget *widget, WId winId) const +QPlatformGLContext *QEglFSIntegration::createPlatformGLContext(QGuiGLContext *context) const { - Q_UNUSED(winId); - -#ifdef QEGL_EXTRA_DEBUG - qWarning("QEglIntegration::createWindowSurface %p\n",widget); -#endif - return new QEglFSWindowSurface(m_primaryScreen,widget); + return static_cast(context->screen()->handle())->platformContext(); } QPlatformFontDatabase *QEglFSIntegration::fontDatabase() const @@ -106,4 +101,9 @@ QPlatformFontDatabase *QEglFSIntegration::fontDatabase() const return mFontDb; } +QAbstractEventDispatcher *QEglFSIntegration::createEventDispatcher() const +{ + return createUnixEventDispatcher(); +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfsintegration.h b/src/plugins/platforms/eglfs/qeglfsintegration.h index 9b86a0484e..d8770dd51b 100644 --- a/src/plugins/platforms/eglfs/qeglfsintegration.h +++ b/src/plugins/platforms/eglfs/qeglfsintegration.h @@ -57,18 +57,17 @@ public: QEglFSIntegration(); bool hasCapability(QPlatformIntegration::Capability cap) const; - QPlatformPixmap *createPlatformPixmap(QPlatformPixmap::PixelType type) const; - QPlatformWindow *createPlatformWindow(QWidget *widget, WId winId) const; - QWindowSurface *createWindowSurface(QWidget *widget, WId winId) const; - QList screens() const { return mScreens; } + QPlatformWindow *createPlatformWindow(QWindow *window) const; + QPlatformBackingStore *createPlatformBackingStore(QWindow *window) const; + QPlatformGLContext *createPlatformGLContext(QGuiGLContext *context) const; QPlatformFontDatabase *fontDatabase() const; + QAbstractEventDispatcher *createEventDispatcher() const; + private: QPlatformFontDatabase *mFontDb; - QList mScreens; - QEglFSScreen *m_primaryScreen; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfsscreen.cpp b/src/plugins/platforms/eglfs/qeglfsscreen.cpp index 42195364ae..953ae704dc 100644 --- a/src/plugins/platforms/eglfs/qeglfsscreen.cpp +++ b/src/plugins/platforms/eglfs/qeglfsscreen.cpp @@ -40,9 +40,10 @@ ****************************************************************************/ #include "qeglfsscreen.h" +#include "qeglfswindow.h" -#include "../eglconvenience/qeglconvenience.h" -#include "../eglconvenience/qeglplatformcontext.h" +#include +#include #ifdef Q_OPENKODE #include @@ -86,6 +87,23 @@ static struct AttrInfo attrs[] = { {-1, 0}}; #endif //QEGL_EXTRA_DEBUG +class QEglFSContext : public QEGLPlatformContext +{ +public: + QEglFSContext(const QSurfaceFormat &format, QPlatformGLContext *share, EGLDisplay display, + EGLint eglClientVersion = 2, EGLenum eglApi = EGL_OPENGL_ES_API) + : QEGLPlatformContext(format, share, display, eglClientVersion, eglApi) + { + } + + EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface) + { + QEglFSWindow *window = static_cast(surface); + QEglFSScreen *screen = static_cast(window->screen()); + return screen->surface(); + } +}; + QEglFSScreen::QEglFSScreen(EGLNativeDisplayType display) : m_depth(32) , m_format(QImage::Format_Invalid) @@ -136,32 +154,29 @@ void QEglFSScreen::createAndSetPlatformContext() const { void QEglFSScreen::createAndSetPlatformContext() { - QPlatformWindowFormat platformFormat = QPlatformWindowFormat::defaultFormat(); - - platformFormat.setWindowApi(QPlatformWindowFormat::OpenGL); + QSurfaceFormat platformFormat; QByteArray depthString = qgetenv("QT_QPA_EGLFS_DEPTH"); if (depthString.toInt() == 16) { - platformFormat.setDepth(16); + platformFormat.setDepthBufferSize(16); platformFormat.setRedBufferSize(5); platformFormat.setGreenBufferSize(6); platformFormat.setBlueBufferSize(5); m_depth = 16; m_format = QImage::Format_RGB16; } else { - platformFormat.setDepth(32); + platformFormat.setDepthBufferSize(32); platformFormat.setRedBufferSize(8); platformFormat.setGreenBufferSize(8); platformFormat.setBlueBufferSize(8); m_depth = 32; m_format = QImage::Format_RGB32; } - if (!qgetenv("QT_QPA_EGLFS_MULTISAMPLE").isEmpty()) { - platformFormat.setSampleBuffers(true); - } + if (!qgetenv("QT_QPA_EGLFS_MULTISAMPLE").isEmpty()) + platformFormat.setSamples(4); - EGLConfig config = q_configFromQPlatformWindowFormat(m_dpy, platformFormat); + EGLConfig config = q_configFromGLFormat(m_dpy, platformFormat); EGLNativeWindowType eglWindow = 0; #ifdef Q_OPENKODE @@ -193,16 +208,7 @@ void QEglFSScreen::createAndSetPlatformContext() qWarning("\n"); #endif - EGLint temp; - EGLint attribList[32]; - - temp = 0; - - attribList[temp++] = EGL_CONTEXT_CLIENT_VERSION; - attribList[temp++] = 2; // GLES version 2 - attribList[temp++] = EGL_NONE; - - QEGLPlatformContext *platformContext = new QEGLPlatformContext(m_dpy,config,attribList,m_surface,EGL_OPENGL_ES_API); + QEGLPlatformContext *platformContext = new QEglFSContext(platformFormat, 0, m_dpy); m_platformContext = platformContext; EGLint w,h; // screen size detection diff --git a/src/plugins/platforms/eglfs/qeglfsscreen.h b/src/plugins/platforms/eglfs/qeglfsscreen.h index 5cf1daca6f..230acf3a4b 100644 --- a/src/plugins/platforms/eglfs/qeglfsscreen.h +++ b/src/plugins/platforms/eglfs/qeglfsscreen.h @@ -64,6 +64,8 @@ public: QPlatformGLContext *platformContext() const; + EGLSurface surface() const { return m_surface; } + private: void createAndSetPlatformContext() const; void createAndSetPlatformContext(); diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp index 24b17b75e7..25da588519 100644 --- a/src/plugins/platforms/eglfs/qeglfswindow.cpp +++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp @@ -45,8 +45,8 @@ QT_BEGIN_NAMESPACE -QEglFSWindow::QEglFSWindow(QWidget *w, QEglFSScreen *screen) - : QPlatformWindow(w), m_screen(screen) +QEglFSWindow::QEglFSWindow(QWindow *w) + : QPlatformWindow(w) { static int serialNo = 0; m_winid = ++serialNo; @@ -55,15 +55,11 @@ QEglFSWindow::QEglFSWindow(QWidget *w, QEglFSScreen *screen) #endif } - void QEglFSWindow::setGeometry(const QRect &) { // We only support full-screen windows - QRect rect(m_screen->availableGeometry()); - QWindowSystemInterface::handleGeometryChange(this->widget(), rect); - - // Since toplevels are fullscreen, propegate the screen size back to the widget - widget()->setGeometry(rect); + QRect rect(screen()->availableGeometry()); + QWindowSystemInterface::handleGeometryChange(window(), rect); QPlatformWindow::setGeometry(rect); } @@ -73,15 +69,4 @@ WId QEglFSWindow::winId() const return m_winid; } - - -QPlatformGLContext *QEglFSWindow::glContext() const -{ -#ifdef QEGL_EXTRA_DEBUG - qWarning("QEglWindow::glContext %p\n", m_screen->platformContext()); -#endif - Q_ASSERT(m_screen); - return m_screen->platformContext(); -} - QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfswindow.h b/src/plugins/platforms/eglfs/qeglfswindow.h index 4e9a728772..09f553d3b7 100644 --- a/src/plugins/platforms/eglfs/qeglfswindow.h +++ b/src/plugins/platforms/eglfs/qeglfswindow.h @@ -53,15 +53,12 @@ QT_BEGIN_NAMESPACE class QEglFSWindow : public QPlatformWindow { public: - QEglFSWindow(QWidget *w, QEglFSScreen *screen); + QEglFSWindow(QWindow *w); void setGeometry(const QRect &); WId winId() const; - QPlatformGLContext *glContext() const; - private: - QEglFSScreen *m_screen; WId m_winid; }; QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfswindowsurface.cpp b/src/plugins/platforms/eglfs/qeglfswindowsurface.cpp deleted file mode 100644 index 970402015f..0000000000 --- a/src/plugins/platforms/eglfs/qeglfswindowsurface.cpp +++ /dev/null @@ -1,101 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** 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 "qeglfswindowsurface.h" - -#include - -#include -#include - -QT_BEGIN_NAMESPACE - -class QEglFSPaintDevice : public QGLPaintDevice -{ -public: - QEglFSPaintDevice(QEglFSScreen *screen, QWidget *widget) - :QGLPaintDevice(), m_screen(screen) - { - #ifdef QEGL_EXTRA_DEBUG - qWarning("QEglPaintDevice %p, %p, %p",this, screen, widget); - #endif - } - - QSize size() const { return m_screen->geometry().size(); } - QGLContext* context() const { return QGLContext::fromPlatformGLContext(m_screen->platformContext());} - - QPaintEngine *paintEngine() const { return qt_qgl_paint_engine(); } - - void beginPaint(){ - QGLPaintDevice::beginPaint(); - } -private: - QEglFSScreen *m_screen; - QGLContext *m_context; -}; - - -QEglFSWindowSurface::QEglFSWindowSurface( QEglFSScreen *screen, QWidget *window ) - :QWindowSurface(window) -{ -#ifdef QEGL_EXTRA_DEBUG - qWarning("QEglWindowSurface %p, %p", window, screen); -#endif - m_paintDevice = new QEglFSPaintDevice(screen,window); -} - -void QEglFSWindowSurface::flush(QWidget *widget, const QRegion ®ion, const QPoint &offset) -{ - Q_UNUSED(widget); - Q_UNUSED(region); - Q_UNUSED(offset); -#ifdef QEGL_EXTRA_DEBUG - qWarning("QEglWindowSurface::flush %p",widget); -#endif - widget->platformWindow()->glContext()->swapBuffers(); -} - -void QEglFSWindowSurface::resize(const QSize &size) -{ - Q_UNUSED(size); -} - -QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfswindowsurface.h b/src/plugins/platforms/eglfs/qeglfswindowsurface.h deleted file mode 100644 index 9ce8fd4f53..0000000000 --- a/src/plugins/platforms/eglfs/qeglfswindowsurface.h +++ /dev/null @@ -1,67 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** 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 QEGLWINDOWSURFACE_H -#define QEGLWINDOWSURFACE_H - -#include "qeglfsintegration.h" -#include "qeglfswindow.h" - -#include - -QT_BEGIN_NAMESPACE - -class QEglFSWindowSurface : public QWindowSurface -{ -public: - QEglFSWindowSurface(QEglFSScreen *screen, QWidget *window); - ~QEglFSWindowSurface() {} - - QPaintDevice *paintDevice() { return m_paintDevice; } - void flush(QWidget *widget, const QRegion ®ion, const QPoint &offset); - void resize(const QSize &size); -private: - QPaintDevice *m_paintDevice; -}; - -QT_END_NAMESPACE - -#endif // QEGLWINDOWSURFACE_H -- cgit v1.2.3