summaryrefslogtreecommitdiff
path: root/cogl/cogl-renderer.c
diff options
context:
space:
mode:
authorRobert Bragg <robert@linux.intel.com>2013-04-16 23:46:03 +0100
committerRobert Bragg <robert@linux.intel.com>2013-04-30 16:39:31 +0100
commited90c6fed9f5eb924868fae1f0a87e4044a19f89 (patch)
tree9b2d30b0d02841b6d0582880c4d45ccce319c80c /cogl/cogl-renderer.c
parent816a5bc43764a3cbb6eda3a608ba71d528d66eb7 (diff)
downloadcogl-ed90c6fed9f5eb924868fae1f0a87e4044a19f89.tar.gz
Move event polling into CoglRenderer
This updates the cogl_poll_ apis to allow dispatching events before we have a CoglContext and to also enables pollfd state to be changed in a more add-hoc way by different Cogl components by replacing the winsys->get_poll_info with _cogl_poll_renderer_add/remove_fd functions and a winsys->get_dispatch_timeout vfunc. One of the intentions here is that applications should be able to run their mainloop before creating a CoglContext to potentially get events relating to CoglOutputs. Reviewed-by: Neil Roberts <neil@linux.intel.com> (cherry picked from commit 667e58c9cb2662aef5f44e580a9eda42dc8d0176)
Diffstat (limited to 'cogl/cogl-renderer.c')
-rw-r--r--cogl/cogl-renderer.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cogl/cogl-renderer.c b/cogl/cogl-renderer.c
index 401cfd50..f895d467 100644
--- a/cogl/cogl-renderer.c
+++ b/cogl/cogl-renderer.c
@@ -168,6 +168,8 @@ _cogl_renderer_free (CoglRenderer *renderer)
NULL);
g_slist_free (renderer->event_filters);
+ g_array_free (renderer->poll_fds, TRUE);
+
g_free (renderer);
}
@@ -181,6 +183,8 @@ cogl_renderer_new (void)
renderer->connected = FALSE;
renderer->event_filters = NULL;
+ renderer->poll_fds = g_array_new (FALSE, TRUE, sizeof (CoglPollFD));
+
#ifdef COGL_HAS_XLIB_SUPPORT
renderer->xlib_enable_event_retrieval = TRUE;
#endif