static CoglFilterReturn event_filter_cb (XEvent *xevent, void *data) { CoglContext *context = data; if (xevent->type == ConfigureNotify) { notify_resize (context, xevent->xconfigure.window, xevent->xconfigure.width, xevent->xconfigure.height); } else if (xevent->type == Expose) { CoglOnscreen *onscreen = find_onscreen_for_xid (context, xevent->xexpose.window); if (onscreen) { CoglOnscreenDirtyInfo info; info.x = xevent->xexpose.x; info.y = xevent->xexpose.y; info.width = xevent->xexpose.width; info.height = xevent->xexpose.height; _cogl_onscreen_queue_dirty (onscreen, &info); } } return COGL_FILTER_CONTINUE; }
static cg_filter_return_t event_filter_cb(XEvent *xevent, void *data) { cg_device_t *dev = data; if (xevent->type == ConfigureNotify) { notify_resize(dev, xevent->xconfigure.window, xevent->xconfigure.width, xevent->xconfigure.height); } else if (xevent->type == Expose) { cg_onscreen_t *onscreen = find_onscreen_for_xid(dev, xevent->xexpose.window); if (onscreen) { cg_onscreen_dirty_info_t info; info.x = xevent->xexpose.x; info.y = xevent->xexpose.y; info.width = xevent->xexpose.width; info.height = xevent->xexpose.height; _cg_onscreen_queue_dirty(onscreen, &info); } } return CG_FILTER_CONTINUE; }