The dependency on libgcontainer has been dropped: now the adg canvas
requires only cairo and Gtk+2 (will be optional). This allows to try
the demo program (demo/adg-demo) on any decent GNU/Linux distribution
without installing anything.
The container logic has been included in AdgEntity (the GChildable
portion) and AdgContainer (the GContainerable part).
Implemented the "invalidate" signal to force the cache recomputation
on a new rendering operation.
The new cairo "toy" API has been used to do text management in AdgDim.
This allows caching of the intermediate glyphs for improved
performances (no profiling yet done). The cairo dependency has been
raised to version 0.7.4 or more.
The AdgLDim entity has been rewritten to full implement the new cache
design. Other entities have been improved to allow a paper matrix
other than the default identity matrix.
Reworked styles and implemented AdgContext, a clean and well defined
approach to manage rendering customization.
Moved all the geometrical stuff in Cairo Path Manipulation Library (CPML),
an internal library depending only on cairo.
Greatly improved documentation.
Strongly separated model and paper matrix concepts and updated their
management using nested transformations.
Reworked the rendering process in a cleaner way by propagating the
"render" signal and using internal entity states to let the application
know what changed from the previous rendering.
Reworked the sources tree in a cleaner way (to help future development)
and used private structs instead of populating the instance structure.
This is the first public release of the ADG library. It is in a early stage of
developement, but the goal is quite ambitious!
The ADG library is based on cairo (http://cairographics.org) and glib-2.0
(http://www.gtk.org), found in any decent linux system. Furthermore, I based
the container/child relationship on my little gcontainer library
(http://sourceforge.net/projects/gcontainer/): you must download and install