Tags: ntd/adg
Tags
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.
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.
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.
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.
PreviousNext