-
0.9.41599b1e8 · ·
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.7.64025f20b · ·
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.52712875b · ·
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.41d1df30b · ·
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.2b094fd61 · ·
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.1aa3c9934 · ·
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.058aa933c · ·
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.65ab6edd9 · ·
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.416743393 · ·
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.39d33c328 · ·
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.2321cf8e1 · ·
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.1e73b1297 · ·
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.02718e8b6 · ·
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.