To answer my own question, currently the cleanest way to go about it seems to be using the Clutter scene graph library.
By means of 'GtkClutter' (package name) you get a new GTK widget, GtkClutterEmbed. This widget is added to the interface of your program like other GTK widgets such as buttons, panels etc. With this GtkClutterEmbed widget you can add a Clutter stage to it, and to this stage actor objects such as a Cairo context with the ClutterCanvas object and another actor that is painted with the high level Cogl API. |