]> granicus.if.org Git - graphviz/log
graphviz
2 years agoglcomp glCompLabelNew: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 17 Sep 2022 00:41:23 +0000 (17:41 -0700)]
glcomp glCompLabelNew: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoglcomp glCompSetAddObj: fix unchecked allocation failure
Matthew Fernandez [Sat, 17 Sep 2022 00:40:00 +0000 (17:40 -0700)]
glcomp glCompSetAddObj: fix unchecked allocation failure

2 years agoglcomp glCompSetNew: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 17 Sep 2022 00:39:34 +0000 (17:39 -0700)]
glcomp glCompSetNew: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoglcomp glNewFontFromParent: fix unchecked allocation failure
Matthew Fernandez [Sat, 17 Sep 2022 00:33:51 +0000 (17:33 -0700)]
glcomp glNewFontFromParent: fix unchecked allocation failure

2 years agoglcomp glNewFontFromParent: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 17 Sep 2022 00:33:13 +0000 (17:33 -0700)]
glcomp glNewFontFromParent: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoglcomp glNewFont: fix unchecked allocation failures
Matthew Fernandez [Sat, 17 Sep 2022 00:32:36 +0000 (17:32 -0700)]
glcomp glNewFont: fix unchecked allocation failures

2 years agoglcomp glCompSetAddNewTexLabel: fix unchecked allocation failures
Matthew Fernandez [Sat, 17 Sep 2022 00:27:26 +0000 (17:27 -0700)]
glcomp glCompSetAddNewTexLabel: fix unchecked allocation failures

2 years agoglcomp glCompSetAddNewTexture: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 17 Sep 2022 00:26:38 +0000 (17:26 -0700)]
glcomp glCompSetAddNewTexture: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoglcomp glCompButtonNew: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 17 Sep 2022 00:18:25 +0000 (17:18 -0700)]
glcomp glCompButtonNew: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoMerge branch 'add-more-overlap-checks-and-test-cases' into 'main'
Magnus Jacobsson [Tue, 20 Sep 2022 18:46:29 +0000 (18:46 +0000)]
Merge branch 'add-more-overlap-checks-and-test-cases' into 'main'

Add more overlap checks and test cases

See merge request graphviz/graphviz!2845

2 years agoadd new test_max_edge_stem_arrow_overlap_simple test
Magnus Jacobsson [Wed, 14 Sep 2022 10:17:46 +0000 (12:17 +0200)]
add new test_max_edge_stem_arrow_overlap_simple test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agotests: test_edge_node_overlap_utilities: check max edge stem/arrow overlap
Magnus Jacobsson [Wed, 14 Sep 2022 09:45:52 +0000 (11:45 +0200)]
tests: test_edge_node_overlap_utilities: check max edge stem/arrow overlap

2 years agoadd new test_min_edge_stem_arrow_overlap_simple test
Magnus Jacobsson [Wed, 14 Sep 2022 07:29:36 +0000 (09:29 +0200)]
add new test_min_edge_stem_arrow_overlap_simple test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agotests: test_edge_node_overlap_utilities: check min edge stem/arrow overlap
Magnus Jacobsson [Wed, 24 Aug 2022 10:08:13 +0000 (12:08 +0200)]
tests: test_edge_node_overlap_utilities: check min edge stem/arrow overlap

2 years agotests: SVGAnalyzer: add retrieval of edge arrow to GraphvizEdge
Magnus Jacobsson [Wed, 24 Aug 2022 09:54:30 +0000 (11:54 +0200)]
tests: SVGAnalyzer: add retrieval of edge arrow to GraphvizEdge

2 years agotests: SVGAnalyzer: add retrieval of edge stem to GraphvizEdge
Magnus Jacobsson [Wed, 24 Aug 2022 09:49:12 +0000 (11:49 +0200)]
tests: SVGAnalyzer: add retrieval of edge stem to GraphvizEdge

2 years agotests: SVGAnalyzer: add finding of child of specific type to SVGElement
Magnus Jacobsson [Wed, 24 Aug 2022 09:50:35 +0000 (11:50 +0200)]
tests: SVGAnalyzer: add finding of child of specific type to SVGElement

2 years agotests: test_edge_node_overlap_utilities: add support for edge direction
Magnus Jacobsson [Wed, 14 Sep 2022 07:29:11 +0000 (09:29 +0200)]
tests: test_edge_node_overlap_utilities: add support for edge direction

2 years agoadd new test_min_edge_node_overlap_polygon_node_shapes test
Magnus Jacobsson [Wed, 14 Sep 2022 13:28:15 +0000 (15:28 +0200)]
add new test_min_edge_node_overlap_polygon_node_shapes test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agoadd new test_max_edge_node_overlap_polygon_node_shapes test
Magnus Jacobsson [Wed, 14 Sep 2022 13:19:59 +0000 (15:19 +0200)]
add new test_max_edge_node_overlap_polygon_node_shapes test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agoadd new test_edge_node_overlap_polygon_node_shapes test
Magnus Jacobsson [Sun, 28 Aug 2022 19:58:57 +0000 (21:58 +0200)]
add new test_edge_node_overlap_polygon_node_shapes test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agoadd new test_edge_node_overlap_all_node_shapes test
Magnus Jacobsson [Wed, 14 Sep 2022 20:13:37 +0000 (22:13 +0200)]
add new test_edge_node_overlap_all_node_shapes test

2 years agoadd new test_max_edge_node_overlap_simple test
Magnus Jacobsson [Tue, 13 Sep 2022 08:35:48 +0000 (10:35 +0200)]
add new test_max_edge_node_overlap_simple test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agoadd new test_min_edge_node_overlap_simple test
Magnus Jacobsson [Tue, 13 Sep 2022 08:26:35 +0000 (10:26 +0200)]
add new test_min_edge_node_overlap_simple test

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agotests: test_edge_node_overlap_utilities: check edge/node min overlap
Magnus Jacobsson [Wed, 24 Aug 2022 14:32:25 +0000 (16:32 +0200)]
tests: test_edge_node_overlap_utilities: check edge/node min overlap

2 years agotests: test_edge_node_overlap_utilities: make max node/edge overlap check optional
Magnus Jacobsson [Tue, 13 Sep 2022 07:46:59 +0000 (09:46 +0200)]
tests: test_edge_node_overlap_utilities: make max node/edge overlap check optional

This is currently a no-op since the max overlap check is always
enabled in the currently existing test case, but an upcoming commit
will introduce a test case checking minimum overlap only.

An upcoming commit series will add separate fixes for different parts
of the overlap problems. Having separate test cases for checking
maximum or minimum overlap will make it easier to see that the fixes
have the intended effect.

2 years agotests: test_edge_node_overlap_utilities: use a semi-transparent color
Magnus Jacobsson [Tue, 13 Sep 2022 18:14:47 +0000 (20:14 +0200)]
tests: test_edge_node_overlap_utilities: use a semi-transparent color

This makes it easier to see overlaps.

2 years agotests: test_edge_node_overlap_utilities: support all rank directions
Magnus Jacobsson [Wed, 14 Sep 2022 07:28:10 +0000 (09:28 +0200)]
tests: test_edge_node_overlap_utilities: support all rank directions

2 years agotests: test_edge_node_overlap_simple: generate DOT based on options
Magnus Jacobsson [Tue, 13 Sep 2022 11:00:51 +0000 (13:00 +0200)]
tests: test_edge_node_overlap_simple: generate DOT based on options

Generate DOT source based on given options which are also passed to
the check function. Upcoming commits will add checks which need to
know details about how the graph was generated.

2 years agotests: add AUTO_NAME macro and use it in the test_edge_node_overlap_simple test
Magnus Jacobsson [Sun, 18 Sep 2022 09:56:44 +0000 (11:56 +0200)]
tests: add AUTO_NAME macro and use it in the test_edge_node_overlap_simple test

This ensures that the generated artifact file names begin with the
same name as the test case file (thanks @smattr).

2 years agoMerge branch 'smattr/b18ec0fb-7dc6-4b8b-9a97-301e697ada52' into 'main'
Matthew Fernandez [Tue, 20 Sep 2022 15:37:01 +0000 (15:37 +0000)]
Merge branch 'smattr/b18ec0fb-7dc6-4b8b-9a97-301e697ada52' into 'main'

sparse: more progress towards using cgraph wrappers for allocation

See merge request graphviz/graphviz!2844

2 years agosparse: remove unused 'Dijkstra_masked'
Matthew Fernandez [Thu, 15 Sep 2022 01:48:08 +0000 (18:48 -0700)]
sparse: remove unused 'Dijkstra_masked'

2 years agosparse: remove unused 'SparseMatrix_level_sets_khops'
Matthew Fernandez [Thu, 15 Sep 2022 01:46:33 +0000 (18:46 -0700)]
sparse: remove unused 'SparseMatrix_level_sets_khops'

2 years agosparse: remove unused 'SparseMatrix_distance_matrix_khops'
Matthew Fernandez [Thu, 15 Sep 2022 01:46:05 +0000 (18:46 -0700)]
sparse: remove unused 'SparseMatrix_distance_matrix_khops'

2 years agosfdpgen sfdpLayout: remove 'hops' parameter that is always -1
Matthew Fernandez [Thu, 15 Sep 2022 01:44:10 +0000 (18:44 -0700)]
sfdpgen sfdpLayout: remove 'hops' parameter that is always -1

2 years agosparse SparseMatrix_has_diagonal: use a C99 bool for return type
Matthew Fernandez [Thu, 15 Sep 2022 01:32:34 +0000 (18:32 -0700)]
sparse SparseMatrix_has_diagonal: use a C99 bool for return type

2 years agosparse: remove unnecessary casts
Matthew Fernandez [Thu, 15 Sep 2022 00:53:02 +0000 (17:53 -0700)]
sparse: remove unnecessary casts

2 years agosparse SparseMatrix_distance_matrix_khops: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:14:34 +0000 (18:14 -0700)]
sparse SparseMatrix_distance_matrix_khops: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_distance_matrix: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:14:10 +0000 (18:14 -0700)]
sparse SparseMatrix_distance_matrix: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_set_entries_to_real_one: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:11:18 +0000 (18:11 -0700)]
sparse SparseMatrix_set_entries_to_real_one: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_submatrix: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:10:43 +0000 (18:10 -0700)]
sparse SparseMatrix_get_submatrix: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_augmented: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:09:49 +0000 (18:09 -0700)]
sparse SparseMatrix_get_augmented: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_decompose_to_supervari…: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:09:07 +0000 (18:09 -0700)]
sparse SparseMatrix_decompose_to_supervari…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse Dijkstra_internal: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:01:23 +0000 (18:01 -0700)]
sparse Dijkstra_internal: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_weakly_connected_compone…: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:58:56 +0000 (17:58 -0700)]
sparse SparseMatrix_weakly_connected_compone…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_level_sets_internal: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:58:32 +0000 (17:58 -0700)]
sparse SparseMatrix_level_sets_internal: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_real_adjacency_matri…: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:57:50 +0000 (17:57 -0700)]
sparse SparseMatrix_get_real_adjacency_matri…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_sum_repeat_entries: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:57:23 +0000 (17:57 -0700)]
sparse SparseMatrix_sum_repeat_entries: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply3: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:56:27 +0000 (17:56 -0700)]
sparse SparseMatrix_multiply3: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:56:03 +0000 (17:56 -0700)]
sparse SparseMatrix_multiply: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply_vector: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:55:32 +0000 (17:55 -0700)]
sparse SparseMatrix_multiply_vector: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply_dense1: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:54:58 +0000 (17:54 -0700)]
sparse SparseMatrix_multiply_dense1: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_add: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:54:15 +0000 (17:54 -0700)]
sparse SparseMatrix_add: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_realloc: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:53:49 +0000 (17:53 -0700)]
sparse SparseMatrix_realloc: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_alloc: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:53:20 +0000 (17:53 -0700)]
sparse SparseMatrix_alloc: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_init: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:51:02 +0000 (17:51 -0700)]
sparse SparseMatrix_init: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_is_symmetric: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:50:09 +0000 (17:50 -0700)]
sparse SparseMatrix_is_symmetric: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_level_sets_internal: fix unchecked allocation failure
Matthew Fernandez [Thu, 15 Sep 2022 00:47:27 +0000 (17:47 -0700)]
sparse SparseMatrix_level_sets_internal: fix unchecked allocation failure

2 years agosparse SparseMatrix_multiply: remove redundant stores
Matthew Fernandez [Thu, 15 Sep 2022 00:40:46 +0000 (17:40 -0700)]
sparse SparseMatrix_multiply: remove redundant stores

2 years agoMerge branch 'addingLayout' into 'main'
Mark Hansen [Mon, 19 Sep 2022 10:05:01 +0000 (10:05 +0000)]
Merge branch 'addingLayout' into 'main'

Remove addingLayout.txt, it's moved to docs repo

See merge request graphviz/graphviz!2846

2 years agoRemove addingLayout.txt, it's moved to docs repo
Mark Hansen [Fri, 16 Sep 2022 11:01:32 +0000 (21:01 +1000)]
Remove addingLayout.txt, it's moved to docs repo

Converted to markdown for the website at
https://gitlab.com/graphviz/graphviz.gitlab.io/-/merge_requests/543

No need to maintain two versions of this doc.

2 years agoMerge branch 'smattr/5c9272a3-ec5f-4e9c-b602-d3ea249fca61' into 'main'
Matthew Fernandez [Wed, 14 Sep 2022 15:46:05 +0000 (15:46 +0000)]
Merge branch 'smattr/5c9272a3-ec5f-4e9c-b602-d3ea249fca61' into 'main'

gvc auto_output_filename: avoid 'strdup' when constructing file name

See merge request graphviz/graphviz!2842

2 years agogvc auto_output_filename: avoid 'strdup' when constructing file name
Matthew Fernandez [Wed, 14 Sep 2022 00:47:29 +0000 (17:47 -0700)]
gvc auto_output_filename: avoid 'strdup' when constructing file name

This is a reattempt of 4291cc769a3eeef8b1c171e5479194733a4da6cd. The first
attempt introduced a bug where the separating `.` was not accounted for and
accidentally truncated. It was reverted in
8d662734b6a34709d9475b120e7ce3de872339e2. The present commit takes much the same
approach but ensures to account for the separating `.`.

Quoting 4291cc769a3eeef8b1c171e5479194733a4da6cd:

  This block of code is scanning a string of `:`-separated entries and writing
  them into `buf` in reverse order `.`-separated. We can rewrite it to avoid
  dynamic allocation, thus avoiding certain failure cases and locking overhead.

  Unfortunately there seems to be no variant of `strrchr` that takes a length.
  So we need to write our own loop for locating the last `:` with a limit.

2 years agoMerge branch 'smattr/20c2522e-ce15-4384-b177-d4f70bcac753' into 'main'
Matthew Fernandez [Wed, 14 Sep 2022 14:45:36 +0000 (14:45 +0000)]
Merge branch 'smattr/20c2522e-ce15-4384-b177-d4f70bcac753' into 'main'

dotgen: progress on using cgraph wrappers for allocation

See merge request graphviz/graphviz!2843

2 years agoremove unnecessary 'ND_alg' casts
Matthew Fernandez [Wed, 14 Sep 2022 01:46:49 +0000 (18:46 -0700)]
remove unnecessary 'ND_alg' casts

2 years agodotgen cloneNode: squash -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Sep 2022 01:40:02 +0000 (18:40 -0700)]
dotgen cloneNode: squash -Wsign-conversion warning

2 years agodotgen make_regular_edge: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:38:00 +0000 (18:38 -0700)]
dotgen make_regular_edge: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen make_flat_adj_edges: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:37:36 +0000 (18:37 -0700)]
dotgen make_flat_adj_edges: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen makeSimpleFlatLabels: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:36:42 +0000 (18:36 -0700)]
dotgen makeSimpleFlatLabels: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen cloneNode: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:36:17 +0000 (18:36 -0700)]
dotgen cloneNode: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen cloneGraph: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:35:49 +0000 (18:35 -0700)]
dotgen cloneGraph: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen _dot_splines: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:35:25 +0000 (18:35 -0700)]
dotgen _dot_splines: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen swap_spline: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:34:56 +0000 (18:34 -0700)]
dotgen swap_spline: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen swap_bezier: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:34:19 +0000 (18:34 -0700)]
dotgen swap_bezier: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen applyPacking2: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:24:25 +0000 (18:24 -0700)]
dotgen applyPacking2: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen computeLayerWidths: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:24:01 +0000 (18:24 -0700)]
dotgen computeLayerWidths: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen computeNodeGroups: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:23:36 +0000 (18:23 -0700)]
dotgen computeNodeGroups: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen: use a bit array for 'layerWidthInfo_t.removed'
Matthew Fernandez [Wed, 14 Sep 2022 01:17:29 +0000 (18:17 -0700)]
dotgen: use a bit array for 'layerWidthInfo_t.removed'

By using a `bitarray_t` instead of an array of integers for this array of
boolean values, we swap a 32-bits-per-boolean representation for a
1-bit-per-boolean representation. This reduces heap pressure, and in the case of
smaller arrays avoids heap allocation altogether.

2 years agodotgen build_skeleton: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 00:57:32 +0000 (17:57 -0700)]
dotgen build_skeleton: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoMerge branch 'smattr/e539092c-75e1-403f-92f7-1015b707687a' into 'main'
Matthew Fernandez [Tue, 13 Sep 2022 15:45:05 +0000 (15:45 +0000)]
Merge branch 'smattr/e539092c-75e1-403f-92f7-1015b707687a' into 'main'

cgraph: rewrite scanner to use an agxbuf

See merge request graphviz/graphviz!2841

2 years agocgraph: remove duplicate include and adjust another
Matthew Fernandez [Tue, 13 Sep 2022 03:26:03 +0000 (20:26 -0700)]
cgraph: remove duplicate include and adjust another

lib/ is in the include path when building cgraph sources, so we can include
cgraph headers in a more uniform way, matching how other libraries include
cgraph headers.

2 years agocgraph: rewrite scanner to use an agxbuf
Matthew Fernandez [Tue, 13 Sep 2022 03:15:13 +0000 (20:15 -0700)]
cgraph: rewrite scanner to use an agxbuf

This is a reattempt of 2d7852a049b729fb0db71c5a8ef2366215ae2035. The original
change introduced a bug where unterminated strings (both `qstring` and
`hstring`) would not reset the buffer, causing an assertion failure the next
time a graph was parsed. This failed attempt was reverted in
16a04fe061bf6c9b3fe5fdc6250255a9b55cd337.

The approach taken here is essentially the same as
2d7852a049b729fb0db71c5a8ef2366215ae2035, except that it resets the buffer on
error conditions. This appears to be the only way to exit the `qstring` and
`hstring` states that was not covered by the original attempt.

Gitlab: related to #2272

2 years agoMerge branch 'fontfaq' into 'main'
Mark Hansen [Tue, 13 Sep 2022 11:07:48 +0000 (11:07 +0000)]
Merge branch 'fontfaq' into 'main'

Remove fontfaq.txt, it's migrated to docs repo

Closes graphviz.gitlab.io#160

See merge request graphviz/graphviz!2839

2 years agoRemove fontfaq.txt, it's migrated to docs repo
Mark Hansen [Mon, 12 Sep 2022 10:15:57 +0000 (20:15 +1000)]
Remove fontfaq.txt, it's migrated to docs repo

Merged into docs repo in
https://gitlab.com/graphviz/graphviz.gitlab.io/-/commit/ca47283b204a6f7b3ac4ec6dce708d04049abd3f

Fixes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/160

2 years agoMerge branch 'hpgl' into 'main'
Mark Hansen [Tue, 13 Sep 2022 10:16:28 +0000 (10:16 +0000)]
Merge branch 'hpgl' into 'main'

Remove references to dead HP Graphics Language

Closes graphviz.gitlab.io#162

See merge request graphviz/graphviz!2840

2 years agoRemove references to dead HP Graphics Language
Mark Hansen [Mon, 12 Sep 2022 11:03:46 +0000 (21:03 +1000)]
Remove references to dead HP Graphics Language

Was deleted about a year ago.

Closes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/162

2 years agoMerge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 16:39:12 +0000 (16:39 +0000)]
Merge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'

CI deploy.py: remove '--force' command line option

See merge request graphviz/graphviz!2838

2 years agoCI deploy.py: remove '--force' command line option
Matthew Fernandez [Sun, 11 Sep 2022 16:32:39 +0000 (09:32 -0700)]
CI deploy.py: remove '--force' command line option

Since its introduction, this option has not found a use case. Lets remove it to
decrease the number of things to think about in this script.

2 years agoMerge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into...
Magnus Jacobsson [Mon, 12 Sep 2022 08:40:23 +0000 (08:40 +0000)]
Merge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into 'main'

Add writing of annotated SVG files to test case for issue #372

See merge request graphviz/graphviz!2828

2 years agotests: test_edge_node_overlap_utilities: add support for writing of annotated SVG...
Magnus Jacobsson [Wed, 24 Aug 2022 10:32:38 +0000 (12:32 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of annotated SVG files for manual inspection

2 years agotests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the...
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries and overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement
Magnus Jacobsson [Wed, 24 Aug 2022 10:20:13 +0000 (12:20 +0200)]
tests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement

This will be used in upcoming commits to annotate the re-created SVG
with bounding boxes to highlight Graphviz component boundaries and
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agoci: add archiving of test artifacts in ctest test jobs
Magnus Jacobsson [Sat, 19 Mar 2022 15:28:48 +0000 (16:28 +0100)]
ci: add archiving of test artifacts in ctest test jobs

The test_edge_node_overlap_simple test case writes SVG files for
visual inspection in build/tests/test_artifacts/**.

2 years agotests: test_edge_node_overlap_utilities: add support for writing of SVG files for...
Magnus Jacobsson [Sun, 28 Aug 2022 15:36:31 +0000 (17:36 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of SVG files for manual inspection

2 years agoMerge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 00:49:18 +0000 (00:49 +0000)]
Merge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'

sfdpgen: more progress towards using cgraph wrappers for allocation

See merge request graphviz/graphviz!2833

2 years agosfdpgen: remove “dan yi dian, wu ban” comments
Matthew Fernandez [Sat, 10 Sep 2022 03:46:51 +0000 (20:46 -0700)]
sfdpgen: remove “dan yi dian, wu ban” comments

According to Google Translate, this is Mandarin that means “but a little, dance
partner.” I do not see how this is helpful in understanding the surrounding
code.

2 years agosfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:37 +0000 (20:44 -0700)]
sfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:03 +0000 (20:44 -0700)]
sfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.