For Compositors to handle mouse focus handling, ie enter/leave. This
calls down into wayland-server which keeps track of which surface holds
the focus. Trivial implementation in compositor would be to call
this function for all mouseMove events. I believe overhead should not be
significant.
Change-Id: I8fdd5115cc512562c1a8d8b90c28f8ef2d5b53c9
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
return surfaceImpl ? surfaceImpl->handle() : 0;
}
+void WaylandCompositor::setMouseFocus(WaylandSurface *surface)
+{
+ Wayland::Surface *surfaceImpl = surface? surface->handle() : 0;
+ m_compositor->setPointerFocus(surfaceImpl);
+}
+
+WaylandSurface *WaylandCompositor::mouseFocus() const
+{
+ Wayland::Surface *surfaceImpl = m_compositor->pointerFocus();
+ return surfaceImpl ? surfaceImpl->handle() : 0;
+}
+
void WaylandCompositor::destroyClientForSurface(WaylandSurface *surface)
{
m_compositor->destroyClientForSurface(surface->handle());
void setInputFocus(WaylandSurface *surface);
WaylandSurface *inputFocus() const;
+
+ void setMouseFocus(WaylandSurface *surface);
+ WaylandSurface *mouseFocus() const;
+
void destroyClientForSurface(WaylandSurface *surface);
void setDirectRenderSurface(WaylandSurface *surface);