From c7df1af337e0d5a013a2f1c17bb14df083769410 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Tue, 18 Oct 2011 15:10:23 +0200 Subject: [directfb] Implement grab/ungrab of keyboard/pointer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ie2b99bb659e324c63bfd23e96d6c89c13a8df3b4 Reviewed-by: Jørgen Lind --- src/plugins/platforms/directfb/qdirectfbwindow.cpp | 24 ++++++++++++++++++++++ src/plugins/platforms/directfb/qdirectfbwindow.h | 2 ++ 2 files changed, 26 insertions(+) (limited to 'src/plugins') diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.cpp b/src/plugins/platforms/directfb/qdirectfbwindow.cpp index 2d6bee5ba7..0d32596631 100644 --- a/src/plugins/platforms/directfb/qdirectfbwindow.cpp +++ b/src/plugins/platforms/directfb/qdirectfbwindow.cpp @@ -169,3 +169,27 @@ WId QDirectFbWindow::winId() const m_dfbWindow->GetID(m_dfbWindow.data(), &id); return WId(id); } + +bool QDirectFbWindow::setKeyboardGrabEnabled(bool grab) +{ + DFBResult res; + + if (grab) + res = m_dfbWindow->GrabKeyboard(m_dfbWindow.data()); + else + res = m_dfbWindow->UngrabKeyboard(m_dfbWindow.data()); + + return res == DFB_OK; +} + +bool QDirectFbWindow::setMouseGrabEnabled(bool grab) +{ + DFBResult res; + + if (grab) + res = m_dfbWindow->GrabPointer(m_dfbWindow.data()); + else + res = m_dfbWindow->UngrabPointer(m_dfbWindow.data()); + + return res == DFB_OK; +} diff --git a/src/plugins/platforms/directfb/qdirectfbwindow.h b/src/plugins/platforms/directfb/qdirectfbwindow.h index 77afda5246..1169b8bf27 100644 --- a/src/plugins/platforms/directfb/qdirectfbwindow.h +++ b/src/plugins/platforms/directfb/qdirectfbwindow.h @@ -61,6 +61,8 @@ public: void setVisible(bool visible); Qt::WindowFlags setWindowFlags(Qt::WindowFlags flags); + bool setKeyboardGrabEnabled(bool grab); + bool setMouseGrabEnabled(bool grab); void raise(); void lower(); WId winId() const; -- cgit v1.2.3