Bubbles is a very basic actor-based layer hierarchy for drawable nodes. It allows you to organize a hierarchy of drawable "actors" (the nodes) into a "scene". The scene then acts as a sort of runloop, responsible for rendering actors in their respective positions.
cairo pango pangocairo freetype2 pangoft2 x11 xfixes
mkdir build && cmake .. && make
Each actor has a
update method. These methods are called by the scene every turn of the runloop.
render takes a Cairo context
cairo_t that you draw into. The scene already takes care of raster groups and any parent transformations that need to be applied.
Check out the example for some basic usage.
I created this project because I found myself writing this same code over and over again for any project that needed to render a complex drawable hierarchy to a framebuffer (i.e., an X11 window or an LED matrix). Ideally I'd like to avoid using something like GTK or Qt since I am targeting platforms that may not have a high resolution bitmap display (like an LED matrix). Theoretically this could be divorced from the platform completely, as its only dependency is the Cairo Graphics Library.
Why did you call it bubbles
I don't remember. I think it was the first name that came to my head. I do really like the 1982 Williams classic arcade game Bubbles