From 5c435189d4faa5125ead13518784360a0f74b90f Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Mon, 8 Aug 2011 09:23:19 +0200 Subject: Implement map/unmap and force geometry EglFS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ia2d86e84acfeb30f41b06f106b93033fe54ed839 Reviewed-on: http://codereview.qt.nokia.com/2730 Reviewed-by: Qt Sanity Bot Reviewed-by: Jørgen Lind --- src/plugins/platforms/eglfs/qeglfswindow.cpp | 17 ++++++++++++++++- src/plugins/platforms/eglfs/qeglfswindow.h | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) (limited to 'src/plugins') diff --git a/src/plugins/platforms/eglfs/qeglfswindow.cpp b/src/plugins/platforms/eglfs/qeglfswindow.cpp index 25da588519..298592bae3 100644 --- a/src/plugins/platforms/eglfs/qeglfswindow.cpp +++ b/src/plugins/platforms/eglfs/qeglfswindow.cpp @@ -51,8 +51,13 @@ QEglFSWindow::QEglFSWindow(QWindow *w) static int serialNo = 0; m_winid = ++serialNo; #ifdef QEGL_EXTRA_DEBUG - qWarning("QEglWindow %p: %p %p 0x%x\n", this, w, screen, uint(m_winid)); + qWarning("QEglWindow %p: %p 0x%x\n", this, w, uint(m_winid)); #endif + + QRect screenGeometry(screen()->availableGeometry()); + if (w->geometry() != screenGeometry) { + QWindowSystemInterface::handleGeometryChange(w, screenGeometry); + } } void QEglFSWindow::setGeometry(const QRect &) @@ -69,4 +74,14 @@ WId QEglFSWindow::winId() const return m_winid; } +void QEglFSWindow::setVisible(bool visible) +{ + if (visible) { + QWindowSystemInterface::handleMapEvent(window()); + } else { + QWindowSystemInterface::handleUnmapEvent(window()); + } + +} + QT_END_NAMESPACE diff --git a/src/plugins/platforms/eglfs/qeglfswindow.h b/src/plugins/platforms/eglfs/qeglfswindow.h index 09f553d3b7..32a6e71683 100644 --- a/src/plugins/platforms/eglfs/qeglfswindow.h +++ b/src/plugins/platforms/eglfs/qeglfswindow.h @@ -58,6 +58,8 @@ public: void setGeometry(const QRect &); WId winId() const; + void setVisible(bool visible); + private: WId m_winid; }; -- cgit v1.2.3