]> granicus.if.org Git - graphviz/log
graphviz
2 years agotests: SvgAnalyzer: GraphvizNode add retrieval of center position
Magnus Jacobsson [Wed, 17 Aug 2022 12:55:18 +0000 (14:55 +0200)]
tests: SvgAnalyzer: GraphvizNode add retrieval of center position

2 years agotests: SvgAnalyzer: GraphvizNode: add retrieval of bounding box
Magnus Jacobsson [Tue, 16 Aug 2022 13:14:27 +0000 (15:14 +0200)]
tests: SvgAnalyzer: GraphvizNode: add retrieval of bounding box

2 years agotests: SvgAnalyzer: SVGElement: add retrieval of bounding box
Magnus Jacobsson [Tue, 16 Aug 2022 13:14:27 +0000 (15:14 +0200)]
tests: SvgAnalyzer: SVGElement: add retrieval of bounding box

2 years agotests: SvgAnalyzer: GraphvizGraph: add retrieval of node by node_id
Magnus Jacobsson [Tue, 16 Aug 2022 13:55:53 +0000 (15:55 +0200)]
tests: SvgAnalyzer: GraphvizGraph: add retrieval of node by node_id

2 years agotests: add new test_rankdir test skeleton
Magnus Jacobsson [Tue, 16 Aug 2022 13:38:28 +0000 (15:38 +0200)]
tests: add new test_rankdir test skeleton

2 years agotests: SvgAnalyzer: add support for retrieving Graphviz components
Magnus Jacobsson [Wed, 17 Aug 2022 10:59:08 +0000 (12:59 +0200)]
tests: SvgAnalyzer: add support for retrieving Graphviz components

2 years agotests: SvgAnalyzer: add a graphvizGraph class
Magnus Jacobsson [Wed, 17 Aug 2022 10:54:36 +0000 (12:54 +0200)]
tests: SvgAnalyzer: add a graphvizGraph class

2 years agotests: SvgAnalyzer: add a graphvizEdge class
Magnus Jacobsson [Wed, 17 Aug 2022 10:52:20 +0000 (12:52 +0200)]
tests: SvgAnalyzer: add a graphvizEdge class

2 years agotests: SvgAnalyzer: add a graphvizNode class
Magnus Jacobsson [Mon, 25 Jul 2022 12:30:05 +0000 (14:30 +0200)]
tests: SvgAnalyzer: add a graphvizNode class

2 years agoMerge branch 'smattr/3544c517-02cf-4433-8cf5-e58b7eb35fa3' into 'main'
Matthew Fernandez [Tue, 23 Aug 2022 05:32:49 +0000 (05:32 +0000)]
Merge branch 'smattr/3544c517-02cf-4433-8cf5-e58b7eb35fa3' into 'main'

common, dotgen: fix truncation to int in intermediate calculations

See merge request graphviz/graphviz!2796

2 years agodotgen flat_limits: fix truncation to int during intermediate calculations
Matthew Fernandez [Thu, 18 Aug 2022 02:52:55 +0000 (19:52 -0700)]
dotgen flat_limits: fix truncation to int during intermediate calculations

Like the prior commits, the problem fixed in this commit seems to have been a
mistake in ebd6191b0eec6e23d96c92aaa06212de339207e3 in not updating these
variables to doubles when transitioning to double-based points. Squashes 3
-Wfloat-conversion warnings.

2 years agodotgen make_flat_labeled_edge: fix truncation to int during intermediate ops
Matthew Fernandez [Thu, 18 Aug 2022 02:46:02 +0000 (19:46 -0700)]
dotgen make_flat_labeled_edge: fix truncation to int during intermediate ops

Like the prior commits, the problem fixed in this commit seems to have been a
mistake in ebd6191b0eec6e23d96c92aaa06212de339207e3 in not updating these
variables to doubles when transitioning to double-based points. Squashes 1
-Wfloat-conversion warnings.

2 years agodotgen make_flat_adj_edges: fix truncation to int during intermediate calculations
Matthew Fernandez [Thu, 18 Aug 2022 02:38:58 +0000 (19:38 -0700)]
dotgen make_flat_adj_edges: fix truncation to int during intermediate calculations

Like the prior commits, the problem fixed in this commit seems to have been a
mistake in ebd6191b0eec6e23d96c92aaa06212de339207e3 in not updating these
variables to doubles when transitioning to double-based points. Squashes 4
-Wfloat-conversion warnings.

2 years agodotgen _dot_splines: fix truncation to int during intermediate calculations
Matthew Fernandez [Thu, 18 Aug 2022 02:31:44 +0000 (19:31 -0700)]
dotgen _dot_splines: fix truncation to int during intermediate calculations

Like the prior commit, the problem fixed in this commit seems to have been a
mistake in ebd6191b0eec6e23d96c92aaa06212de339207e3 in not updating these
variables to doubles when transitioning to double-based points. Squashes 5
-Wfloat-conversion warnings.

2 years agocommon record_path: fix truncation to int during path calculation
Matthew Fernandez [Thu, 18 Aug 2022 02:17:34 +0000 (19:17 -0700)]
common record_path: fix truncation to int during path calculation

This looks to have been a typo in ebd6191b0eec6e23d96c92aaa06212de339207e3 that
switched this code to operate on double points instead of int points, in that it
did not also update the local temporaries used in this calculation. As a result,
this function produced inaccurate answers due to rounding when points were too
close together and downright wrong answers when points did not fit in an int
data type. Squashes 4 -Wfloat-conversion warnings.

2 years agocommon pos_reclbl: treat 'sides' uniformly as an unsigned char
Matthew Fernandez [Thu, 18 Aug 2022 02:03:42 +0000 (19:03 -0700)]
common pos_reclbl: treat 'sides' uniformly as an unsigned char

Squashes a -Wconversion warning.

2 years agocommon point_gencode: tighter scope and stack-allocate 'AF'
Matthew Fernandez [Thu, 18 Aug 2022 01:52:13 +0000 (18:52 -0700)]
common point_gencode: tighter scope and stack-allocate 'AF'

`AF` was being dynamically allocated as if it needed to contain an arbitrary
(potentially large) number of points. However its only use is in being passed to
`gvrender_ellipse` which only looks at the first two points. So we can simplify
and optimize this code by simply stack-allocating 2 entries.

2 years agoremove unnecessary casts around 'ND_shape_info'
Matthew Fernandez [Thu, 18 Aug 2022 01:40:09 +0000 (18:40 -0700)]
remove unnecessary casts around 'ND_shape_info'

2 years agocommon emit_html_rules: perform base calculation uniformly on doubles
Matthew Fernandez [Thu, 18 Aug 2022 01:28:15 +0000 (18:28 -0700)]
common emit_html_rules: perform base calculation uniformly on doubles

It is unclear to me why 070d24215a27219b33581c96c39e6e8811ba52a7 chose to
perform these intermediate calculations truncating to unsigned char. This
resulted in loss of accuracy and multiple possibilities for overflow. This
change makes the computation more natural, squashing 7 compiler warnings.

2 years agocommon size_html_cell: squash a -Wsign-conversion warning
Matthew Fernandez [Thu, 18 Aug 2022 01:10:41 +0000 (18:10 -0700)]
common size_html_cell: squash a -Wsign-conversion warning

`parent->cb` is known non-negative here.

2 years agogvc gvprintpointflist: take number of points as a size_t
Matthew Fernandez [Thu, 18 Aug 2022 00:51:39 +0000 (17:51 -0700)]
gvc gvprintpointflist: take number of points as a size_t

This is a more appropriate type for the length of an array.

2 years agogvc gvprintpointflist: rewrite for clarity
Matthew Fernandez [Thu, 18 Aug 2022 00:42:35 +0000 (17:42 -0700)]
gvc gvprintpointflist: rewrite for clarity

The unusual structure of the loop in this function made it appear as if it was
intending to cope with e.g. an `n` of 0 but still print the first element of
`p`. Surveying the callers of `gvprintpointflist`, we can see it is never used
this way. So we can write it simpler and more readably.

2 years agoMerge branch 'smattr/921086b7-d71e-45a0-b85e-66a3a5f41532' into 'main'
Matthew Fernandez [Sun, 21 Aug 2022 18:47:03 +0000 (18:47 +0000)]
Merge branch 'smattr/921086b7-d71e-45a0-b85e-66a3a5f41532' into 'main'

GD plugin warninig squashing

See merge request graphviz/graphviz!2799

2 years agoGD plugin gd_loadimage_cairo: realign some types with their values
Matthew Fernandez [Sat, 20 Aug 2022 04:15:49 +0000 (21:15 -0700)]
GD plugin gd_loadimage_cairo: realign some types with their values

Squashes 4 -Wsign-conversion warnings that were occurring from mixing signed and
unsigned ints.

2 years agoGD plugin: squash -Wmissing-prototypes warnings for 'gd_psfontResolve'
Matthew Fernandez [Sat, 20 Aug 2022 04:02:37 +0000 (21:02 -0700)]
GD plugin: squash -Wmissing-prototypes warnings for 'gd_psfontResolve'

2 years agoGD plugin doSphere: remove unused parameters
Matthew Fernandez [Sat, 20 Aug 2022 03:52:10 +0000 (20:52 -0700)]
GD plugin doSphere: remove unused parameters

2 years agoGD plugin doSphere: remove commented out code
Matthew Fernandez [Sat, 20 Aug 2022 03:48:14 +0000 (20:48 -0700)]
GD plugin doSphere: remove commented out code

2 years agoGD plugin: squash -Wunused-parameter warnings
Matthew Fernandez [Sat, 20 Aug 2022 03:46:19 +0000 (20:46 -0700)]
GD plugin: squash -Wunused-parameter warnings

These functions are used as callbacks, so their parameters cannot easily be
removed.

2 years agoGD plugin: squash -Wmissing-prototypes warning
Matthew Fernandez [Sat, 20 Aug 2022 03:42:52 +0000 (20:42 -0700)]
GD plugin: squash -Wmissing-prototypes warning

2 years agoGD plugin gdgen_missingfont: remove unused 'err' parameter
Matthew Fernandez [Sat, 20 Aug 2022 03:30:13 +0000 (20:30 -0700)]
GD plugin gdgen_missingfont: remove unused 'err' parameter

2 years agoGD plugin gdgen_end_page: squash -Wswitch-default warning
Matthew Fernandez [Sat, 20 Aug 2022 03:28:42 +0000 (20:28 -0700)]
GD plugin gdgen_end_page: squash -Wswitch-default warning

This switch is exhaustive.

2 years agoGD plugin gdgen_end_page: squash -Wmissing-field-initializers warning
Matthew Fernandez [Sat, 20 Aug 2022 03:26:21 +0000 (20:26 -0700)]
GD plugin gdgen_end_page: squash -Wmissing-field-initializers warning

2 years agoMerge branch 'smattr/gitlab-2257' into 'main'
Matthew Fernandez [Sat, 20 Aug 2022 17:28:25 +0000 (17:28 +0000)]
Merge branch 'smattr/gitlab-2257' into 'main'

remove $GV_FILE_PATH support

Closes #2257

See merge request graphviz/graphviz!2794

2 years agoremove $GV_FILE_PATH support
Matthew Fernandez [Tue, 16 Aug 2022 02:19:29 +0000 (19:19 -0700)]
remove $GV_FILE_PATH support

The `$GV_FILE_PATH` environment variable could be set to sandbox Graphviz’
ability to read and write to the file system. This made sense once upon a time,
but the world around Graphviz has shifted. Sandboxing yourself is no longer as
valuable a proposition as an external sandboxer that can be more easily audited.
Platforms’ ecosystems have matured to support this use case (Capsicum on
FreeBSD, Seccomp on Linux, App Sandbox on macOS, Pledge on OpenBSD, …).

This change makes any attempt to use `$GV_FILE_PATH` “fail-closed,” in the
sense that execution will be aborted. This may be surprising and not what the
user intended, but this conservatively guarantees safety: you can never think
you have enabled `$GV_FILE_PATH`-based sandboxing and be instead running
unguarded.

Gitlab: closes #2257

2 years agoadd a test case for #2257
Matthew Fernandez [Tue, 16 Aug 2022 01:22:32 +0000 (18:22 -0700)]
add a test case for #2257

2 years agoMerge branch 'smattr/c33cd902-b3b8-4865-847d-ad832d997c4f' into 'main'
Matthew Fernandez [Sat, 20 Aug 2022 16:29:09 +0000 (16:29 +0000)]
Merge branch 'smattr/c33cd902-b3b8-4865-847d-ad832d997c4f' into 'main'

start 6.0.0 development

See merge request graphviz/graphviz!2800

2 years agostart 6.0.0 development
Matthew Fernandez [Sat, 20 Aug 2022 14:42:29 +0000 (07:42 -0700)]
start 6.0.0 development

This starts 6.0.0 rather than 5.0.2 because we know we are immediately about to
merge something breaking (`$GV_FILE_PATH` removal).

2 years agoMerge branch 'smattr/859c3111-91ff-44fe-a6ac-f71b9f496f68' into 'main' 5.0.1
Matthew Fernandez [Sat, 20 Aug 2022 15:26:09 +0000 (15:26 +0000)]
Merge branch 'smattr/859c3111-91ff-44fe-a6ac-f71b9f496f68' into 'main'

Stable release 5.0.1

See merge request graphviz/graphviz!2792

2 years agoStable release 5.0.1
Matthew Fernandez [Mon, 15 Aug 2022 00:47:53 +0000 (17:47 -0700)]
Stable release 5.0.1

2 years agoMerge branch 'smattr/f71cbd75-31c7-419f-85ae-1bb310b98b7c' into 'main'
Matthew Fernandez [Sat, 20 Aug 2022 03:55:28 +0000 (03:55 +0000)]
Merge branch 'smattr/f71cbd75-31c7-419f-85ae-1bb310b98b7c' into 'main'

sfio and expr: dead code removal

See merge request graphviz/graphviz!2791

2 years agosfio: remove unused 'SF_CLOSE'
Matthew Fernandez [Sun, 14 Aug 2022 22:12:02 +0000 (15:12 -0700)]
sfio: remove unused 'SF_CLOSE'

All Graphviz uses were updated to use `SF_CLOSING` a long time ago.

2 years agosfio: remove unused 'SF_BUFSIZE'
Matthew Fernandez [Sun, 14 Aug 2022 22:08:49 +0000 (15:08 -0700)]
sfio: remove unused 'SF_BUFSIZE'

The last use of this was removed in faee068a9d838f11233b9bd5d33cabb11f07f02b.

2 years agosfio sfpkrd: use a more appropriate type for 'read' result
Matthew Fernandez [Sun, 14 Aug 2022 21:51:28 +0000 (14:51 -0700)]
sfio sfpkrd: use a more appropriate type for 'read' result

Squashes a -Wconversion warning.

2 years agoexpr expush: remove unused string path
Matthew Fernandez [Sun, 14 Aug 2022 21:45:05 +0000 (14:45 -0700)]
expr expush: remove unused string path

As of the previous commit, this is unused.

2 years agoexpr excomp: remove unused string path
Matthew Fernandez [Sun, 14 Aug 2022 21:36:52 +0000 (14:36 -0700)]
expr excomp: remove unused string path

This function could accept either a string or a file handle. But only the file
handle code path is used.

2 years agosfio: make '_sftype' static
Matthew Fernandez [Sun, 14 Aug 2022 21:25:30 +0000 (14:25 -0700)]
sfio: make '_sftype' static

This function is not used outside of its containing file.

2 years agosfio sfopen: remove 'f' parameter that is always 'NULL'
Matthew Fernandez [Sun, 14 Aug 2022 21:21:54 +0000 (14:21 -0700)]
sfio sfopen: remove 'f' parameter that is always 'NULL'

2 years agoMerge branch 'smattr/0e7b46c3-caee-4459-aae9-f9428bae2d84' into 'main'
Matthew Fernandez [Sat, 20 Aug 2022 02:10:29 +0000 (02:10 +0000)]
Merge branch 'smattr/0e7b46c3-caee-4459-aae9-f9428bae2d84' into 'main'

graphml2gv: fix error message referring to cvtgxl

See merge request graphviz/graphviz!2798

2 years agographml2gv: fix error message referring to cvtgxl
Matthew Fernandez [Fri, 19 Aug 2022 14:53:34 +0000 (07:53 -0700)]
graphml2gv: fix error message referring to cvtgxl

1d28d7d2b4d2b2551bd1f432aa175f54a69364a4 appears to have copy-pasted much of the
initial code from cmd/tools/cvtgxl.c, accidentally retaining this usage message
referring to the wrong tool.

2 years agoMerge branch 'smattr/2c713249-8784-4e0b-87a1-52cd37e4df45' into 'main'
Matthew Fernandez [Sat, 20 Aug 2022 01:15:46 +0000 (01:15 +0000)]
Merge branch 'smattr/2c713249-8784-4e0b-87a1-52cd37e4df45' into 'main'

smyrna, tclpkg warning squashing

See merge request graphviz/graphviz!2795

2 years agosmyrna glcompui.c: squash unused parameter warnings
Matthew Fernandez [Tue, 16 Aug 2022 04:14:17 +0000 (21:14 -0700)]
smyrna glcompui.c: squash unused parameter warnings

These parameters cannot easily be removed because these functions are used as
callbacks. This change squashes 39 compiler warnings.

2 years agosmyrna topviewsettings.c: rename attribute parameters to avoid shadowing
Matthew Fernandez [Tue, 16 Aug 2022 04:00:58 +0000 (21:00 -0700)]
smyrna topviewsettings.c: rename attribute parameters to avoid shadowing

Squashes 13 -Wshadow warnings.

2 years agoavoid adding non-existent TCL generic path to include directories
Matthew Fernandez [Tue, 16 Aug 2022 03:42:13 +0000 (20:42 -0700)]
avoid adding non-existent TCL generic path to include directories

It looks like a typo in 30f5e6535f21ca671d76159b49cc87add1f0b53e that this was
not adjusted. This change squashes 25 -Wmissing-include-dir warnings.

2 years agotcldot: inline and simplify 'MATCHES_OPTION'
Matthew Fernandez [Tue, 16 Aug 2022 03:35:13 +0000 (20:35 -0700)]
tcldot: inline and simplify 'MATCHES_OPTION'

I guess in the past this was an optimization. In a modern environment this does
little other than obscure the intent of this code.

2 years agoMerge branch 'smattr/6C564655-0DD5-4AEB-8E1D-CBDF3920EFBA' into 'main'
Matthew Fernandez [Fri, 19 Aug 2022 01:39:13 +0000 (01:39 +0000)]
Merge branch 'smattr/6C564655-0DD5-4AEB-8E1D-CBDF3920EFBA' into 'main'

core plugin: some cleanup

See merge request graphviz/graphviz!2789

2 years agocore plugin: replace 'assert(0)' with 'UNREACHABLE()'
Matthew Fernandez [Sat, 13 Aug 2022 15:44:44 +0000 (08:44 -0700)]
core plugin: replace 'assert(0)' with 'UNREACHABLE()'

The latter is more robust and clearer in intent.

2 years agocore plugin: use const arrays for some strings
Matthew Fernandez [Sat, 13 Aug 2022 15:34:45 +0000 (08:34 -0700)]
core plugin: use const arrays for some strings

This makes very little difference to the compiler, as it can see all uses of
these strings. But this makes it clearer to readers that these variables are not
modified. Using an array instead of a pointer slightly increases flexibility,
allowing a useful application of `sizeof` to these variables should we ever want
to do that.

2 years agoMerge branch 'smattr/f6178594-61df-49d2-be88-70eea3c8caed' into 'main'
Matthew Fernandez [Thu, 18 Aug 2022 15:44:00 +0000 (15:44 +0000)]
Merge branch 'smattr/f6178594-61df-49d2-be88-70eea3c8caed' into 'main'

some DEVELOPERS.md tuning and a #2258 test case

See merge request graphviz/graphviz!2793

2 years agoadd a test case for #2258
Matthew Fernandez [Mon, 15 Aug 2022 03:21:13 +0000 (20:21 -0700)]
add a test case for #2258

2 years agoDEVELOPERS.md: add instructions of how to run a single test
Matthew Fernandez [Mon, 15 Aug 2022 03:06:30 +0000 (20:06 -0700)]
DEVELOPERS.md: add instructions of how to run a single test

2 years agoDEVELOPERS.md: remove reference to 'rtest'
Matthew Fernandez [Mon, 15 Aug 2022 03:03:56 +0000 (20:03 -0700)]
DEVELOPERS.md: remove reference to 'rtest'

This directory was removed in 0e19cdb9bff60fdeb1942f5dca677db9d8a24062.

2 years agoDEVELOPERS.md: move how to make a release to the bottom
Matthew Fernandez [Mon, 15 Aug 2022 03:01:14 +0000 (20:01 -0700)]
DEVELOPERS.md: move how to make a release to the bottom

This guide was sort of back-to-front, in that it prioritized readers who were
maintainers looking at cutting an upcoming release. In reality, this document is
read far more often by drive-by contributors seeking how to build and test their
changes.

2 years agoDEVELOPERS.md: drop TODO about updating example commits
Matthew Fernandez [Mon, 15 Aug 2022 02:59:29 +0000 (19:59 -0700)]
DEVELOPERS.md: drop TODO about updating example commits

Despite coming up on 5.0.1, we have not updated the example commits since
2.44.1. This seems like strong evidence that the existing examples are
sufficient.

2 years agoMerge branch 'smattr/a49270af-5a27-474a-be22-ef9418667c79' into 'main'
Matthew Fernandez [Thu, 18 Aug 2022 04:35:49 +0000 (04:35 +0000)]
Merge branch 'smattr/a49270af-5a27-474a-be22-ef9418667c79' into 'main'

cgraph: rewrite scanner to use an agxbuf

See merge request graphviz/graphviz!2788

2 years agocgraph: rewrite scanner to use an agxbuf
Matthew Fernandez [Sat, 13 Aug 2022 01:28:09 +0000 (18:28 -0700)]
cgraph: rewrite scanner to use an agxbuf

In a sort of Chesterton’s fence¹ sense, I do not understand the existing code.
While I understand the first order motivation (dynamic string buffering inline),
I do not follow the implementation. It manages to hit the trifecta:

  1. NULL pointer dereference. Failures of allocation functions were not
     checked.

  2. Memory leaks. Calls to `agstrdup` and `agstrdup_html` allocate an owned
     string internally, yet this code was acting as if they stole the `Sbuf`
     backing memory.

  3. Not-obviously-correct and repeated computation of the end of the buffer to
     append to. `addstr` seemed overly complex and inefficient.

Static initialization of an agxbuf was a bit complicated until
04a248348798a4a32fc9ac7e5d860a84ab5ee49f, though it was still possible.
Following that commit, it becomes a no-brainer.

The code after this change still leaks memory. Perhaps in future we should reset
(`agxbfree(&Sbuf); memset(&Sbuf, 0, sizeof(Sbuf));`) the buffer after `agstrdup`
or `agstrdup_html`, though there would be a performance cost to this.

¹ https://en.wikipedia.org/wiki/G._K._Chesterton#Chesterton's_fence

2 years agocgraph delete_items: rephrase a non-exhaustive switch into if statements
Matthew Fernandez [Sat, 13 Aug 2022 00:50:11 +0000 (17:50 -0700)]
cgraph delete_items: rephrase a non-exhaustive switch into if statements

This is both more concise and squashes a -Wswitch-default warning.

2 years agocgraph: make 'agflatten_edges' static
Matthew Fernandez [Sat, 13 Aug 2022 00:41:17 +0000 (17:41 -0700)]
cgraph: make 'agflatten_edges' static

This function is not used outside of its containing file. Squashes a
-Wmissing-prototypes warning.

2 years agoMerge branch 'extend-svg-analyzer-with-basic-svg-re-creation' into 'main'
Magnus Jacobsson [Tue, 16 Aug 2022 11:16:17 +0000 (11:16 +0000)]
Merge branch 'extend-svg-analyzer-with-basic-svg-re-creation' into 'main'

Extend the SVG analyzer with basic SVG re-creation

See merge request graphviz/graphviz!2780

2 years agotests: svgAnalyzer: add throwing of exceptions for unimplemented attributes
Magnus Jacobsson [Sat, 30 Jul 2022 15:31:03 +0000 (17:31 +0200)]
tests: svgAnalyzer: add throwing of exceptions for unimplemented attributes

2 years agotests: SvgAnalyzer: add handling of the 'd' attribute
Magnus Jacobsson [Thu, 28 Jul 2022 10:58:49 +0000 (12:58 +0200)]
tests: SvgAnalyzer: add handling of the 'd' attribute

2 years agotests: SvgAnalyzer: add handling of the 'font-size' attribute
Magnus Jacobsson [Thu, 28 Jul 2022 10:13:08 +0000 (12:13 +0200)]
tests: SvgAnalyzer: add handling of the 'font-size' attribute

2 years agotests: SvgAnalyzer: add handling of the 'font-family' attribute
Magnus Jacobsson [Thu, 28 Jul 2022 10:00:50 +0000 (12:00 +0200)]
tests: SvgAnalyzer: add handling of the 'font-family' attribute

2 years agotests: SvgAnalyzer: add handling of the 'x' and 'y' attributes
Magnus Jacobsson [Thu, 28 Jul 2022 08:43:07 +0000 (10:43 +0200)]
tests: SvgAnalyzer: add handling of the 'x' and 'y' attributes

2 years agotests: SvgAnalyzer: add handling of the 'text-anchor' attribute
Magnus Jacobsson [Thu, 28 Jul 2022 08:27:29 +0000 (10:27 +0200)]
tests: SvgAnalyzer: add handling of the 'text-anchor' attribute

2 years agotests: SvgAnalyzer: add handling of the 'rx' and 'ry' attributes
Magnus Jacobsson [Wed, 27 Jul 2022 20:07:08 +0000 (22:07 +0200)]
tests: SvgAnalyzer: add handling of the 'rx' and 'ry' attributes

2 years agotests: SvgAnalyzer: add handling of the 'cx' and 'cy' attributes
Magnus Jacobsson [Wed, 27 Jul 2022 19:42:19 +0000 (21:42 +0200)]
tests: SvgAnalyzer: add handling of the 'cx' and 'cy' attributes

2 years agotests: SvgAnalyzer: add handling of the 'points' attribute
Magnus Jacobsson [Wed, 27 Jul 2022 14:17:28 +0000 (16:17 +0200)]
tests: SvgAnalyzer: add handling of the 'points' attribute

2 years agogvrender_core_svg: remove unnecessary space in the 'points' attribute for polyline
Magnus Jacobsson [Mon, 1 Aug 2022 11:27:38 +0000 (13:27 +0200)]
gvrender_core_svg: remove unnecessary space in the 'points' attribute for polyline

2 years agotests: SvgAnalyzer: add handling of the 'stroke' attribute
Magnus Jacobsson [Wed, 27 Jul 2022 13:40:08 +0000 (15:40 +0200)]
tests: SvgAnalyzer: add handling of the 'stroke' attribute

2 years agotests: SvgAnalyzer: add handling of the 'fill' attribute
Magnus Jacobsson [Wed, 27 Jul 2022 12:28:44 +0000 (14:28 +0200)]
tests: SvgAnalyzer: add handling of the 'fill' attribute

2 years agotests: SvgAnalyzer: add handling of the 'transform' attribute
Magnus Jacobsson [Wed, 27 Jul 2022 10:40:42 +0000 (12:40 +0200)]
tests: SvgAnalyzer: add handling of the 'transform' attribute

2 years agotests: SvgAnalyzer: add handling of the 'id' attribute
Magnus Jacobsson [Wed, 27 Jul 2022 09:05:08 +0000 (11:05 +0200)]
tests: SvgAnalyzer: add handling of the 'id' attribute

2 years agotests: SvgAnalyzer: add generation of the 'xmlns' and' xmlns:xlink' attributes
Magnus Jacobsson [Tue, 26 Jul 2022 19:40:01 +0000 (21:40 +0200)]
tests: SvgAnalyzer: add generation of the 'xmlns' and' xmlns:xlink' attributes

2 years agotests: SvgAnalyzer: add handling of the 'viewBox' attribute
Magnus Jacobsson [Tue, 26 Jul 2022 18:51:08 +0000 (20:51 +0200)]
tests: SvgAnalyzer: add handling of the 'viewBox' attribute

2 years agotests: SvgAnalyzer: add handling of the 'width' and 'height' attributes
Magnus Jacobsson [Tue, 26 Jul 2022 13:22:29 +0000 (15:22 +0200)]
tests: SvgAnalyzer: add handling of the 'width' and 'height' attributes

2 years agotests: SvgAnalyzer: add node and edge ID comments to the recreated SVG
Magnus Jacobsson [Fri, 29 Jul 2022 14:07:37 +0000 (16:07 +0200)]
tests: SvgAnalyzer: add node and edge ID comments to the recreated SVG

2 years agotests: SvgAnalyzer: add handling of the 'class' attribute
Magnus Jacobsson [Sat, 23 Jul 2022 10:50:06 +0000 (12:50 +0200)]
tests: SvgAnalyzer: add handling of the 'class' attribute

This will be used in an upcoming commit to identify Graphviz graphs,
nodes and edges.

2 years agotests: SvgAnalyzer: add comment with graph title (ID) to the recreated SVG
Magnus Jacobsson [Wed, 27 Jul 2022 12:28:44 +0000 (14:28 +0200)]
tests: SvgAnalyzer: add comment with graph title (ID) to the recreated SVG

2 years agotests: SvgAnalyzer: add storage of the Graphviz graph ID also on 'svg' element
Magnus Jacobsson [Fri, 29 Jul 2022 13:55:27 +0000 (15:55 +0200)]
tests: SvgAnalyzer: add storage of the Graphviz graph ID also on 'svg' element

2 years agotests: SvgAnalyzer: add storage of the Graphviz component ID on 'g' elements
Magnus Jacobsson [Mon, 25 Jul 2022 07:02:15 +0000 (09:02 +0200)]
tests: SvgAnalyzer: add storage of the Graphviz component ID on 'g' elements

2 years agotests: SvgAnalyzer: add Graphviz version and build date to the generated SVG string
Magnus Jacobsson [Mon, 25 Jul 2022 14:00:31 +0000 (16:00 +0200)]
tests: SvgAnalyzer: add Graphviz version and build date to the generated SVG string

2 years agogvc++: add GVContext::buildDate()
Magnus Jacobsson [Mon, 7 Mar 2022 12:37:54 +0000 (13:37 +0100)]
gvc++: add GVContext::buildDate()

2 years agogvc++: add GVContext::version()
Magnus Jacobsson [Mon, 7 Mar 2022 12:32:07 +0000 (13:32 +0100)]
gvc++: add GVContext::version()

2 years agotests: SvgAnalyzer: add handling of SVG element text node contents
Magnus Jacobsson [Mon, 25 Jul 2022 06:49:33 +0000 (08:49 +0200)]
tests: SvgAnalyzer: add handling of SVG element text node contents

2 years agotests: SvgAnalyzer: add handling of 'text' elements
Magnus Jacobsson [Sun, 24 Jul 2022 20:26:32 +0000 (22:26 +0200)]
tests: SvgAnalyzer: add handling of 'text' elements

2 years agotests: SvgAnalyzer: add an svg_string method
Magnus Jacobsson [Thu, 28 Jul 2022 11:56:26 +0000 (13:56 +0200)]
tests: SvgAnalyzer: add an svg_string method

2 years agotests: SvgAnalyzer: add internal re-creation of the SVG element hierarchy
Magnus Jacobsson [Thu, 21 Jul 2022 11:16:41 +0000 (13:16 +0200)]
tests: SvgAnalyzer: add internal re-creation of the SVG element hierarchy

This will be used in upcoming commits in this series to store
attributes on and to re-create the original SVG from. Also, an
upcoming commit series will extend the SVG analyzer to be aware of
Graphviz graphs, nodes and edges and will use this hierarchy and the
associated attributes to be able to answer questions about their
properties.

2 years agotests: add new test_svg_analyzer test skeleton
Magnus Jacobsson [Thu, 21 Jul 2022 11:16:41 +0000 (13:16 +0200)]
tests: add new test_svg_analyzer test skeleton

Upcoming commits will add functionality to the SVG analyzer and extend
this test.

2 years agotests: svgAnalyzer: remove useless const on pass-by-value parameter declarations
Magnus Jacobsson [Sun, 14 Aug 2022 15:03:58 +0000 (17:03 +0200)]
tests: svgAnalyzer: remove useless const on pass-by-value parameter declarations

2 years agotests: SvgAnalyzer: remove unused parameter names instead of void casting them to...
Magnus Jacobsson [Wed, 27 Jul 2022 09:37:20 +0000 (11:37 +0200)]
tests: SvgAnalyzer: remove unused parameter names instead of void casting them to avoid warnings