Version 0.4.1 of Automatic Drawing Generation

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.

Other releases

Release Notes: The documentation has been improved to be more upstream compatible: the API reference manual is now kept in sync with the online documentation by using a dedicated SilverStripe module. This really simplifies the maintenance burden of the doc. A bug which was preventing the correct finalization of the returned cairo path from GObject introspection bindings has been corrected.

Release Notes: The project has been adapted to adg-lua in order to be able to publish the online Web demo on a standard LAMP server. The compatibility of the project with outdated systems has been improved. Compilation without GTK+ support has been tested: the canvas is now working properly on a system without an X server installed.

Release Notes: Out of the box bindings are now fully working: the adg-demo program provided by adg-lua ( is on par with the official adg-demo in C. AdgDress is inherited from GEnum instead of being a handcrafted solution. A lot of specialized code has been removed, so the mapping between numbers and names in bindings is automatic. Consistency in widget names has been improved, allowing you to simplify signal connections on the Lua side.

Release Notes: Out of the box support for LGI (dynamic Lua bindings based on GObject introspection) is now actively maintained and effectively used for testing APIs. The GBoxed wrappers for Cairo structs such as cairo_matrix_t have been dropped in favor of the native support provided by the cairo-gobject library. GObject wrappers for CPML structs such as pairs, primitives, and segments have been moved into CPML. This makes redundant the presence of wrappers on the ADG side.

Release Notes: The autoscaling feature is now available, and a series of predefined scale factors are applied until the proper one is found. The demo program autoscales the drawing on a right-click on the drawing area. The introspection support has been improved, making it possible to have LGI (Lua) bindings working out of the box. The typedef hack has been dropped in favor of a private forwarder header. The dash pattern of AdgLineStyle can now be customized by binding to it an AdgDash instance.


Project Spotlight


A tag-length-value parser.


Project Spotlight


Mathematical modeling software