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:
@ -1624,9 +1624,17 @@ cogl_framebuffer_swap_region (CoglFramebuffer *framebuffer,
|
||||
#ifdef COGL_HAS_X11_SUPPORT
|
||||
void
|
||||
cogl_onscreen_x11_set_foreign_window_xid (CoglOnscreen *onscreen,
|
||||
guint32 xid)
|
||||
guint32 xid,
|
||||
CoglOnscreenX11MaskCallback update,
|
||||
void *user_data)
|
||||
{
|
||||
/* We don't wan't applications to get away with being lazy here and not
|
||||
* passing an update callback... */
|
||||
g_return_if_fail (update);
|
||||
|
||||
onscreen->foreign_xid = xid;
|
||||
onscreen->foreign_update_mask_callback = update;
|
||||
onscreen->foreign_update_mask_data = user_data;
|
||||
}
|
||||
|
||||
guint32
|
||||
|
Reference in New Issue
Block a user