Release Notes: The work on model-view separation has been started: the AdgModel abstract class is now in place. The new AdgPath model provides a full set of APIs to construct paths from scratch. Also, AdgPath gives full access to the model through CPML, allowing you to modify and manipulate the path data. The CPML library now natively supports arcs. Although cairo does not recognize arcs, a lot of work has been done to hide the complexity needed to provide an API that does the necessary transformations transparently. The old AdgPath entity has been rewritten to AdgStroke, a stroked view of an AdgPath model.
Release Notes: The CPML library has been boosted with additional APIs to browse segments/primitives and to compute intersections between different constructs. Now it has its own demo program (cpml-demo) showing some of the implemented features. Although some functions are still stubs, the overall infrastructure is likely to be definitive. All the CPML APIs are now properly documented. The ldim demo has been merged into the more complex adg-demo. Now the demo programs use the GtkBuilder feature, so the Gtk+ dependency has been raised to 2.12.
Release Notes: The standard cairo path API can be used in the path constructor callback. The AdgPoint struct, AdgToyText entity, and two new interfaces (AdgTranslatable and AdgRotable) have been added. The CPML API has been greatly improved: duplicated stuff was removed, CpmlPath was dropped and new APIs were implemented, such as segment browsing, reversing, and transformation. The README, NEWS, TODO, and ChangeLog files are now automatically generated: the originals are kept in docbook format, allowing inclusion in the HTML documentation. The adg-demo program now allows one to save the sample drawing in PNG, PDF, and PostScript.
Release Notes: The dependency on libgcontainer has been dropped: now the adg canvas requires only cairo and Gtk+2. This allows you 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).
Release Notes: The "invalidate" signal has been implemented 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. The Cairo dependency has been raised to version 0.7.4 or more. The AdgLDim entity has been rewritten to fully implement the new cache design. Other entities have been improved to allow a paper matrix other than the default identity matrix.
Release Notes: This release has reworked styles and implements AdgContext, a clean and well defined approach to manage rendering customization. All the geometrical code has been moved into the Cairo Path Manipulation Library (CPML), an internal library depending only on cairo. The documentation has been greatly improved.
Release Notes: The model and paper matrix concepts were strongly separated and their management updated using nested transformations. The rendering process was reworked in a cleaner way by propagating the "render" signal and using internal entity states to determine what changed from the previous rendering.