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.
Release Notes: The text manipulation logic has been moved inside the AdgTextual interface and a new entity based on pango (AdgText) has been added. The demo program has a new dialog page that allows you to customize the title block of the drawing. The CPML library has its own test framework and 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. Running "adg-demo -E" shows the extents status. A bunch of bugs, most notably the wrong glade catalogdir detection and some extents computation, have been resolved.
Release Notes: The quote of linear dimensions can be freely positioned using the AdgDim:pos property. By default, ADG keeps the quote inside the extension lines if there is enough room, and otherwise displaces it to the "pos" coordinates. A document describing how to contribute to the project has been added. A general description of the API conventions used is also provided. There are many bugfixes and a lot of code clean up. A bug in the installation has been solved, and support for pkg-config has been added. This will probably be the last release of the 0.5 branch.
Release Notes: AdgTable now provides a generic tabular entity customizable with AdgTableStyle. It supports unlimited rows with independent cells. Some new special entities, such as AdgLogo (the official ADG logo) and AdgProjection (showing the drawing projection scheme) have been implemented. A bare title block entity, AdgTitleBlock, is now available: it is allowed to set its cells' content either by using string values or custom entities. AdgAlignment is a container entity that allows you to translate its content of a custom factor of its extents: so any entity can now be right aligned or centered.
Release Notes: AdgRDim, a new entity to quote radial dimensions, is now available. Several classes to manage hatches have been implemented: AdgHatch is the entity to be added to the canvas, AdgFillStyle the abstract layer above cairo_pattern_t, and AdgRuledFill is an AdgFillStyle implementation generating a series of parallel lines with custom spacing and angle. The AdgModel now supports named pairs: any coordinates can be set explicitly (as before) or as a reference to a pair set by the model. The AdgPoint helper class is the object used to manage this relationship.
Release Notes: The new AdgMarker abstract class has been added to provide a common ancestor to marker entities. AdgArrow is its first implementation. The rendering customization is now provided by AdgDress, an index that virtualizes the underlying AdgStyle. This allows some advanced operation, such as overriding a style in a specific branch of the entity hierarchy. The deprecated AdgContext class has been removed. The AdgPath class has been split into the AdgTrail and AdgPath classes. The former provides low level access to CpmlPath. AdgLDim internally uses a private AdgTrail to render base and extension lines.
Release Notes: The old paper-model matrix approach has been superseded by a cleaner approach based on global/local maps. This resulted in a great code complexity reduction. Parent-child relationship is no longer tied to AdgContainer: dependencies between arbitrary AdgEntity objects are now allowed. AdgDim internally uses four AdgToyText objects to render the quote. This has been made possible by the new parent-child API. A bunch of classes, most notably AdgRotable, AdgTranslatable, and AdgPoint, have been superseded by the new global/local map approach and have been removed from the project.
Release Notes: Higher level operators, such as chamfer and fillet, can now be used in the path definition. They do not yet work for Bézier curves, but the infrastructure is in place. A Gtk+ widget for easily showing the canvas has been implemented. It is based on GtkDrawingArea and provides some interaction through the mouse, such as zooming and panning. The CPML library has been enriched with the missing functions needed by the above new features. Now it has the ..._length() and ..._near_pos() families of functions.
Release Notes: The work on model-view separation has been started: the AdgModel abstract class is now in place. The new AdgPath model provides a full set of APIs to construct paths from scratch. Also, AdgPath gives full access to the model through CPML, allowing you to modify and manipulate the path data. The CPML library now natively supports arcs. Although cairo does not recognize arcs, a lot of work has been done to hide the complexity needed to provide an API that does the necessary transformations transparently. The old AdgPath entity has been rewritten to AdgStroke, a stroked view of an AdgPath model.
Release Notes: The "invalidate" signal has been implemented to force the cache recomputation on a new rendering operation. The new Cairo "toy" API has been used to do text management in AdgDim. This allows caching of the intermediate glyphs for improved performances. The Cairo dependency has been raised to version 0.7.4 or more. The AdgLDim entity has been rewritten to fully implement the new cache design. Other entities have been improved to allow a paper matrix other than the default identity matrix.