summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/platformsupport/eglconvenience/qeglplatformwindow.cpp')
-rw-r--r--src/platformsupport/eglconvenience/qeglplatformwindow.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/platformsupport/eglconvenience/qeglplatformwindow.cpp b/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
index a635bfff29..e9b79512ba 100644
--- a/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
+++ b/src/platformsupport/eglconvenience/qeglplatformwindow.cpp
@@ -92,7 +92,8 @@ void QEGLPlatformWindow::create()
// Save the original surface type before changing to OpenGLSurface.
m_raster = (window()->surfaceType() == QSurface::RasterSurface);
- window()->setSurfaceType(QSurface::OpenGLSurface);
+ if (m_raster) // change to OpenGL, but not for RasterGLSurface
+ window()->setSurfaceType(QSurface::OpenGLSurface);
if (window()->type() == Qt::Desktop) {
QRect fullscreenRect(QPoint(), screen()->availableGeometry().size());
@@ -102,14 +103,25 @@ void QEGLPlatformWindow::create()
}
}
-uint QEGLPlatformWindow::texture() const
+bool QEGLPlatformWindow::isRaster() const
+{
+ return m_raster || window()->surfaceType() == QSurface::RasterGLSurface;
+}
+
+const QPlatformTextureList *QEGLPlatformWindow::textures() const
{
if (m_backingStore)
- return m_backingStore->texture();
+ return m_backingStore->textures();
return 0;
}
+void QEGLPlatformWindow::composited()
+{
+ if (m_backingStore)
+ m_backingStore->composited();
+}
+
WId QEGLPlatformWindow::winId() const
{
return m_winId;