-
0.5.6a4f5464f · ·
The build system has done a huge step toward portability: the requirements are less restrictive and the overall implementation is cleaner and quite well defined. The API has been exercised by API-Sanity-Autotest that helped to discover some problem: check out issue #23 for more details. A test framework based on GLib 2.16 has being added. It is still under development but yet fully working. The CPML API has been cleaned up by using an internal struct of function pointers to delegate the job to the different primitives. The public symbols have been reduced from 105 to 70.
-
0.5.53426010b · ·
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, 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 by is also provided. A lot of bug fixing and 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.
-
0.5.4cf76b1fb · ·
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 new container entity that allows to traslate its children of a custom factor of the children boundary box: any entity can now be right aligned or centered.
-
0.5.3713d2011 · ·
AdgRDim, a new entity to quote radial dimensions, is now available. A bunch of new classes to manage hatches have been implemented. Specifically, AdgHatch is the entity to be added to the canvas, AdgFillStyle a generic abstract class that wraps cairo_pattern_t and AdgRuledFill the AdgFillStyle implementation to fill an hatch with a serie of parallel lines with custom spacing and angle. The AdgModel now supports named pairs, that is any coordinates can be set explicitely (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. The API of dimension entities has been updated to accept AdgPoint instead of plain AdgPair.
-
0.5.20e094cbc · ·
AdgADim, a new entity to quote angular dimensions, has been implemented. The linear dimensions now accept the "outside" property to reflect the arrows in reference to the extension lines. By default, the value of this property is undefined and will be computed runtime depending on the quote size and the available space. The new AdgEdges model can now be used to programmatically build a serie of vertical lines expressing the edges of another model. This can be used on symmetrical shape, often met in turned parts. The entities now actively responds to extents requests, so it is possible to get the needed space before rendering them. Any matrix change now emits specific signals to fulfill this requirement.
-
0.5.16613612f · ·
The new AdgMarker abstract class has been added to provide a common ancestor to marker entities. AdgArrow (a filled arrow) is its first renderable implementation. The rendering customization is now provided by AdgDress, an index that virtualizes the underlying AdgStyle and derived instances. 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 splitted in AdgTrail and AdgPath. The former provides low level access to CpmlPath, allowing the implementation of paths that do not fit in the global/local model. AdgLDim internally uses a private AdgTrail to implement base and extension lines rendering.
-
0.5.097a648c1 · ·
The old paper-model matrix approach has been superseded by a cleaner and smarter approach based on global/local maps. This resulted in a great code complexity reduction: check out the home page for further details. Parent-child relationship is no more tied to AdgContainer: dependencies between AdgEntities can now be expressed without a full-fledged container. AdgDim now uses internally four AdgToyText entities to render the quote. This has been made possible by the new parent-child APIs, simplyfing the rendering code a lot. 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.
-
0.4.3-11714fdc6 · ·
Higher level operators, such as chamfer and fillet, can now be used in the path definition. They do not work yet 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 throught the mouse, such as zooming and panning. It is not viable for serious work but it is funny to use and opened to improvements. The CPML library has been enriched with the missing functions needed by the above new features. Now it has a ..._length() and ..._near_pos() families of functions. The mathematic behind this library is far from complete: the overall design is quite stable but there are a lot of placeholders, especially when curves were involved.
-
-
-
-
-
-
-
-
-
-