summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/directfb
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>2011-10-18 15:10:23 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-21 16:54:45 +0200
commitc7df1af337e0d5a013a2f1c17bb14df083769410 (patch)
tree7ace2d306d219f03b7ca8a858d130eea0782f454 /src/plugins/platforms/directfb
parent960502d91a5deb7db116c0385cb9a6feddac173f (diff)
[directfb] Implement grab/ungrab of keyboard/pointer
Change-Id: Ie2b99bb659e324c63bfd23e96d6c89c13a8df3b4 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/plugins/platforms/directfb')
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.cpp24
-rw-r--r--src/plugins/platforms/directfb/qdirectfbwindow.h2
2 files changed, 26 insertions, 0 deletions
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;