Skip to content
Tags give the ability to mark specific points in history as being important
  • 0.9.4
    ADG canvas 0.9.4 released
    
    * Allow to build the ADG project with meson (https://mesonbuild.com).
      This is a major feature that allows to modernize part of the codebase
      and speed up the building process. The legacy autotools code will be
      kept around for some time, but meson is the preferred one.
    * Drop Travis code integration and switch to GitLab. Thanks for the
      fish Travis, but the new model is not that opensource friendly.
    * New API (adg_canvas_export_data) that returns the data as a memory
      chunk instead of writing it to a file. This is a requirement for
      adg-openresty (https://github.com/ntd/adg-openresty).
    * Update documentation building to latest gtk-doc changes.
    * Improve uninstalled detection at runtime: the adg-demo-uninstalled
      hack is no longer needed.
    * Fix g_memdup vulnerability.
    
  • 0.9.3
  • 0.9.2
  • 0.9.1
  • 0.9.0
  • 0.8.0
    3cdb36ea · doc: update DOAP metadata ·
  • 0.7.6
    4025f20b · doc: update TODO ·
    Page margins and paddings are now managed consistently across
    the different surfaces and their behavior has been documented.
    
    The NSIS script for generating the Windows installers has been
    subject to many improvements: it can now optionally install
    ADG and CPML manuals (either in HTML and in PDF format) and the
    localization data (only italian for now). It should also handle
    the application icons properly.
    
    The adg_canvas_export() function can save a canvas to a file in
    one command. It needs a patched gobject-introspection though: see
    bug #743364 (https://bugzilla.gnome.org/show_bug.cgi?id=743364).
    
    The localization infrastructure has been improved up to the point
    gettextize and intltool are no more required.
    
  • 0.7.5
    The algorithm to use for offsetting Bézier curves is now selectable by
    calling the non-reentrant cpml_curve_offset_algorithm() function.
    
    A new offsetting algorithm (BAIOCA) has been implemented. It tries to
    minimizy the error between the offset curve and the ideal offset point
    on evenly spaced t values.
    
    The source code has been revamped to minimize the warnings raised by new
    versions of gcc, gtk-doc and gobject-introspection.
    
    The internal sources have been refactored to manage GTK+2 and GTK+3
    differences with the same codebase.
    
  • 0.7.4
    Improved documentation: the API reference manual is now kept in
    sync with the online documentation (http://adg.entidi.com/) by
    using a dedicated SilverStripe module (http://gtkdoc.entidi.com/).
    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.
    
  • 0.7.3
    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 server without X server installed.
    
  • 0.7.2
    Out of the box bindings are now fully working: the adg-demo
    program provided by adg-lua (http://adg.entidi.com/lua/) is
    in par with the official adg-demo in C.
    
    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.
    
  • 0.7.1
    Out of the box support for LGI (http://github.com/pavouk/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.
    
  • 0.7.0
    58aa933c · doc: updated NEWS.xml ·
    The autoscaling feature is now available: a serie 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.
    
  • 0.6.6
    The project has been ported to GTK+3 also on Windows platforms.
    The helper scripts now build only GTK+3 installers.
    
    The recent porting of Fedora mingw packages to archlinux made
    possible to generate for the first time a win64 installer.
    
    adg-demo now embeds icons of different sizes, ranging from 16x16
    to 128x128 pixels. 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.
    
  • 0.6.5
    Some missing documentation files that prevented the proper build
    adg-0.6.4 source tarball have been included in the distribution
    package. No other relevant changes from 0.6.4.
    
  • 0.6.4
    16743393 · docs: udpated TODO.xml ·
    The Lua bindings, based on lgob, are now availabe as a separated
    project (adg-lua). The glue code is automatically generated by
    using GObject introspection.
    
    The build system can detect and use GTK+3 and gladeui-2.0 if found.
    GTK+2 and gladeui-1.0 are still available and can be forced at
    configure time.
    
    The rendering of AdgRDim has been enhanced:when the "outside"
    property is enabled, the leader line will extend beyoud the arc to
    quote for a styleable distance and the marker will be reveresed.
    
    The best text frontend is selected at configure time. When pango
    is available, will be preferred over the cairo toy text APIs.
    
  • 0.6.3
    The text manipulation logic has been moved inside the AdgTextual
    interface and a new entity based on pango (AdgText) has been added.
    Also AdgToyText implements AdgTextual so all the text entities are
    now interchangeable.
    
    The demo program has a new dialog page that allows to customize
    the title block of the drawing. The zoom hints have been moved
    outside the paper so the drawing can be considered finalized.
    
    The CPML library has its own test framework. Anyway tests have
    been improved generally so it is now possible to generate a
    report by using "make test-report".
    
    The missing extents computation on AdgRDim, AdgADim and AdgArrow
    are now in place. By calling adg-demo with the -E option it
    is possible to visually verify the extents status.
    
    A bunch of bugs, most notably the wrong glade catalogdir detection
    and some extents computation, have been resolved.
    
  • 0.6.2
    321cf8e1 · [docs] Updated NEWS.xml ·
    The localization infrastructure has been added and tested by adding
    the italian translation.
    
    The AdgGtkArea widget is now capable of interactively change zoom
    and pan in global space by dragging and/or rotating the wheel while
    keeping the shift pressed.
    
    A new class has been implemented: AdgGtkLayout is an AdgGtkArea
    based widget that implements the scrolling natively, hence it can
    be added directly to a GtkScrolledWindow container.
    
  • 0.6.1
    The canvas now has printing support when compiled with GTK+ enabled.
    The media setup can be associated to the canvas so this data can be
    accessed to provide a consistent behavior between different backends.
    
    The demo program can now render the drawing to an SVG file.
    Generated files are stored in the user document directory.
    
    Uncomplete entities now fail gracefully instead of complaining for
    insufficient data. This provides an easy way to implement optional
    machinings: the optional groove in the adg-demo program is working
    by leveraging this feature.
    
  • 0.6.0
    2718e8b6 · [docs] Updated NEWS.xml ·
    The portability of the build system has been improved: the ADG project
    now builds out of the box on FreeBSD, OpenSolaris, MinGW32 and GNU/Linux.
    
    The adg-demo program has been rewritten almost from scratch to provide
    a nice example of what the ADG should be used for. The rendering has
    been cleaned up and the model-view interaction now works: changing the
    data on the edit dialog changes the drawing (this is what the ADG has
    been developed for). The GTK+ widget, although not shining, is fairly
    usable and light years ahead of the previous version.
    
    The canvas now has custom paddings and margins, a background dress and
    the ability to accept an AdgTitleBlock entity.
    
    The project tree has been rearranged in three different subprojects:
    CPML (mathematical stuff above cairo), ADG (the canvas above CPML) and
    ADG-GTK (user interface helpers above ADG and GTK+).
    
    Support for glade-3 has been added: if enabled, ADG-GTK will try to
    install its catalog in the proper glade directory.