ADG Git Change Log

Age Message
27 days 8 hours adg: make hidden lines less spaced

Using 6mm on and 6mm off makes the segments too distant to be properly
followed if the line is short.
27 days 18 hours adg: take the absolute value when computing sizes

Factors can be negatives, e.g. when the local map switches the drawing
on the X or Y axis.
3 months 20 days build: bump version to 0.9.1
3 months 20 days doc: update NEWS
3 months 20 days doc: update TODO
3 months 21 days build: convert into UTF-8

The new nsis supports UTF8 encoding and, in fact, use it by default.
3 months 21 days build: merge build-win{32,64} into build-win

Do not use symlinks (the two scripts were the same file) because a git
checkout would require a file system with symlinks support.

This is not a big issue on development (I plan to develop it on serious
operating systems) but it is a glitch when backing up the ADG on NAS.
4 months 16 days adg: modernize geometry computation for radial dimensions

Adopt the new behavior (explained in commit 21ba042dec9a) on AdgRDim.
4 months 16 days adg: modernize geometry computation for angular dimensions

Adopt the new behavior (explained in commit 21ba042dec9a) on AdgADim.
4 months 16 days adg: modernize geometry computation for linear dimensions

Adopt the new behavior (explained in commit 21ba042dec9a) on AdgLDim.
4 months 16 days adg: add wrappers for common geometry notices

Added two new methods to AdgDim (adg_dim_geometry_missing() and
adg_dim_geometry_coincidents()) that wrap adg_dim_set_geometry_notice()
and set the notification message in the two most common cases: a
reference is missing (the former) and two references are coincident (the
4 months 17 days adg: add geometry handling to AdgDim

Add new internal methods to help the relocation of geometry behavior
into AdgDim in view of the planned a change of behavior on the geometry

Actually when a point is missing or when two points that must be
differents are coincidents the entity is not rendered but in the former
case it is done silently while in the latter case a warning is issued.
This is not consistent and implicates code duplication. Worse, the
caller has no easy way to know if the dimension has been rendered.

The new behavior will be to always be silent and to provide a way to
inspect if the dimension is valid before the rendering, allowing to do
some code similar to the following one:

dim = <create new dimension>
if dim:compute_geometry() then
-- The dimension is valid: render it
print('Dimension not valid: ', dim:get_geometry_notice())
4 months 22 days demo: update to latest changes
4 months 22 days adg: drop custom dimension dresses

The dimension dress is a *slot* where custom styles go: there is no need
to have more slots. Use the newly provided APIs for customizing the
dimensions instead of using additional dresses.
4 months 22 days adg: new API adg_style_clone()

Allow to clone the style for easier customization.
4 months 22 days adg: new API adg_object_clone()

A helper method to clone a generic GObject instance. It traverses all
the readable/writable properties and duplicate them.

It will be helpful for customizing styles.
4 months 23 days adg: provide example on how to customize a style

This documentation improvement is required in order to get rid of the
wrong dimension dresses (ADG_DRESS_DIMENSION_ANGULAR,
6 months 11 days adg: update cp whenever a path rescan occurs

When rescanning the path (e.g. after an adg_path_remove_primitive() or
an adg_path_append_cairo_path() call), the current point needs to be
6 months 11 days adg: round angular dimensions to 3 digits

By default angular dimensions are expressed in sexagesimal units
(degrees and seconds): no needs to go under 3 decimals of precision.
Furthermore I get *again* the 29°60' issue.
6 months 11 days adg: improve adg_path_remove_primitive() behavior

Do not consider CPML_MOVE items when removing the last primitive. Also,
recompute the path to refresh the last and over primitives.
6 months 12 days adg: new API adg_path_remove_primitive()

A new method that removes the last primitive from a path.
6 months 24 days adg: add AdgDimStyle:rounding

A new property that rounds the raw value to a specific number of
decimals. This is required because otherwise I get 59°60' instead of 60°
when using sexagesimal units.
6 months 25 days adg: set AdgTitleBlock floating by default
6 months 28 days adg: add floating entity concept and API

When an entity is "floating", its extents does not concur on increasing
the extents of its own container. In other words, during the arrange
phase AdgContainer only considers the non-floating children to compute
its extents.

In particular, this affects how adg_canvas_autoscale() works: all
floating entities are not taken into consideration.

A typical example is the title block or any other annotation not
dependent from the model for positioning.
6 months 28 days test: protect /adg/path/method/line-to against common crashes

Sometime the test suite still crashes for unknown reasons, e.g.:

Try to catch some common problems (NULL dereferences) to see where the
problem lies.