Adds a way for Cogl to control event_mask of foreign wins

This extends cogl_onscreen_x11_set_foreign_xid to take a callback to a
function that details the event mask the Cogl requires the application
to select on foreign windows. This is required because Cogl, for
example, needs to track size changes of a window and may also in the
future want other notifications such as map/unmap.

Most applications wont need to use the foreign xwindow apis, but those
that do are required to pass a valid callback and update the event mask
of their window according to Cogl's requirements.
This commit is contained in:
Robert Bragg
2011-05-04 17:02:04 +01:00
parent 97243ad9ac
commit 6c23f27801
6 changed files with 109 additions and 5 deletions

View File

@ -118,6 +118,8 @@ struct _CoglOnscreen
#ifdef COGL_HAS_X11_SUPPORT
guint32 foreign_xid;
CoglOnscreenX11MaskCallback foreign_update_mask_callback;
void *foreign_update_mask_data;
#endif
gboolean swap_throttled;