What's new in Automatic Drawing Generation 0.9.1

May 4, 2017
  • Entities can now be "floating". When an entity is floating (the
  • default is not), its extents does not concur on increasing the
  • extents of its own container.
  • A new path method (adg_path_append_trail) allows to append an
  • AdgTrail to an AdgPath, also importing the named pairs.
  • Styles can be cloned with a single API call (adg_style_clone).
  • This greatly simplifies the way one can customize the styles.
  • Custom dimension dresses introduced in 0.9.0 have been dropped to
  • favor custom styles.
  • Working directly on the primitives of an AdgPath has been improved:
  • some new APIs have been added on this regard (cpml_primitive_type,
  • adg_trail_n_segments and adg_path_remove_primitive).
  • The reflect operation of AdgPath has been heavily tested and
  • improved: now you can reflect a multisegment path without issues.
  • Similarly, the AdgEdge entity has been tested and improved and now
  • can be applied on multisegment paths.
  • A new API (adg_path_join) allows to join all the segments inside
  • the path into a single segment.
  • AdgDim now has a "rounding" property.
  • Some annotation bugs have been fixed, so the bindings of those APIs
  • now work correctly (adg_path_arc, cpml_primitive_dump,
  • adg_path_append_cairo_path and adg_trail_put_segment).

New in Automatic Drawing Generation 0.9.0 (Apr 21, 2017)

  • Three new dresses have been added to address different quote
  • types: ADG_DRESS_DIMENSION_ANGULAR (that formats numbers in
  • sexagesimal units, bound by default to AdgADim instances),
  • ADG_DRESS_DIMENSION_RADIUS (that prefixes values with R, bound
  • to AdgRDim instances) and ADG_DRESS_DIMENSION_DIAMETER (that
  • prefixes the value with a diameter symbol).
  • The text generation algorithm has been greatly improved. The
  • AdgDimStyle object now has 3 specific properties dedicated to
  • the formatting of quotes: "number-format", "number-arguments"
  • and "decimals". This allows, among other things, to properly
  • render sexagesimal angles.
  • Some enum type has been converted to int on public APIs. enum
  • variables cannot precede ellipsis arguments: the last non
  • ellipsis argument will be promoted to int and if the enum is
  • not the same size (it could happen!) bad things will happen.
  • A backward compatibility bug (https://github.com/ntd/adg/issues/1)
  • that prevented out of the box building of the project on old
  • platforms has been fixed.
  • The testing provided by Travis-CI has been improved by building
  • for GTK+2 and GTK+3 by using both gcc and clang.
  • The Windows installer now includes Lua support. To be able to
  • have that enabled by default, gobject introspection has been
  • ported to Windows.

New in Automatic Drawing Generation 0.8.0 (Mar 9, 2015)

  • The code shared by tests has been moved on an internal library (libadgtest) shared by both CPML and ADG. The test coverage is now checked by leveraging the Coveralls service provided by GitHub. The percentage has been raised from 53% to 94%. A fistfull of bugs found while improving the test coverage has been corrected, most notably cpml_extents_is_inside(), cpml_segment_reverse() and some intersection algorithm. Children widgets now own weak references to parents, avoiding the circular dependency introduced by strong references. The overall sanity of the ADG library has been improved by adding additional checks where needed. The CPML library is not subject to those checks because by design it is not supposed to be sane.

New in Automatic Drawing Generation 0.7.4 (Aug 21, 2013)

  • Improved documentation: 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 that was preventing the correct finalization of the returned
  • cairo path from GObject introspection bindings has been corrected.

New in Automatic Drawing Generation 0.7.3 (Apr 8, 2013)

  • The compatibility of the project with outdated system has been improved in order to be able to install it on old web servers.
  • Compilation without GTK+ support has been tested: the canvas is now properly working on a system without X server installed.

New in Automatic Drawing Generation 0.7.2 (Mar 26, 2013)

  • AdgDress is inherited from GEnum instead of being a handcrafted solution. A lot of specialized code have been removed, so the mapping between numbers and names in bindings is automatic.
  • Consistency in widget names has been improved, allowing to simplify signal connections on the Lua side.

New in Automatic Drawing Generation 0.7.1 (Mar 14, 2013)

  • Out of the box support for LGI (dynamic Lua bindings based on GObject introspection) is now provided upstream and effectively used for testing APIs. The introspection support has been improved, some APIs (AdgPoint related methods above all) have been protected against NULL and some bugs raised by the bindings work have been corrected.
  • 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 has been moved to CPML itself. This makes redundant the presence of wrappers on the ADG side, simplyfing the work for the language bindings.

New in Automatic Drawing Generation 0.7.0 (Feb 16, 2013)

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

New in Automatic Drawing Generation 0.6.6 (Oct 22, 2012)

  • The project has been ported to GTK+3 also on Windows platforms. The helper scripts now build only GTK+3 installers.
  • The look-up falls back to srcdir so the icons can be used also without installing the program.
  • A bunch of new APIs has been added to help this relocation.
  • The Windows installers received a lot of cosmetic improvements.
  • The NSIS code has been cleaned up.