   Help with ground-up Cairo app (drawing order? layer order?)
  I'm trying to find out how to order graphics in depth/z/drawing order in lib cairo and I'm finding no system whatsoever so it just seems that either everything just uniformally blends without anything being on top of anything else or it goes according to chronology which would puzzle me as I seem to be told to use a callback program flow for drawing graphics and not call the draw operations myself.Would be great if someone could clarify!Use case: My app is supposed to be a single widget window with graphics/gui entirely built from ground up using cairo. Would be even extra excellent if someone could also recommend which method best suits going about doing so.At the moment my drawable classes inherit the virtual bool on_expose_event(GdkEventExpose* event) callback function from Gtk::DrawingArea and I'm not used to not being able to go top-down (manager-down) update loops that end with an iteration of calling draw() on all drawables with control over 'drawing' / 'z' / 'layer' order.TIA   