gdk: Allow disabling event retrieval
Just like the other backends can disable the internal event handling, and use clutter_<backend>_handle_event() to do the native → Clutter event translation.
This commit is contained in:
parent
a73f1e6768
commit
f14cbf5bdb
@ -65,6 +65,8 @@ G_DEFINE_TYPE (ClutterBackendGdk, clutter_backend_gdk, CLUTTER_TYPE_BACKEND_COGL
|
||||
/* global for pre init setup calls */
|
||||
static GdkDisplay *_foreign_dpy = NULL;
|
||||
|
||||
static gboolean disable_event_retrieval = FALSE;
|
||||
|
||||
static void
|
||||
clutter_backend_gdk_init_settings (ClutterBackendGdk *backend_gdk)
|
||||
{
|
||||
@ -186,7 +188,8 @@ clutter_backend_gdk_init_events (ClutterBackend *backend)
|
||||
{
|
||||
CLUTTER_NOTE (EVENT, "initialising the event loop");
|
||||
|
||||
_clutter_backend_gdk_events_init (backend);
|
||||
if (!disable_event_retrieval)
|
||||
_clutter_backend_gdk_events_init (backend);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -452,3 +455,16 @@ clutter_gdk_set_display (GdkDisplay *display)
|
||||
|
||||
_foreign_dpy = g_object_ref (display);
|
||||
}
|
||||
|
||||
void
|
||||
clutter_gdk_disable_event_retrieval (void)
|
||||
{
|
||||
if (_clutter_context_is_initialized ())
|
||||
{
|
||||
g_warning ("%s() can only be used before calling clutter_init()",
|
||||
G_STRFUNC);
|
||||
return;
|
||||
}
|
||||
|
||||
disable_event_retrieval = TRUE;
|
||||
}
|
||||
|
@ -51,6 +51,8 @@ GdkFilterReturn clutter_gdk_handle_event (GdkEvent *event);
|
||||
|
||||
ClutterStage * clutter_gdk_get_stage_from_window (GdkWindow *window);
|
||||
|
||||
void clutter_gdk_disable_event_retrieval (void);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __CLUTTER_GDK_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user