gdk: Add _gdk_x11_event_translator_get_window()

This method can be implemented by event translators so they
return the right window from XGenericEventCookie events, as
ev->xany.window isn't meaningful for these.

GdkEventSource now also uses this to find out the right window
filters to apply.
This commit is contained in:
Carlos Garnacho
2011-05-18 21:24:57 +02:00
parent 53d77a829a
commit 55cc9f3339
3 changed files with 68 additions and 10 deletions

View File

@ -49,6 +49,8 @@ struct _GdkEventTranslatorIface
void (* select_window_events) (GdkEventTranslator *translator,
Window window,
GdkEventMask event_mask);
GdkWindow * (* get_window) (GdkEventTranslator *translator,
XEvent *xevent);
};
GType _gdk_x11_event_translator_get_type (void) G_GNUC_CONST;
@ -60,6 +62,9 @@ GdkEventMask _gdk_x11_event_translator_get_handled_events (GdkEventTranslator
void _gdk_x11_event_translator_select_window_events (GdkEventTranslator *translator,
Window window,
GdkEventMask event_mask);
GdkWindow * _gdk_x11_event_translator_get_window (GdkEventTranslator *translator,
GdkDisplay *display,
XEvent *xevent);
G_END_DECLS