From 1ca05bb0c174d505469ac647818afaf537b41f43 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 18 Jan 2012 15:16:09 +0100 Subject: Add support for platform plugin specific event filters. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The setEventFilter on the platform native interface allows subscribing to events on the backend by event name. Change-Id: Ib10077fbc69f0207edbae1177e7bbd18c8d0f9ae Reviewed-by: Jørgen Lind Reviewed-by: Michalina Ziemba --- src/gui/kernel/qplatformnativeinterface_qpa.cpp | 47 +++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'src/gui/kernel/qplatformnativeinterface_qpa.cpp') diff --git a/src/gui/kernel/qplatformnativeinterface_qpa.cpp b/src/gui/kernel/qplatformnativeinterface_qpa.cpp index f9ddd1f72a..626f6a1e51 100644 --- a/src/gui/kernel/qplatformnativeinterface_qpa.cpp +++ b/src/gui/kernel/qplatformnativeinterface_qpa.cpp @@ -106,4 +106,51 @@ void QPlatformNativeInterface::setWindowProperty(QPlatformWindow *window, const Q_UNUSED(value); } +/*! + \typedef QPlatformNativeInterface::EventFilter + \since 5.0 + + A function with the following signature that can be used as an + event filter: + + \code + bool myEventFilter(void *message, long *result); + \endcode + + \sa setEventFilter() +*/ + +/*! + \fn EventFilter QPlatformNativeInterface::setEventFilter(const QByteArray &eventType, EventFilter filter) + \since 5.0 + + Replaces the event filter function for the native interface with + \a filter and returns the pointer to the replaced event filter + function. Only the current event filter function is called. If you + want to use both filter functions, save the replaced EventFilter + in a place where you can call it from. + + The event filter function set here is called for all messages + received from the platform if they are given type \eventType. + It is \i not called for messages that are not meant for Qt objects. + + The type of event is specific to the platform plugin chosen at run-time. + + The event filter function should return \c true if the message should + be filtered, (i.e. stopped). It should return \c false to allow + processing the message to continue. + + By default, no event filter function is set. For example, this function + returns a null EventFilter the first time it is called. + + \note The filter function here receives native messages, + for example, MSG or XEvent structs. It is called by the platform plugin. +*/ +QPlatformNativeInterface::EventFilter QPlatformNativeInterface::setEventFilter(const QByteArray &eventType, QPlatformNativeInterface::EventFilter filter) +{ + Q_UNUSED(eventType); + Q_UNUSED(filter); + return 0; +} + QT_END_NAMESPACE -- cgit v1.2.3