Projects / Automatic Drawing Generation

Automatic Drawing Generation

Automatic Drawing Generation is GObject-based library that provides a non-interactive Cairo canvas specifically designed for generating technical drawings.

Operating Systems

Last announcement

New Windows release 14 Oct 2013 21:16

The project has been rebuilt with the latest mingw-w64 toolchain. The underlying libraries, GTK+3 and cairo above all, have been patched and updated. The final installer seems to finally work without hassles on Windows platforms.

Recent releases

  •  15 Aug 2013 20:40

    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.

    •  07 Apr 2013 16:59

      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.

      •  25 Mar 2013 20:51

        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.

        •  14 Mar 2013 10:05

          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.

          •  16 Feb 2013 10:42

            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 Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.