|23 days 21 hours||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
|23 days 23 hours||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.
|23 days 23 hours||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.
|24 days 2 hours||adg: new API adg_path_remove_primitive()
A new method that removes the last primitive from a path.
|1 month 5 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.
|1 month 6 days||adg: set AdgTitleBlock floating by default|
|1 month 9 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
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.
|1 month 9 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
|1 month 10 days||adg: new API adg_path_join()
A new method that joins every segment inside the same path.
|1 month 10 days||adg: properly handle multisegment paths in adg_path_reflect()
Do not implicitely connect segments when reflecting a path. Keep them
separates: there are cases when this can be helpful.
|1 month 10 days||adg: change behavior of AdgEdges
Always consider the start of a segment as corner. This is required in
order to match the latest directives, i.e. adg_path_reflect() must be
able to handle multisegment paths.
|1 month 10 days||test: use conversion macros when testing AdgTrail|
|1 month 10 days||test: adg_trail_n_segments() with a single segment path|
|1 month 10 days||adg: start from the last segment when reflecting
Switched order on the adg_path_reflect() segments loop to start from the
last segment, as this is what a human would expect and will make joining
(NYI) much easier.
|1 month 10 days||adg: new API adg_trail_n_segments()
A convenient function to get the number of segments present in the
cairo_path_t embedded in an AdgTrail instance.
|1 month 21 days||adg: apply AdgEdges on multisegment paths
Modified AdgEdge cairo path generation algorithm to take into account
AdgPath with more than one segment: all segments must be handled.
|1 month 21 days||adg: set segment as out paramenter in adg_trail_put_segment()|
|1 month 21 days||adg: reflect all the segments
Modified adg_path_reflect() to take into account also the other
segments, not only the first one.
|1 month 21 days||adg: do not warn on adg_trail_put_segment out of range
adg_trail_put_segment() will be used extensively for browsing available
segments in an AdgTrail instance, so it will be quite common to pass the
end by 1.
|1 month 22 days||adg: new adg_path_append_trail() API
A new path method that appends an AdgTrail to an AdgPath, also importing
the named pairs defined in the trail.
|1 month 22 days||tests: fix CPML tests for TravisCI|
|1 month 22 days||cpml: add intersection circle-line|
|1 month 23 days||tests: check cpml_arc_to_curves() with different n_curves|
|1 month 23 days||tests: add basic CpmlArc testing|
|1 month 23 days||cpml: rename curve test internal functions for consistency|