README.lifecycles
This is an attempt to document the lifecycles of the various datastructures in libgvc. gvc ------------------------------------------------------------------------------ i/p file --------------------------------------------------- ------------------------ i/p graph ------------------------ ------------------------ ------------------------ jobset ------------------------ ------------------------ ------------------------ layout ------------------------ ------------------------ ----------- ----------- job ----------- ----------- ----------- ----------- ----------- ----------- render ----------- ----------- ----------- ----------- ----------- ----------- page -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- gvdevice ----------------------------------------------------------------- ----------- gvc - extends over all input files, all graphs, all layouts, all renderings lasts for as long as the application is dealing with graphs provides management of plugins which should be loaded just once per invocation i/p file - can be more than one per gvc i/p graph - can be more than one per i/p file jobset - all layouts, all renderings of a single graph (not currently implemented) layout - a dot, or neato, or etc layout of a single graph job - a rendering of a single layout to a single gvdevice possibly including multiple pages from a single rendering, or mutiple refresh renderings for callback events render - rendering of the whole of single graph layout in a single format to a single device, possibly in multiple parts, page or refresh - one part of a mutipart rendering gvdevice - typically, one device per job. in the case of multipage output, a single gvdevice can be used for mutiple jobs and jobsets. a single format to a single file, or a single window on a desktop